(机械设计及理论专业论文)基于autocad的输电铁塔立体模型管理系统开发.pdf_第1页
(机械设计及理论专业论文)基于autocad的输电铁塔立体模型管理系统开发.pdf_第2页
(机械设计及理论专业论文)基于autocad的输电铁塔立体模型管理系统开发.pdf_第3页
(机械设计及理论专业论文)基于autocad的输电铁塔立体模型管理系统开发.pdf_第4页
(机械设计及理论专业论文)基于autocad的输电铁塔立体模型管理系统开发.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(机械设计及理论专业论文)基于autocad的输电铁塔立体模型管理系统开发.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华北电力大学硕士学位论文摘要 摘要 本论文分析了输电铁塔的结构特点及设计方法,较为系统地研究了国内外的三 维绘图软件及二次开发技术,并在v i s u a lc + + n e t 环境中以0 b j e c t a r x 作为 a u t o c a d 的二次开发工具,开发了基于a u t o c a d 的输电铁塔零件三维模型管理系统? 该系统利用特征造型等技术进行零件建模;开发了零件库、典型的装配约束、铁塔 装配实例以及装配体分解功能,并在此基础上对铁塔进行虚拟装配和分解等管理工 作。从而可以提高铁塔的设计效率,方便产品的装配和检修,进一步使铁塔结构更 加合理,减少工程造价和安装负担;在一定程度上加强了a u t o c a d 软件的三维功能, 扩展了a u t o c a d 在铁塔设计等方面的应用领域,提高了a u t o c a d 的实用价值。 关键词:a u t o c a d ,管理系统,o b j e c t a r x ,二次开发,输电铁塔 a b s t r a c t t t l i sp 叩e ra n a l y s e st h es t f l l c t u r ec h a r a c t e r s 缸dd e s i g nm e t h o do ft h et r a n s m i s s i o n t o w e r ,s y s t e m i c a u yr e s e a r c h e st h e3 dd r a w i i l gs o n w a r e 粗ds e c o n d a r yd e v e l o p m e n t t e c h i l o l o g ya th o m e 孤da b r o a d ,姐dd e v e l o p s3 dp a n sm 卸a g e m e n ts y s t e mo ft h e t r a n s m i s s i o nt o w c rw i t ht h eo b j e c 乇a r x 勰t h es e n d a 呵d e v e l o p m e n tt o o li nt h e e n v 打o n m e n t0 fv c + + n e t t h es y s t e mc a nm a d ep 积sm o d e l i n gu s i n gc h a r a c t e r i s t i c s c u l p ts k i l le t c ,d e v e l o p sp a n sd a t a b a s e ,t y p i c a la s s e m b l i n gr e s t r i c t i o n ,a s s e m b l i n g i n s t 趾c eo ft h et o w e ra l l de x p l o d i n gf l l n d i o no f 弱s e m b l a g e ,w m c ht h ev 如【u a l 鲻s e m b l y 柚dc x p l o d i n go ft h et o w e ra r eb a s e do n 1 m i ss y s t c mc 趾i m p r o v et l l ed e s i 印i n g 碰c i e i 蟛yo f 缸a n s m i s s i o nt o w 钌,a n dm a k et h ea s s e m _ b l 证g 孤di 珏s p e & i o no ft h et o w e r m o r cc o n v e i l i e n t ,a n dt h es t l l l c t l l r cm o r e 印p r o p r i a t e s ot l l e p r 研e c tc o s ta n dt l l e 弱s e m b l i n gb u r d e na r cr e d u c e d t bac c r t a i ne x t e n t ,t l l i ss y s t e mc a na l s oe i 血觚c et h e3 d a b i l i t yo fa u t o c a da n de x t e n dt h ea p p l i c a t i o no fa m t o c :a di nt h ef i e l do fn 独s m i s s i o n t o w e rd e s i 舯觚ds 0o n ,w h i c h 血p r 0 v e st h eu s ev a l u eo fa u t o ( 、a ds o m a r e s h e n g ) 【i a 0 一l i n g ( m e c h 越c a ld e s i 印1 h e o r y ) d i r e c t e db y 孙s o d a t ep r o f z h a n gd a q i n g k e yw o r d s :a u t o c a d ,m a n a g e m e n ts y s t e m ,o b j e c t a r x , s e c o n d a r yd e v e l o p m e n t ,t r a n s m i s s i o nt o w e r 华北电力大学硕士学位论文摘要 摘要 本论文分析了输电铁塔的结构特点及设计方法,较为系统地研究了国内外的三 维绘图软件及二次开发技术,并在v i s u a lc + + n e t 环境中以o b j e c t a r x 作为 a u t o c a d 的二次开发工具,开发了基于a u t o c a d 的输电铁塔零件三维模型管理系统? 该系统利用特征造型等技术进行零件建模;开发了零件库、典型的装配约束、铁塔 装配实例以及装配体分解功能,并在此基础上对铁塔进行虚拟装配和分解等管理工 作。从而可以提高铁塔的设计效率,方便产品的装配和检修,进一步使铁塔结构更 加合理,减少工程造价和安装负担;在一定程度上加强了a u t o c a d 软件的三维功能, 扩展了a u t o c a d 在铁塔设计等方面的应用领域,提高了a u t o c a d 的实用价值。 关键词:a u t o c a d ,管理系统,0 b j e c t a r x ,二次开发,输电铁塔 a b s t r a c t t t l i sp 叩e ra n a l y s e st h es m l c t u r cc h a r a c t e r s 粗dd e s i g nm e t h o do ft h et r a n s m i s s i o n t o w e r s y s t e m i c a j l yr e s e a r c h t h e3 dd r a w i l l gs o f | t 、v a r e 锄ds e c o n d a r yd e v e l o p m e n t t e c h i l o l o g ya th o m e 孤da b r o a d ,姐dd e v e l o p s3 dp a i t sm a n a g e m e n ts y s t e mo ft h e t r a n s l i s s i o nt o w c rw i t ht h eo b j e c 乞a i 瑟t h es e c d a r yd e v e l o p m e n tt o o l i nt h e e n v 打。姗e n to fv c + + n e t t h es y s t e mc a nm a d ep 积sm o d e l i n gu s i n gc h a r a c t e r i s t i c s c u l p ts k i ne t c ,d e v e l o p sp a n sd a t a b a s e ,t y p i c a la s s e m b l i n gr e s t r i c t i o n ,弱s e m b l i n g i n s t 趾c eo ft h et o 、r 粕de x p l o d i n g 如n c t i o no f 硒s e m b l a g e ,w h i c ht h ev i n u a l l 嬲s e m b l y 锄dc x p l o d i n go ft h et o w e r 缸eb a s e do n 1 m i ss y s t 锄c 趾i m p r 0 v et l l e d e s i 印i n g e f f i c i e n c yo f 仃a n s m i s s i o nt o w c r ,跹dm a :k et h ea s s e i n b l i n g 孤di n s p e c t i o no ft h et o w e r m o r cc o n v e i l i e n t ,a n dt h es t n l c t l l r e m o r c 印p r o p r i a t e s ot l l ep r 研e c tc o s ta n dt l l e 硒s e m b l i n gb u f d e na r cr e d u c e d t oac e r t a i ne x t e n t ,t h i ss y s t e mc 纽a l s oe i l h a n c et h e3 d a _ b i l i t yo fa u t o c a da n de x t e n dt h ea p p l i c a t i o no fa m t o c :a di nt h ef i e l do fn 独s m i s s i o n t o w e rd e s i 印觚ds 0o n ,w h i c hi m p r o v e st h eu s ev a l u eo fa u t o ( 、a ds o f 呐a r e s h e n g ) 【i a o - l i n g ( m e c h a i l i c a ld e s i g n & t l h e o r y ) d i r e c t e db y 孙s o d a t ep r o f z h a i l gd a - q i n g k e yw o r d s :a u t o c a d ,m a n a g e m e n ts y s t e m ,o b j e c t a r x , s e c o n d a r yd e v e l o p m e n t ,t r a n s m i s s i o nt o w e r 声明尸州 本人郑重声明:此处所提交的硕士学位论文基于a u t o c a d 的输电铁塔立体模 型管理系统开发,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行 的研究工作和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学 或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名:耋曼邀垒坌 日期: 乙卯g f 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权 保管、并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或 其它复制手段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校 可以学术交流为目的,复制赠送和交换学位论文;同意学校可以用不同方式在不 同媒体上发表、传播学位论文的全部或部分内容j ( 涉密的学位论文在解密后遵守此规定) 日期:迦星! ! 日期礁f 华北电力大学硕士学位论文 第一章引言 1 1 所选课题的背景及其意义 随着我国国民经济的飞速发展,对电力的需求也越来越大。电力工业的发展必 然要求建设越来越多的输电线路,从而使得输电铁塔的用量也急剧上升。铁塔是整 个输电线路的重要组成部分,约占线路总投资的4 0 左右【1 1 ,起到了导线、地线、 绝缘子串、铁塔基础联结纽带的作用。另一方面,随着电厂的装机容量不断增大, 供电电压逐步提升,电网覆盖面日益广泛,输电线路通过的地域、地形、地质以及 气象情况更加复杂,输电铁塔结构中不断采用新材料、新工艺,使得铁塔的设计、 安装更加困难。传统的手工和半手工设计方法已无法满足工程实际的需要。在确保 运行安全可靠的前提下,如何使铁塔结构更加合理,以压缩线路走廊、节省原材料、 降低工程造价,已成为设计人员面临的一个主要问题。输电铁塔根据不同的工况, 需要设计不同的塔型及结构。这些都给铁塔的设计和安装增加了难度和工作量。 在机械零件及机械系统的设计过程中,对三维的实体进行虚拟装配和运动仿真 具有很实际的意义,因此对零件进行三维立体造型、干涉检查、可视化设计显得很 重要。其中在零部件装配过程中,其运动机构的空间干涉问题历来都是令机械设计 工程师深感头疼的事。由于二维作图很难进行王违检查,过去,为在这方面做出较 好的权衡,需要建立小比例( 或者是全比例) 的产品物理模型,用原型来支持设计人 员进行讨论。技术人员希望能有直观的原型,到现场进行实际装配检查,发现问题 后回到实验室进行修改,再到现场进行装配检查,直到消除干涉为止。这样做的结 果是花费了大量的时间和费用,在很大程度上降低了设计效率,湮灭了设计灵感, 而有些错误又往往具有很强的隐蔽性,有些甚至潜伏到产品生产出来才能发现问 题,给生产企业造成不应有的损失。因此有必要开发一套高效、通用的铁塔零件三 维模型管理软件,减少设计和安装的工作量,提高工作效率,降低工程造价,满足 工程实际应用的需要。 扩展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 稍显逊色。a u t o c a d 在三维实体的管理方面功能缺乏,例如部件装配、 总装、爆炸等。现在很多主流三维q 如系统都能建立产品装配模型,典型的有u g 、 1 华北电力大学硕士学位论文 p r 0 e n g i n e e r 、s o l i de d g e 等,这些q 如l 软件提供有草图、零件设计、部件装配设计、 总装设计等模块。进行零部件总装设计时,可以利用系统提供的装配关系描述,进行零 部件装配关系的定义【2 1 。a u t o c a d 软件具有广泛的使用基础,如果其三维功能得到增 强,将具有更大的实用价值,为广大使用者带来方便。因此本课题选择在a u t o c a d 环境下进行铁塔零部件三维模型的绘制与管理,辅助铁塔设计与安装;死发 舢o e 则三维模型管理能,如即零部件装配、分解、干涉等,增强a u t o c a d 拍 三维功能。 1 2 国内外研究动态 国际上从五十年代初就开始进行输电线路的计算机辅助工程设计研究,现代的 设计软件不仅与c a d 软件连接,直接绘制设计图纸,还可以进行铁塔各种载荷条件 下的线性和非线性计算分析,大大提高了工程设计质量,缩短了设计周期。 英国、美国、日本等国都在铁塔结构形式、应用新技术、采用新材料等方面进 行了大量的研究【3 1 。文献 4 7 对输电铁塔的计算机辅助设计做了大量的研究,并且 编制了相应的计算机辅助设计程序,提高了输电铁塔的构造设计水平。 在国内,对铁塔的设计以及零件管理,大多数研究人员采用将铁塔的角钢简化 为杆件,以方便分析计算。例如,华南理工大学研究人员开发了一种“样式一组件一 装配”的设计方法,对铁塔进行建模、装配。该方法吸收了软件设计中的组件化思 想,经过仔细分析研究,提出了铁塔建模中的从样式到组件、再到装配的设计过程。 样式是铁塔设计中的最小元素,根据自立式铁塔的特点,把样式分为3 类:斜材样 式、辅材样式和横材样式。样式只描述了一种连接方式,而不代表具体的空间图形。 组件则是在样式的基础上,结合一些基本的参数,由建模软件根据相关的样式构造 出具体图形。根据铁塔的结构,组件可以分为塔身组件和塔头组件。塔身的形状结 构比较固定,塔头有猫头型、上字型、鸟骨型、酒杯型等。组件设计好了以后就可 以进行装配了,装配只需要选择塔头组件和与匹配的塔身组件即可。同样的样式可 以用于不同的组件,同样的组件也可以运用于不同的装配中1 8 l 。该软件利用 0 b j e c t a r x 编程,在a u t o c a d 平台上实现了这一思路。实践证明,这种方法能从根 本上提高铁塔的建模速度,只是没有从铁塔零件的三维角度出发,缺乏实体概念, 对铁塔的安装指导作用不太明显。 另外还有研究人员采用标准建模语言u m l 、面向对象的软件工程方法、可视化 建模技术和a u t o c a d 的二次开发技术a r x ,开发出高质量的铁塔结构设计和分析 软件。标准建模语言u m l 是面向对象建模技术统一化、标准化的产物,是由世界著 名的面向对象技术专家g r a d yb o o c h 、j i mr u m b a u g h 和i v a rj a c o b s o n 发起,在著名 的b o o c h 方法、o m t 方法和0 0 s e 方法的基础上完成的。u m l 是面向对象开发中一 2 华北电力大学硕士学位论文 种通用的、图形化的模型语言,是近代软件工程环境中对象分析和设计的重要工具。 该系统可以分为几个基本的模块,即总体控制模块、铁塔结构设计模块、图形显示 模块、工况模块和帮助模块等。总控模的主要功能是控制整个铁塔的设计过程和各 个模块之间的交互过程。铁塔的结构设计模块主要是设计出满足需要的铁塔,必须 能够方便地修改节点位置和添加或删除节点以及浏览和修改每一个杆的信息,还要 能够生成计算和优化塔型需要的数据。图形显示模块的主要功能是三维实时显示铁 塔的设计进度以及设计的结果,而且可以放大、缩小平移以及旋转等多角度的观察 设计的铁塔,还可以改变节点的颜色或杆的颜色以及背景颜色和三维背景纹理,以 增加对模型的观察效果,以及对每一个节点按所在的坐标标号和按高度对每一个杆 标号等多项功能。工况模块主要功能是方便地添加、修改和删除工况以及输入风载 段和计算风载段的正面迎风宽度和侧面迎风宽度以及迎风面积等,方便地为每一个 工况添加集中载荷和删除集中载荷等。帮助模块的主要功能是提供对系统所有术语 的解释和对每一系统的每一模块提供详细的帮助文档和大量的设计例子供用户参 考等【9 1 。 综上所述,国内外已有不少铁塔结构设计、优化软件,而且一般将铁塔的部件 看作杆件,真正进行零件三维立体建模的研究很少。故此本课题研究在a u t o c a d 中 实现输电铁塔零部件的三维建模与管理,使铁塔设计和安装更具可视性,以期缩短 铁塔的开发周期,提高开发质量,减少安装成本。 1 3 课题的研究内容 输电铁塔是输电线路的重要组成部分,输电铁塔的设计、安装和检修对整个电 网的运行有着重要的影响。本课题从三维的角度,对铁塔零件进行三维参数化建模 和三维模型管理,用以提高铁塔设计的质量,并给安装人员以指导。鉴于a u t o c a d 是一款非常优秀的软件,界面友好、被广大工程技术人员广泛使用,所以我们有责 任将其完善。而且,它还具有良好的二次开发平台适合从二维设计过渡到三维设计, 便于扩展a u t o c a d 在铁塔设计领域的新功能。 故此,本课题的主要工作是在a u t o c a d 软件基础上,选用a u t o q 二次开发工 具o b i e c t a r x 和v i s u a lc + + n e t 软件进行如下研究:开发基于a u t o c a d 环境下的输 电铁塔三维模型的建立和管理系统( 装配、分解展示、干涉检验和零件统计等) 。 具体如下: 1 3 1 利用v c + + n e t 和0 b j e c t a r x 二次开发a u t o c a d 软件 o b j e c t a r x ( a u t o c a dr u n t i m ee x t e n s i o n ) 是a u t o c a d 第三代全新的面向对象开 发工具。利用a r x 应用程序开发a u l o e a d 需要a u t o d e s k 提供的a r xs d k 软件开发工 华北电力大学硕士学位论文 具包( 需下载安装,并未在a u t o c a d 软件内部) ,该工具包主要提供了开发a r x 应 用程序所需的库文件、头文件等内容。a r x 程序与a u t o c a d 在同一地址空间运行, 能够直接利用a u t o c a d 的内核代码,直接访问a u t o c a d 的数据库、图形系统及几何 造型核心,在运行期间实时扩展a u t o c a d 具有的类及其功能,建立与a u t o c a d 本身 的固有命令操作方式相同的新命令。o b j e c “姝x 的开发嵌在了v i s u a lc + + 环境中,因 此a r x 程序可以充分利用w i n d o w s 资源、微软的基本类库m f c 和v i s u a lc + + 先进的 可视化编程语言与工具。 1 3 2 输电铁塔零件三维参数化建模及模型的管理 在v c 中开发人机交互的界面,结合o b i e t a r x 参数化编程,在界面中输入用 户需要的零件设计参数,便可在a u t o c a d 软件中自动生成输电铁塔的三维零件。 三维模型的管理模块主要包括:虚拟装配、干涉检查、装配体分解。在零件装 配模块中,开发常用装配约束和装配方法,设计者选择需要装配的零部件,然后根 据零部件的几何特征确定相应的装配关系进行装配;设计典型的装配实例,利用实 例可以自动将几个零件组装起来。为了使已经装配好的零部件能够满足设计要求, 需要进行干涉检查,如果出现干涉现象,就要对零部件的尺寸进行编辑修改。为了 能更清楚地了解各零件之间的装配关系,有时有必要对装配体进行爆炸分解,本软 件也设计了该模块。 1 3 3 零件库与零件统计 利用a c c e s s 数据库建立零件库,用v c + + 编程操纵数据库,用于存储新型零件、 查询零件等。在完成装配后,程序搜索铁塔的装配零件并统计出其相关信息,如: 名称、参数、数量等,存放在数据库中并生成报表。 1 3 4 管理系统界面开发及注册新命令 开发简洁明了的人机交互界面,便于用户了解整个系统的全部功能,。并进行各 项操作。编制0 b j e c t a r x 程序,生成新的命令。这些命令可以像a u t o c a d 内部命 令一样使用,其功能主要有零件建模、零件库、装配约束、装配实例、装配体分解、 统计零件等。另外,还将这些功能定制成a u t o c a d 新菜单,以便用户使用。 4 华北电力大学硕士学位论文 第二章系统开发环境和工具的选择 2 1a u t o c a d 及其二次开发 计算机辅助设计( c a d ) 的出现和发展,极大地提高了工业产品设计的效率和质 量,是计算机技术的一个重要的应用领域。随着c a d 技术的发展、性能提高、价格 降低,c a d 开始在设计领域全面普及,成为必不可少的设计工具。 2 1 1a u t o c a d 软件简介 a u t o d e s k 公司自1 9 8 2 年推出a u t o c a dr 1 0 版本以来,不断地更新、扩展和完 善着a u t o c a d 系列产品,深受广大用户的欢迎,应用面越来越广,已成为目前国 内外广为流行的用于设计和绘图的c a d 软件。a u t o c a d 版本更新几乎每年一次, 目前已有a u t o c a d 2 0 0 7 、a u t o c a d 2 0 0 8 版本。a u t o q 址i 是一个交互式绘图软件, 是用于二维及三维设计、绘图的系统工具,用户可以使用它来创建、浏览、管理、 打印、输出、共享及准确复用富含信息的设计图形【1 0 】。 a u t o c a d 作为一种具有高度开放结构的c a d 平台软件,它提供了强大的二次 开发环境,这也是其受到人们欢迎,在各行各业都得到广泛应用的主要原因。 a u t o c a d 为用户提供了功能扩展和二次开发的多种方法和手段,如a u t o u s p 、 a d s 、o b j e c ta r x 、v b a 、v i s u a ll i s p 等。 近年来,c a d 技术从最初的平面辅助绘图工具,已迅速地发展成为三维的智能 化、集成化和网络化的产品开发工具【1 1 d 3 1 。一些高端的、功能强大的三维绘图软件 不断涌现,例如p r o e 、u g 、s o l i de d g e 等。这些软件不仅能够进行工程图设计和 二维图绘制,还具有参数化特征设计、装配功能以及其他特殊的专用模块,例如结 构强度仿真、数控仿真等【2 1 。这些功能对。心c a e q 蝴以及c i m s 集成都有着重 要的作用。a u t o c a d 软件具有广泛的使用基础,如果其三维功能得到增强,将具有 更大的实用价值,为广大使用者带来方便。 2 1 2a u t o c a d 二次开发及特点 c a d 软件的二次开发是指在现有的软件基础上,为了提高和完善软件功能,使 之更加符合用户需求,而对软件做的开发工作。其目的是提高设计质量和效率,充 分发挥通用c a d 软件的价值。二次开发将应用对象的设计规范、构造描述、设计 方法等集成到q 如平台中去,使应用对象的设计集成化、智能化。 c a d 二次开发具有以下特点【1 4 】: ( 1 ) 继承性二次开发是在已有软件基础上根据实际需要而进行的再开发,对 华北电力大学硕士学位论文 支撑软件有很强的依赖性和继承性。 ( 2 ) 专业性二次开发是针对特定用户进行的,因此开发人员既要懂专业知识, 又要具备软件开发能力。 ( 3 ) 实用性二次开发是为了满足特定用户的特殊需要,因此成功的二次开发 能大幅度提高工作效率。 ( 4 ) 紧迫性二次开发要解决的是实际工作中遇到的问题,直接影响工作的进 度,因此在时间上具有紧迫性。 ( 5 ) 复杂性二次开发不仅涉及具体的应用,而且要求对支撑软件有深入的了 解,因此工作量大,任务复杂。 2 2a u t o c a d 二次开发工具 a u t o c a d 采用开放式的体系结构允许用户或二次开发商扩充新的功能和设计 各种应用程序。随着系统功能的逐渐增强和版本的不断升级,提供了一系列开发环 境和工具。 1 9 8 5 年6 月推出的a u t o c a d 2 1 7 版本选用a u t o l i s p 作为内嵌语言,向用户提 供了用a u t o l i s p 设计应用程序的二次开发环境。a u t o u s p 是a u t o d e s k 公司提供的 第一代开发环境,它是一种解释型语言,主要用来修改和扩充a u t o q 如命令及系 统菜单、设计对话框驱动程序、实现对图形库的直接访问和修改。a u t o u s p 仍然沿 用自顶而下的设计思想,运算速度慢,不适用于密集型计算。相对于其它高级语言, a u t o u s p 语言的语法结构有较大的差异,令初学者难以适应。其对话框窗口控件单 一,与用户交互功能太弱。a u t o u s p 的这些特点,使其仅适合于有能力的终端用户 完成一些自己的开发任务【1 4 】。目前,第一代的a u t o l i s p 已能被第三代的v i s u a ll i s p 完全替代。 a u t o c a d 系统的第二代开发环境是r 1 1 版本提供的a d s 开发系统,它向用户 提供了用c 语言编写应用程序的设计环境,程序本身不能直接与a u t o c a d 进行通 信,而需要通过i p c ( i n t e r p r o c e s sc o m m u n i c a t i o n ,内部进程通讯) 和u s p 来进行。 对于a u t o c a d 来说,a d s 应用程序等价于用a u t o l i s p 编写的应用程序,但a d s 应用程序不能单独执行,只能作为一组外部函数被a u t o l i s p 加载和调用。 a u t o c a d 系统的第三代开发环境和工具包括0 b j e c t a r x ( a u t o c a dr u n t i m e e x t e n s i o n ) 、v b a ( m i c r o s o f tv i s u a lb a s i cf o ra p p l i c a t i o n s ) 和v i s u a ll i s p 等。a r x , a d s ,a u t o l i s p 与a u t o q 如的关系如图2 1 所示:它们都是a u t o c a d 提供的编 程语言,用户利用这些编程语言建立新的命令,扩充a u t o c a d 原有的功能。 华北电力大学硕士学位论文 分布处理 图2 1 各应用程序与a u t o c a d 间的通讯机制 a r x ( a u t o c a dr u n t i l ee x t e n s i o n ) 是a u t o c a dr 13 之后推出的一个全新的面 向对象的开发环境,是a u t o c a d 第一次提供面向对象的二次开发工具,又称为 0 b j e c t a r x ,以突出其面向对象的特点。o b j e c t a r x 编程环境提供了一个面向对象的 c + + 编程接口,用户可以用这个接口来使用、优化和扩展a u t o c a d 。而且o b j e c t a r x 库包含了各种工具,用户可以利用这些工具来使用a u t o c a d 的开放式结构。另外, 这些库可以和a u t o l i s p 、a d s 以及其他编程接口一起使用。 v b a 在a u t o c a dr 1 4 0 1 以上版本中已作为标准安装组件。利用a u t o c a d 对 v b a 的支持,用户可以开发v b a 应用程序,使用a c t i v e x 对象。这种工具最大的 缺点就是不能向a u t o c a d 注册命令。但在所有的开发工具中,这是一种开发速度 最快的工具,特别是在开发需要图形界面( 对话框) 的程序时。 v i s u a ll i s p 是a u t o l i s p 的换代产品,其主体部分是一个0 b j e c t a r x 应用程序。 在a u t o c a d 2 0 0 0 中v i s u a ll i s p 己内置于系统中,编译后的v i s u a ll i s p 程序( 扩展 名为v l x ) 不再需要绑定l i s p 引擎。 2 30 b j e c t a r x 介绍 o b j e c t a r x 以c + + 为编程语言,采用先进的面向对象的编程原理,提供可与 a u t o c a d 直接交互的开发环境,能使用户方便快捷地开发出高效简洁的a u t o c a d 应用程序。这种工具共享a u t o c a d 的地址空间,并可以被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 固有命令的新命令,拥有对a u t o c a d 最深入的控制能力,能够提供 7 华北电力大学硕士学位论文 最多类型的窗体,能够对a u t o c a d 的所有事务进行完整的、先进的、面向对象的 设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。 a d s 已经可以在a u t o c a d 上开发较大规模的综合应用程序,主要着眼于应用 程序的交互性和综合性;而a r x 在满足应用程序的综合性基础上,主要着眼于程 序的智能性,适合于开发智能化程度较高的大规模综合应用程序。与a u t o l i s p 和 a d s 相比,o b j e c 愀主要具有以下特点【1 6 - 1 8 】: r 1 ) 使用o b j e c t a r x 开发的程序编译后是一种w i n d o w s 动态链接库( d l l ) ,它和 a u t o c a d 共享地址空间,直接和a u t o c a d 进行通讯。而a u t o l i s p 是一种解释性 语言,提供了一个简单的扩充a u t o c a d 命令的机制。 ( 2 ) 在a r x 程序中,每一个命令都有独立的入口。但a u t ou s p 是不可重入的, 因此a d s 程序也是不可重入的。 ( 3 ) a r x 程序的速度快。这里指的主要是访问a u t o q 如图形数据库的速度。 a r x 应用程序本身是a u t o c a d 的一部分,即被a c a d e x e 调用的动态链接库, 拥有同a u t o c a d 一样的内存地址空间,直接访问a u t o c a d 的各种内存对象。 ( 4 ) a d s 程序的工作类似于宏( m a c r o ) ,a d s 中的函数( 如a d sc o m m a n d ) 以及和a u t ou s p 的通讯使得a d s 程序的工作类似于自动作用的宏。相比之下, a r x 程序则更基本,主程序( a u t o c a d ) 调用每一个a r x 程序注册的命令。 ( 5 ) a r x 程序具有a u t o u s p 程序和a d s 程序所不能具备的访问和控制 a u t o c a d 的能力: a r x 程序可以监控和处理a u t o q 如的各种事件; a r x 程序可以向a u t o c a d 注册自己的命令,包括可以透明执行的命令,这 些命令可以像a u t o c a d 自身的命令一样被a u t o u s p 和a d s 调用,用户运行二次 开发的程序时无需了解关于a u t o c a d 更多的知识; a r x 程序可以定义a u t o c a d 数据库对象,包括可见的实体和不可见的词 典,这些对象的行为由程序规定,包括对象在各视窗中的显示和对各种事件的响应。 a r x 能够访问很多a u t o c a d 底层的工具( 这些a u t ol i s p 和v b a 并不能 访问) ,这是大多数开发者选择a r x 的主要原因,a r x 也是唯一一种能够确保代 码安全( 不被别人阅读或非法复制) 的开发工具。 ( 6 ) a r x 提供了面向对象编程的技术。目前,面向对象的编程技术已经成了软 件开发的主流技术。a r x 是一种面向对象的软件接口,它以v c + + 为开发语言, a r x 库为开发工具,采用面向对象的编程方法且支持m f c 编程。至此,开发者即 可以充分利用庞大的m f c 类库的资源,又可与a r x 工具库结合来实现a u t o c a d 的二次开发。 8 华北电力大学硕士学位论文 ( 7 ) a r x 程序的后缀不用d l l ,而是采用a r x 。以v c + + 开发的a r x 应用程 序是一个动态链接库文件( d l l ) ,因而不能独立运行,只有当主应用程序调用它 时在运行时加载,与调用程序的代码是相互独立的。采用动态链接库文件的一个好 处是当在d l l 中增加函数或者修改代码时,只需编译d l l 文件,而不必对调用它 的主应用程序进行修改和重新编译。这个特点也是用0 b j e c 认r x 创建应用程序时 a u t o c a d 所采用的方法的原因:不必改变a u t o c a d 的内部代码。 ( 8 ) a r x 应用程序还可以在同一水平上与w i n d o w s 系统集成,并与其它w i n d o w s 应用程序实现交互操作。 2 3 10 b j e c t a r x 的功青皂 作为一个开发者,可以使用o b j e c t a r x 完成以下任务: ( 1 ) 访问a u t o c a d 数据库,与a u t o q 蛐编辑器交互作用; ( 2 ) 使用m f c ( m i c r o s o f tf o u n d a t i o nc 1 a s s ) 创建用户界面; ( 3 ) 支持多文档界面( m d i ) ; ( 4 ) 创建自定义类; ( 5 ) 建立复杂的应用程序; ( 6 ) 与其它编程环境交互作用。 2 3 20 b j e c t a r x 类库 a r x 提供了六个主要的库来访问和控制a u t o c 柚: ( 1 ) a c r x 运行扩展库 主要用于提供a r x 程序同a u t o q 蛆的接口,包含用于连接及运行应用程序 时类注册和类标识。该库为动态链接库的初始化、链接、运行时类的注册和识别提 供系统级的类。该库的基类为a c r x o b j e c t ,提供以下功能:对象实时类的标识和继 承分析、对现有类的扩充定义、实体相等与比较测试和实体拷贝。 ( 2 ) a c e d 命令扩展库 主要用于管理a r x 程序扩充的a u t o c a d 命令,包含用于注册本地命令及系 统事件通知的类( 库文件为a c e d a p i 1 i b ) 。 ( 3 ) a c d b 数据库访问库 主要用于访问a u t o c a d 图形数据库,包含a u t o c a d 数据库类,它存放所有的 实体及其它类型,这是a r x 最重要的库( 库文件为a c a d 1 i b 和a c d b 1 i b ) 。该类库 提供了可直接访问a u t o c a d 数据库数据结构的类。a u t o c a d 数据库中包含了各种 构成a u t o c a d 图形的图形对象( 即实体) 及非图形对象( 线型、层、文本样式、 9 华北电力大学硕士学位论文 尺寸样式) 等信息。利用该类库提供的类,开发者可以对a u t o c a d 实体及对象进 行操作,并可以创建新的数据库对象。 ( 4 ) a c g i 图形界面库 主要用于图形实体的绘制、显示和渲染( 库文件为a c g i a p i 1 i b ) 。 ( 5 ) a c g e 通用几何库 a c g e 库是一个通用库。它可以被a c d b 类引用并提供数学计算和几何计算函 数,如矢量、点和矩阵的运算等,同时也提供简单的几何对象,如点、曲线及曲面。 a c g e 类库包括两个子集:二维操作类及三维操作类( 库文件为a c g e 1 i b ) 。 ( 6 ) a d s r x 开发系统实时扩展库 通常a r x 使用这个库来完成诸如实体选择、选择方式的设置和数据获取等功 能。实际上,一个完整的a d s 库函数是a r x 环境的一部分,通常称为a d s r x , 它和标准的c 语言版本的a d s 库在功能上是完全一致的。但是作为a u t o c a d 的一 部分,它同样分享a u t o c a d 的地址空间。用户可以在a r x 中使用a d s d e f u n o 函数 和a c e d r e g c m d s ( ) 宏来登记a u t o c a d 的新命令。 2 40 b j e c t a r x 应用程序开发环境 a r x 环境下的开发技术代表了以p c 机为硬件平台的c a d 应用软件最先进的 开发技术。掌握和应用该技术,开发基于a u t o c a d 的专业软件对于科研人员和工 科学生来说,无疑是十分必要和重要的。开发a r x 应用程序需要0 b j e c t a r x 提供 的a r xs d k ( s o f 咐a r ed e v e l o p m e n t 磁t ,软件开发工具包) 。a r xs d k 工具包主要提 供了开发a r x 应用程序所需的库函数、头文件、程序设计示例和有关使用说明。 在a u t o c a d 不同版本运行的a r x 应用程序需要不同的o b j e c t a r x 开发环境的 支持和各自的编译链接工具。目前在a u t o c a d2 0 0 4 以前的版本中,a r x 的编译 器只支持m i c r o s o f tv i s u a lc + + 6 o ;在a u t o c a d2 0 0 4 2 0 0 5 版本中,a r x 支持微软 的m i c r o s o f tv i s u a ls t u d i o n e t 2 0 0 2 ;a u t o c a d 2 0 0 7 版本可以结合m i c r o s o f tv i s u a l s i u d i o n e t 2 0 0 5 开发o b j e c t a r x ,更加方便应用程序的移植,提高了编程效率。 基于上述分析,本课题选择a u t o c a d 2 0 0 7 软件为开发平台,以m i c r o s o f tv i s u a l s t u d i o n e t2 0 0 5 集成开发环境中的v i s u a lc + + n e t 为开发语言,利用a u t o c a d 二 次开发工具o b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论