background image

    此系统开发利用 AutoCAD 良好的开放结构和具有魅力的二次开发工具 VBA。AutoCAD 
VBA 与 VB 有 着 几 乎 相 同 的 开 发 环 境 和 语 法 , 它 具 有 For Application 功 能 , 驻 留 在
AutoCAD 主程序内部,结构精简,代码运行效率高,功能强,大易于掌握,为开发程序带
来了极大的方便。但是用它开发的程序没有用户自己的启动界面,且开发的程序会暴露出
来。利用 VB 通过 AutoCAD ActiveX 技术建立 VB 与 AutoCAD 之间的连接,可解决上面出
现的问题,建立用户启动界面与 AutoCAD 的有效连接,实现关键代码的整体封装。VBA 的
使用可以直接进入 AutoCAD,在菜单工具的宏中进入 VBA 管理器。用 VB 进行编程,需要
将 VB 与 AutoCAD 进行连接,在编写 VB 代码前,在 VB 编程环境中引用 AutoCAD 对象库,
然后编写 VB 代码,创建 AutoCAD 对象,启动 AutoCAD。VB 与 AutoCAD 连接后,就可以
利用 AutoCAD 对象及下级对象的属性和方法完成编程。下面是 VB 程序中启动运行
AutoCAD 的子程序代码。
Dim AcadApp As  Acad Application Public  Sub 

 

连接 AutoCAD()

On Error Resume Next
Set AcadApp=GetObject(, “AutoCAD.Application”)
If Err Then
Err.Clear
Set Acad App=Creat Object(“AutoCAD.Application”)
If Err Then
MsgBox(“不能运行 AutoCAD2004,请检查是否安装了 AutoCAD2004”)
Exit Sub
End If
End If
Acad App.Visible=True
End Sub
四、系统的实现
1. 功能实现菜单的形成
    此系统功能的实现是通过应用程序进入 AutoCAD,然后在 AutoCAD 标准下拉菜单的帮
助后面添加一项异形切割主菜单,然后在主菜单下面添加子菜单,如图 2 所示。下面是实
现这个过程的主要程序代码。
Dim new Menu As Acad Popup Menu
Set new Menu = Curr Menu Group.Menus.Add("异形切割" & Chr(Asc("&")) & "w")
Dim menu Item Open2 As Acad Popup MenuItem
Set menu Item Open2 = new Menu .Add Menu Item (newMenu.count + 1, " 轨迹和代码生成", 
macro & "-vbarun" + Chr(32) + "This Drawing.Com Dialog2" + Chr(32))
Menu Item Open.Help String = "代码生成"

图 2 功能下拉菜单