




已阅读5页,还剩77页未读, 继续免费阅读
(机械制造及其自动化专业论文)面向机械产品设计系统构建的cad软件二次开发技术.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 在日趋激烈的市场竞争条件下,机械产品快速响应设计技术对于增强制造 企业快速响应市场需求的能力,在市场竞争中占据有利地位具有重要意义。本文 以c a d 软件二次开发技术、机械产品快速设计的理论、方法和关键技术为基础, 建立了基于多技术融合的快速设计技术体系。主要研究内容包括: 1 介绍了c a d 软件二次开发技术的研究状况及相关概念,阐述了对其研究 的理论意义与学术价值,总结了二次开发技术的主要内容,有针对性的研究了 c a d 二次开发工具。并简要的介绍了u m l 技术、数据库技术、软件工程技术等 c a d 软件二次开发的技术基础。同时简要介绍了机械产品快速设计的相关概念, 并对其关键技术,包括模块化设计技术、计算机辅助技术、k b e 技术进行了综 述: 2 在对机械产品快速设计基本原理的研究基础上,建立了以模块化设计技 术为基础,建立了智能化设计技术和计算机辅助技术的多技术融合的快速设计技 术体系构架,研究了体系构架的c a d 软件二次开发环境; 3 重点研究了基于u m l 的模块化快速设计系统的规划方法,包括系统需求 分析、系统类的抽象和关联、系统类库到关系数据库的映射方法。之后在软件工 程原理的基础之上研究了模块化快速设计系统开发的软件流程; 4 首先研究了基于面向对象的产品建模的基本方法,在此基础上研究了广 义模块化产品模块模型定制的方法,并研究了知识模型对c a d 模型的驱动模式, 在此基础上研究了c a d 接口实现方法: 5 在对c a d 软件二次开发技术、机械产品快速设计理论、方法和关键技术 研究的基础上,研制和开发了机械产品快速设计软件工具系统的使能工具集部分 和基于广义模块的汽车覆盖件模具专用快速设计系统,快速构造出针对特定产品 的专用设计系统。 关键词:c a d 软件二次开发技术机械产品快速设计广义模块化设计面向对 象建模技术u m l a b s t r a c t 、聃t ht h e i n c r e a s i n g l y i n t e n s em a r k e t c o m p e t i t i o n r a p i dr e s p o n s ed e s i g n t e c h n o l o g y f o rm e c h a n i c a lp r o d u c t si so fg r e a t i m p o r t a n c ef o rt h em a n u f a c t u r i n g e n t e r p r i s e st oi m p r o v et h e i ra b i l i t yt or e s p o n dt o m a r k e td e m a n d sq u i c k l ya n dt o o c c u p y a v a n t a g ep o s i t i o ni nt h ec o m p e t i t i o n i n t h i sd i s s e r t a t i o n ,t h et h e o r y ,m e t h o d s a n d k e y t e c h n o l o g i e s o f r a p i dd e s i g n o fm e c h a n i c a l p r o d u c t s a r es t u d i e d s y s t e m a t i c a l l y , a n dt h eb a s i ct e c h n o l o g i e so fr e - d e v e l o p m e n to fc a ds o f t w a r ea r e s t u d i e ds y s t e m a t i c a l l y , a n dt h er a p i dd e s i g na r c h i t e c t u r eo f m u l t i - t e c h n o l o g yf u s i o ni s e s t a b l i s h e d t h em a i nc o n t e n t so f t h ed i s s e r t a t i o na l ea sf o l l o w i n g 1 t h ec o r r e l a t e dc o n c e p t so f r e d e v e l o p m e n to fc a d s o f t w a r ea r ei n t r o d u c e d t h e p r e s e n ts t a t u sa n dt r e n d so f t h er e s e a r c ho nt h et e c h n o l o g i e so fr e d e v e l o p m e n to f c a ds o f t w a r ea r ee x p o u n d e d ,m e a n w h i l es i g n i f i c a n c eo fr e - d e v e l o p m e n to fc a d s o f t w a r ea r es e tf o r t h ,a n dt h e nc o n t e n t so fr e - d e v e l o p m e n to fc a ds o f t w a r ea r e s u r m i s e d t h et e c h n o l o g i e so fu m la n dd a t a b a s ea n dt h e t h e o r y o fs o f t w a r e e n g i n e e r i n ga r ee x p o u n d e da st h et h e a t r i c a lb a s eo ft e c h n o l o g i e so fc a d s o f t w a r e r e d e v e l o p m e n t 2 b a s e do f ft h es t u d yo f t h eb a s i ct h e o r yo f r a p i dd e s i g no f m e c h a n i c a lp r o d u c t s ,t h e r a p i dd e s i g n a r c h i t e c t u r eo f m u l t i - t e c h n o l o g yf u s i o na n dt h eo b j e c t - o r i e n t e di n t e g r a t e d d a t am o d e lo fm e c h a n i c a l p r o d u c t s a r eb u i l t t h e r a p i dd e s i g n a r c h i t e c t u r eo f m u l t i - t e c h n o l o g yf u s i o ni sb a s e d o nm o d u l a rd e s i g nt e c h n o l o g y , a n di tc o m b i n e st h e i n t e l l i g e n td e s i g nt e c h n o l o g y a n d c o m p u t e r a i d e d t e c h n o l o g y a tt h es a n q et i m e 。 3 + t h eg e n e r a l i z e dm o d u l a rd e s i g nm e t h o di sp r o p o s e do nt h eb a s i so ft r a d i t i o n a l m o d u l a rd e s i g nm e t h o d ,a n dt h ec o n c e p t so ff l e x i b l em o d u l ea n dv i r t u a lm o d u l ea r e p r e s e n t e d t h eg e n e r a l i z e dm o d u l a rp r o d u c tf a m i l y a n dm o d u l e ss y s t e mp l a n n i n g m e t h o di ss t u d i e d t h et w o s t a g em o d u l ei d e n t i f i c a t i o nm e t h o df o rp r o d u c tf a m i l ya n d t h es y n t h e s i sm e t h o do f g e n e r a l i z e d m o d u l e sb a s e do n g r a p ht h e o r ya r ep r o p o s e d 4 t h et e c h n o l o g i e so fk b e b a s e di n t e l l i g e n td e s i g na n dt h ec o n s t r u c t i o nm e t h o do f k b et o o l sa r es t u d i e d t h eo b j e c t - o r i e n t e dk n o w l e d g ef r a m em o d e lo fg e n e r a l i z e d m o d u l a rp r o d u c ti sb u i l ta n dt h eo p e ni n t e g r a t i n ga n dd r i v i n gm o d eo fk n o w l e d g e m o d e la n dc a dm o d e li sp r o p o s e d 5 b a s e do nt h es t u d yo f r a p i dd e s i g nt h e o r y , m e t h o d a n d t e c h n o l o g i e sf o rm e c h a n i c a l i i p r o d u c t s ,t h er a p i dd e s i g ns o f t w a r et o o l si sd e v e l o p e d ,w h i c hc o u l db ec u s t o m i z e d a c c o r d i n gt o t h ec h a r a c t e r i s t i c so fd i f f e r e n tk i n d so fp r o d u c t s c u s t o m i z e d r a p i d d e s i g ns y s t e m f o rs p e c i f i e dp r o d u c t sc o u l db ec o n s t r u c t e dw i t ht h e s et o o l s k e y w o r d s :t e c h n o l o g i e so fr e d e v e l o p m e n to fc a d s o f t w a r em e c h a n i c a lp r o d u c t s , r a p i dd e s i g n ,g e n e r a l i z e d m o d u l a rd e s i g nt e c h n o l o g i e so fo b j e c t o r i e n t e dm o d e l i n g u m l i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得盘壅盘茎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:j 勿& 签字日期:2 。口争年,月i 扫 学位论文版权使用授权书 本学位论文作者完全了解鑫盗盘堂有关保留、使用学位论文的规定。 特授权墨生态鲎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:钐飞l 签字日期:) 。佯月f b 日 导师签名:c ,毫章 i 签字日期:d 争年j 月,o 日 第一章绪论 第一章绪论 随着制造业的迅猛发展,用户需求的个性化和产品生命周期的缩短成为企业 面临的巨大挑战,也为c a d 软件的发展提出了良好的契机。随着全球经济一体 化进程的加快和中国已加入w t o ,我国机电产品不仅要承受国内市场的激烈竞 争,而且要面临国外产品的猛烈冲击,如何使我国制造业在市场竞争中拓宽发展 空间,必须要快速开发技术含量高、质量好、价格便宜的新产品,而原有的通用 c a d 软件越来越不符合设计和生产分工细化的社会必然趋势,在专用产品的设 计中显得力不从心。因而,对c a d 软件的二次开发以扩展c a d 软件使其面向 专用产品成为解决这一问题的关键。因此,系统的研究c a d 软件的二次开发技 术及其相应的软件开发平台,通过二次开发使企业适合具体需求的本地化的 c a d 应用软件,建立针对特定产品构建快速响应设计平台,是本文研究的主要 内容。 1 1c a d 软件发展应用概况 1 1 1c a d 软件的发展史 计算机辅助设计( c o m p u t e ra i d e dd e s i g n ) 1 1 1 1 1 即使用计算机软件直接从事图形 的绘制与结构的设计。它的含义是指在c a d 系统硬件、软件的支持下,研究对 象的描述、系统分析、产品设计、仿真、优化和图形处理等理论的工程方法,是 涉及整个设计过程的一门学科。 c a d 的发展经历了以下一些阶段: ( 1 ) 2 0 世纪7 0 年代的第一代c a d 系统,它以交互式图形编辑为特点,二 维设计系统得到比较广泛的应用。由于三视图表达不完整,设计完成后要以一定 比例的油泥模型作为设计评审和方案比较的依据。 ( 2 18 0 年代出现了第二代c a d 系统,商品化的三维实体造型系统投入使 用,p c 机上的c a d 系统迅速普及,集成化的c a d c a m 系统开始出现。 ( 3 1 进入9 0 年代,c a d 系统向集成化、智能化方向发展,三维特征造型技 术和参数化技术以及并行工程、协同设计等技术获得了巨大的发展。目前流行的 c a d 技术基础理论主要是以p r o e 为代表的参数化造型理论和以s d r c i d e a s 第一章绪论 为代表的变量化造型理论两大流派,它们都属于基于约束的实体造型技术3 】【”。 1 1 2 通用g 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 d 支撑软件提供的开发手段进行修改和扩充,进行二次开发,构建特定 产品的设计系统,也就是在商业应用软件系统的基础上开发本地化应用程序的过 程。 尽管在c a d 技术应用中重视硬件而轻视软件的倾向已经得到了一定程度的 改变,但对重视支撑软件而轻视应用软件的问题还没有引起足够的重视,“二次 开发”工作还是目前c a d 技术应用中的一个薄弱环节。支撑软件是指在某一特 定范围内对各种应用对象具有通用性的软件,例如,计算机辅助绘图软件可实现 一般的绘图功能,但不论绘制的是一辆汽车还是个齿轮,都要通过人机交互进 行一个一个形体的造型。而应用软件则是为解决具体设计工作中的特定问题而专 门编制相应软件,例如开发一些基本图形库供设计调用,它具有专用性强和使用 效率高的特点。应用软件大多是在支撑软件的基础之上开发的,不同的用户必须 针对特定的应用领域和目的考虑特殊的要求,来进行应用软件的开发工作,即“二 次开发”工作。 因此,对c a d 技术的应用,仅有支撑软件是不够的。支撑软件由于注重通 用性,不可能过多考虑到对具体产品的情况下如何方便、高效地使用的问题,也 不具备一些与特定产品或企业密切相关的专用功能,而一般只是提供一些开发工 具,供进一步做“二次开发”时应用。为了提高工作效率,增强系统功能,还有 大量的必不可少的“二次开发”工作需要完成,这类工作一般应结合本企业的具 体情况来进行。值得注意的是,应用软件在市场上是难于购买到的,而且在技术 引进中也很困难的。 更进一步,c a d 技术的应用建立了设计参数与产品性能之间的联系,而一 2 第一章绪论 般支撑软件事无能为力的。例如,对于摩托车而言,必须建立摩托车主要零部件 的设计参数与整车性能之间的联系,从而可以预测摩托车动力特性、经济性、操 纵稳定性、平顺性以及制动安全性等性能,从而使c a d 真正成为产品设计开发 与改进的有用工具。 结合产品具体情况的c a d 平台二次开发工作是十分重要与不可缺少的,在某 种意义上,是c a d 技术应用水平高低的体现,必须引起足够的重视。二次开发技 术的研究对于指导机械产品快速设计系统的开发有着重要的意义,二次开发的理 论方法将极大加快二次开发工作的速度和质量。例如,北京重型电机厂与北京航 空航天大学合作,在以色列的c i m a t r o n 系统上,二次开发了“汽轮机叶片设计系 统”口】,大大提高了叶片设计的质量和效率,为了更迸一步提高汽轮机的设计质 量,中科院又为他们进行了“汽轮机流场分析系统”【5 】的二次开发。所以,二次开 发问题的研究是广大c a d c a m 用户和科技工作者面临的重要课题之一。 1 2c a d 软件二次开发技术的研究状况 1 2 1c a d 软件二次开发技术的相关概念 通过二次开发在通用c a d 软件的基础上,针对某一类型产品进行简单的程 序设计,形成在原有c a d 软件基础上的一个新模块。使c a d 软件不仅保持原 c a d 软件的一切功能,同时新增加的模块,可以使软件对特定产品的设计更加 方便、更加简单、更加准确,同时,又可显著缩短设计时间。下面为一些相关概 念: 二次开发的宿主平台指二次开发中使用的支撑c a d 软件系统,即应用程 序所依附的c a d 软件平台。 二次开发的开发环境指包括宿主平台及其它开发过程中一切要用到的计算 机资源。 1 2 2c a d 软件二次开发的主要内容 与计算机辅助设计相关的“二次开发”内容主要包括: r 1 1 根据企业和产品的具体情况,建立标准化的工程设计规范。 f 2 1 与数据库管理系统相联系,建立有效、完善的工程图纸管理。可进行数 据修改和维护,工程图纸的统计查询,工程图纸删改与扩充等工作。 侣) 建立辅助性的图形库。建立辅助性的图形库可以大大地减少重复性的劳 动,提高效率。在设计与绘图中,对于已存入图形库的零部件只需调出直接使用 3 第一章绪论 即可。当然,在必要时也可再进行局部修改与完善。这类图形库又可分为两种情 况,一种足零部件在设计中很少变动或基本不变的,如供选用的外购件,一些通 用零部件等,这类图形可用交互绘图方式绘制存入并备用。另一种是零部件在设 计中经常变动的,如一些标准件,系列产品中的部分零部件等,这类图形应考虑 用参数化绘图方式绘制并存入备用。辅助性的图形库可以在设计工作中逐步积累 完善。更进一步,对于品种繁多( 国标、部标、行业标准以及厂标) 的标准件,需 要建立统一建库和检索、调用方法。 ( 4 ) 进一步完善绘图辅助工具库,可包括形位公差标注、表面粗糙度标注、 焊接符号标注、装配图编号标注以及技术要求和明细表的书写等。 ( 5 ) 在需要的场合,建立参数化、变量化设计方式函数库。例如,对于标准 通用件或系列产品中的一些零部件,就可以采用参数化设计方式,事先编制好相 应的软件在设计中使用时,只需给出所需特征参数,即可迅速、方便地生成图形。 ( 6 ) 对于一些特定的零部件,需要进行f e m 工程分析,开发专用的计算程 序或与f e m 开发专用接口。 ( 7 ) 为了实现c a d c a p p 肥a m 系统集成,必须在特定的c a d 平台上开发 集成系统软件。 1 2 3 c a d 软件二次开发的模式 序依据其运行环境和开发过程中程序的连接方式二次开发模式可分为内部 模式【6 】( i n t e r n a l ) 和外部模式 6 1 ( e x t e r n a l ) 。 1 内部模式( 1n t e r n a i ) 该环境下的程序只能在c a d 软件的界面环境下运行,在执行时它们被加载 到c a d 软件的运行空间中( 该软件分配的内存) ,并且在运行中频繁调用支撑平 台的通用对话框和进行人机交互,当停止c a d 软件的主进程时该应用程序进程 也随之消亡。该模式有下列特点: 1 相对于外部模式有较小的执行代码,连接较快。 2 内部模式程序一旦被加载到内存中,只能通过c a d 软件的卸载功能才能 从运行环境中卸载它。 3 运行结果在c a d 软件界面的图形窗口中可见,且需要人机交互手段。 2 外部模式( e x t e r n a l ) 外部模式开发的应用程序能在多操作系统( w i n d o w sn t 2 0 0 0 x p 及u n i x ) 4 第一章绪论 下运行,且该程序进程可以独立于c a d 软件平台主进程而存在,而不是作为支 撑平台的子进程运行。通常,e x t e r n a l 模式用于那些不需要图形界面的后台运行 应用程序,如打印或绘图仪输出。 1 2 4c a d 软件二次开发工具简介 一般的c a d 软件都提供一种以上的编程接口,使用的计算机语言从最原始 b a s i c 语言到后来的c ,一直到现在的c + + ,经历了一个从低级到高级的演变过程。 相应的,一些大的软件开发商在此基础上开发了可视化的集成开发环境,如 m i c r o s o f t 开发的v i s u a ls t u d i o 系列的开发工具集,当中包扩了主要语言的可视化 集成开发环境,3 h v i s u e dc + + 、v i s u a lb a s i c 等。此外,还有一些软件开发工具可 应用于c a d 软件的二次开发中,女n b o r l a n d 公司的b o r l a n d c + + 及d e l p h i 等。 以下对c a d 软件的二次开发中常用到的开发工具作简要的介绍。 1用vis u aic + + 实现c a d 软件的二次开发 v i s u a lc + + 是m i c r o s o f t 发行的基于w i n d o w s 平台的程序软件设计工具,该工 具不但能够根据开发人员的需要自动生成工程文件,还能交互式的反映开发者的 开发进程,能够智能的发现一些明显的编码错误。v i s u e dc + + 当中包含了两套完 整的w i n d o w s 应用开发系统,即基于w i n d o w ss d k 和基于m f c 的应用软件开发。 对于c a d 软件的二次开发,所涉及到的是基于m f c 的设计方式。 二次开发对象在v i s u a lc + + 设计工具中设计以“工程”的形式存在。 “工程”从v i s u a lc + + 开发文档的角度来看是一些相互关联的源文件的集合, 这些源文件经过编译、链接后组合在一起,形成可执行的应用程序。2 个工程包 括:源文件清单、编译选择、连接选择、路径选择、系统需求等。一个c a d 软件 应用程序可由一个或多个工程组成,每个工程完成独立的功能,多个工程可以相 互调用和组合使用。 由c a d 应用软件的开发模式决定了工程创建时需要调动的系统资源: ( 1 )对于内部开发模式来说,应用程序开发和运行只需要调用c a d 平台的 接口模块,工程中程序源文件也可以只由c a d 平台所提供的开发模板构成,在运 行时只要调用标准或在标准基础上经过扩展的控件。 ( 2 ) 对于外部开发模式来说,应用程序所调用的系统资源远大于内部开发模 式开发的应用程序。外部开发模式首先耍调用m f c 库所提供的w i n d o w s a p i 函 数,在运行过程中通过c a d 接口初始化实现w i n d o w s 应用程序与c a d 支撑平台的 链接。 5 第一章绪论 图卜1 描述了c a d 应用程序在v i s u a lc + + 开发工具上的“工程”创建过程,同 时反映了“工程”创建过程中系统资源的调用情况。 图1 - 1c a d 应用软件“工程”创建过程 2 vis u a i c + + 开发工具在c a d 应用软件开发中的应用 v i s u a lc + + 中包含了很多方法都可以应用于c a d 应用软件开发中,包括m f c 控件、a c t i v e x 、v b a 等。 1 ) m f c 控件的使用 m f c 是微软类库的简称,它是在早期w i n d o w s a p i 的基础上通过对a p i 函数 进行划类和封装,从而形成高度符合面向对象原理的w i n d o w s 开发接口框架。 m f c 具有很强的层次性,类与类之间具有很强的聚合和继承关系。m f c 通 过窗口类c w n d 等提供给开发者w i n d o w s 风格窗口的使用权,m f c 控件包括基本 的对话框、工具条、状态条、菜单等常用w i n d o w s 界面元素。 同流行的w i n d o w s 应用程序开发相比,c a d 平台提供的工具及对话框包含的 控件较少,功能有限,使得在开发应时有一定的限制,有的功能甚至难以实现。 6 第一章绪论 目前,很多c a d 平台在内部模式开发下还不能公开调用m f c 来编写c a d 应用程 序,在调用m f c 所提供的类的时候,需要根据c a d 软件接口的要求以特定的格 式来实现。 下面来分析一下c a d 平台接口界面程序的结构及运行原理。 界面程序是显示用户界面,实现与c a d 平台之间交互功能。一般以动态链接 库的方式被c a d 平台下的应用程序调用。c a d 平台接口界面程序的功能调用关 系如图l 一2 所示,它所实现的功能可分为下面的两部分。 ( 1 1 接口部分 。 实现被外部应用程序的调用、卸载以及提供给c a d 应用程序接口。 ( 2 ) 用户界面 实现所需的用户界面,实现用户与c a d 平台的交互功能。c a d 应用程序是 c a d 平台和用户界面程序的连接桥梁。 c 舳:_ i = 榉警卺 一;一一 c d 接雅 l 弹艇稳枣接 1 一o o 二= 二: 臻蔼箭 : 辫户粹澌 l _ i 图1 - 2c a d 平台接1 2 1 界面程序的功能调用关系 2 ) a c t iv e x 0 l e 控件的使用 o l e 控件是一个可嵌入的“组建对象模型”( c o m ) ,并作为一个进程中服务 器的动态连接库来实现。作为一个内嵌的外部对象,它支持在位激活。一个o l e 控件就是一个服务器,但它必须要嵌入到o l e 容器中去。 o l e ( 对象链接与嵌入) 是微软最重要的技术之一,它的出现使应用程序之间 的数据交换手段更加丰富、更加灵活。o l e 自动化包含一种在应用程序之间的链 接。 a c t i v e x 是微软制定的一种实现程序问通讯、调用的软件复用规范,a c t i v e x 7 一 洋 一 - 糕 一 增 - m 一 讯 一 也 一 嚏 _ 巾 i i 舁= 一 | | | 第一章绪论 控件是o l e 控件的一个超集,用户通过对a c t i v e x 控件的嵌入和使用,能够实 现一些一般w i n d o w s 控件所不能实现的复杂功能。例如,在一些应用软件中需 要对c a d 模型进行浏览,以实现对模型的旋转、放大操作,如果通过一般的 m f c 控件实现以上功能则需要很可观的代码编写量,但通过a c t i v e ) ( 控件技术 很容易实现以上功能,用户只需要对o c x 进行注册,然后连接到用户程序当中 去即可。 a c t i v e x a u t o m a t i o n 跟务器应用程序是通过自身对象的属性、方法和事件实 现其功能。对象是服务器应用程序简单而抽象的代表。不管是用v b 、v c 、o f f i c e v b a 等从外部开发,还是用a u t o c a d 从内部对c a d 软件进行二次开发,都是通过 调用c a d 软件的对象体系结构来进行的。 以a u t o c a d 为例,a u t o c a d 提供了a e t i v e x a u t o m a t i o n 技术,它提供了一种 控a u t o c a d 的机制,即凡是a u t o c a d 中每一个裸露的对象,如c i r c l e 、l i n e 都可以 用v b 、d e l p h i 等支持a c t i v e x 的n 言来控制。每一个对象都有其相应的特性、方 法,可以读取或改变其特性,可以用方法来控制对象的动作。利用该项技术做 a u t o c a d z 次开发,或者编写基于a u t o c a d 的数据库程序,有着显而易见的优 越性,尤其与专用语言a u t o l i s p 相比。毫无疑问,a c t i v e x a u t o m a t i o n 技术为 a u t o c a d 业已丰富的二次开发又提供了一个崭新的天地。 1 2 5c a d 软件二次开发技术的研究概况 对于c a d 软件二次开发技术的研究包括:二次开发环境、开发工具的研究, 数据库技术c a d 软件二次开发中的应用,面向对象建模技术在c a d 软件二次 开发中的应用,以及参数化、变量化技术的应用等。 专门研究二次开发技术的文献很少,原因是二次开发的应用软件大多附属 于c a d 软件平台作为独立模块被商业化;或一些开发的特定产品设计系统作为 企业的技术机密不向社会公开。我国虽有一些文献,但技术层次较低,缺乏系统 的研究资料。 童时e e t 5 】强调了二次开发对c a d 的重要性,提出二次开发的主要环节是建 立企业的产品模块化体系和建立图形数据库以及数据库管理系统。分析了产品模 块化体系作为关键技术手段在c a d 二次开发中的应用。提出了建立图形数据库 以及数据库管理系统的方法。 申奇志 8 1 等研究了二次开发中常见的参数处理方法,给出了参数与系统的 对象关系图创建方法,提出了一种基于优化算法的参数化模型表达方法,并在此 基础上介绍了其c a d 二次开发软件的实现。 吴剑锋,蒋寿伟 9 1 等介绍了在用v b a 对a u t o c a d 进行二次开发的过程中, 利用延伸数据技术来实现明细表的自动生成与编辑。应用表明,该方法大大地提 r 第一章绪论 高了设计与绘图的效率。 陈青【1 0 通过对机械特征的分析,将c a d 系统中的特征进行了分类, 指出用于描述几何形状信息的形状特征是所有其它特征信息的载体,也是 最重要的特征,并介绍了基于u g i i 的专用c a d 系统开发过程中特征的识 别方法,以及利用面向对象技术对u g i i 中的特征进行描述的方法。 计时鸣,陈胜勇】分析了当前的软件二次开发方法的不足,介绍了多 任务操作系统的消息驱动机制和以消息为纽带的软件二次开发方法,以及 以这种方法开发m a p 程序的步骤。最后作者以a u t o c a d 为例,介绍了 w i n d o w s 多任务操作系统工作平台下,一个机械c a d 系统的应用开发实 例。 蔡运宏【1 2 】从讨论何谓c a d c a m 的二次开发出发,讨论了二次开发的目的 和有关策略问题,提出了一种基于特征和数据库的c a d 二次开发方法。在该方 法中,给出了对特征单元的定义和提取方法,数据库的建立方法,产品模型,建 立文档管理方法以及产品设计结构模式。 1 3c a d 软件二次开发的技术基础 1 3 1 基于面向对象原理的二次开发技术 1 ) 统一对象建模语言的基本概念 面向对象的分析与设计( o o a & d ) 1 2 1 方法的发展在8 0 年代末至9 0 年代中出现 了一个高潮,u m l 就是在此期间逐渐发展成熟的。u m l 是一种定义良好、易于 表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方 法和新技术。它不仅支持面向对象的分析与设计,还支持从需求分析开始的软件 开发的全过程。u m l 是多种方法相互借鉴、相互融合、趋于一致、走向标准化 的产物。它不仅统一了b o o c h 、r u m b a u g h 弄l u a e o b s o n 的表示方法i ”】,而且对其作 了进一步的发展,并最终统一为大众所接受的标准建模语言。美国等计算机技术 发达国家已有大量的软件开发组织开始用u m l 进行系统建模,学习和使用u m l 已经成为一种潮流。我国软件界对u m l 也相当关注,许多研究人员和技术人员 已在几年前就开始了对u m l 的研究,并在工程实践中进行了大量的应用。 u m l 作为一种统一建模语言,软件建模人员可以用它对软件密集型系统的 制品进行可视化构造和文档化描述,从而建立起系统的模型。对象管理组织o m g 已经采纳其为建模语言规范,这说明它已成为了权威性的标准,并已被软件工业 界广泛地采纳。 9 第一章绪论 u m l 伙伴组织1 1 4 1 于1 9 9 6 年由若干家公司联合构建,致力于u m l 的研制。对 象管理组织( o m g ) 于1 9 9 7 年1 1 月接纳了它。此后,u m l 继续改进,目前最新的 版本是u m l l 4 。u m l 是多种方法相互借鉴、相互融合、趋子一致、走向标准 化的产物。这样的统一建模语言将为软件开发商及其用户带来诸多便利。 2 ) 基于u m l 的二次开发系统建模流程 利用统一建模语言进行面向对象的二次开发系统建模时,通常采用以下设计 流程( 如图1 3 所示) : f 1 1 建立需求模型,包括静态模型和动态模型。对于c a d 应用软件来说静态 模型是系统的功能模型,采用统一建模语言的用例图来表示;动态模型描述系统 的业务过程和流程处理过程采用统一建模语言的行为图来表示。 f 2 1 建立对象模型3 8 】,包括静态模型和动态模型。静态模型描述系统的类( 或 对象) 及类( 或对象) 之间的静态关系,它包括对象 ( o b j e c td i a g r a m ) 、类i 虱( c l a s s d i a g r a m ) 和包围( p a c k a g ed i a g r a m ) ;动态模型描述对象的生命周期、对象的各种 可能的状态和状态转换以及对象之间的交互关系,它包括顺序 ( s e q u e n c e d i a g r a m ) 、协作 ( c o l l a b o r a t i o nd i a g r a m ) 和状态 ( s t a t ed i a g r a m ) 。 图1 - 3 基于u m l 的二次开发系统建模流程图 f 3 ) 建立系统的体系结构模型【3 1 1 ,定义系统的软、硬件体系结构及通信机制, 可视化地表示出软、硬件系统之间的合作关系,采用统一建模语言的组件图 ( c o m p o n e n td i a g r a m ) 和配置图( d e p l o y m e n td i a g r a m ) 来表示。 ( 4 1 在组件图的基础上,生成所选开发语言的代码框架。 因此,u m l 的主要内容也可以归纳为静态建模机制和动态建模机制两大类。 使用u m l 的系统开发过程的基本特征( 豫j 是: 1 0 第一章绪论 ( 1 ) 用例驱动( u s e c a s e d r i v e ) 用例获取系统的功能需求,它们“驱动”需求分析之后的所有阶段和视图。在 分析阶段,它们被用于获取所需的功能并经客户的确认;在设计和实现阶段,用 例必须被实现;在测试阶段,用例用于验证系统。 ( 2 ) 以体系结构为中,t - , ( a r c h i t e c t u r e e e n t d c ) 体系结构给出系统的映像,它定义系统不同部分、它们的关系和交互,它们 的通信机制以及关于如何增加或修改体系结构中的成分的全部规则。 ( 3 ) 反复( i t e r a t i v e ) 用u m l 建模最好经过若干次小的反复,每次反复增加一些新的信息,使用 反复的过程提供连续的反馈,这些反馈不仅改善了最终的产品,而且改善了过程 本身。 ( 4 1 渐进式( i n c r e m e n t a l ) 渐进式开发是在多次反复迭代的过程中每次增加一些功能( 或用例) 的开发, 每次迭代都包含分析、设计、实现、测试等阶段,通过若干次渐进式开发完成整 个系统的开发,这样的开发过程分解了开发的风险,不至于把风险留到开发的后 期。每次迭代集中在几个功能( 或用例) 的开发上,如发现问题,其错误往往比较 小,相应的风险也小,修改也相对容易。 1 3 2 数据库技术在二次开发中的应用 在机械设计c a d 中,数据处理是c a d 开发工作的一个重要部分,工程数据 库的功能、使用的方便程度,直接关系到c a d 系统的使用效果。目前,综合使用 多种计算机程序设计语言和应用软件是比较方便和简洁的方法,它可以充分利用 各种算法语言和应用软件的特点,制作的工程数据库结构合理使用方便、简洁; 机械设计软件一般要求能够实现标准数据查询与选取,机构设计,绘图,公差标 注的功能,这些工作,用一个软件开发制作,往往不够完善。因为,一些不同的 软件具有各自优于其他软件的功能。例如,工程数据处理通常应用数据库类的软 件( f o x p r o 等) ,而一些计算枫的算法语言又具备计算的特长。基于这些原因,在 一个软件开发工作中,综合应用多种软件进行,会得到更好的效果。以下介绍在 机械c a d 软件开发中数据库技术的一些概念和方法。 1 ) 工程数据的数据特点和类型 一般的设计和制造过程划分成规划、设计、测试、分析、计算、生产加工等 步骤。区别于一般的商用数据库,对应于每一不同阶段,有不同的组织、设计和 生产要求。将使用或产生不同的数据、因此有必要提供一种有效统一的管理手段, 支持整个设计和制造过程。 工程应用中的数据量大、种类多、结构复杂。从数据的性质上看,可分为图 形数据和非图形数据;从数据的应用上看,可分为产品定义数据和设计与控制数 据两种类型。对于图形数据既有满足工程绘图的二维数据、又有产品图形所需要 的三维设计数据,图形数据等。 2 ) 工程数据的分类 除了前面对工程数据所作的特征分析外。一般来说c a d 软件开发中的工程 数据可分为以下几种类型1 1 5 】: ( 1 ) 标准数据这类数据主要来自由国家标准以及其它各类产品和生产 标准、设计手册、各类经验数据所构成的数据,其特点是在一段时间内或一定的 条件下,表现为静态数据形式,设计过程中数据被反复查询和访问的次数较多。 这类数据中比较典型的如机械设计中的公差与配合、各类产品目录或样本中的技 术和性能参数等。另外有些经验公式是以曲线成图表的形式给出的,在建立数据 库时需先对其进行数据处理。 ( 2 ) 设计参数及工艺参数这类数据主要指设计和制造过程中针对不同产 品或加工方法的不同,通过计算而产生的一些数据,由于产品和工艺变化的多样 性和随机性,这类数据往往呈现动态模式、需要在设计或制造过程中随机存取, 且相互间关系复杂。 ( 3 ) 图形几何参数工程或产品设计最终都需以设计对象的形状、大小尺 寸等几何形态进行定义。这就必须把一些设计参数变成几何数据,而由于产品几 何形状的复杂性以及在设计完成前的不确定性,这些数据具有很明显的动态模 式经常需要通过交互式输入和修改数据,目前这一领域的研究开发工作仍有大 量工作需进一步完成。图1 - 4 为工程数据的分类。 厂l 徽h 产删数据卜1厂一l 产品族表i 1 l ll 技术要求i l _ j i 吲篙li 辛 l 一一l r _ 丽莉陋户_ t l 一结馨盏嚣h 产品分析数据卜 性能指标广 口口”训埘糟f 区引糕h 堕h 固l ! 竺! ! 竺h 瀚墓h 兰竺竺塑卜一竺竺竺j l 报表管理l 图1 4 工程数据的分类 3 ) 建立工程数据库的方法 1 2 第一章绪论 由前所述,由于工程数据的特殊性,开发数据库难度大,要开发一个具有数 据共享、数据独立、集中管理以及安全性、一致性、并发性控制功能的工程数据 管理系统已成为c a d 及工程应用中的重要课题。通常开发和使用的工程数据库有 如下方式; ( 1 ) 商用数据库管理系统与图形软件相结合,由于目前还未出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省梁山县2025年上半年公开招聘辅警试题含答案分析
- 湖南省桃江县2025年上半年公开招聘辅警试题含答案分析
- 黑龙江省桦南县2025年上半年公开招聘辅警试题含答案分析
- 妇科专业理论知识培训课件
- 考点解析自考专业(小学教育)测试卷及完整答案(考点梳理)
- 难点解析青岛版9年级数学下册期末试卷A4版附答案详解
- 2025年教师职称-浙江-浙江教师职称(基础知识、综合素质、初中信息技术)历年参考题库含答案解析
- 2025年教师职称-河南-河南教师职称(基础知识、综合素质、高中思想政治)历年参考题库含答案解析
- 2025年教师职称-河北-河北教师职称(基础知识、综合素质、高中历史)历年参考题库含答案解析
- 内江市公共资源交易服务中心公开招聘编外人员的考前自测高频考点模拟试题带答案详解
- 2025年秋期部编版五年级上册小学语文教学计划+教学进度表
- 2025至2030全球及中国应用程序性能管理(APM)行业发展研究与产业战略规划分析评估报告
- 公司科技研发管理办法
- 药剂科集采政策
- 中医情志护理方法
- 民营医院成本管理办法
- 教堂定期活动方案
- 记录管理规程培训
- 2025-2030中国印刷行业市场深度调研及发展趋势前景与面临的问题对策研究报告
- 福建省2025年中考物理真题及答案
- 2025-2030年中国机场酒店行业市场深度调研及竞争格局与投资研究报告
评论
0/150
提交评论