(机械设计及理论专业论文)开源二维cad系统研究、设计和实现.pdf_第1页
(机械设计及理论专业论文)开源二维cad系统研究、设计和实现.pdf_第2页
(机械设计及理论专业论文)开源二维cad系统研究、设计和实现.pdf_第3页
(机械设计及理论专业论文)开源二维cad系统研究、设计和实现.pdf_第4页
(机械设计及理论专业论文)开源二维cad系统研究、设计和实现.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(机械设计及理论专业论文)开源二维cad系统研究、设计和实现.pdf.pdf 免费下载

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

文档简介

b yw a n gg a n g s u p e r v i s o r :a s s o c i a t ep r o f e s s o rn al v h o n g n o r t h e a s t e r nu n i v e r s i t y f e b r u a r y2 0 0 8 fi it llu i 8 2 8 独创性声明 本人声明,所呈交的学位论文是在导师的指导下完成的。论文中取得 的研究成果除加以标注和致谢的地方外,不包含其他人己经发表或撰写过 的研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 = c 己 思0 学位论文作者签名:互刚 日期:2 o o 驴、3 、7 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论 文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位论文的全部 或部分内容编入有关数据库进行检索、交流。 ( 如作者和导师不同意网上交流,请在下方签名;否则视为同意。) 学位论文作者签名: 签字日期: 导师签名: 签字日期: 七 , 东北大学硕士学位论文摘要 开源二维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 系统模型,划分出了独立的绘图模块,抽象出了扩展接口,在新的绘图 功能模块加入时,不需改动系统的任何部分,即可实现系统的统一性;自主设计了数 据的处理模型,无论在速度还是灵活性方面都有一定优势。本论文给出了详细的系统 结构图,详细的解释说明了系统的组织结构和数据处理,根据这些内容即可快速建立 另一套系统模型。论文中用一个绘图实例的创建来讲述系统的工作的一般流程,介绍 了部分有特色的系统功能的算法和分析。 关键词:面向对象;软件工程;开源;c a d ;c + + ;模型;算法 i i p - z , - l _ 东北大学硕士学位论文 a b s t r a c t t h es t u d y , d e s i g na n d i m p l e m e n to f t h eo p e n - s o u r c ec a ds y s t e m a bs t r a c t t h ec a ds o f t w a r eh a sb e c o m en e c e s s a r yg o o da s s i s t a n to ft h em o d e m d e s i g n ,h o w e v e r t h ec a ds y s t e mh a sh i g h e r - p r i c e da n dd i f f i c u l t i e so ft h er o a do ft h el e g a l e d i t i o n ,w h i c h m a k i n gp e o p l en e e dak i n do ff r e ec a dt h a tc a ne x p a n dh i g h l ya n dd e v e l o pa r b i t r a r i l yo f c a dm o d e l f r o mt h e r eb u i l d i n gu pak i n do fa c c o r d i n gt ot h eo p e n - s o u r c ea n dt h ec a d m o d e lo fc a nb ef o l l o w u pd e v e l o p e d b e c o m eu s e f u la n dh a v ea n e c e s s i t yo fb u s i n e s s t h i st h e s i si n t r o d u c e t h em o d e ms o f t w a r et e c h n i c a l d e v e l o p m e n ta n dt h es o f t w a r e e n g i n e e r i n g ,p a r t i c u l a r l yi n t r o d u c et h et h o u g h t so ft h es o f t w a r ee n g i n e e r i n go ft h eo b j e c t o r i e n t e d ,i tc o m b i n eat e c h n i c a ld e v e l o p m e n to fc a d t h i st h e s i sp u tf o r w a r dt h a tw ec a n u s i n gt h eo b j e c ts o f t w a r ee n g i n e e r i n gm e t h o dt os e tu pt h eo p e n s o u r c ep l a n a rc a d t h i s t h e s i sa n a l y z e dt h el o c a la n df o r e i g n p r e s e n tc o n d i t i o no ft h eo p e n s o u r c es o f t w a r e ,t h e p r o b l e mo ft h eo p e n s o u r c e ,s u m m a r i z et h ei t e mt h a tt h eo p e n s o u r c es o f t w a r es h o u l dn o t i c e b yt h ea n a l y s i so fc a ds y s t e mc h a r a c t e r i s t i c so ft h eo b j e c to r i e n t e d ,t h i st h e s i sp u tf o r w a r d t h ed e v e l o p m e n tp r o c e s so ft h eo b j e c to r i e n t e dc a d s o f t w a r e a c c o r d i n gt ot h ed e m a r c a t i o n o ft h ec a ds y s t e ms t r u c t u r e ,f r o mt h ed e v e l o p m e n t e n v i r o n m e n t ,p l a t f o r ma n dc l a s ss t r u c t u r e , t h i st h e s i sd i s c u s s e dt h ed e v e l o p m e n to fp r i n c i p l eo fc a d s y s t e m b yu s i n ga b o v er e s e a r c ha n dk n o w l e d g e ,a c c o r d i n gt ot h en e e da n a l y s i so ft h es y s t e m , t h i st h e s i sd e s i g nao p e n - s o u r c em o d e lo fp l a n a rc a d t h i st h e s i sd e s i g n e dt h ef u n c t i o n m o d e lo ft h es y s t e mi nd e t a i lw h i c hi n c l u d et h r e e t h e g r e a t l ym a c r o s c o p i cm o d e l s ( t h e a s s i s t a n c em o d e l ,d a t am o d e l ,p a i n t i n gm o l dm o d e l ) ,a n dc l o s et o6 0s m a l lm o d e l s b a s i c a l l y t h es y s t e mc a r r i e do u ta b o v e m e n t i o n e dp a r t ,c a r r i e do u tt h ew o r k f l o wo ft h e s y s t e m , c o m p l e t es e v e r a lp a i n t i n ga l g o r i t h m s ,c a r r i e do u tc l o s et o3 0p a i n t i n gf u n c t i o n s t h i si sas e to f c o m p a r i s o nc a ds y s t e mm o d e l s ,i ti n c l u d et h ei n d e p e n d e n tp a i n t i n gm o d e l sa n da b s t r a c t e x p a n s i o n i fan e wp a i n t i n gf u n c t i o nm o d e lj o i n e d ,i td o n tn e e dt oc h a n g ea n yp a r to ft h e s y s t e m ,a n dc a ni m m e d i a t e l yc a r r yo u tt h e s y s t e mo n e n e s s ;t h i st h e s i sd e s i g n e dt h e p r o c e s s i n gm o d e lo ft h ed a t a i th a sc e r t a i na d v a n t a g ea ts p e e da n db r a i n w a v e t h i st h e s i sg i v e t h ed e t a i l e ds y s t e ms t r u c t u r ed i a g r a m ,i te x p l a i nt h eo r g a n i z a t i o n s t r u c t u r ea n dt h ed a t a p r o c e s s i n go ft h es y s t e m ,y o uc a ni m m e d i a t e l yb u i l du pa n o t h e rs y s t e mm o d e lq u i c k l y a c c o r d i n gt ot h e s ec o n t e n t s t h i st h e s i se x p l a i nt h ep r o c e s s i n go f t h es y s t e mw i t hae x a m p l e o fp a i n t i n g ,a n de x p l a i ns o m ea l g o r i t h m sa n dt h ea n a l y s i so ft h es y s t e m k e yw o r d s :o b j e c to r i e n t e d s o f t w a r ee n g i n e e r i n g ,o p e n s o u r c e ,c a d ,c + + ,m o d e l ,o r g a n i z e , a l g o r i t h m s i v 目录 目录 i 】 i i i 1 概述1 1 1 1 软件与软件危机1 1 1 2 软件工程2 1 2 开源3 1 3c a d 知识概述4 1 3 1c a d 定义4 1 3 2c a d 软件5 1 4 国内外c a d 与开源6 1 4 1 国内外c a d 概述6 1 4 2 开源c a d 7 1 5 本论文的研究意义、目的8 1 6 本论文的研究内容及结构安排8 第2 章面向对象软件工程与开源c a d 1 0 2 1 面向对象程序设计1 0 2 1 1 面向对象的概念1 0 2 1 2 面向对象的特点1 l 2 2 结构化软件工程方法1 2 2 2 1 结构化方法概述1 2 2 2 1 结构化方法的不足1 6 2 3 面向对象的软件工程1 6 2 3 1 面向对象软件工程概述1 6 2 3 2 面向对象的分析、设计与编程1 8 2 3 3u m l 19 2 4 构建开源c a d 中的开源问题2 1 v 东北大学硕士学位论文 目录 2 4 1 开源中的知识产权问题2 1 2 4 2 国内外开源的现状2 2 2 a 3 基于开源的解决之道一2 3 2 5 构建开源c a d 中的注意事项2 4 2 7 本章小结2 5 第3 章二维c a d 系统研究2 6 3 1 面向对象软件工程的c a d 特点2 6 3 1 1c a d 的演变发展2 6 3 1 2 面向对象软件工程的c a d 特点2 7 3 2 面向对象软件工程的c a d 系统开发2 8 3 2 1 面向对象软件工程的c a d 系统开发过程2 8 3 2 2 面向对象软件工程的c a d 系统体系结构。2 9 3 2 3 面向对象软件工程的c a d 系统的开发特点3 0 3 2 4 面向对象的软件工程方法在c a d 系统丌发中的优势3 0 3 2 5c a d 系统开发应遵循的原则31 3 3 本章小结3 2 第4 章二维c a d 系统设计3 3 4 1 需求分析及系统设计3 3 4 1 1 需求分析与系统功能模块3 3 4 1 2 功能模块图3 3 4 1 2 功能模块说明3 3 4 2 系统开发平台3 9 4 3g d 卜一切绘图的基础4 0 4 4 应用c + + b u i l d e r 作为开发工具4 0 4 5 本章小结4 l 第5 章二维c a d 系统实现4 3 5 。1 系统的组织结构4 3 5 2 组织结构图4 5 5 3 系统中的数据处理4 5 5 4 系统的工作流程4 8 5 5 系统功能的算法5 3 5 6 本章小结5 6 v i _ 东北大学硕士学位论文 目录 第6 章总结与展望j 。:5 7 啦 , 。 6 1 全文总结5 7 6 2 展望5 7 参考文献5 9 致谢6 1 v i i 东北大学硕士学位论文 第1 章绪论 1 1 软件工程知识概述 1 1 1 软件与软件危机 第1 章绪论 在1 9 7 0 年,只有不到l 的人能够比较准确地描述出什么是“计算机软件”。而 现在,似乎很多人认为自己知道什么是软件,实际情况不尽然。根据一些教科书上关 于软件的说明,上面的定义一般是这样的:软件是当它被执行时提供希望的功能和性 能的指令( 计算机程序) ;使得程序能够适当地操作信息的数据结构;描述程序的操作 和使用的文档。下面让我们先看看软件的特征和软件的应用。 1 软件的特征 软件是逻辑的而不是有形的系统元件。因此,软件具有与硬件完全不同的特征: 软件是被丌发或设计的,而不是传统意义上被制造的:软件不会“磨损”:虽然软件产 业正在向基于构件的组装前进,但大多数软件仍是定制的。 2 软件的应用 软件可以应用在任何情况,任何地方,软件已经无所不能。在某种程度上人们难 以对软件给出一个通用的分类。随着软件复杂性的增加,根据软件的应用领域,列出 软件的应用广度:系统软件、实时软件、商业软件、工程与科学计算软件、嵌入式软 件、个人计算机软件、基于w e b 的软件、人工智能软件【l l 。 随着计算机软件的发展,由于计算机硬件技术的进步。一些复杂的、大型的软件 开发项目提出来了,但软件开发技术的进步一直未能满足发展的要求。在软件丌发中 遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软 件危机。 3 软件危机主要表现在以下几个方面: ( 1 ) 经费预算经常突破,完成时间一再拖延。 ( 2 ) 开发的软件不通满足用户要求。 ( 3 ) 丌发的软件可维护性差。 ( 4 ) 开发的软件可靠性差。 软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技 术和人员引起的:软件的规模越来越大,结构越来越复杂;软件开发管理困难而复杂; 东北大学硕士学位论文 第1 章绪论 软件开发费用不断增加;软件开发技术落后:生产方式落后;开发工具落后,生产率 提高缓慢【引。 1 1 2 软件工程 软件工程这一概念,主要是针对2 0 世纪6 0 年代“软件危机”而提出的。它首次 出现在1 9 6 8 年n a t o ( 北大西洋公约组织) 会议上。自这一概念提出以来,围绕软件 项目,开展了有关开发模型、方法以及支持工具的研究。其主要成果有:提出了瀑布 模型,开发了一些结构化程序设计语言( 例如p a s c a l 语言,a d a 语言) 、结构化方 法等。并且围绕项目管理提出了费用估算、文档复审等方法和工具。 软件工程的范畴是非常大的,软件工程的某些方面可以归入数学和计算机科学, 某些方面可以归入经济学、管理学和哲学。对于软件工程的定义,i e e e i e e 9 3 给出的 是这样的软件工程是:i 将系统化的、严格约束的、可量化的方法应用于软件的开发、 运行和维护,即将工程化应用于软件;i i 在i 中所述方法的研究。 软件工程是一种层次化的技术。任何工程方法( 包括软件工程) 必须以有组织的质 量承诺为基础。全面的质量管理和类似的理念培养了不断的过程改进文化,正是这种文 化导致了更成熟的软件工程方法的不断出现。支持软件工程的根基就在于对质量的关 注。软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够被合理地和及 时地开发;软件工程的方法提供了建造软件在技术上需要“如何做”;软件工程的工具 对过程和方法提供了自动的或半自动的支持。 软件工程( s o f t w a r ee n g i n e e r i n g ) 的框架可概括为:目标、过程和原则。 软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产 品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开 销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在 理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程 方法选取的约束。 软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步 骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、 实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求 定义,又称软件需求规则。需求分析生成功能规约。设计活动一般包括概要设计和详 细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、 每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结 构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于 东北大学硕士学位论文第1 章绪论 整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使 用过程中的扩充、修改与完善。伴随以上过程;逑有管理过程、支持过程、培训过程 垒在【3 】 ( ro 软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必 须遵循的原则。 1 2 开源 开源是开放源代码( o p e ns o u r c e ) 的简称,就是把软件的源代码开放化,与大家 共享。对于一般用户来说,得到了程序的目标代码( 可执行文件) 就可以使用,程序 的源代码并不是必需的。而对于软件的所有者来说,由于源代码比较容易阅读和理解, 通过对源代码的分析,他人能够了解自己软件中的设计思路;掌握自己软件中的技术 秘密,因此通常不希望向用户提供程序的源代码。不过对于使用水平较高的用户来说, 为了便于自己排除故障、改进程序、了解程序间互连接口,可能要求得到源代码。因 此,在贸易中是否提供程序的源代码常常是讨论的焦点之一。 t 一 提到开源,不得不提到一个类似的概念,自由软件。它的目的就是要打破商业软 件占主导地位的格局,这种思想首先是自由软件的创始人r i c h a r ds t a l l m a n 提出来的。 “自由”体现为软件知识产权保护层面上对软件使用者许可自由地运行、拷贝、分发、 学习和改进该软件的行为。自由软件与丌源软件的差别在于给出定义的角度不同,开 源软件的定义是从技术层面上讲,而自由软件则是从被许可的层面上讲。根据事实, 二者不是包容关系,而应该是交叉关系。随着开源运动轰轰烈烈的开展,开源的观念 深入人心,开放源代码的“商业软件”和“自由”的非开源软件也会出现和逐步被人 所接受。 开源的历史远远比它为人所知要长久得多,用s t a l l m a n 的话来讲,软件最初就是 带有源码发行的,只是后来成为流通商品之后源码才不再开放、才不再自由。在u n i x 逐步走向商业化的7 0 年代末、8 0 年代初,当时还是麻省理工学院的研究人员的 s t a l l m a n 不满于一些软件厂家的傲慢与狭隘,将自己开发的软件产品与他人共享,提 出了自由软件的概念。1 9 8 4 年成立了“自由软件基金会”,立志要开发出一套完全自 由的类u n i x 操作系统。 丌源软件真正走入公众视野要归功于l i n u x ,它最早起源于芬兰大学生l i n u s t o r v a l d s 的一个创意,由于对手头的m i n i x 系统不满意,决意要把u n i x 移植到x 8 6 平 台上,但是他没有使用u n i x 的源码,而是按照p o s i x 标准从零开始编写。随着对计 算机技术依赖的程度逐步加深,人们摆脱大公司独家垄断的欲望逐步强烈,加之对信 东北大学硕士学位论文 第1 章绪论 息安全的担心,这些客观因素也促进了l i n u x 系统的普及。如今l i n u x 的操作系统内 核、g n u 的支持性应用程序和k d e g n o m e 的桌面应用俨然已经逐步形成气候,对微 软等大公司构成了强有力的威胁。 开源社区中还有一个旗手,就是a p a c h e 项目及其基金会a s f 。a p a c h e 作为h t t p s e r v e r 声名显赫,至今仍然是遥遥领先的寂寞高手。除了h t t p 之外,a p a c h e 下还有 众多的w e b j a v a 的开发项目。j a v a 的出现对开源运动的推进起到了推波助澜的作用, a p a c h e 和j a v a 的结合则大大促进了w 曲应用的发展。w e b j a v a 的开发模式早就被企 业所接受,随着j 2 e e 架构的逐步成熟以及越来越多的开源软件的涌现,相信w e b j a v a 应用的前景也会越来越好。 开源世界有一个著名的说法就是l a m p ,它是l i n u x 、a p a c h e 、m y s q l ( 开源数 据库) 和p e r l p h p p y t h o n 的首字母缩写。当前很多w e b 应用,特别是个人的系统, 大都采用此框架。p 所代表的三种脚本语言,以其灵活性、简便性和快捷性获得为数 众多的开发者的青睐。除了以轻快著称的m y s q l 之外,其他的开源数据库,比如 p o s t g r e s q l 、b e r k e l y d b 、s a p d b 和f i r e b i r d 等也在中小企业市场中获得了广泛的应 用,j 下在逐步侵蚀着大型商用数据库的市场。 还有一个值得注意的丌源项目e c l i p s e ,它原本是i b m 的开发工具v i s u a l a g e ,后 被捐献给开源社区,此后e c l i p s e 获得了新生,其强大的平台、方便的集成环境、多语 言支持获得了大量的用户群,对传统的开发工具厂商带来了很大的威胁。 1 3c a d 知识概述 1 3 1c a d 定义 c a d 是其英文名“c o m p u t e r a i d e dd e s i g n 的首字母的缩写,其中文名为“计算 机辅助设计”,是一种利用计算机辅助设计人员进行快速、高效、高质、低成本、方便 地完成产品设计任务的现代设计技术。 利用计算机及其图形设备帮助设计人员进行设计工作,简称c a d 。在工程和产品 设计中,计算机可以帮助设计人员担负计算、信息存储和制图等项工作。在设计中通 常要用计算机对不同方案进行大量的计算、分析和比较,以决定最优方案;各种设计 信息,不论是数字的、文字的或图形的,都能存放在计算机的内存或外存罩,并能快 速地检索;设计人员通常用草图开始设计,将草图变为工作图的繁重工作可以交给计 算机完成;由计算机自动产生的设计结果,可以快速绘出图形显示出来,使设计人员 及时对设计作出判断和修改;利用计算机可以进行与图形的编辑、放大、缩小、平移 东北大学硕士学位论文第1 章绪论 和旋转等有关的图形数据加工工作。c a d 能够减轻设计人员的劳动,缩短设计周期 和提高设计质量。2 0 世缮1 5 0 年代在美国诞生第台计算机绘图系统,开始出现具有 简单绘图输出功能的被动式的计算机辅助设计技术。6 0 年代初期出现了c a d 的曲面 技术,中期推出商品化的计算机绘图设备。7 0 年代,完整的c a d 系统丌始形成,后 期出现了能产生逼真图形的光栅扫描显示器,推出了手动游标、图形输入板等多种形 式的图形输入设备,促进了c a d 技术的发展。8 0 年代,随着强有力的超大规模集成 电路制成的微处理器和存储器件的出现,工程工作站问世,c a d 技术在中小型企业逐 步普及。8 0 年代中期以来,c a d 技术向标准化、集成化、智能化方向发展。一些标 准的图形接口软件和图形功能相继推出,为c a d 技术的推广、软件的移植和数据共 享起了重要的促进作用;系统构造由过去的单一功能变成综合功能,出现了计算机辅 助设计与辅助制造联成一体的计算机集成制造系统;固化技术、网络技术、多处理机 和并行处理技术在c a d 中的应用,极大地提高了c a d 系统的性能:人工智能和专家 系统技术引入c a d ,出现了智能c a d 技术,使c a d 系统的问题求解能力大为增强, 设计过程更趋自动化。现在,c a d 已在电子和电气、科学研究、机械设计、软件开 发、机器人、服装业、出版业、工厂自动化、土木建筑、地质、计算机艺术等各个领 域得到广泛应用。 1 3 2c a d 软件 c a d 主要使用交互式图形显示软件、c a d 应用软件和数据管理软件3 类软件。交 互式图形显示软件用于图形显示的开窗、剪辑、观看,图形的变换、修改,以及相应 的人机交互。c a d 应用软件提供几何造型、特征计算、绘图等功能,以完成面向各 专业领域的各种专门设计。构造应用软件的四个要素是:算法、数据结构、用户界面 和数据管理。数据管理软件用于存储、检索和处理大量数据,包括文字和图形信息。 为此,需要建立工程数据库系统。它同一般的数据库系统相比有如下特点:数据类型 更加多样,设计过程中实体关系复杂,库中数值和数据结构经常发生变动,设计者的 操作主要是一种实时性的交互处理。 根据模型的不同,c a d 系统一般分为二维c a d 和三维c a d 系统。二维c a d 系 统一般将产品和工程设计图纸看成是“点、线、圆、弧、文本”等几何元素的集合, 系统内表达的任何设计都变成了几何图形,所依赖的数学模型是几何模型,系统记录 了这些图形的几何特征。二维c a d 系统一般由图形的输入与编辑、硬件接口、数据 接口和二次开发工具等几部分组成。 + 东北大学硕士学位论文第1 章绪论 1 4 国内外c a d 与开源 1 4 1 国内外c a d 概述 c a d 技术经过几十年的发展,先后走过大型机、小型机、工作站、微机时代,每 个时代都有当时流行的c a d c a m 软件。现在,工作站和微机平台c a d c a m 软件已 经占据主导地位,并且出现了一批比较优秀、比较流行的商品化软件。以下列举了市 场上比较常见的几种国内外c a d 产品。 ( 1 ) a u t o c a d a u t o c a d 是a u t o d e s k 公司的主导产品。a u t o d e s k 公司是世界第四大p c 软件公司。 目前在c a d c a e c a m 工业领域内,该公司是拥有全球用户量最多的软件供应商,也 是全球规模最大的基于p c 平台的c a d 和动画及可视化软件企业。a u t o d e s k 公司的软 件产品已被广泛地应用于机械设计、建筑设计、影视制作、视频游戏开发以及w e b 的数据丌发等重大领域。 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 l i s p 、a d s 、a r x 作为二次开发 的工具。在许多实际应用领域( 如机械、建筑、电子) 中,一些软件丌发商在a u t o c a d 的基础上已开发出许多符合实际应用的软件。 ( 2 ) u n i g r a p h i e s ( u g ) u g 是u n i g r a p h i c ss o l u t i o n s 公司的拳头产品。该公司首次突破传统c a d c a m 模 式,为用户提供一个全面的产品建模系统。在u g 中,优越的参数化和变量化技术与 传统的实体、线框和表面功能结合在一起,这一结合被实践证明是强有力的,并被大 多数c a d c a m 软件厂商所采用。 u g 最早应用于美国麦道飞机公司。它是从二维绘图、数控加工编程、曲面造型 等功能发展起来的软件。9 0 年代初,美国通用汽车公司选中u g 作为全公司的 c a d c a e c 舢w c l m 主导系统,这进一步推动了u g 的发展。1 9 9 7 年1 0 月u n i g r a p h i c s o l u t i o n s 公司与i n t e r g r a p h 公司签约,合并了后者的机械c a d 产品,将微机版的 s o l i d e d g e 软件统一到p a r a s o l i d 平台上。由此形成了一个从低端到高端,兼有u n i x 工 作站版和w i n d o w s 微机版的较完善的企业级c a d c a e c a m p d m 集成系统。 ( 3 ) c a x a 电子图板和c a x a m e 制造工程师 c a x a 电子图板和c a x a m e 制造工程师软件的开发与销售单位是北京北航海尔 东北大学硕士学位论文第1 章绪论 软件有限公司( 原北京航空航天大学华正软件研究所) 。该公司是从事c a d c a e c a m 软件与工程服务的专业化瑟司。 ! 科 c a x a 电子图板是一套高效、方便、智能化的通用中文设计绘图软件,可帮助设 计人员进行零件图、装配图、工艺图表、平面包装的设计,适合所有需要二维绘图的 场合,使设计人员可以把精力集中在设计构思上,彻底甩掉图板,满足现代企业快速 设计、绘图、信息电子化的要求。 ( 4 ) 中望c a d 广州中望龙腾科技发展有限公司在借鉴和吸收国内外先进的开发技术经验基础上 开发出了“中望c a d ”平台软件,具有全中文界面,直接以d w g 文件作为工作格式, 与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 l i s p 程序等都可以直接在中望c a d 中 使用,而且操作界面也和a u t o c a d 一致。使用中望c a d 就如同使用a u t o c a d 一样, 可直接利用已有设计文件,节约转换软件所需要的学习和生产成本,保证工作的顺利 进行。中望c a d 是目前国际市场上a u t o c a d 最佳替代品之一,特别适合国内c a d 用户。 虽然以上产品都是市场上的佼佼者,都是出类拔萃的产品,但无疑都有一个致命 的弱点:价格。动则几万、十几万、几十万的价格无疑是我国软件正版化道路上的一 直拦路虎,封闭的设计又限制住了软件的发展。这时开源c a d 便成了唯一而又有效 的解决方案。 1 4 2 开源c a d 现在开源软件不少,从操作系统到一般的软件应用,但是开源的c a d 软件或c a d 项目却非常的少,这罩仅列为数不多的几个c a d 简介。 ( 1 ) f r e e c a d 是一个基于o p e n c a s c a d e 的丌源c a d c a e 工具。o p e n c a s c a d e 是一套开源的 c a d c a m c a e 几何模型核心,来自法国m a t r ad a t a v i s i o n 公司,是著名的c a d 软件 e u c l i d 的开发平台。基本还处于实验性软件平台,根据网络上的测试反应,还不是非 常好用,只是把框架搭起来了,但源代码却非常值得人们去学习。 ( 2 ) q c a d q c a d 是款2 d 的计算机辅助制图程序。使用q c a d 你可以绘制建筑平面图、机 械零件平面图、以及轮廓图等技术图纸。q c a d 当前支持l i n u x u n i x 、m a co s x 、 w i n d o w s 等系统,具有私有版和g p l 版两种版本。q c a d 支持图层,具有多种构造工 7 东北大学硕士学位论文 笫1 章绪论 具和修改工具,能够输入输出d x f ( 与a u t o c a d 兼容) ,并提供了多种c a d 零件和 字体。 还有一些开源的绘图软件,但基本上都属于小品级软件,都没有形成规模且不容 易使用,但从这些小的作品中还是看到了开源c a d 的希望和美好前景。 1 5 本论文的研究意义、目的 目前,c a d 类软件市场基本上还是商业软件占据了9 9 的市场,对于目前国内的 人均g d p 还非常少的国人来说,买一套正版的c a d 软件是不现实的,也是不可能的。 商业软件作为封闭的设计对软件的发展也不利,重用性较差。 本论文的研究的意义、目的如下: ( 1 ) 用面向对象的方法搭建系统。面向对象编程方法更易于软件的模块化编程和 按需定制对绘图实现结构化,按需订制,这是一种自上向下的开发方法。这些研究不 仅对于本课题有意义,还对于软件的体系结构的研究、数据存储和算法思想等以及以 后的工作都很有帮助。 ( 2 ) 软件工程思想的应用则科学的管理着整个系统的开发。如果面向对象的编程 方法是“工人 ,那么软件工程思想就是“总工”。对于开源软件的开发,软件工程显 得尤其重要。软件工程思想的应用对于后期参与进软件开发的人员或需要对软件进行 再开发、再定制的开发人员都是一个方便之门。 ( 3 ) 本论文目的在于引起大家对丌源c a d 的关注,通过研究丌源c a d 系统, 建立初步的c a d 系统模型,使更多的人加入到开源c a d 社区,汇聚更多人的力量开 发出功能强大且免费的c a d 软件,既利于国内的正版普及,又能充分利用群众的力 量来参与开发。 ( 4 ) 通过本论文,本人已初步建立了c a d 系统模型,实现了部分基础绘图功能, 对软件的后续开发留出了编程接口,非常易于c a d 爱好者参与,且对软件源码及结 构都有标注和说明;无论是继续开发还是参考模型,都是一个非常好的实例。 纵观以上,本论文无论对c a d 系统的设计还是研究都很有现实意义和实际应用 价值的。本人也希望通过本论文,能够帮助大家参与c a d 系统的开发,为大家开发 c a d 系统提供有利的参考价值。 1 6 本论文的研究内容及结构安排 本论文主要根据对c a d 的一般性要求,通过利用面向对象的软件工程思想对 c a d 系统进行初步的研究,设计出一套适合丌源的c a d 系统模型,易于大家参与开 、。, 东北大学硕士学位论文第1 章绪论 发的c a d 系统;并用实际编程丌发出具有基本功能的c a d 软件,实现基本功能,作 为后续开发的参考模型。妒+ “ 。 一 本论文的结构安排如下: 第l 章绪论。提出本课题所要研究内容的c a d 基础知识,相关的研究背景;面 向对象的软件工程的基本介绍;何谓丌源,为什么要开源;国内外c a d 的现状;开 源c a d 的发展与机遇;本论文的研究意义和研究目的;以及本论文的结构安排。 第2 章面向对象的软件工程方法。介绍了面向对象的概念和特点,描述了传统软 件工程方法及其不足,在这不足之上提出面向对象软件工程

温馨提示

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

最新文档

评论

0/150

提交评论