ActiveX技术在刀具CAD中的应用

摘要:在其它应用程序中直接利用ActiveX技术操纵AutoCAD对象,实现了计算程序与绘图程序的紧密结合,改变了使用Autolisp、ADS等二次开发语言时用数据文件联结计算程序与绘图程序的传统模式。

图1 传统刀具CAD中计算程序与绘图程序的联结模式

图2 使用ActiveX技术的联结模式

1 引言

传统的刀具CAD应用程序大多是在AutoCAD R14版本下用Autolisp或ADS进行二次开发的。由于刀具设计工作包含刀具参数的计算与校核和刀具图形绘制两大部分,因此在开发此类CAD应用软件时,为提高计算速度,通常将这两部分内容分开设计,同时需利用数据文件将计算、校核程序与绘图程序联结起来,即首先将计算、校核后的刀具参数输出到数据文件中.然后在绘图程序中访问该数据文件,读出每行数据,最后经过相应处理生成图形数据并绘出刀具图形。计算程序与绘图程序的联结模式如图1所示。这种联结模式虽能实现刀具设计功能.但由于结构分散,且在绘图程序中需对数据文件进行复杂的处理并需严格遵守操作顺序,因此运行速度慢,使用不便,自动化程度较低。
随着Microsoft公司在AutoCAD 2000以上版本中将ActivcX技术融入开发工具中,现在利用AutoCAD ActiveX技术可直接实现计算、校核程序与绘图程序的紧密结合,而不必再经过中间数据文件进行联结。使用ActiveX技术的联结模式如图2所示。这种方式不但运行速度快,使用方便,而且自动化程度较高。

2 ActiveX技术简介

ActiveX是基于Compo
nentO 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中可以直接操纵,具体方法如下:

  1. 在VB工程中引用AutoCAD类型库:在工程(Project)菜单中选择引用(References)选项,打开引用对话框,然后从中选择AutoCAD Release 15(AutoCAD 2000 Object Library)类型库,如图4所示。
  2. 在程序代码中设置AutoCAD程序对象和文档对象。
  3. 通过AutoCAD ActiveX对象、属性和方法,在AutoCAD图形文件中对对象进行处理。

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

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

4 应用实例

以渝州大学开发的典型复杂刀具CAD系统为例。该系统以VB为开发平台,利用ActiveX技术成功实现了计算程序与绘图程序的紧密结合。工程中AutoCAD类型库的引用如上节所述,这里仅介绍如何设置AutoCAD程序对象和文档对象,以及如何操纵AutoCAD实体对象。该刀具CAD系统的界面如图5所示。
在输入已知条件参数并选择工具菜单的计算选项后,系统即可自动计算出结果。若计算校核合格,则可选择工具菜单的绘图选项进行刀具图形生成。在该菜单选项中,用以下代码实现与AutoCAD应用程序的联接以及生成刀具图形实体:

作者:西部车床,如若转载,请注明出处:https://www.lathe.cc/2023/06/3149.html