用VB编写CAD绘图插件
操作步骤: 一、创建一个ACTIVEX DLL cadPro工程 二、添加一个模块命名为ModCad。代码如下 Public acadApp As Object Public acadDoc As Object (这里建立一个新块主要是为了以后在多个窗体、类或者多个工程中可以调用) 二、添加一个类ClsTest代码如下: Public Function MenuMain(MenuIndex As Integer) '下面的判断在VB中测试的时候可以用到,在生成DLL后VBA调用时可注释 If ModCad。 acadApp Is Nothing Or ModCad。acadDoc Is ...全部
操作步骤: 一、创建一个ACTIVEX DLL cadPro工程 二、添加一个模块命名为ModCad。代码如下 Public acadApp As Object Public acadDoc As Object (这里建立一个新块主要是为了以后在多个窗体、类或者多个工程中可以调用) 二、添加一个类ClsTest代码如下: Public Function MenuMain(MenuIndex As Integer) '下面的判断在VB中测试的时候可以用到,在生成DLL后VBA调用时可注释 If ModCad。
acadApp Is Nothing Or ModCad。acadDoc Is Nothing Then ConnectToAcad setApp ModCad。acadApp setDoc ModCad。
acadDoc End If Select Case MenuIndex Case 1 AutoCADTest Case 2 End Select End Function Public Function ConnectToAcad() On Error Resume Next Set ModCad。
acadApp = GetObject(, "AutoCAD。Application。16。2") '16。2是CAD的版本 If Err Then Err。Clear Set ModCad。
acadApp = CreateObject("AutoCAD。Application。16。2") End If If Err Then Err。Clear Set ModCad。acadApp = GetObject(, "AutoCAD。
Application") If Err Then Err。Clear Set ModCad。acadApp = CreateObject("AutoCAD。Application") End If If Err Then Unload Me End If End If ModCad。
acadApp。Visible = True Set ModCad。acadDoc = ModCad。acadApp。ActiveDocument End Function Public Function setApps(acadObj As AcadApplication) Set ModCad。
acadApp = acadObj Set ModCad。acadDoc = acadApp。ActiveDocument End Function 'VB中要在CAD中实现的功能 Private Function AutoCADTest() Dim cadLine As AcadLine Dim cadPoint As Variant cadPoint = ModCad。
acadDoc。Utility。GetPoint(, "请选取一个插入点:") ModCad。acadDoc。ModelSpace。AddCircle cadPoint, 5 End Function 三、如果要在VB中调试,在添加一个EXE工程,引用ACTIVEX工程,添加一个窗体,在窗体上添加一个按钮, Private Sub Command1_Click() Dim Rec As New cadPro。
MenuMain Rec。MenuMain 1 End Sub 四、生成DLL文件在VBA中调用。 在工具----设定引用项目中加入生成的DLL。代码如下: Option Explicit Private clsGre As New cadPro。
ClsTest Public Sub cadtest() On Error Resume Next clsGre。setApp ThisDrawing。Application clsGre。MenuMain 1 End Sub 按照以上四个步骤就可实现VB与AutoCAD的连接。
以上程序在本机测试通过。 OS:winxp sp2 cht AuotCAD 2006。收起