用VB編寫(xiě)CAD繪圖插件?

4年前 (2021-05-17)閱讀463回復0
臻嬡無(wú)言
臻嬡無(wú)言
  • 管理員
  • 發(fā)消息
  • 注冊排名40
  • 經(jīng)驗值290
  • 級別管理員
  • 主題58
  • 回復0
樓主
印刷廠(chǎng)直印加工●彩頁(yè)1000張只需要69元●名片5元每盒-更多產(chǎn)品印刷報價(jià)?聯(lián)系電話(huà):138-1621-1622(微信同號)

操作步驟:一、創(chuàng )建一個(gè)ACTIVEX DLL cadPro工程二、添加一個(gè)模塊命名為ModCad.代碼如下Public acadApp As ObjectPublic acadDoc As Object(這里建立一個(gè)新塊主要是為了以后在多個(gè)窗體、類(lèi)或者多個(gè)工程中可以調用)二、添加一個(gè)類(lèi)ClsTest代碼如下:Public Function MenuMain(MenuIndex As Integer) '下面的判斷在VB中測試的時(shí)候可以用到,在生成DLL后VBA調用時(shí)可注釋 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 SelectEnd FunctionPublic 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.ActiveDocumentEnd FunctionPublic Function setApps(acadObj As AcadApplication) Set ModCad.acadApp = acadObj Set ModCad.acadDoc = acadApp.ActiveDocumentEnd Function'VB中要在CAD中實(shí)現的功能Private Function AutoCADTest() Dim cadLine As AcadLine Dim cadPoint As Variant cadPoint = ModCad.acadDoc.Utility.GetPoint(, "請選取一個(gè)插入點(diǎn):") ModCad.acadDoc.ModelSpace.AddCircle cadPoint, 5End Function三、如果要在VB中調試,在添加一個(gè)EXE工程,引用ACTIVEX工程,添加一個(gè)窗體,在窗體上添加一個(gè)按鈕,Private Sub Command1_Click() Dim Rec As New cadPro.MenuMain Rec.MenuMain 1 End Sub四、生成DLL文件在VBA中調用。在工具----設定引用項目中加入生成的DLL。代碼如下:Option ExplicitPrivate clsGre As New cadPro.ClsTestPublic Sub cadtest() On Error Resume Next clsGre.setApp ThisDrawing.Application clsGre.MenuMain 1 End Sub按照以上四個(gè)步驟就可實(shí)現VB與AutoCAD的連接。以上程序在本機測試通過(guò)。OS:winxp sp2 chtAuotCAD Version:AutoCAD 2006

0
0
收藏0
回帖

用VB編寫(xiě)CAD繪圖插件? 期待您的回復!

取消
載入表情清單……
載入顏色清單……
插入網(wǎng)絡(luò )圖片

取消確定

圖片上傳中
編輯器信息
提示信息