资源描述
l 公用工程设计 1P a 5 I cU I 龇lD e , 枷 【文章编号 1 0 0 7 9 4 6 7 ( 2 0 l o ) 11 - 0 0 8 8 - 0 4 运用O b je c t A R X 进行A u t o C A D 二次开发实例 一席世亮( 中国中元国际工程公司,北京1 0 0 0 8 9 ) 【摘要】介绍了运用O b j e c t A R X 进行A u t o C A D 二次开发 的实现过程内容包括建立设备图库设备数据库,对设备图 库、数据库进行操作本实例可以直接安装,安装过程中通过 修改注册表,实现应用程序直接加载,直接运行,操作简便,是 工程应用中对A u t o C A D 进行二次开发的一个很好的范例。 【关键词 0 b j e c t A R X ;A u t o C A D ;二次开发 【中图分类号】T U l 7 ;T P 3 1 1【文献标志码】A T h e A p p l i c a t i o nE x a m p l eo f A u t o C A D S e c o n dD e v e l o p m e n tw i t hO b j e c t A R X X IS h i - l i a n g ( C h i n a I P P R E n g i n e e r i n g C o r p o r a t i o n ,B e i j m g1 0 0 0 8 9 ,C h i n a ) 【蜘 T h i sa r t i c l eh a si n t r o d u c e dad e v e l o p i n gp r o c e s so f A u t o C A DS e c o n dD e v e l o p m e n tw i t hO b j e c t A R X T h ec o n t e n t i n c l u d es e t t i n gu pe q u i p m e n tg a l l e r ya n de q u i p m e n td a t a b a s e ,a n d o p e r a t i n g e c l u i p m c n t g a l l e r y a n d e q u i p m e n t d a t a b a s e T h i s e x a m p l e C a nd i r e c ts e t t i n g T h r o u g hm o d i f y i n g 玛洳i nt h ep r o s 8o f s e t t i n g , i ti m p l e m e n td i r e c tl o a d e db ya p p f i c a f i o na n dd i r e c t e x e c u t i n g I t c a nb eo p e r a t e dc o n v e n i e n t l y , a n di ti sag o o de x a m p l e 8 8 o f A u t o C A D S e c o n d D e v e l o p m e n t i n e n g i n e e r i n g a p p l i c a t i o n K e y w o r d s O b j e c t A R X ;A u t o C A D ;s e c o n d d e v e l o p m e n t 1 引言 A u t o C A D 是目前工程设计中使用最为广泛的绘 图软件。它的通用性使得它在各行各业得到了极为 广泛的应用。它提供的开放的体系结构和多样化的 开发工具使我们在使用过程中根据自身需要进行定 制或开发成为可能。这里,我们根据使用需要,利用 A u t o C A D 提供的最新的开发工具O b j e c t A R X ,对 A u t o C A D 进行了二次开发。 20 b j e c t A R X 概述 在A u t o C A D 提供的各种开发工具中,以C C + + 开发工具的效率最高、功能最强。A u t o C A D 使用一种 特定c C H 编程环境叫e c t A R X 。O b j c c t A R X 包 含一组C C + + 类库,这些库与A u t o C A D 在同一地址 空间内运行并能直接利用A u t o C A D 核心数据库结 构和代码,直接访问A u t o C A D 数控库结构、图形系 万方数据 统以及C A D 几何造型核心,以便能在运行期间实时 扩展A u t o C A D 具有的类及其功能,以及创建全面享 受A u t o C A D 固有命令之特权的新命令【1 】。 O b j e c t A g X 是在A u t o C A D 原有的开发系统 ( A D S ) 的基础上发展起来的一种面向对象的C C + + 开发环境。 3 系统开发过程 整个系统开发过程包括四部分。 3 1 设备图库的开发 开发图库有多种方法,如利用O b j e c t A R X 提供 的专门操作图形数据库的函数,或利用A u t o C A D 提 供的基本图块功能等。这里我们利用A u t o C A D 提供 的基本图块功能进行图库的开发。具体开发过程如 下: 1 ) 绘制图库中的设备样块,制作样块幻灯库文 件。 2 ) 制作图库的管理程序和管理界面。 3 ) 使用图库中的图块。 3 1 1 绘制设备样块,制作样块幻灯库文件 设备样块的绘制直接在A u t o C A D 中按l :1 的 比例绘制即可,需注意的是,必须在0 层上绘制图 形,否则在将图形插入到其它图形中时,会引起层和 颜色的混乱。 设备样块绘制完成之后,为了能够在应用中得 到直观的图库管理界面,需要为图库中的每个样块 生成一个幻灯片( S L D 文件) 。可以使用A u t o C A D 中 的M S L I D E 命令来生成当前图形的幻灯片,然后利 用A u t o C A D 提供的S L I D E L I B 幻灯片库管理实用程 序,可以从幻灯( S L D ) 文件构造幻灯片库( S L B ) 文 件。下面是构造幻灯库的操作系统命令行语法: s l i d d i bl i b r a r y m y l i s t 此操作将创建m y l i s t 文件,可将其传递给 S L I D E L I B 。还可以通过文本编辑器来创建m y l i s t 文 件,只需列出幻灯文件名( 如果必要,还需列出路 径) 。 要从m y l i s t 爿E 成幻灯库m y l i b ,请输入下列命令: s l i d e l i bm l i b m y l i s t 此条目将创建m l i b s l b 文件,其中包含m y l i s t 中 所列出的幻灯片的名称和定义。 通过以上命令将多个幻灯片组合到一个幻灯片 库文件( s l b 文件) 中,通过菜单文件调用幻灯库文件 就可以实现图块的直观显示,如图l 所示。 图1 设备插入对话框 3 1 2 制作图库的管理界面 本系统借助A u t o C A D 的菜单来管理和使用图 库中的设备样块。A u t o C A D 2 0 0 0 以上支持部分菜单 加载机制,也就是说在不退出现有菜单的基础上,可 R 9 万方数据 f 公用工程设计 l P a b E 矾龇I 凸 谚I 以增加其它菜单。 A u t o C A D 的菜单文件是使用A S C I I 码格式存 储的文件,使用任何文本编辑器都可以编辑。在制作 过程中,先按照菜单编制语法,编写菜单文件;然后 通过控制程序中定义的外部函数,加载所制作的菜 单文件。这样新增了一个下拉菜单,实现对图库和数 据库的管理和操作,新增下拉菜单如图2 所示。 图2 控制程序粟单 3 1 3 图库中图块的使用 从上图所示的菜单中点选“车床”,将弹出图3 所示的样块对话框界面。对话框右面的设备图形与 左边的设备名称一一对应,直接点选设备名称或设 备图形,再点击确定按钮,A u t o C A D 的命令行就会出 现A u t o C A D 的插入命令及需要输入的参数( 插入比 例、旋转角度) 提示,输入相应的参数,就实现了设备 图块的插入。 以上样块对话框的显示和样块的插入也是通过 菜单文件实现的,对话框中显示的每一个样块,对应 菜单文件中的一行语句。当样块很多时,编写菜单文 件的工作量也是比较大的。 为了提高编写菜单文件的效率,利用C + + 语言的 文件处理功能,编写了个自动生成菜单文件的程序。通 过这个程序,可以一次生成类设备样块对应的菜单语 句,大大的减轻了编写菜单文件的工作量。 3 2 建立设备参数数据库 在工艺设计中,常常需要了解各种工艺设备的 9 0 图3 设备插入对话框 技术参数,为了方便设计人员查阅各种设备的技术 参数,我们建立了设备参数数据库,并在控制程序中 设置了数据库管理系统,实现对数据库的存储、查 询、检索、安全保护等功能。 设备参数数据库是用A c c e s s 制作的,每一类设 备对应一个设备参数表,参数表中包括样片名称、设 备名称、设备型号及主要规格、制造者、电力、重量、 单价、备注( 设备外形尺寸) 等字段,每一字段根据其 内容,设置不同数据类型。每一类设备的参数表如图 4 所示。 3 3 数据库管理程序和界面 数据库的管理界面,是采用V i s u a lC 十+ 的 C 四( 微软基础类库M i c r o s o R F o u n d a t i o n C l a s s ,简 称C ) 技术开发的。利用M F C 可以在可视化的环 境下,快速的开发W i n d o w s 风格的对话框界面。 对数据库的操作是使用数据库访问对象( D a t a A c c e s s O b j e c t s ,简称D A O 圆) 编程技术实现的。D A O 模型是设计关系数据库系统结构的对象类的集合,它 们提供了完成管理一个关系型数据库系统所需的全 部操作的属性和方法,这其中包括创建数据库,定义 表、字段和索引,建立表问的关系,定位和查询数据 库等。 对数据库中各种设备参数表的操作包括:数据 万方数据 图4 设备参数数据库设备参数表 查找、数据修改、数据添加等功能。数据库管理对话 框如图5 所示。 图5 数据库管理对话框 3 4 程序打包 打包( P a c k a g e ) 即通过采用一系列的方法和手 段,把应用程序和相关的文件集中起来,形成个可 执行的程序包( 一般为S e t u p e x e 文件) 的过程【3 】。打 包的目的是使程序包能够在目标计算机上运行,并 经过安装后,使我们开发的程序能够在目标计算机 上运行。 本系统使用I n s t a l l S h i e l d 实现程序的打包,程序 包在安装过程中自动查找注册表中A u t o C A D 的内 容,并进行修改,使程序安装后,在A u t o C A D 中可以 直接通过菜单进行操作,和A u t o C A D 原有的命令一 样方便。 公用工程设计1 P a b c 陆妇函腑i 弘l 4 结语 通过对A u t o C A D 进行二次开发,可以满 足不同的个性化的使用要求,简化设计过程, 提高我们的工作效率。本系统是A u t o C A D 使 用中常用功能开发的一个典型范例,以上对 开发过程做了简单的介绍,供各位同行借鉴。 礤 【参考文献】 【l 】王福军。张志民,等A u t o C A D 2 0 0 0 环境下C V i s u a l C + + 应用程序开发教程嘲北京:北京希望电子出版 社,2 0 0 0 【2 】 美】D a v i dJ K r u g l i n s k
展开阅读全文