當前位置:編程學習大全網 - 編程語言 - 用VB編寫CAD繪圖插件

用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 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 Version:AutoCAD 2006

  • 上一篇:揭陽編程學校
  • 下一篇:進程裏面怎麽有好幾個Rundll32.exe?
  • copyright 2024編程學習大全網