已阅读5页,还剩59页未读, 继续免费阅读
(机械电子工程专业论文)cad二次开发方法研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 c a d 技术起源于上世纪5 0 年代。经过半个多世纪的发展,目前国内外已开 发出许多著名的通用c a d 软件,如u g i i 、i - d e a s 、p r o e n g i n e e r 、a u t o c a d 等, 并已广泛应用于机械、电子、建筑、航天航空等领域。为了满足特殊行业和特定 产品的开发需要,通常需要在通用c a d 软件中增加一些特殊功能,即进行软件 的二次开发,以提高产品设计效率和质量。本文对c a d 软件二次开发的方法、 过程、手段进行系统、全面的研究和实例开发,以期为二次开发提供系统的理论 支撑和方法指导。 本文完成的主要工作有: 1 ) 阐述了二次开发的基本理论,包括二次开发的概念、原则、过程和一些 关键技术,并在此基础上建立了c a d 二次开发模型; 2 ) 研究了几种常用二次开发方法面向对象方法、利用组件技术方法、 利用a c t i v e x 技术方法和d l l 方法。对它们的基本原理和实现方式进行了分析; 3 ) 分析了p r o e n 甄n e e r 的二次开发接口函数库p r o t o o l k i t 的特点,对利用 p r o t o o l k i t 进行二次开发的开发环境、过程、方法以及相应的开发工具进行了讨 论; 4 ) 详细研究了利用p r o t o o l k i t 进行标准件和装配组件二次开发所涉及到的 交互用户界面技术、特征建模技术、参数化设计技术和组件自动装配技术,分析 了各种技术的实现原理及其关键方法,建立了详细的开发流程,并以c c + + 语言 实现了相关技术; 5 ) 通过对典型标准件和对装配体关系的分析研究,提出了基于特征和参数 化设计的标准件二次开发模型以及组件自动装配模型: 6 ) 采用面向对象技术和砸向过程技术相结合的方式,以动态连接库( d l l ) 的形式,利用v c + + 和p r o t o o l k i t 实现了p r o e n g i n e e r 标准件的参数化设计和组 件自动装配的二次开发,编写了相应的应用程序软件,并在p r o e n g i n e e r 环境顺 利运行,实现了零件的参数化设计和简单组件的自动装配。 关键词:c a d ,二次开发,p r o e n g i n e e r ,p r o t o o l k i t a b s t r a c t t h ec a d t e c h n o l o g yb e g a ni nt h ef i f t i e so f t h et w e n t i e t hc e r t i f y a f t e rm o r e t h a n5 0y e a r s d e v e l o p m e n t ,al o to ff a m o u sc a ds o f t w a r eh a v eb e e n d e v e l o p e d ,s u c h a su g i i ,i d e a s ,p r o e n g i n e e r , a u t o c a d ,e t c ,a n dh a v eb e e nw i d e l ya p p l i e di nt h e f i e l d so f m a c h i n e r y , e l e c t r o n i c s ,a r c h i t e c t u r ea n da e r o s p a c e i no r d e rt os a t i s f ys o m e s p e c i a ln e e d si nt h ed e v e l o p m e n to fs p e c i f i cp r o d u c t s ,i ti sn e c e s s a r yt oa d ds o m e s p e c i a lf u n c t i o n si ng e n e r a lc a ds o f t w a r e ,t h a ti s , t h ef u r t h e rd e v e l o p m e n t i sr e q u i r e d i no r d e rt oe n h a n c et h ee f f i c i e n c ya n dq u a l i t yo f t h ep r o d u c td e s i g n a s y s t e m a t i ca n d d e t a i l e dr e s e a r c ha b o u tt h e m e t h o d 、p r o c e s sa n dt e c h n i q u e so f t h ef u r t h e rd e v e l o p m e n t o fc a di sc o n d u c t e di nt h et h e s i s a n dnc a s e s t u d yi s a l s of i n i s h e db a s e do n p r o e n g i n e e rb ym e a n so f p r o t o o l k i t t h ef o l l o w e dw o r k sh a v eb e e nd o n ei nt h e p a p e r : 1 ) t h e b a s i ct h e o r yo ft h ef u r t h e rd e v e l o p m e n tw a ss u m m a r i z e d 。w h i c hi n c l u d et h e d e f i n i t i o n ,t h eg e n e r a lp r o c e s s ,t h er u l e sa n ds e v e r a lk e yt e c h n i q u e s ,a n daf u r t h e r d e v e l o p m e n t m o d e lo f c a di sc r e a t e d 2 、s e v e r a lc u r r e n tm e t h o d so ft h ef u r t h e rd e v e l o p m e n th a v eb e e ns t u d i e d , s u c ha s o b j e c to r i e n t e dm e t h o d ,c o m p o n e n tt e c h n i q u e ,a c t i v e xt e c h n i q u ea n dd l l ,a n d a l s ot h ep r i n c i p l e 、t h ef e a t u r e sa n dt h er e a l i z e dm o d e so ft h e s em e t h o d sw a s a n a l y z e d 3 ) t h ec h a r a c t e ro f t h ef u r t h e rd e v e l o p m e n ti n t e r f a c eo ft h ep r o e n g i n e e r , n a m e l y p r o t o o l k i tw a s a n a l y z e da r t dt h ee n v i r o m n e n t 、t h ec o r r s e 、t h em e t h o d sa n dt h e t o o l so f f i m t h e r d e v e l o p m e n tu s i n g p r o t o o l k i tw e r ed i s c u s s e d 4 ) t h ed e t a i l e d s t u d y h a sb e e nm a d ea b o u t t h ei n t e r a c t i v eu i t e c h n o l o g y , f e a t u r e 。m o d e l i n gt e c h n o l o g y , p a r a m e t r i cd e s i g nt e c h n o l o g y 、a u t o m a t i ca s s e m b l y t e c h n o l o g yt h a ta r er e l a t e dt ot h ef u l l e rd e v e l o p m e n tb ym e a r t so fp r o t o o l k i t t h e p r i n c i p l ea n df o c u sm e t h o d so ft h e s et e c h n o l o g i e sa r ea n a l y z e d ad e t a i l e d d e v e l o p m e n t f l o wi se s t a b l i s h e dt or e a l i z et h ec o r r e l a t i v e t e c h n i q u eu s i n gc c + + 5 ) a f t e rt h er e s e a r c ho f t h et y p i c a ls t a n d a r d p a r t a n dt h e a s s e m m yr e l a t i o n ,t h em o d e o ft h ef n r t h e r d e v e l o p m e n to fs t a n d a r dp a r t a n dt h ea u t o m a t i ca s s e m b l vo f c o m p o n e n tb a s e d o nt h e d e s i g no f f e a t u r ea n dp a r a m e t e ri se s t a b l i s h e d i i 6 1 a d o p t i n gt h ec o m b i n a t i o no fo b j e c to r i e n t e dt e c h n o l o g ya n dp r o c e s s 。o r i e n t e d t e c h n o l o g y , t h ef u r t h e rd e v e l o p m e n t o ft h ep a r a m e t e rd e s i g no fs t a n d a r dp a r ta n d a u t o m a t i ca s s e m b l yo fc o m p o n e n tb a s e do np r o e n g i n e e ri sc o m p l e t e du s i n g v c + + a n dp r o t o o l k i t a n dt h es o f t w a r ec a ns u c c e s s f u l l yr u ni np r o e n g i n e e r t h e p a r a m e t r i cd e s i g n o fs t a n d a r d p a r t a n dt h ea u t o m a t i c a s s e m b l y o fs i m p l e c o m p o n e n ta r er e a l i z e d t h ev a l i d i t yo fm o d e la n dm e t h o do fd e v e l o p m e n t a r e p r o v e db y t e s t k e yw o r d :c a d ,f u r t h e rd e v e l o p m e n t ,p r o e n g i n e e r , p r o t o o l k i t i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书面使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:l 生! !日期:御牛年月7 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:痞本i z 导师签名:垄率一 日期:柳斗年;月7 日 电子科技大学硕士研究生毕业论文 1 1c a d 技术i 4 l 1 1 1c a d 技术概述 第一章绪论 c a d ( c o m p u t e r a i d e d d e s i g n ,计算机辅助设计) 技术开始于2 0 世纪5 0 年代。 在发展初期,c a d 的含义仅仅是c o m p u t e r a i d e dd r a w i n g ( o rd r a f t i n g ) 。6 0 年代 后,随着计算机软硬件技术的发展,c a d 技术得到了快速发展。它经历了从二 维模型、三维线框模型、曲面模型、实体模型、产品模型、特征模型直至最新的 生物模型,从静态设计到以参数化特征造型为基础的动态设计的发展过程。 c a d 是集计算机图形学、数据库、网络通讯等于一体的综合性技术。它可 以承担零件设计、装配设计、模具设计、机构设计与分析、有限元分析、数控加 工编程、仿真模拟及产品数据管理等工作。 c a d 技术是先进制造技术的重要组成部分,也是提高设计水平、缩短开发 周期、增强行业竞争能力的一项关键技术。采用c a d 技术进行产品设计不但可 以使设计人员“甩掉图板”,更新传统的设计思想,实现设计自动化;还可以使 企业由原来的串行式作业变成并行作业,建立一种全新的设计和生产技术管理机 制。如今世界各大航空、航天及汽车等制造业巨头不但广泛采用c a d 技术进行 产品设计,而且投入了大量的人力及资金进行c a d 软件的开发,以保持技术上 的领先地位和国际市场上的优势。 1 1 2c a d 技术发展趋势忙j 随着c a d 技术的不断研究、开发与广泛应用,对c a d 技术提出了越来越 高的要求。c a d 技术正向着集成化、智能化、并行化、网络化、虚拟化和标准 化的方向发展。 1 集成化与智能化 集成化就是共享数据。集成c a d 能缩短产品研制周期,增强企业的竞争力。 其中计算机集成制造系统是集成发展的一个重要方向。 初步的智能化表现在c a d 软件的人性化、使用方便,典型是应用动态导航 技术,引导设计者一步一步地进行设计。将专家系统技术与c a d 技术结合起来, 是智能化c a d 系统发展的必然趋势。 电子科技大学硕士研究生毕业论文 2 网络化与并行化 c a d 的公用信息、图形、编码、标准零部件等都存贮在服务器的公用数据 库中,用户c a d 工作站通过网络共享其中的数据,进行各自的工作,交换所需 要的中间处理数据和最终结果。网络化为应用计算机的各部门实现信息共享、协 同作业提供了物质基础条件。 c a d 的集成化与网络化为实现c a d 并行化提供了软硬件基础。c a d 并行 化是指产品的方案设计、概念设计、详细设计、分析设计、工艺设计、加工仿真 各阶段工作在各设计部门同步进行,各部门的设计信息共享,并以规定流程实现 交流、反馈,同时对各阶段设计中的问题进行修正,保证能在方案完成的同时, 产品即可加工出来。并行化c a d 是全新的c a d 组织形式,最大程度地缩短产 品研制周期,是大型企业实施c a d 的发展趋势。 3 虚拟设计 虚拟化c a d 是利用虚拟现实技术发展而来的一种新的设计系统。可以在虚 拟的现实环境中对模型进行各种角度的观察,这对缩短产品周期,节省制造成本 有着重要的意义。 4 规范化 规范化的趋势体现在数据模型的标准化、数据交换格式的标准化及c a d 资 源的规范化三个方面。 1 2 课题研究的目的和意义1 5 。1 0 l 1 2 1 我国c a d 技术应用的现状 我国c a d 技术的研究始于7 0 年代初期。8 0 年代中期以来,部分大中型企 业和研究所开始采用c a d 技术。到目前为止,c a d 技术已在很多企业得到实施, 特别是9 0 年代以后,p c 机的性能价格比大幅度提高,中小型企业开始引进c a d 系统。从国内使用的情况来看,虽然取得了一些可喜的成就,但并不容乐观。目 前的国内c a d 的应用主要有以下问题和不足: 1 ) 将o a d 作为辅助绘图工具。目前许多企业的图形c a d 系统只能将设计 过程的最后阶段绘图阶段搬到计算机上,设计过程仍在设计师的头脑中完 成,没真正发挥出c a d 的功能。 2 ) 产品和零部件的标准化不足。由于没注重零部件的标准化工作。越来越 多的零件流入生产流程,造成零件数量的无限制增长。 电子科技大学硕士研究生毕业论文 3 ) 集成化程度不高。c a d c a m c a e 的集成度不高,模型信息、设计信息 和加工信息之间的共享程度低。 4 ) 缺乏完善的数据管理系统和过程管理系统。由于缺乏完善的数据管理和 过程管理,企业的大量数据和设计过程得不到有效的控制和管理,使得设计任务 f 刚的等待时间长,各部门之间的信息传递速度缓慢,数据一致性差,安全性差。 1 2 2c a d 二次开发的意义 c a d 技术推动了几乎一切领域的设计和制造革命,其开发和应用水平已成 为衡量一个国家现代化水平的重要标志。我国一贯重视c a d 技术的引进、推广 和应用工作,但同时也非常重视c a d 软件的自主开发。目前,国内实际使用的 c a d 系统可分为两大类:一类是国内主权版的c a d 系统,另一类是国外商品化 的c a d 系统。由于国外c a d 系统发展早、技术先进、产品成熟、售后服务周 到,仍占据着主要的市场份额。 国际和国内的知名的c a d c a m 软件如p r o e n g i n e e r 、u g i t 、i d e a s 、 s o l i d w o r k s 以及华正c a x a 系统等。都是商品化的通用平台。这些通用软件需 要考虑各行业、各地区用户的需要,而并非针对某一领域甚至某种产品的专用软 件,因此用它来完成某一具体产品的设计时往往不是很方便。因为不同企业有不 同的产品,其设计方法、产品结构不尽相同,即使是面向某一类对象的专用的商 品化c a d 软件,也难以满足形形色色的具体需要,所以不可能从软件公司买到 适合所有产品设计需要的软件。因此,欲利用c a d 技术取得积极效果,必须以 通用c a d 软件为基础,结合自身实际情况,进行不同程度的用户化、本地化开 发,以建立应用绘图系统和数据库,形成具有自身特色的c a d 系统,这也是c a d 软件均提供二次开发手段的原因。 根据抽样调查,国内已引进的c a d 系统利用率高、效益好的单位大约只有 2 0 。而据统计,工程设计中绘图工作只占整个设计工作量的1 8 ,设计者的大 部分精力还要花在资料检索及设计思考上。如果能在引进的原始c a d 系统基础 上,根据本企业或行业的常规性产品或工程设计的实际需要,将设计手册、制造 手册中的各种数据、典型的结构、计算方法与公式及产品标准、技术要求、外构 件、原材料的样本、手册,本企业或行业产品的典型结构、经验数据、工装情况 等方面的资料、数据、图形等与现有c a d 系统有机地融合起来,使设计人员从 繁重的重复劳动中解放出来,做到数据共享;甚至更一步,将本企业或行业多年 来的设计经验总结出来,形成有特色的设计规范、设计方法、典型结构、标准、 通用零部件、功能模块,并相应地在c a d 系统内建立起数据库、图形库、方法 库、知识库及其应用程序,从而真正发挥c a d 系统的效用和优越性 电子科技人学硕士研究生毕业论文 c a d 二次开发的意义不仅在于提高设计效率,而且还是提高产品设计质量 的重要途径,是提升c a d 应用水平的重要手段。 1 3 国内外研究现状i l 7 - l l l 目前,国内c a d 技术的应用已逐步进入高级阶段,许多用户都针对本行的 特点对c a d 进行二次开发,c a d 二次开发技术几乎在各个行业中都有应用实 例,并已有许多商品化软件问世。但各行业c a d 二次开发技术的发展水平存在 较大差距,机械、电子、建筑、航空航天等最早应用二次开发技术,其二次开发 程度也最高。开发出的c a d 系统能够集计算、参数化画图、数据管理为一体, 并直接与计算机辅助制造( c a m ) 和计算机辅助工艺设计( c a p p ) 有机结合。 目前国内已开发成功一批符合工程需要的应用软件,逐渐形成了一批具有较高素 质的研究开发队伍。 其他行业的c a d 二次开发技术则相对落后,有的仅仅是一小部分工程技术 人员的个人行为,还没有形成专门从事c a d 二次开发的研究队伍。虽然也出现 了一些c a d 应用软件,但大多数仅仅针对某一类型的产品或产品的一部份而开 发的小型应用系统,解决的问题也比较有限。 国外成功的c a d 技术开发企业为了加快c a d 技术开发步伐,都选择了高 起点的c a d 技术开发战略,印利用已有的技术成果,在此基础上二次开发自己 的c a d 技术,而不是将人力物力浪费在低水平的重复开发上,这样既可以提高 效率,又能保证自己的产品具有较高的技术含量和水平。 1 4 课题主要内容 c a d 技术是一种综合性技术,研究c a d 软件二次开发方法与技术,具有现 实意义。而二次开发必须选择优秀的支撑软件,因为开发后系统的性能在很大程 度上取决于支撑软件本身的性能和开发性。现在市场占有率很高的p r o e n g i n e e r 就是优秀的支撑软件。 本论文研究的主要内容包括: 1 ) 研究了c a d 二次开发的基本理论,讨论c a d 二次开发的概念、原则、 过程和一些关键技术,并在此基础上,建立了c a d 二次开发的模型; 2 ) 研究了常用的几种二次开发方法,对它们的基本原理和实现方式进行了 分析; 3 ) 分析了p r o e n g i n e e r 的二次开发接口函数库p r o t o o l k i t 的特点,对利用 p r o t o o l k i t 进行二次开发的开发环境、开发过程、开发方法以及相应的开发工具 电子科技大学硕士研究生毕业论文 进行了讨论; 4 ) 详细研究了利用p r o t o o l k i t 进行标准件和装配组件二次开发所涉及至0 的 交互用户界面技术、特征创建技术、零件参数化设计技术和组件自动装配技术, 分析了各种技术的实现原理及其关键方法,建立了详细的开发流程,并以c c + + 语言实现了相关技术: 5 ) 通过对典型标准件和对装配体关系的分析研究,提出了基于特征和参数 化设计的标准件二次开发模型以及组件自动装配模型; 6 ) 采用面向对象技术和面向过程技术相结合的方式,以动态连接库( d l l ) 的形式,利用v c + 十和p r o t o o l k i t 实现了p r o e n g i n e e r 标准件的参数化设计和组 件自动装配的二次开发,编写了相应的应用程序软件,并在p r o e n g i n e e r 环境顺 利运行,实现了零件的参数化设计和简单组件的自动装配。 电子科技大学硕士研究生毕业论文 第二章c a d 二次开发的基本理论 2 1 二次开发的概念 2 1 1 二次开发的含义 c a d 软件的二次开发是指在现有的软件基础上,为了提高和完善软件功 能,使之更加符合用户需求,而对软件做的开发工作。其目的是提高设计质量和 效率,充分发挥通用c a d 软件的价值。 二次开发将应用对象的设计规范、构造描述、设计方法等以约束关系的形式 集成到通用c a d 平台中去,以使应用对象的设计智能化、集成化。 c a d 系统二次开发的层次关系如图2 - 1 所示【j 6 】: 广_ f = 二= = 习 f 通用c 仰系统f + f 专业对黝麒f 一、一 图2 - 1c a d 系统二次开发的层次关系 2 1 2 二次开发的特点 c a d 二次开发具有以下特点: 1 ) 继承性。二次开发是在已有软件的基础上进行的开发,因此开发后的软 件性能在很大程度上取决于支撑软件的性能和开放程度,以及开发者对支撑软件 的理解; 2 ) 专业性。二次开发是针对特定用户进行的,因此开发人员要既懂专业知 识,又要具备软件开发能力; 3 ) 实用性。二次开发是为了满足特定用户的特殊需要,因此成功的二次丌 发可以大幅度提高工作效率: 4 ) 紧迫性。二次开发要解决的是实际工作中遇到的问题,直接影响工作的 进度,因此在时间上有紧追性; 5 ) 复杂性。二次开发不仅涉及具体的应用,而且要求对支撑软件有深入的 了解,因此工作量大,任务复杂。 2 2 二次开发的一般原则 1 2 j 6 电子科技大学硕士研究生毕业论文 二次开发要遵循工程化、模块化、标准化和继承性等一系列原则。 1 工程化原则 二次开发应按照软件工程学的方法和步骤进行,突出工程化的思想。首先对 所要解决的问题进行详细定义分析( 由软件开发人员与用户讨论决定) 。并加以 确切地描述,确定软件技术目标和功能目标,编写软件需求说明书、确定测试计 划和数据要求说明书等,然后根据需求说明书的要求,设计建立相应软件系统的 体系结构,编写软件概要设计和详细设计说明书、数据库或数据结构设计说明书、 组装测试计划,从而保证软件的可靠性、有效性和可维护性。 2 模块化原则 模块化原则要贯穿二次开发的全过程,它是将整个系统分解成若干个子系统 或模块,定义子系统或模块间的接口关系。模块化可以使开发人员同时进行不同 模块的开发,缩短软件开发周期;在软件需要维护和修改时,也仅对相关模块进 行修改即可,避免了对整个程序的修改;在扩展时,只要把独立的功能模块集成 即可运行。最后通过菜单调用把它们集成起来,与原系统组成一个有机的整体。 3 继承性原则 二次开发不同于一般从底层做起的软件设计,是在已有软件基础上根据实际 需要而进行的再开发,对支撑软件有很强的依赖性和继承性。继承性既是二次开 发的最大特点,它要求开发后的系统在界面风格和概念上与原软件保持一致,新 加入的部分在功能、操作等方面与原系统实现无缝集成,从而保持系统的一致性 和完整性。 4 标准化原则 标准化是开发c a d 软件的基础。首先,在开发过程要遵循c a d 技术的基 础标准,c a d 技术的发展之路同时也是一条标准化发展之路,面向用户的图形 标准g k s 和p h i g s 、面向不同c a d 系统的数据交换标准i g e s 和s t e p 以及窗 e l 标准等都是进行二次开发所必须依据的标准。其次,c a d 系统的二次开发不 同于一般软件的设计,它的运行过程是对具体机械设计过程的模拟,必须符合机 械工程设计的特点,机械设计过程也有着严格的国家标准的规定。 2 3 二次开发的基本过程 按照工程化原则,二次开发的一般过程如图2 - 2 所示( 1 2 。 电子科技大学硕士研究生毕业论文 图2 - 2 二次开发的基本过程 二次开发过程基本上可概括为系统分析、系统设计、程序编写、系统测试四 个阶段。 1 系统分析 主要任务是分析、理解整个系统设计的基本要求,在系统分解的基础上确定 整个系统的基本框架,并在此基础上,形成表达系统基本要求及框架的系统说明 书。 2 ,系统设计 包括系统总体设计( 完成模块说明书) 和建立图形数据库与数据库管理系统。 3 程序编写 将模块说明书转换成用某种c a d 软件编写的程序。 4 ,系统测试 可分为三步进行,模块测试、综合测试和验收测试。 2 4 二次开发中的关键技术1 1 2 “i 2 4 1 参数化图库的生成技术 图形建库工作是从事c a d 开发的基础。通用c a d 系统一般都未提供标准 件库和通用件库,然而在产品开发过程中,标准件和通用件是常用而复杂的零件, 如螺栓、螺母、轴承等,若每次用到都为其建模,将大大影响产品的设计效率。 为适应产品快速开发的需要,建立参数化或变量化的三维实体模型库是进行产品 设计所必须的环节。 电子科技大学硕士研究生毕业论文 建立参数化图库的关键是标准件和通用件特征参数值的存储和处理,有两种 方法:一种是使用数据文件的形式存放参数值;另种是使用数据库管理系统建 立新系统的数据库。使用第二种方法既安全可读,又具有很好的开放性,是用户 建立参数值数据库的理想选择。 2 4 2 用户化界面技术 用户化界面是指在通用化c a d 系统中嵌入部分二次开发工作的接口和界 面,这种二次开发界面将便于系统的操作和维护,对于系统的实用性和应用效果 具有重要的作用。用户界面的好坏是评价一个软件性能的重要标志之一。 对于从国外引进的c a d 系统有时候还包括界面的汉化问题。从菜单、提示 以及错误信息到标准的全方位汉化可使企业充分利用c a d 系统,并将其转化为 生产力,提高企业的设计开发能力。 2 4 3 二维工程图的自动生成技术 现有知名c a d 系统在三维模型转换为施工图的功能方面,都具有很强的二 维参数化功能,可以自动高效的生成所需要视图。但是对于一些复杂结构,存在 着不能完整表达产品信息的问题;国内大多数生产厂家仍是按施工图样进行制 造,这就需要对系统二维工程图的自动生成进行二次开发。国外通用的c a d 系 统在常用符号、标注等方面都是依照国际标准,与国家标准有所不同,如尺寸标 注、形位公差符号、表面粗糙度符号等,这就需要对其符号进行二次开发,处理 程序可以通过软件自带的二次开发语言,也可以利用其他高级语言编制。 2 4 4 产品设计智能化开发技术 c a d 智能化是把人工智能的思想、方法和技术引入传统的c a d 系统中,分 析归纳设计工艺知识,模拟人脑推理分析,提出设计工艺方案,从而提高设计 工艺水平,缩短周期,降低成本。现在的c a d 系统是人机交互工作。把需要由 知识和经验决策的设计问题留给用户,使产品设计水平受到工程师学科知识和设 计经验的制约,开发基于通用化c a d 系统的智能c a d ( i n t e l l i g e n tc a d ) 可以 克服这一缺点,提高设计质量和效率。它的技术核心就是以专家知识和经验建立 专家系统( e x p e r ts y s t e m ,e s ) 模型,采用规则控制下的产生式系统和启发式推 理来实现系统的智能化。 2 4 5 特征映射器的开发技术 目前优秀的机械设计自动化软件都是基于参数或变量化的特征建模技术,将 c a d c a m 集于一身,特征在不同的应用领域有着不同的特征模型,设计特征不 9 电子科技大学硕士研究生毕业论文 可能与制造特征完全一致,这就会导致特征信息的歧义与混乱,因此需要一种特 征映射( f e a t u r ec o n v e r s i o n ) 机制来完成特征信息由设计域向制造域的转化,即 特征映射器。特征映射器可自动将c a d 系统的设计特征转变为c a p p 系统的制 造特征,从而实现c a d c a p p 的有效集成,其中特征提取( f e a t u r ee x t r a c t i o n ) 和特征识另l j ( f e a t u r er e c o g n i t i o n ) 是特征映射器的技术关键。 2 5 c a d 软件提供的常见二次开发手段1 2 4 j 应用软件提供二次开发方法的好坏,主要是看这种二次开发方法是否合理公 开应用软件内部的结构,以及这种开发方法的易用性和效率。常见的手段有; 2 5 1 函数库形式( 普通d l l 和a p i ) 提供函数库和基于函数库的a p i 接口是最直接的再开发手段,m i c r o s o f t w i n d o w sa p i 就是典型的例子。 函数库的使用有两种方式,一种为应用程序在其内部使用函数库,可在无 c a d 系统的情况下运行,但欠缺灵活性,无法访问c a d 系统和充分发挥c a d 系统的性能。另一种为在c a d 系统内部加载函数库,这种方式能扩充c a d 系 统的功能和进行界面定制,但有一定限制,只能在c a d 系统内运行。 传统的具有平面结构的a p i 函数,为二次开发和应用程序中数据的有效管 理带来了复杂性。现在,包括m i c r o s o f t 在内的许多软件供应商普遍利用面向对 象技术对传统的a p i 进行封装,以降低开发的复杂性。 2 5 2a c t i v e xa u t o m a t i o n a c t i v e xa u t o m a t i o n 是建立在c o m 基础之上、由o l e a u t o m a t i o n ( o b j e c t l i n k i n g a n d e m b e d d i n ga u t o m a t i o n ) 发展来的,其的核心技术是允许一个应用程 序操作另一个应用程序。a c t i v e x a u t o m a t i o n 并不是直接获取及处理数据,而是 间接地通过暴露对象的方法和属性,利用对象的方法和属性获取、设置及处理数 据。 a c t i v e xa u t o m a t i o n 括两个方 :a u t o m a t i o n 客户和a u t o m 撕o n 服务器。 a u t o m a t i o n 服务器也可称为a u t o m a t i o n 组件,是一个实现了i d i s p a t e h 接口的 c o m 组件。一个a u t o m a t i o n 客户则是一个通过i d i s p a t e h 接口同a u t o m a t i o n 服 务器进行通信的c o m 客户。 2 6 二次开发模型 现在通用的c a d 软件,都有其自身的特点,对外都提供了不同的二次开发手 电子科技大学硕士研究生毕业论文 段和方法。通过分析现建立一个适用于多数c a d 系统的二次开发模型,如图2 - 3 所示。 用户输入 用户交互界面 , c d 用户结口h +次 c a d 系统开 发 开发接口l 工 t 具 + i面向对象ll面向过程l i , l + c o m 技术a c t i v e x 技术d l l 技术j其他技术 jiji w i n d o w s 操作系统 图2 - 3 c a d 二次开发模型 该开发模型主要包括两大部分:一部分是用户与c a d 系统交互界面的开发, 即定制用户界面,主要用到c a d 系统提供的用户接口模块;另一部分是c a d 系统与操作系统之间的开发,即定制应用程序的功能,包括对c a d 系统的功能 调用以及对操作系统的调用,通过采用面向对象技术或者是面向过程技术,将 c a d 对操作系统的调用对开发者屏蔽,直接提供功能调用,开发者无须详细了 解c a d 系统的最底层实现。 本文后续内容将针对c a d 二次开发模型中的面向对象的、基于c o m 技术 的、基于a c t n e xa u t o m a t i o n 技术和利用d l l 技术的几种开发方法进行研究。 电子科技大学硕士研究生毕业论文 第三章面向对象技术的二次开发方法研究 早期的二次开发,过程化的参数化设计是采用较多的一种方法。随着计算机 技术的飞速发展,特别是软件技术的发展,面向对象的软件设计方法成为主导, 这种方法更能高效率反映客观事物的内在特性和内在联系,符合工程设计方法 学。 3 1 面向对象方法【1 孓1 8 i 面向对象方法的核心思想是将一切客观实体都看成对象,复杂的对象可由较 简单的对象以某种方式组合而成。对于一个设计问题,可以将其逐步分解成一组 相互作用的对象。 每个对象都具有自身独立的含义,这些含义用它的属性特征来描述。属性可 分为2 类:是静态属性特征,它描述了对象的状态结构,在程序设计中用数据 结构来实现:二是动态属性特征,它是施加于对象的操作,用于改变对象数据结 构的状态,在程序设计中一般用函数定义。 对象之间通过消息传递来实现相互作用与联系。在某一时刻,对象和对象间 的联系构成了设计问题空间该时刻的既定状态。当对象与对象之间通过消息传递 发生相互作用时,即引起对象状态的变化。状态的有序变化就使得问题空间从初 始状态过渡到目标状态,从而实现设计问题的求解【1 7 】,如图3 1 所示。 图3 - 1 问题空间 从以上分析可见,面向对象技术更符合人们认识事物的过程,使得描述问题 的问题空间和解决问题的方法空间在结构上非常一致。 3 2 面向对象的基本特征肚1 。2 3 j 对象和传递消息分别是表现事物与事物间相互关系的概念;类( c i a s s ) 和 电子科技大学硕士研究生毕业论文 继承( i n h e r i t a n c e ) 是适应人们一般思维方式的描述范围;方法( m e t h o d ) 是允 许作用于该类对象上的各种操作。这种对象、类、消息和方法的程序设计范式的 基本点在于对象的继承性和封装性( e n c a p s u l a t i o n ) 。通过封装能将对象的定义 和对象的实现分开,通过继承能体现类与类之间的关系,在辅之以向各种对象所 提供的重载( o v e r l o a d ) 及虚函数( v i r t u a l ) 的特性以及由此带来的动态联编技 术( d y n a m i cb i n d i n g ) 和实体的动态性,从而构成了面向对象的基本特征 继承性、封装性和多态性。 3 3 面向对象方法在二次开发中的应用1 2 7 】 面向对象方法在二次开发中的应用首先体现在开发工具的选择上,一是选用 面向对象的编程语言,如v c + + 、v b 、j a v a 、d e l p h i 等语言;二是c a d 软件提 供的具有面向对象特性的二次开发接口,例如本文后面实例中的用到的二次开发 工具p r o t o o l k i t 就具有面向对象的编程风格。p r o t o o l k i t 中基础的概念是对象 ( o b j e c t ) 和行为( a c t i o n ) ,其函数库中的每一个函数都是执行某个特定对象的 某一特定行为。如p r o f e a t u r e d e l e t e ( ) 就是完成特征删除功能的。在p r o e n g i n e e r 和p r o t o o l k i t 应用程序之间传递和交换信息的数据结构对于用户来是说不可见 的,只能通过p r o t o o l k i t 预定义的函数进行访问。如: 设置消息文件名 p r o s t r i n g t o w s 七r i n g ( m s g f i l ,”u s e r m s g 。t x t ”) ; 在菜单p a r t 菜单上添加一新命令按钮s t a t u s p r o m e n u f i l e r e g i s t e r( ”p a r t ”,”p a r t m u n ”,& m e n u i d ) ; p r o m e n u a u x f i l e r e g i s t e r ( ”p a r t ”,”p a r t m u n ”,& m e n u l d ) 7 p r o m e n u b u t t o n a c t i o n s e t ( ”p a r t ”,“s t a t u s ”, ( p r o m e n u b u t t o n a c t i o n ) u s e r p a r t s t a t u s ,n u l l ,0 ) ; 其次体现在设计对象的分类上。在应用面向对象技术开发一个参数化设计系 统时,首先了解总体设计对象,通过分析不同对象的属性,归纳并抽出它们的公 共属性,再把设计对象按各自不同的特性进行分类。在分类结构中,公共属性放 在结构的最高层,特殊结构放在结构最底层。后面的标准件库的分类就从这个方 面考虑,其结构如图3 - 2 所示。 电子科技大学硕士研究生毕业论文 图3 - 2标准件的类结构 3 4 面向对象方法的不足【2 2 i 尽管面向对象技术在许多方面对传统的软件开发方法有很大改进和补充,但 是由于它对描述客观世界的核心概念对象之间的相互作用和相互关系在描 述手段上的不足,从而在考察系统的整体效果方面不能适应大型软件的开发要 求。不仅如此,由于对象实体概念在表达大型软件系统时,存在粒度太细层次太 多等问题,面向对象的技术与方法还难以支持大型软件系统的开发和维护活动。 此外,面向对象编程面临下列问题,使得面向对象技术潜在的优势未能充分 发挥出来。面向对象技术对软件重用仍存在制约,主要表现在以下方面: 1 ) 在面向对象编程中,可重用的仅限于代码。因此,如果使用的编程语言 和编译程序不同,就不能做到软件重用; 2 ) 如果一个重用的基类被修改,可能引起子类及其实现部分的修改;如果 对一个对象的实现部分做了修改,需重新编译相关的模块: 3 ) 面向对象技术缺少一个标准的通信框架,使得不同开发者开发的软件不 能跨进程、跨网络以及跨机器结构交互。对于运行时的系统来说,不同应用程序 中的软件对象即使在同一进程空间也不能通信,更不要说跨越空间和网络边界进 行通信。因此,能从面向对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋租赁代管协议书
- 房屋认购预订协议书
- 房屋资产托管协议书
- 房屋过户承诺协议书
- 房屋防汛加固协议书
- 房租赠与合同协议书
- 房车意向认购协议书
- 房顶装修安全协议书
- 手提袋购销合同范本
- 手机壳加盟协议合同
- GB/T 30637-2025食用葛根粉质量通则
- 液碱买卖合同协议
- 煤矿复产复工方案及安全技术措施
- 《如何科学减肥》课件
- 上海松江区车墩镇村委会招考聘用高频重点提升(共500题)附带答案详解
- 《现场改善案例集》课件
- 液压与气压传动(江苏大学)知到智慧树章节测试课后答案2024年秋江苏大学
- 【MOOC】航天推进理论基础-西北工业大学 中国大学慕课MOOC答案
- 建筑钢结构防腐蚀技术规程 JGJT 251-2011知识培训
- 冬季洗澡安全知识
- 《苏州园林》课件
评论
0/150
提交评论