《基于AutoCAD的通用机械设计辅助工具的研究与开发.pdf》由会员分享,可在线阅读,更多相关《基于AutoCAD的通用机械设计辅助工具的研究与开发.pdf(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、青岛大学硕士学位论文基于AutoCAD的通用机械设计辅助工具的研究与开发姓名:王辉辉申请学位级别:硕士专业:机械电子工程指导教师:沈精虎20090530摘要市场竞争日益激烈,企业要不断提高产品的设计效率才能在竞争中获得生存与发展。在现代化制造企业中产品的设计离不开C A D 软件,如何将通用的C A D 软件开发成适合企业应用的专用软件成为机械工程师们研究的一个重要方面,利用专用软件进行设计能缩短设计周期,提高生产效率。本文主要研究了A u t o C A D 系统的二次开发,针对机械零件设计过程中存在的一些问题,如表面结构、尺寸公差、几何公差以及材料选择等不易确定的问题,在A u t o C
2、 A D 平台上设计一套机械设计辅助工具来解决这些问题。该辅助工具是利用A u t o C A D 提供的二次开发工具包O b j e c t A I L X,在V i s u a lC+N E T2 0 0 5 环境下,应用其提供的M F CD L L 框架、数据库访问技术以及A c c e s s 数据库等来开发的。本文的机械设计辅助工具系统能够实现表面结构、尺寸公差、几何公差和材料的智能设计和智能标注,使用起来方便快捷,且人机交互界面友好。此机械设计辅助工具系统由四个模块组成,首先分析了各个模块的功能,对各个模块进行方案设计;然后介绍各个模块的具体实现过程,本文详细介绍了表面结构模块的界
3、面设计和程序实现过程,简单介绍了尺寸公差模块、几何公差模块和机械工程材料模块的界面设计和程序实现过程;最后通过实例验证了各模块能够实现其功能要求。硕士研究生王辉辉(机械电子工程)指导教师沈精虎教授关键字:A u t o C A D;二次开发;机械设计辅助工具;表面结构A b s t r a c tW i t ht h ei n c r e a s i n g l yc o m p e t i t i v em a r k e t,e n t e r p r i s e sm u s tc o n t i n u o u s l yi m p r o v et h ee f f i c i e
4、n c yo fp r o d u c td e s i g ni no r d e rt os u r v i v ea n dd e v e l o pi nt h ec o m p e t i t i o n T h ep r o d u c td e s i g nc a l ln o tb es e p a r a t e df r o mt h eC A Ds o f t w a r ei nt h em o d e r nm a n u f a c t u r i n ge n t e r p r i s e O n ei m p o r t a n tr e s e a r c
5、 ha s p e c to fm e c h a n i c a le n 舀n e e l t Si sh o wt od e v e l o pt h es p e c i a ls o f t-w a r ef o re n t e r,p r i s e sf r o mt h ec o m n l o nC A Ds o f t w a r e I tc a l ls h o r t e nt h ed e s i g np e r i o d sa n dh e i g h t e nt h ep r o d u c t i o ne f f i c i e n c yu s i
6、 n gt h es p e c i a ls o f t w a r e T h i sp a p e rm a i n l yr e s e a r c h e st h es e c o n d a r yd e v e l o p m e n to fA u t o C A Ds y s t e m T h eP a p e rd e s i g n sas u i to fm a c h i n ed e s i g n i n ga s s i s t a n tt o o la n di tC a nr e s o l v es o m ep r o b l e m sw h i
7、 c hi se x i s t e n ti nt h ep r o c e s so fm a c h i n ed e s i g n i n g,s u c ha st h ep r o b l e m so fi n a c c u r a t ed e s i g n i n gi ns u r f a c et e x t u r e,d i m e n s i o n a lt o l e r a n c e,g e o m e t r i c a lt o l e r a n c ea n dm a t e r i a l T h ea s s i s t a n tt o
8、o li sd e v e l o p e di n t h ee n v i r o n m e n to fV i s u a lC+N E T2 0 0 5,u s i n gO b j e c t A R Xw h i c hi st h es o f b,v a r ed e v e l o p m e n tk i to fA u t o C A Ds y s t e m I ta l s ou s e sM F CD L L 丘黜,d a t a b a s ea C C e s St e c h n o l o g ya n dt h ed a t a b a s es o f
9、 t w a r eA c c e s s T h em a c h i n ed e s i g n i n ga s s i s t a n tt o o l 伽ld e s i g na n dm a r ki n t e l l i g e n t l ys u r f a c et e x t u r e,d i m e n s i o n a lt o l e r a n c e,g e o m e t r i c a lt o l e r a n c ea n dm a t e r i a l I t i sc o n v e n i e n ta n du s e r-f r
10、i e n d l y T h em a c h i n ed e s i g n i n ga s s i s t a n tt o o ls y s t e mi n c l u d e sf o u rm o d u l e s F i r s to fa l l,t h ep a p e ra n a l y s e st h ef u n c t i o no fe a c hm o d u l ea n dd e t e r m i n et h ep r o j e c td e s i g no fe a c hm o d u l e T h e ni ti n t r o d
11、 u c e st h es p e c i f i cr e a l i z a t i o np r o c e s s T h ep a p e ri n t r o d u c e sd e t a i l e d l yt h ei n t e r f a c ed e s i g na n dp r o g r a mr e a l i z a t i o no fs u r f a c et e x t u r em o d u l e I ti n t r o d u c e ss i m p l yt h ei n t e r f a c ed e s i g na n dp
12、 r o g r a mr e a l i z a t i o no fd i m e n s i o n a lt o l e r a n c em o d u l e,g e o m e t r i c a lt o l e r a n c em o d u l ea n dm a t e r i a lm o d u l e F i n a l l y,i tv a l i d a t e st h ef u n c t i o no fe a c hm o d u l et h r o u g hs o m ee x a m p l e s G r a d u a t es t u d
13、 e n t:H u i h u iW a n g(M e c h a n i c s&E l e c t r o n i c sE n g i n e e r i n g)D i r e c t e db yP r o J i n g h uS h e nK e y w o r d s:A u t o C A D;S e c o n d a r yD e v e l o p m e n t;M a c h i n eD e s i g nA s s i s t a n tT o o l;S u r f a c eT e x t u r e学位论文独创性声明、学位论文知识产权权属声明学位论文独
14、创性声明本人声明,所呈交的学位论文系本人在导师指导下独立完成的研究成果。文中依法引用他人的成果,均已做出明确标注或得到许可。论文内容未包含法律意义上已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的论文或成果。本人如违反上述声明,愿意承担由此引发的一切责任和后果。论文作者签名:至颦颦一日期:趁盟年丘月上日学位论文知识产权权属声明本人在导师指导下所完成的学位论文及相关的职务作品,知识产权归属学校。学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权利。本人离校后发表或使用学位论文或与该论文直接相关的学术论文或成果时,署名单位仍然为青岛大学。本学位论文属于:保密口,在年解密后
15、适用于本声明。,不保删(请在以上方框内打“4 )论文作者签名:导师签名:日期:啤年上止日日期啤年丘止日(本声明的版权归青岛大学所有,未经许可,任何单位及任何个人不得擅自使用)5 9第一章绪论1 1 选题背景第一章绪论在世界经济全球化的影响下,市场竞争日趋激烈,市场需求瞬息万变,企业要在竞争中求得生存和发展,就必须提高快速响应市场需求的能力。因此,在原有的C A D(C o m p u t e rA i d e dD e s i g n)软件的基础上根据企业自身需求进行二次开发的技术成为制造企业迫切需求的关键技术之一【l】。任何通用的C A D 软件,甚至面向某一类对象的专用的、商品化的C A
16、D 软件,都难以满足形形色色具体产品设计的需要。所以,一个企业欲全面开展C A D,并取得积极效果,应以引入的C A D 系统为基础,根据企业的实际情况,进行程度不同的用户化、本地化的二次开发【2 1。A u t o C A D 是目前应用最为广泛的一种通用C A D 软件,广泛应用于航空航天、造船、建筑、机械、电子、化工、美工、轻纺等很多领域,并取得了丰硕的成果和巨大的经济效益。A u t o C A D 使设计人员摆脱传统的纸、笔等绘图工具,降低了绘图工作量,把更多的精力放在产品的优化设计上,但由于其并非定位于某一专业领域,不可能完全满足各个行业使用者的要求,所以其提供了一系N-次开发工具
17、,如A u t o L I S P、O b j e c t A R X、A c t i v e X 等【3】【4 1,供用户来开发满足本行业特殊需求的应用程序,使A u t o C A D 更高效地为用户服务【习。在通用机械零件的设计中,表面结构【6 1、尺寸公差、几何公差【7】和机械工程材料的选择是重点,也是难点,其选择不准会影响零件的设计质量。同时,在A u t o C A D中标注表面结构、尺寸公差和几何公差很繁琐,并没有标注它们的专用命令,需要用户手工输入或建块。所以,能够智能标注这些内容成为机械工程师们研究的重要方面。在这种背景下,本论文围绕通用C A D 软件一A u t o C
18、A D 在企业应用中存在的不足和缺陷,以C A D 二次开发理论和机械零件设计流程的基础知识为指导,利用开发工具O b j e c t A R X、M F C 和V i s u a lC+N E T2 0 0 5 开发具有实用性的专用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 u t o C A D
19、进行特定二次开发等方面,进行了一些有益的探索。通过本课题的研究,希望能为提高机械设计人员的设计水平、推广C A D 软件的应用和通用C A D 软件的二次开发技术做出一点贡献。1青岛大学硕士学位论文1 2C A D 系统的发展状况C A D(C o m p u t e rA i d e dD e s i g n,计算机辅助设计)是指利用计算机帮助设计人员进行设计,主要应用于机械、电子、宇航、建筑、纺织等产品的总体设计、造型设计和结构设计等环节。最早C A D 的含义是计算机辅助绘图,随着技术的不断发展,C A D 的含义发展为现在的计算机辅助设计。一个完整的C A D 系统,应包括交互式图形程
20、序库、工程数据库和应用程序库。对于产品或工程的设计,借助C A D 技术,可以大大缩短设计周期,提高设计效率。1 2 1 国外C A D 系统的发展状况C A D 技术起源于二十世纪六十年代,1 9 6 3 年美国麻省理工学院(M 1 1 r)2 4 岁的博士研究生I E S u t h c r l a n d 在美国计算机联合年会上宣读了题为“S k c t c h p a d 一人机交互的图形系统 的博士论文,首次提出计算机辅助设计(C A D)的概念,揭开了对C A D 系统开发的序幕【引。六十年代后期,随着计算机软、硬件技术的发展,利用计算机绘图变为可行,C A D 技术开始迅速发展。
21、C A D 技术中以二维绘图为主要目标的算法一直持续到七十年代中期,C A D 技术有了长足的发展,并且在飞机、造型、汽车等设计要求相对较高的领域也有了一定的应用。在其发展过程中,经历了由简单的线框式系统到三维曲面造型【9】,由三维曲面造型到三维实体造型【l o】,由三维实体造型到三维参数化造型【I,由三维参数化造型到三维变量化技术【l2】的四次飞跃。C A D 技术的每次重大发展无不带动了C A D C A M 整体应用技术的提高,以及制造手段的更新。八十年代,由于解决了三维几何造型、仿真等问题,应用范围不断扩大,从大中型系统向微型化发展,出现了应用极广的微机C A D 系统和性能优良的工作
22、站C A D系绀1 3】。到了九十年代以后,国际竞争更加激烈,C A D 技术作为计算机集成制造系统重要组成部分之一,已属于当前国际高技术范畴,并成为衡量一个国家科学技术水平的一项重要内容。随着C A D 技术的快速发展和计算机硬件系统性价比的大幅度提高,C A D 开始在设计领域全面普及,成为必不可少的设计工具。出现了一系列成功的商用C A X 软件,如A u t o C A D、P r o E N G I N E E R、U G、C A T I A、C i m a t r o n、S o l i d W o r k s、S o l i d E d g c、M a s t c r c a m
23、 等【I4。随着社会的进步和计算机技术的发展,C A D 技术将不断向前发展。1 2-2 国内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 技术纳
24、入国家重点发展的计划之中。同时C A D 行业的技术人员应密切注意国外的技术发展动态,以开发出具有自主版权、先进的专业的C A D 应用软件,逐步推动国内C A D 的发展【1 5】。从九十年代至今,国内高等院校和科研单位在C A D 技术的基础理论、软件环境及应用软件等方面的研究己取得了较好的成果。例如,在优化设计方面,华中理工大学的优化程序库O P B 及机械零部件的优化设计在工矿企业中得到了推广;在二维交互绘图系统方面出现了不少自主版权的软件,如清华大学和华中理工大学共同开发的高华C A D、清华大学的天河P C C A D 系统、中科院软件工程研制中心的P I C A D、北京大学凯达
25、电脑公司研究所的B C A D 等,在国内行业中得到了推广使用。随着实体造型技术的发展,在三维造型和几何设计方面,北京航空航天大学的P A N D A、金银花系统、清华大学和华中理工大学共同研制的C A D M I S 等,都实现了参数化特征造型、曲面造型、数控加工和有限元分析的集成,但商品化程度还较低;在有限元方面,有限元分析前后处理系统C H F E M 实现了集成;在数控编程方面,南京航空航天大学的超人C A D C A M 和华中理工大学的G H N C 均可实现复杂曲面的造型、数控代码的自动生成和加工仿真;在工程数据库方面,浙江大学的O S C A R、华中理工大学的G H E D
26、B M s D E N G 在国内处于领先水平。另外,在应用领域,如通用机械零件设计、冲压和注射模具设计及制造、汽车外形设计、汽轮机叶片设计分析等方面我国均研制出了实用的C A D 软件【2】。目前,国内有许多A u t o C A D 二次开发系统,其主要特点如下:。(1)部分系统提供了符合国标的图纸设置功能,以及序号、明细表的管理功能;提供了常用图形符号库及标准件库,如建筑、液压、化工、机械等行业的标准件库。(2)部分系统提供了部分零件的参数化驱动或尺寸驱动功能,并能进行参数化图库管理;(3)部分系统实现了零件的装配功能以及文档管理功能;(4)部分系统提供了工艺标准和焊接等标注方法,增加了
27、一些专业特色内容,因而方便了专业人员的设计和绘图;(5)把一些设计资料融入到系统中,具备在线查询、选择及计算功能,部分系统还提供了一些常用机械零件的完整设计模块,但从整体来讲,目前A u t o C A D 二次开发的重点仍然侧重于辅助绘图系统。A u t o C A D 的研究与开发已经有好多年,但还有许多方面等待人们去深入研究。3青岛大学硕士学位论文1 3 本课题研究的目的和意义A u t o C A D 是一种通用C A D 软件,故对某一专业领域来说,其并非高效快速的绘图设计软件。企业在不断发展过程中都会积累许多有用的宝贵数据、企业自身的标准以及一些特殊图形等参数资料。如果能把这些参数
28、资料整理出来,然后再把这些参数资料挂靠在A u t o C A D 软件系统的主菜单上,即编译生成应用程序与A u t o C A D软件系统进行无缝连接,这样一来,不但能提高设计人员的设计速度,对市场需求做出快速反应,设计出满足市场需求的产品,及时赢得市场的份额,而且还能够提高企业的生产能力和经济效益,由此可见对A u t o C A D 进行二次开发是必要的,具有很重要的实际意义。机械和仪器制造业中的互换性很重要,互换性生产可以减少修理机器的时间和费用。公差和配合是实现互换性生产的重要基础,合理地选用公差与配合,不但能更好地促进互换性生产,而且有利于提高产品质量、降低生产成本,所以公差的选
29、择在机械设计中很重要。如果能通过计算机辅助选择正确的公差,那将对提高生产效率和产品质量有很大作用。表面结构也是促进互换性生产的一个重要因素,其选择的智能化也具有很重要的意义。在通用机械零件的设计中,表面结构、尺寸公差、几何公差和机械工程材料的选择是重点,也是难点,这些项目的选择是否合理与生产实践经验关系密切。同时,在A u t o C A D 中标注表面结构、尺寸公差和几何公差很繁琐,该软件中并没有标注公差和表面结构的专用命令,需要用户手工输入或建块,所以能够自动完成查询、选择和标注这些内容成为机械工程师们研究的重要方面。因此,对A u t o C A D 机械设计方面的功能进行二次开发具有很
30、重要的意义,作为通用的交换式绘图软件,其在工程实际中存在许多不足,如果能够解决这些缺陷和不足,就可以提高绘图效率、产品的设计质量和效率,这对企业的发展也有着十分重要的意义。1 4 本课题研究的主要内容任何一种软件都不是完美无瑕的,都是有缺陷和不足的,A u t o C A D 也不例外,设计人员在绘图时会遇见许多问题,例如在标注表面结构时,用户需要先自己建立一个表面结构标注模块,然后才能进行标注。许多人尝试着针对这类问题对A u t o C A D 进行二次开发建立自动标注系统,但是他们一般没有考虑这样一些用户,这些用户缺乏设计经验,对一些设计参数的选择缺乏准确的判断。本课题就是针对这些用户的
31、需求,来对A u t o C A D 进行二次开发,配置一个通用机械设计辅助系统。本课题结合生产实际对选择表面结构、尺寸公差、几何公差和机械工程材料需4第一章绪论要的资料进行收集和整理,然后运用A u t o C A D 的二次开发工具开发一个专用系统来完成这些参数的智能选择和标注。本课题选用O b j e c t A R X 作为二次开发工具,结合M F C(M i c r o s o f tF o u n d a t i o nC l a s s e s,微软基础类)、M i c r o s o f tO 伍c eA c c e s s 数据库和C+编程语言,以A u t o C A D
32、为开发平台来开发此专用系统。本课题的主要研究内容包括以下几个方面:(1)对选择表面结构、尺寸公差、几何公差和机械工程材料需要的资料进行收集和整理,然后建立A c c e s s 数据库,再将这些资料分类输入到数据库中,以备程序需要时调用数据库来读取这些数据;(2)研究A u t o C A D 的二次开发方法、用O b j e c t A R X 和V C 进行二次开发的方法,以及O b j e c t A R X 和A c c e s s 数据库的连接方法;(3)设计通用机械设计辅助工具中各模块的界面及其弹出对话框,结合M F C开发出良好的人机交互界面;(4)分析通用机械设计辅助工具中各模
33、块要实现的功能,确定各模块的开发流程,编制程序实现所需要的功能,并通过典型实例来验证此辅助工具的实用性。5第二二章通用机械设计辅助工具开发的基础知识第二奄通用机械设计辅助工具开发的基础知识A u t o C A D 作为通用的计算机辅助设计软件,在机械类企业中广泛应用,但由于其并非为专用于机械领域而开发的软件,所以存在许多不足。机械工程师可以利用A u t o C A D 提供的二次开发工具,开发出适合本企业的专用系统,来缩短产品的设计周期,提高企业的生产效率。通用机械设计辅助工具主要有四个模块:表面结构模块、尺寸公差模块、几何公差模块和机械工程材料模块,完成机械设计中表面结构、公差的智能选择
34、和标注,以及材料的智能选择。本论文以A u t o C A D2 0 0 8 为开发平台,以O b j e m X2 0 0 8 为二次开发工具,利用V i s u a lC+N E T2 0 0 5、M F C 和A c c e s s2 0 0 3 来设计和开发此通用机械设计辅助工具。2 1A u t o C A D 系统开发技术简介A u t o C A D 是美国A u t o d e s k 公司开发研制的一种通用计算机辅助设计软件包,其在设计、绘图和相互协作方面展示了强大的技术实力。同时,由于其具有易于学习、使用方便、体系结构开放等优点,因而深受广大工程技术人员的喜爱。2 1 1A
35、 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 领域有许多应用软件,如U G、P r o E、C A T I A 等,这些软件多具有较强的三维造型功能,相比较,A u t o C A D 的三维功能是无法比拟的,但它
36、的二维功能却是最好的【1 6】!A u t o C A D 具有开放的体系结构,用户和开发者可以利用各种方法来定制,以满足他们各自的需求【1 7 1。A u t o C A D 的二次开发途径主要有两个,即文件开发和程序开发。文件开发是按照A u t o C A D 提供的方法和文件格式,通过编辑系统所支持的A S C I I码标准功能文件(如a c a d m l l u 和a c a d 1 i n 等)或建立同种类型(扩展名)的新功能文件,实现A u t o C A D 的二次开发,满足用户特定的需要。程序开发是指利用A u t o C A D提供的编程环境和开发工具(即A u t o
37、C A D 应用程序接口),通过编写程序来实现对A u t o C A D 的二次开发,来扩充新的命令或定义l I 引。很多A u t o C A D 用户通过创建新的宏代码,新的工具条或者用D I E S E L 来编制状态栏,创建智能菜单和菜单组来定制A u t o C A D 的菜单。他们也可以创建一些预制了各种层、文字样式、尺寸样式、线7青岛大学硕士学位论文型等的样图来使操作简化和更有效率,以上每一种都是定制的好例子【1 9 J。A u t o C A D 的二次开发手段一般可以分为三种:一是利用随该商品软件一起发行的二次开发环境,如A u t o C A D2 0 0 8 具有嵌入的
38、V i s u a l L I S P 和V B A;二是利用其提供的S D K,如A u t o C A D2 0 0 8 提供了O b j e c t A R XS D K,然后可以利用V i s u a lC+N E T对其进行二次开发;三是利用A c t i v e X 技术,如A u t o C A D2 0 0 8 可以用V i s u a lB a s i c、D e l p h i 等开发应用程序。利用A u t o C A D 进行二次开发具有以下优剧2 0】:(1)可以充分利用A u t o C A D 的现有及未来开放式资源:(2)便于学习A u t o C A D 先进
39、的、成功的技术及经验,便于信息存储、交流和交换;(3)可用依托A u t o C A D 的强大优势,节约时间与资金,加快开发进程,迅速满足需要。缺点是受制于A u t o C A D 的发展战略,不得不被动地紧跟A u t o C A D 的发展步伐。2 1 2A u t o C A D 二次开发技术的发展过程现在的A u t o C A D 具有强大的二次开发的能力,利用其提供的开发工具可以开发出自己需要的界面、工具、程序等,可以大大减少重复绘图的时间,提高产品设计效率。这种强大的二次开发能力也是经过了二十几年的发展而慢慢强大起来的,开发人员可以根据自己掌握的编程语言来选择开发工具。1 9
40、 8 6 年发行的A u t o C A DV 2 18 第一次提供A u t o L I S P 程序设计支持,开始可以在一个通用平台上添加特殊功能。1 9 8 7 年发行的A u t o C A DV 2 6 对V 2 1 8 的A u t o L I S P做出了较大的修改。1 9 8 8 年发行的A u t o C A DR 1 0 使A u t o L I S P 程序可以在扩展内存中运行,为编写稍大规模的应用程序提供了可能。1 9 9 0 年发行的A u t o C A DR Il 第一次在P C 版中提供了对C 语言开发环境的支持,即A D S 开发环境,并开始增加三维造型功能。
41、1 9 9 2 年发行的A u t o C A DR 1 2 增强了A D S 开发环境,同时添加了许多新特性,其中对可编程对话框(D C L)的支持最令程序员兴奋,只需几行简单的代码就能实现与A u t o C A D 系统风格一致的对话框。1 9 9 4 年,A u t o C A DR 1 3 第一次实现了面向对象和C+开发环境(O b j e c t A g X)的支持,此时的A u t o C A D 内核也发生了本质性的变化,开始真正转向W i n d o w s 平台。尽管终端用户对这种核心的变化可能感觉不明显,但A u t o C A D 确确实实开始成为一个开放式的、面向对象
42、的C A D 平台。遗憾的是A u t o C A DR 1 3 的O b j c c t A R X 本身并不完善,在不同版本上的O b j c c t A R X 程序不兼容,直到A u t o C A DR 1 3C 4 版才比较稳定。1 9 9 7 年的A u t o C A DR 1 4f o rW i n d o w s9 5 N T 对O b i e c t A R X 的支持更加可靠和稳定,并提供了以客户服务器方式进行控制的A c t i v e?(自动控制支持。此时的A u t o C A DR 1 4 不再支持多种类8第二章通用机械设计辅助工具开发的基础知识型的操作系统,将
43、自身融入M i c r o s o f tW i n d o w s 操作系统中,操作界面完全W i n d o w s化。R 1 4 进一步完善面向对象的技术,将其作为自身的内核技术,并作为二次开发的主要技术。此外R 1 4 配备了I n t e m e t 工具,方便了I n t e m e t 上的D W G 图形文件的浏览和传送。1 9 9 8 年5 月为适应中国的软件用户,推出了大陆简体汉字的A u t o C A DR 1 4 中文版。随后,A u t o C A D 还增加了对J A V A 开发环境的支持。为迎接新千年的到来,1 9 9 9 年推出了A u t o C A D2
44、 0 0 0,不仅改版了O b j e c t A R X,还在O b j e c t A R X2 0 0 0中支持了M i c r o s o f t 公司的M i c r o s o f tF o u n d e dC l a s s(M F C),程序员可以利用M F C强大的应用程序框架设计能力开发出共享A u t o C A D 运行空间的应用程序【2 1 1。从A u t o C A D2 0 0 6 开始,A u t o C A D 又增加了N E TA P I,开发接口是完全面向对象的,又具有方便易用的特点。2 1 3A u t o C A D 二次开发工具A u t o C
45、 A D 是目前微型计算机上应用最广泛的通用C A D 软件,其通用性使其在航空航天、造船、建筑、机械、电子、化工、美工、轻纺等领域得到了极为广泛的应用。但是不同的行业标准不同,使得各领域在使用A u t o C A D 的过程中均需根据自身特点进行定制或开发。A u t o d e s k 公司为了满足广大用户的需求,相继推出了三代二次开发工具。(一)第一代开发工具第一代开发工具A u t o L I S P(A u t o C A DL I S PP r e c e s s i n gL a n g u a g e)是1 9 8 6 年随A u t o C A DV 2 1 8 提供的二次
46、开发工具。在A u t o C A D 的二次开发工具中,它是唯一的一种解释型语言,比V B A 难,却又比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 L I S P 可直接调用几乎所有的A u t o C A D 命令,具有强大的图形处理功能,比较适合工程中的非结构化设计过程【2 2 1。A u t o L I S P 具有以下优点【2 3】:(1)语言规则十分简单,易学易用;(2)直接针对A u t o
47、 C A D,易于交互;(3)解释执行,立竿见影;(4)开发的程序向下兼容性好。A u t o L I S P 也具有以下缺点:(1)功能单一,综合处理能力差;(2)解释执行,程序运行速度慢;(3)缺乏很好的保护机制,源程序保密性差:(4)L I S P 用表来描述一切,并不能很好地反映现实世界和过程,跟人的思维方9青岛大学硕士学位论文式也不一致;(5)对话框窗口控件单一,与用户交互功能太弱;(6)不能直接访问硬件设备、进行二进制文件的读写。A u t o L I S P 的这些特点,使其仅适合于有能力的终端用户完成一些子集的开发任务。目前,第一代的A u t o L I S P 已经被第三代
48、的V i s u a l L I S P 完全替代。(二)第二代开发工具第二代开发工具A D S(A u t o C A DD e v e l o p m e n tS y s t e m)是从A u t o C A DR ll 开始支持的一种基于C 语言的开发环境1 2 4 。A D S 可直接利用用户熟悉的C 编译器,将应用程序编译成可执行文件后在A u t o C A D 环境下运行,从而既利用了A u t o C A D 环境的强大功能,又利用了C 语言的结构化编程、运行效率高的优势。对于A u t o C A D 来说,A D S 应用程序等价于用A u t o L I S P 编写
49、的应用程序,但A D S应用程序不能单独执行,只能作为一组外部函数被A u t o L I S P 上载和调用。A D S 应用程序也是一个独立的进程,首先利用I P C 机制与A u t o L I S P 通讯,然后再通过A u t o L I S P 实现与A u t o C A D 的通讯。与A u t o L I S P 相比,A D S 具有以下几点优势:(1)具备错综复杂的大规模处理能力;(2)编译成机器代码后执行速度快;(3)编译时可以检查出程序设计语言的逻辑错误;(4)程序源代码的可读性好于A u t o L I S P。而A D S 得不便之处在于以下几点:(1)C 语言比
50、L I S P 语言难以掌握;(2)A D S 程序的隐藏错误往往导致A u t o C A D,乃至操作系统的崩溃;(3)A D S 程序需要编译才能运行,不易见到代码的效果;(4)相同功能,A D S 程序源代码比A u t o L I S P 代码长很多。在A u t o C A D2 0 0 0 以上版本中不再支持A D S 开发环境,A D S 已完全被O b j e c t A R X所取代。(三)第三代开发工具第三代开发工具包括V i s u a l L I S P、O b j e e t A R X、V B A 以及N E TA P I,特性如下。(1)V i s u a l