1 引言
传统的刀具CAD应用程序大多是在AutoCAD R14版本下用Autolisp或ADS进行二次开发的。由于刀具设计工作包含刀具参数的计算与校核和刀具图形绘制两大部分,因此在开发此类CAD应用软件时,为提高计算速度,通常将这两部分内容分开设计,同时需利用数据文件将计算、校核程序与绘图程序联结起来,即首先将计算、校核后的刀具参数输出到数据文件中.然后在绘图程序中访问该数据文件,读出每行数据,最后经过相应处理生成图形数据并绘出刀具图形。
随着Microsoft公司在AutoCAD 2000以上版本中将ActivcX技术融入开发工具中,现在利用AutoCAD ActiveX技术可直接实现计算、校核程序与绘图程序的紧密结合,而不必再经过中间数据文件进行联结。使用ActiveX技术的联结模式如图2所示。这种方式不但运行速度快,使用方便,而且自动化程度较高。
2 ActiveX技术简介
ActiveX是基于ComponentO Object Model(COM)的可视化控件结构的名称,它是一种提供封装COM组件并将其置入应用程序的封装技术。ActiveX控件是一种COM组件,它支持在可视化开发工具中所使用的必需协议。许多应用程序(如Microsoft Excel、Microsoft word、Microsoft Access、Visual Basic、Visual C++、Delphi等)均支持ActiveX技术,而且可从程序内部操纵ActiveX对象。
AutoCAD ActiveX是ActiveX技术在AutoCAD中的应用,它不但可提供在AutoCAD内部进行控制编程的机制,而且通过将AutoCAD对象开放到外部世界,也可实现在AutoCAD 外部进行控制编程。AutoCAD ActiveX对象模型如图3所示。
[s].集合对象 [o].对象
图3 AutoCAD ActiveX对象模型

3 在VB中操纵AutoCAD对象的方法
使用ActiveX控件提供的对象与操作其它对象的方法相似,即首先将一个对象引用赋值给变量,然后编写使用对象的方法、属性和事件的代码。AutoCAD对象在AutoCAD ActiveX中是开放的,在VB中可以直接操纵,具体方法如下:
在VB工程中引用AutoCAD类型库:在工程(Project)菜单中选择引用(References)选项,打开引用对话框,然后从中选择AutoCAD Release 15(AutoCAD 2000 Object Library)类型库,如图4所示。
在程序代码中设置AutoCAD程序对象和文档对象。
通过AutoCAD ActiveX对象、属性和方法,在AutoCAD图形文件中对对象进行处理。

图4 在工程中引用AutoCAD类型库

图5 典型复杂刀具CAD系统界面











