




已阅读5页,还剩84页未读, 继续免费阅读
(机械设计及理论专业论文)蝶阀参数化cad系统的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川大学硕士学位论文 蝶阀参数化c a d 系统的研究 机械设计及理论专业 研究生:俞海明指导老师:郑忠俊 计算机辅助设计与制造( c a d c a m ) 技术已经和传统的制造业紧密结合, 不仅改变了制造业设计和制造各种产品的传统作业方式,而且有利于提高企业 的创新能力,技术水平和设计生产效率,从而提高市场竞争力;这是进一步向 计算机集成系统( c i m s ) 发展的重要技术基础。 随着现代工业的不断发展,阀门需求量不断增长,一个现代化的石油化工 装置就需要上万只各式各样的阀门,阀门使用量大。蝶阀设计和c a d c a e 技 术的结合,将极大地提高设计质量和设计效率,缩短新产品开发周期。但是, 由于c a d c a e 软件开发自身的专业性强,在阀门设计领域,c a d 强大的二次 开发功能还远未被充分利用起来,蝶阀参数化绘图系统的开发,对于阀门行业 的发展具有积极的意义。 本文根据c a d 技术发展的新成果,通过对c a d 几种二次开发工具的细致 比较和研究,并特别分析了o b j e c t a i 的技术特点和优势,据此设计开发了基 于a i 的蝶阀参数化绘图系统,详细地讨论了系统实现的各项关键技术。本文 的主要成果与特色如下: 1 通过蝶阀特点和应用目的分析,提出了c a d 参数绘图系统的总体设计方 案和基本结构。在具体实现过程中秉承了面向对象的程序设计思想,模块化设 计理念以及参数化设计技术,程序的整体结构清晰,并能在后续开发中不断丰 富和完善。 2 详细研究了o b j e c t a r x 开发的技术细节,开发出具有很大移植性的绘图 工具函数模块。 3 针对当前数据库开发技术,论述了数据库相关技术在c a d 软件开发中的 四川大学硕士学位论文 应用,并对d a o ,a d 0 ,o d b c 进行比较分析,选定用o d b c 作为数据库连接技 术。其中对o d b c 数据库技术的具体应用做了详细介绍,建立了蝶阀的工程数 据库,并实现了较为先进的绘图平台与数据库之间的双向数据传递。 4 分析参数条件设置,完成了参数约束设计并针对设计过程中的实际需求开 发出输入实时反馈功能。 5 实现了蝶阀的多参数自动设计和绘图。 本文针对蝶阀自动绘图设计要求,结合参数化概念和特点,开发了蝶阀参 数化c a d 系统,对提高产品设计水平,缩短设计周期和提高设计效率,特别是 提高企业的综合竞争力有重要的意义。在本系统的实际应用中已体现出应有的 价值。 关键词:o b j e c t a r x ;参数化; 蝶阀;a u t o c a d 四川大学硕士学位论文 r e s e a r c ho nb 僦e r n yv a l v ep a r 锄e t r i cc a d s y s t e m m 萄o r :m e c h a n i c a ld e s i 印a 1 1 dn l e o r ) , p o s t g r a d u a :t e :lh a i m m g a d v i s o r :z h e n gz h o n 西u n t 1 1 et e c h n o l o g yo fc a d c a mh a sb e e ni n t e g r a t e dc l o s e l y 嘶t ht r a d i t i o 越 m a i l u f a c t u r i n g i th a sn o to n l yc h a n g e dt h ec o n v e n t i o n a lm o d eo fp r o d u c t sd e s i g n i n g a n dm a n u f a c t u d n g ,b u ta l s oi m p r o v e d 也ec a p a b i l i t yo fi 1 1 1 1 0 v a t i o n ,t h el e v e lo f t e c l l i l i q u e a n de m c i e n c yo fd e s i g i l & p r o d u c t i o n a l lt h e s el e a dt ou p g r a d i n g c o m p a n yc o m p e t i t i o n a l s oi t ,st h ei m p o r t a l l tt e c l l l l i c a lb a s e o fc i m sd e v e l o p m e n t t h em o d e mi n d u s t 叫i sd e v e l o p i n ga l lt h et i m e ,a n dt 1 1 ev a l v er e q u i r e m e n ti s g r o w i i l gv e r yf a s t nn e e d st e nt h o u s a i l d s o fv a l v e st oc o n s t r u c to n em o d e m p e t r o c h e m i c a le q u i p m e n t i t sah u g e 锄o u n t t h ec o m b i n a t i o no fb 眦e r f l yv a l v e d e s i g n i n g a 1 1 dc a d c a et e c h n o l o g yw i l l i m p r o v e t h e d e s i g nq u a l i t ) ,a n d e m c i e n c y n w i l ls h o r t e nt 1 1 ed e v e l o p m e n tc y c l eo fn e wp r o d u c t s b u tb e c a u s eo ft h e s p e c i a l 够o fc a d c a es o r w 鹕i nt h ev a l v ed e s 咖f i e l d ,a b u n d 觚to fs e c o n d a r y d e v e l o p i n gt 0 0 1 sh a v en o tb e e nu t i l i z e d s ot 1 1 ed e v e l o p m e mo fp a r a m e t r i cv a l v e c a ds y s t e mh a se n e r g e t i ce 虢c t s a c c o r d i n g t ol a t e s tc a d t e c h n 0 1 0 9 ya c h i e v e m e n t , s e v e r a ls e c o i l d 锄了 d e v e l o p i n gt o o l so fc a da r ea 1 1 一s i d e dc o m p a r e da n dr e s e a r c h e d ,e s p e c i a l l yt h e t e c h n o l o g ys p e c i a l t ya i l da d v a n t a g e so f0 b j e c t 舢乏xa r ea n a l y z e da n dm ea r x b u t t e r f l yv a l v ep a “m l e t r i cc a ds y s t e mi sd e v e l o p e db a s e do ni t 7 r h ed e t a i lo fk e y d e v e l o p i n gt e c l l l l o l o g yi sd i s c u s s e d m a i l lo u t c o m ea 1 1 dc h a r a c t e r so f t 1 1 i sp 印e ra r ea s f o l l o w i n g : 1 a c c o r d i l l gt ot h ea n a l y s i so f b 傩e r f l yv a l v e ss t m c t l 鹏a n di t s 印p l yi n t e n t i o n , 让l ec a dp a r a m 嘶c 出a w i n gs y s t e m sd e s i g i l j i l gp r o j e c ta 1 1 df e w o r ki sb r o u 曲t i i i 四川大学硕士学位论文 f o 脚d d u r i n gt h ep r o c e s so fs y s t e md e s i g n ,t h ew h 0 1 ep r o g r a ms t m c t u r ei sc l e a r a n di se a s yt oe n r i c ht h eo b j e c t o r i e m e dp r o g r 锄m i n gi d e a s ,t h em o d u l 撕z a t i o na i l d p a r a m e t e r i z e dd e s i g n t e c l l l l 0 1 0 9 y , s oi n 如t u r ei t sc o n v e i l i e n tt oe x p a l l da n d c 0 n s u m m a t e 2 t h eo b j e c t 触d e v e l o p i n gt e c h i l i q u ed e t a i l sa r er e s e a r c h e d f o l l o w i n g 廿1 i s , m a i l yd r a w i n gm n c t i o nt 0 0 1 sa r ed e v e l o p e d ,a n dt h e yc a nb em i 铲a t e de a s i l y 3 b a s e do nc u r r e n td a t a b a s ea p p l i c a t i o n ,i n t e l l r e l a t e dt e c l l l l 0 1 0 9 yi sd i s c u s s e d a n dt h ed a o ,a d o ,o d b ca r ec o 叫) 鲫e da i l da n a l y z e d o d b ci ss e l e c t e da i l d p r e s e n t e dd e t a i l e d l y b u 批m yv a l v ep r o j e c td 眦由a s ei sf o u l l d e d ,a n dt h e 舢1 c t i o n o f b i d i r e c t i o n a lt r a i l s f e rb e t 、v e e nt h ed r a w i n gp l a t f o r ma i l dt l l ed a t a b a s ei sc o m p l e t e d 4 p 龇吼e t e rs e t t i n g sa r ec o n s t m c t e d ,a 1 1 di t sr e s t r i c t i o nd e s i g l la n dr e a lt i m e f e e d b a c ko fi n p u th a v eb e e na c c o m p l i s h e d 5 t h em u l t i _ p a r 锄e t r i cd r a 、析n ga 1 1 dd e s i g no f b u t t e m yv a l v ei sa c c o m p l i s h e d f a c i n gt ot h ed e m a n do fa u t o m a t i cd r a 丽n gd e s i g l l ,c o m b i i l i n go fp a r a m e t r i c c o n c 印t i o n ,t h i ss y s t e mi sh e l p 向1 t oi m p r o v et 1 1 e1 e v e lo fp r o d u c td e s i g n ,s h o r t e nt h e d e s i g i lc y c l ea i l dp r o m p tt h ee 街c i e n c y ,e s p e c i a l l yu p g r a d ec o m p a i l y sc o m p e t i t i o n 1 1 l i ss y s t e mh a se x l l i b “e di t sv a l u ei nt h er e a l 印p l i c a t i o n k 哪7 0 r d s :0 b j e c t f u ;b u _ t t e m yv a l v e ; p a r a i i l e t r i c ;a u t o c a d i v 网川大学硕士学位论文 声明 本人声骧所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其德入已经发表或撰写过的研究成果,也不包含为获德嚣川大学或其他教育机 构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡 献均已在论文中作了明确的说明并表示谢意。 本学位论文成果是本人在四川大学读书期间在导师指导下取得的,论文成 果归四川大学所有,特此声明。 储躲金盘叠翩躲象班: 日期:日期:业 四川大学硕士学位论文 1 绪论 现代科学技术发展表明,要使工程设计技术走上现代化道路,必须利用电 子计算机技术,即将电子计算机与各工程领域相结合形成交叉学科。从2 0 世纪 6 0 年代开始,产生了电子计算机技术应用与各工程领域( 如机械、建筑、 电 子、船舶、航空等) 产品设计的新兴交叉技术计算机绘图和计算机辅助 设计,简称c a d 系统和c a d 技术。其定义为:c a d 是计算机系统在工程和产 品设计的各阶段和过程中,为设计人员提供各种快速、有效的工具和手段,加 快和优化设计过程的设计结果,以达到最佳的设计效果的一种技术。利用c a d 技术可使工程设计人员从繁重的设计计算和绘图工作中解放出来,并且使设计 人员将更多的精力用于创造性的劳动【l 】。经过4 0 年的研究和发展,c a d 技术在 理论和实际应用技术方面得到了迅速发展和普及,已经成为工程设计领域中工 程技术人员必须掌握的一门技术。 计算机辅助设计与制造技术是计算机科学、电子信息技术与现代设计制造 技术相结合的产物,是当代先进的生产力,被公认为2 0 世纪9 0 年代的十大技 术成就之一。c a d c a m 技术的发展应用,将对制造业的生产模式和人才知识 结构等产生巨大的影响,他不仅改变了制造业设计和制造各种产品的传统作业 方式,而且有利于提高企业的创新能力,技术水平同时提高市场竞争力,这也 是进一步向计算机集成制造发展的重要技术基础【2 】。 1 1c a d 技术应用及发展概况 1 1 1c a d 技术应用及效益 c a d 技术在机械、电子、建筑、船舶、航空、航天、轻纺等领域得到了广 泛应用。c a d 技术已是改造传统生产过程的必经之路【3 】。c a d 技术是工业界提 高产品质量、大幅度缩短产品研制周期,降低生产成本和加速产品更新换代的 有效手段。c a d 技术应用,特别是c a d 技术与c a m 技术相结合,产生了巨大 的经济效益。随着社会工业高速发展对产品质量要求越来越高,设计周期要求 越来越短传统的手工设计方法已经适应不了这种发展的需要。迫切要求以现 代化的设计方法取而代之,因此采用c a d 技术是科技发展的必然趋势【4 】。据统 计分析,采用c a d 技术后其结果是: 四川大学硕士学位论文 降低工程设计成本13 一3 0 。 减少产品设计到投产时间3 0 - _ 6 0 。 产品质量的量级提高2 5 倍。 减少加工过程3 0 一6 0 。 降低人力成本5 一2 0 。 增加产品作业生产率4 0 一7 0 。 增加投入设备的生产率2 3 倍。 与过去相比在相同时间里,增加了工程师分析问题的广度和深度的能力3 3 5 倍。 1 1 2c a d 技术发展趋势 当今,c a d 技术得到了广泛的应用,它本身的技术也日趋成熟,它的发展 和应用正引起一场产品和工程设计领域的革命性的变化。另方面随着计算机 技术及相关学科的迅速发展和企业的需求,c a d 技术必将得到进一步的发展和 完善1 5 】。c a d 技术发展有如下趋势: c a d 系统的智能化 c a d 系统的集成化 造型方法更趋先进性和多样性 面向对象技术的引入和发展 新的设计思想的引入 多媒体技术将引起c a d 技术的飞速发展 完善和发展标准化的工作 发展新型的c a d 外设 分布式的网络c a d 系统 1 1 3c a d 发展现状 国外c a d 技术起步较早,计算机软、硬件技术成熟,实力雄厚,在系统的 开发方面具有很高的水平,先后出现了许多著名的系统,如:( 1 ) a p p l i c o n 公 司的b 凡w o 系统;( 2 ) a u t o d e s k 公司的a u t o c a d 系统;( 3 ) c o m p u t e r v i s i o n 公 司的c a d d s 系统;( 4 ) d a s s a u l t 公司的c a t i a 系统;( 5 ) e d s 公司的u n i g r a p l l l c s 2 四川大学硕士学位论文 系统;( 6 ) h p 公司的p e 系统;( 7 ) i m e r g r a 曲公司的i w m s 系统等等纵观这些 c a d 系统,它们大都有友好的用户界面,较强的曲面、实体、造型能力和参数 化绘图能力,有些系统具有三维参数化造型功能,且全部集成了数据管理功能, 混合模技术已经成为流行的建模技术,并朝着统一模型技术方向发展,多数具 有c a d 、c a e 、c a m 功能,并逐步引入了智能设计【6 j 。 国内自主版权的c a d 系统软件起步较晚,经过近几年的努力,国内自主版 权的c a d 支撑软件有了较大的发展,也涌现了一些较为成功的系统例如清华 大学、华中理工大学和大连理工大学联合开发成功的c h c a d m i s l 0 ,中科院 北京软件工程中心,中科院计算所,北京航空航天大学和中国农科院联合开发 的微机支撑系统c a s s ,航空工业总公司研制的微机集成都市c a d 系统,南京 航空航天大学研制的d u p e r n l a i l 等上述系统有部分包含产品造型,工程制图, 有限元分析及前后处理,数控代码生成,加工仿真及基于国际标准的产品数据 交换等应用模块在这一部份的c a d 领域可以说,我国已取得一定成就【7 1 。 从上面所述可以再出,国内c a d 系统的标准化、工程化、实用化、商品化 和国外系统数据交换等方面,还存在着一定差距。 1 2 蝶阀特点介绍 蝶阀用圆形蝶板作启闭件并随阀杆转动,以实现启闭动作的阀门【8 】。蝶阀 结构简单,开关迅速,体积小,重量轻和启闭力矩小。按对密封的要求不同, 蝶阀可分别设计成具有截断、调节或截断兼调节的功能。蝶阀应用广,特别是 在低压大口径供水管道上有逐步取代闸阀的趋势。蝶阀的最大口径己达1 0 米。 蝶阀用于开启或关闭管道内的介质,也可作调节用。按公称压力分:1 6 m p a 为低压阀、压力2 5 、4 o 、6 4 m p a 为中压阀、1 0 m p a 为高压阀、超过1 0 0 m p a 为超高压阀。按照设计单位要求,本文主要涉及p n l 6 _ 2 0 m p a 的中低及高压 阀,通径范围8 0 2 2 0 0 i 衄。 目前,国内尚未有专门针对阀门体结构设计的c a d 软件。对于通用阀体设 计,虽然结构变动小,但需针对不同用户专门定制,设计和制造尺寸改动较多, 无法调用原有工程图库,且具有少量多批的特点,往往在设计环节造成人力物 力的大量浪费,且延长了产品从设计到生产的周期,无形中增加了经营成本 【9 】【1 0 1 。 四川大学硕士学位论文 1 3 参数化设计现状 参数化设计( p a r a m e t r i c ) 设计( 也叫尺寸驱动d i m e n s i o n d r i v e n ) 是c a d 技术在实际应用中提出的课题,它不仅可使c a d 系统具有交互式绘图功能,还 具有自动绘图的功能【1 1 1 。目前它是c a d 技术应用领域内的一个重要的、且待进 一步研究的课题。利用参数化设计手段开发的专用产品设计系统,可使设计人 员从大量繁重而琐碎的绘图工作中解脱出来,可以大大地提高设计效率,并减 少图形信息的存储量【1 2 】【1 3 】。 参数驱动是一种新的参数化方法,其基本特征是直接对数据库进行操作。 因此它具有很好的交互性,用户可以利用绘图系统全部的交互功能修改图形及 其属性,从而控制参数化的过程;与其他参数化方法相比较,参数驱动方法具 有简单、方便、易开发和使用的特点,能够在现有的绘图系统基础上进行二次 开发,且适用面广,对三维问题也同样适用【1 4 】【1 5 】。 目前,参数化设计已成为c a d 中最热门的应用技术之一,能否实现参数化 设计也成为评价c a d 系统优劣的重要技术指标,这是因为它更符合和贴近现代 c a d 中概念设计以及并行设计思想,工程设计人员设计开始阶段可快速草拟产 品的零件图,通过对产品形状及大小的约束最后精确绘出图形【1 6 】。同一系列产 品的第二次设计可直接通过修改第一次设计来实现,设计参数不但可以驱动设 计结果,而且影响产品的整个开发周期,设计参数可来自于其他系统。参数化 设计是变量化设计的前提,借助变量化设计思想可实现动态设计、机构设计的 运动仿真模拟等。除此之外,参数化设计还能够使设计人员在设计的同时实现 参数化建库,极大的方便后续设计工作。因此,参数化设计及建库工具的研究 对进一步提高设计和绘图效率以及柔性化设计具有重要的意义【1 7 】。 目前,解决参数驱动中约束的方法主要有如下几种:基于几何约束的变量 几何法、基于几何推理的人工智能法、基于构造过程的构造法、辅助线法。上 面几种方法目前应用较为广泛,但几何推理法采用谓词描述约束,而且采用专 家系统进行推理求解,效率低,难以满足交互绘图的要求。构造法通过对造型 过程的纪录,记下几何元素的生成顺序及其相互间的关系,当用户修改参数时, 系统按原来的造型顺序和几何元素之间的关系重新构造设计全过程,构造法能 够克服前面两种方法的不足,但是要求用户严格遵守一定的造型顺序,缺乏灵 4 四川大学硕士学位论文 活性1 9 】【2 0 】。 1 4 课题来源及论文主要工作 本课题来源于华林自控,由阀门设计人员提出系统具体要求,本文针对要求, 主要进行了如下设计工作: 1 实现蝶阀多参数化的自动绘图。 2 制定蝶阀参数化c a d 系统的整体设计方案 3 开发a i 参数化绘图工具函数 4 建立蝶阀的工程数据库 5 根据蝶阀结构和尺寸特点,编制各个绘图模块 6 开发参数化绘图输入及实时反馈模块 7 界面设计友好,程序设计稳定,并要实现数据的双向传递。 8 实现设计参数的实时存储。 四川大学硕士学位论文 2 蝶阀参数化绘图系统开发方案概述 2 1 设计目标 系统的总体设计目标是:开发出一套符合实际设计要求的蝶阀参数化绘图系 统,尽量把尽可能多的尺寸设为变量,允许用户输入参数来决定最后图形的结 构,同时要有输入错误判断功能和数据存储提取功能。 具体目标如下: 1 提供用户数据输入对话框,根据用户确定的正确参数值,自动绘制生成 a u t o c a d 图形。 生成的图形包括主体图形,尺寸标注,剖面线,边框标题栏和技术要求等 完整的要素;参数值包括由国家标准决定的关联尺寸和剩余完全由用户决定的 参数。国家标准需要事先存储进数据库,用户选择关键尺寸时,其他关联尺寸 能够同时确定。 2 对用户输入参数进行实时检验 根据参数化概念,用户改变一个参数值,其设计模型将自动改变与之相关 的尺寸,即剩余参数的尺寸将有一个输入范围,在此范围之外的值将会造成最 后生成图形的错误,严重时会引起绘图系统崩溃。因此绘制图形前输入参数必 须是正确的,我们需要提供一个功能,当输入参数值错误时,立即提醒用户重 新输入。 3 保存设计过程中的所有数据值,并可随时提取。 蝶阀设计是一个周期较长的过程,随着设计要求的变化,中间可能要经过无 数次的参数调整,而且也无法做到输入一次数据就能得到想要的图形。因为蝶 阀设计参数很多,每次逐个输入又很耗费时间,鉴于提高设计效率和人性化的 要求,提供一个数据的保存和提取功能十分必要。 2 2 二次开发方案选择 2 2 1a u t o c a d 开发工具简介 1 a u t o l i s p s u a l l i s p 介绍 a l l t o l i s p 是一种解释性的语言,它可以使程序员和二次开发者很方便地为 a u t o c a d 增加新的命令。从逻辑上讲,虽然随着运行平台的不同它具有一定的 6 四川大学硕士学位论文 变化,但是从根本上讲它和a u 幻c a d 之间是通过i p c ( i n t e 印r o c e s sc o m m u l l i c a t i o n ) 相联系的,而且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 软件,它的升级为s u a ll i s p 。a u t o l i s p 语言适用于开发简小的应用程序场合。 具有简单易学、可读性好的特点,但保密性能较差。 a u t o l i s p 或l i s p ( 目前已经发展为s u a ll i s p ,功能得到了加强,并且可 以将l i s p 程序编译成二进制代码文件) 是一种解释性的语言它提供了一个简 单的扩充a u t o c a d 命令的机制【2 l 】。 2 a d s 介绍 a d s 程序( 以a u t o c a d l 2 o 为平台) 是用c 语言进行开发编译的。a d s 是一 种使用c 语言,如h i g hc ,w a t c o mc ,v i s u a lc 语言编程和编译的开发工 具。对于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 的通信的,所以便用c 语言编写的基于a d s 的应用程序与使用a u t o l i s p 语言来编写的应用程序效果相同【2 2 】。但a d s 编程 具有两大不同于l i s p 的特点: ( 1 ) 它是基于与a m o c a d 之间的通讯。 ( 2 ) 采用无限的消息分发循环。以c 开发的a d s 应用程序具有保密性好、 运行速度快的特点,适合于编写计算量大或需要与主机环境交互的应用程序。 开发工具如h i g hc 、w a t c o mc 一般不随a u t o c a d 一起发行,它需用户单 独购买。a d s 工具主要适用于a u t o c a dr 1 1 、a u t o c a dr 1 2 和a u t o l i s pr 1 3 版本。 3 v b a 介绍 v b a 是一个a u t o c a d 应用程序集成开发环境,它提供了高质量的用户化 编程能力,能够使a m o c a d 数据与其它v b a 应用程序,如m i c r o s o ro 伍c e 软 件,直接共享。此外,v b a 的加入扩展了a u t o c a d 集成用户化工具的能力, 它集成了a u t o l i s p ,s u a ll i s p 和o b i e c t a i a p i 等工具【2 3 1 。这样,就为用户 访问a u t o c a d 软件的多种技术框架提供了新的选择和新的开放机会,可以按用 户所需求的工作方式开发应用程序,也可以从战略上考虑开发基于a u t o c a d 的 应用程序。不过,v b a 中不能定制a u t o c a d 对象。 作为一个功能强大的可视化编程工具,它充分利用了面向对象的开发技术 7 四川大学硕士学位论文 及a u t o c a d 的资源,扩展了a u t o c a d 集成用户化工具的能力,并且在制作界 面上有着不可忽视的优势,界面友好,便于调试,且应用v b 编程比用c 语言编 程来得容易,开发人员只要具有基本的程序设计知识和技能就能设计复杂的 w i n d o w s 应用程序。 4 a r x 介绍 o b i e c t a i 的编程环境与a d s 和a u t o l i s p 的编程环境完全不同,a r x 编 程环境是一个面向对象的c + + 环境,最关键的问题在于一个a i 应用程序就是 一个d l l ,它分享a u t o c a d 的地址空间,并可为a u t o c a d 直接所调用,从而避 免了使用i p c 作为中介的解释过程。一般地说,使用a r x 编程的函数的执行速 度比使用a u t o l i s p 或a d s 编程的函数快。它适合于开发当前从a u 幻c a d 2 0 0 0 以来的较新版本,如a u 幻c a d2 0 0 2 一a u t o c a d2 0 0 6f 2 4 】【2 5 】。 2 2 2a u t o u s p ,a d s ,a r x 与a u t o c a d 的关系 a d s 是开发a u t o c a d 的c 语言设计环境它以外部函数形式加载到 a u t o c a d 中需通过a u t o l i s p 解释器调用,在a d s 中实体信息是以结果缓冲 器链表表示的,a d s 必须通过对实体操作来间接操作图形数据库。 分部处理 直接调用 图2 1a d s ,a u t o l i s p 和a r x 与a u t o c a d 的关系 从图2 1 可看出,a d s 和a u t o l i s p 它们都是通过i p c 来和a u t o c a d 实现 通讯的。每个a d s 应用程序都必须支持由a d s 环境定义的与a u t o l i s p 的接口, 这种接口要求每个应用程序要使用特定的数值,并按特定的数值调用a d s 库函 8 四川大学硕士学位论文 数。通常a u t o l i s p 是按一定的顺序调用a d s 应用程序。 如:在初始化时或在调用a d s 函数时,a u t o l i s p 加载这个a d s 应用程序 此a d s 应用程序通过调用a d s i n i t ( ) ,初始化与a u t o l i s p 的接口联系;a d s 应 用程序通过调用a d s 1 i n l ( ( ) 并传入一个应用程序的结果码r s r s l l ,指示接受和 处理来自a u t o l i s p 的请求;从a d s 1 i 1 1 l ( ( ) 中返回一个请求码r q x l o a d ;每调 用一次a d s d e 劬( ) ,该应用程序即定义一个外部函数等。由此可知一个a d s 应 用程序基本上是a u t o l i s p 的一个“随从 一直在等待着a u t o l i s p 的请求,所以 需要反复调用a d s 1 i 1 1 l ( ( ) ,所以保持请求顺序的最自然的作法即使将该函数放在 一个“无限 循环的开始1 2 6 。 从功能上可以描述为包容或被包含的关系。实际上,一个完整的a d s 库函 数是a i 环境的一部分。通常称为从a d s r x 。a d s i 和标准的c 语言版本 的a d s 库在功能上是完全一致的。不同的是从a d s r x 作为a u t o c a d 的一部 分,它同样分享着a u t o c a d 的地址空间,而a d s 则需要通过i p c 才能实现通讯。 也就是说a d s 的功能可以通过a d s r x 完全替代。一个a d s 应用程序包含一 个无限循环,一直在等待着a u t o l i s p 请求;而a r x 有一个为使用消息提供的 入口。当用户登记命令时,它实现了同a u t o c a d 的通信,当用户重载在a r x 库中c + + 类的虚构函数上时,这些函数便实现了应用程序的入口功能。 对a u t o c a d 来说,a d s 程序和a u t ol i s p 程序并没有太大区别,这一点 a d s 程序员是清楚的。a d s 函数与a u t o l i s p 函数几乎是等同的。一个a d s 程 序实际上由一组外部函数组成,在a u t o c a d 上它们由l i s p 解释器来加载调用。 a d s 程序是经过编译以后的二进制文件,而a u t o l i s p 程序只是源代码文件。 a d s 程序本身不能直接与a u t o c a d 进行通信( 或对话) ,而需要通过 i p c ( m e r - p r o c e s sc o m m u l l i c a t i o n ) 和l i s p 来进行。 a i 程序在很多方面部与a d s 程序、a u t o u s p 程序不同。最重要的一点 是,a i 程序实质上是一个动态链接序( d l l ) 。它和a u t o c a d 共享地址空间并 且直接和a u t o c a d 进行通信。对于需要经常和a u t o c a d 通信的应用程序来说, u 程序比a d s 程序运行得更快。除了速度上的提高之外,通过a i 开发还 允许创建或派生新的类( c l a s s ) ,这些类和程序源代码可以为其他程序共享,从而 充分利用面向对象编程的优点。另外,a r x 程序创建的实体和a u t o c a d 的内 在实体几乎是等同的,通过创程序可以直接访问和操作a u t o c a d 的图形数 9 四川大学硕士学位论文 据库。 在图形对象操作方面,a i 函数比a d s 函数更简单明了,调用也更方便。 这一部分往往是a u t o c a d 二次开发的重点。 a i 支持面向对象编程。在2 0 世纪9 0 年代,面向对象的编程技术已经成 为软件开发的主流技术,而a d s 仍然只能使用传统的c 语言编程,也就是说只 能采用传统的结构化编程方法。朋 充分支持c + + 类,并且提供了五个主要的 类库来访问以及控制a u t o c a d 除此之外还可以利用m sm f c 强大的类库。由 于a i ( 采用面向对象编程、不考虑直接操作a u t o c a d 数据库所带来的风险, 因此从数据的封装性来看a r x 开发比a d s 开发要更安全可靠1 2 7 j 。 2 2 3a u t o c a d 各种开发软件的比较及选用 比较a u t o c a d 提供的各种a p i ,需要考虑以下几方面【2 8 】: 1 速度:直接与a u t o c a d 通讯的a p i 比利用i p c 进行通讯的a p i 在速度方 面要快。编译型的a p i 比解释型的a p i 速度要快。因此,o b j e c 认i 的速度最 快,a u t o l i s p 的速度最慢。 2 稳定性:运行稳定性反映出因程序可能出现的严重错误所导致的危险。采 用a u t o l i s p 开发的应用程序一旦失败或崩溃,并不危害a u t o c a d 自身进程: 而由于0 b j e c t 触应用程序共享a u t o c a d 的地址空间,所以一旦其失败, a u t o c a d 进程也随着崩溃。 3 性能:o b i e c 的应用程序能在运行期间实时扩展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 p i 如a u t o l i s p ,甚 至老式的编译型的a d s ,也仅被限于使用静态的a u t o c a d 命令集和系统提供 的结构化函数库。 4 技术难度:a u t o l i s p 和s u a lb a s i c 均是解释型语言,方便易学,开发周 期短。许多程序员或非程序员均在使用它们。相比之下,o b j e c t 触依赖于c + + 语言,它必须经过严格控制的编译、链接才能生成应用程序。使用 o b i e c 的二次开发人员必须有足够的编程经验才能处理开发中的各种问 题。 相比之下,若用户以前已熟悉用a u t o l i s p ,则可选用包容a u t o l i s p 的s u a l l o 四川大学硕士学位论文 l i s p 。若用户只想利用开发工具开发一些简单的周期短的应用程序,则可依个 人爱好和经验选择v i s u a lb a s i c 或v i s u a ll i s p 。若用户有较好的c + + 基础和a d s 基础,同时又要开发速度和性能要求都很高的应用程序或大型c a d 应用软件, 则要使用o b i e c t a r x 。 当然,并不是说没有较好的c + + 和a d s 基础就不能使用o b j e c t 妯。 由以上比较我们不难看出,直接同a u t o c a d 通讯的a r x 程序在速度上要 比利用i p c 通讯的“s p 程序快的多,且性能无比强大,因此a r x 更能够符合 蝶阀参数化绘图系统的要求,我们选择o b i e c 作为系统开发的工具。 四川大学硕士学位论文 3 使用0 b j e c t a r x 作为二次开发工具 我们选择了o 场e c 燃作为系统开发工具,本章将介绍利用a r x 开发的系 统平台及a r x 开发的技术特点。 3 1v c 6 0 开发环境 3 1 1 面向对象的编程技术 面向对象是计算机编程处理世界模型的一种思维方法,它将现实世界抽象 为即相互独立又相互联系的实体模型,即对象【2 9 1 。面向对象的编程从对现实世 界的类比出发来构造软件系统,它将数据和对数据的操作融为一体封装起来, 使系统更易于维护、复用和稳定。面向对象程序设计是基于类( c l a s s ) 的程序设计, 它将一个复杂的问题分解成多个能够完成独立功能的对象( 类) ,然后把这些对象 组合起来去完成这个复杂的问题【3 0 1 。类是客观世界中具有相同数据( 称为属性) 和相同操作功能( 称为方法) 的对象的集合,它规定了这些对象的公共属性和行为 方法。对象是类的一个实例1 3 1 1 。 面向对象程序设计有三个主要特征p 2 。4 】: ( 1 ) 封装性( e n c 印s u l a t i o n ) 封装就是把每个对象的数据及其操作包装在一个类中。一旦定义了对象的 属性和方法,则必须决定哪些属性和方法用于表示内部状态,即为私有的,哪 些属性和方法可被外部访问的,即为公有的。封装的目的是为了隐藏信息的细 节,使得外部只能通过规定的接口访问对象中的数据,从而保证了软件模块具 有良好的独立性,提高了程序的可维护性。 ( 2 ) 继承性( 1 1 1 1 1 e r i t a l l c e ) 继承是指一个新类可以从现有的类派生而来。新类继承了原始类的特性, 称为原始类的派生类,而原始类则称为新类的基类。派生类可以修改或增加基 类的属性和方法,使之适合具体的需要。继承提供了一种明确表述类与类之间 的共同性质的方法,减少了相似类的重复说明。可以说,基类与派生类的关系 正体现了客观世界中一般与特殊的关系,因此,继承很好的解决了软件的复用 性问题。 ( 3 ) 多态性( p o l y m o 印l l i s i n ) 1 2 四川大学硕士学位论文 多态性是指允许不同类的对象对同一消息作出不同的响应。多态性是现实 生活中一种常见的现象。例如,任何一辆汽车都有方向盘、换档操纵杆以及用 于控制离合器、制动装置和油门的三个踏板,而且它们的操作方法基本相同。 这就是说,不管汽车在内部构造和运行原理方面有多大的不同,操纵汽车的“接 口 是不变的。同理,在一个面向对象的系统中,它也要求一组具有相同表层 语义的方法能在同一接口下为不同的对象服务。多态性可大大简化系统的界面, 使得不同的但又具有某种共同属性的对象不但能在一定程度上共享代码,而且 还能共享接口。因此,多态性提高了系统的一致性、灵活性和可维护性。 总之,面向对象的编程通过使用封装、继承和多态性等机制,使程序具有 可复用性、可维护性,从而使程序员提高工作效率,缩短开发时间p 5 。 3 1 2v i s u a ic + + 6 0 简介 s u a lc + + 是m i c r o s o r 公司推出的面向对象程序设计的可视化软件开发 工具,目前已成为国内外应用最广泛的软件编程工具之一。s u a lc + + 的核心 是微软基本类库,即m f c 0 订i c r o s o rf o u n d a t i o nc l a s s ) 。m f c 封装了w i n 3 2 软件 开发工具包( s d k ) 中的结构、功能,为开发者提供了一个应用程序框架。这个应 用程序框架为编程者完成了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论