当前位置:文档之家› AutoCAD的二次开发

AutoCAD的二次开发

浅谈AutoCAD的二次开发林学与园林学院 06园林傅欣蕾摘要:通过对AutoCAD软件发展史的概述,从中归纳出CAD的总体发展趋势。

从当今各行业所需的CAD专业化功能,提出对其进行二次开发的意义及具体实施步骤。

关键词:AutoCAD 发展史二次开发专业化功能1.AutoCAD的发展简史:1.1、第一次CAD技术革命—曲面造型系统60年代出现的三维CAD系统只是极为简单的线框式系统。

这种初期的线框造型系统不能有效表达几体数据间的拓扑关系。

进入70年代,随着贝赛尔算法促使人们用计算机处理由线及曲面问题变得可行。

1.2、第二次CAD技术革命—实体造型技术1979年世界上第一个完全基于实体造型技术的大型CAD软件发布。

由于实体造型技术能够精确表达零件的全部属性,在理论上有助于统一CAD、CAE、CAM的模型表达,给设计带来了惊人的方便性。

1.3、第三次CAD技术革命—参数化技术1.4、第四次CAD技术革命—变量化技术成功运用参数化技术之后,开发人员发现了参数化技术尚有许多不足之外。

首先,“全尺寸约束”这一硬性规定就干忧和制约着设计者创造力及想象力的发挥。

再者,如在设计中关键形体的拓扑关系发生改变,失去了某些约束特征也会造成系统数据混乱。

1993年全新体系结构的I-DEAS Master Series软件问世,它第一次将变量化付诸实践。

变量化技术既保持了参数化技术的原有优点,同时又克服了它的不足之处。

无疑,变量化技术成就了SDRC,也驱动了CAD发展的第四次技术革命。

1.5、CAD的发展方向任何一种软件都是有缺陷而非完美无瑕的。

AutoCAD这一软件也是一样,只有在不断的发展中,找到自己的不足力求弥补,才能趋向臻化,达到一种完美。

纵观CAD的发展史,我们可以大略地看出该软件是朝着“人工智能化”、“专业应用化”等方向发展的。

而实现这样的发展方向的最佳手段就是通过对CAD的二次开发。

将各类专业设计技术研制成CAD系统的各类设计工具和知识,从而使使用者能按照专业设计的方向进行,可以大大提高CAD的设计效率。

2.AutoCAD二次开发的意义二次开发就是把你经常要用的图形用CAD的编程语言编成程序,要用时直接输入程序名就可以进行。

AutoCAD的二次开发即为CAD软件的本土化,使之更适应专业用途,减少重复劳动,建立企业内部统一标准,因为CAX软件都是面向所有工业部门的,为了能满足所有人的需要,所以对于特定的企业、行业来说,有的功能用不上、有的功能不够用。

所以要做二次开发,来满足不同特定企业、行业的需要。

现通用的UG建模软件,仅为使用者提供了一般的功能,而具体的功能和开发者自己的算法要应用进去,就要通过二次开发了。

通过二次开发,我们可以回避专业的计算机图形学的造型环境的构建,直接针对专门的问题,解决起来就方便了许多。

3. CAD二次开发的内容(1)编写各种用户自定义函数并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。

(2)建立符合自己要求的菜单文件,一般可在AutoCAD原菜单文件内添加自己的内容,对于AutoCAD2000版本还可增加部分菜单文件,然后经交互方式加入到系统中去。

(3)在系统的ACAD.LSP或类似文件中加入某些内容以便进行各种初始化操作,如在启动时立即装入一些文件等。

(4)通过系统对话框设置某些路径。

这些操作在程序开发成功后向其它AutoCAD系统上安装应用,特别是需要大批安装时,需要进行很多文件检索、内容增删、子目录创建、文件拷贝、系统设置等繁琐工作,如能令上述工作全部自动进行,使整个二次开发程序在无人干预的情况下嵌入系统,将大大提高工作效率。

4. CAD二次开发的思路1)首先获得所在机器AutoCAD2000系统的安装路径;2)寻找菜单文件AutoCAD2000\\support\\acad.mnu,打开文件并将要添加的内容加至末尾;3)寻找LISP文件AutoCAD2000\\support\\acad2000doc.lsp,打开文件并将要添加的内容加至末尾;4)创建一个预先命名的子目录,将所有二次开发形成的各类文件拷入;5)给出信息框,告知安装成功,如有问题则告知安装失败。

5. CAD的二次开发工具主要选用一些标准件和常用件,因为使用的频率高,所以有必要做成能文便使用的工具。

现列举如下常用工具:1)Visual LISP适于描述人机交互操作的过程,善于编写模拟设计师思路的专业设计程序。

对于各种用户输入的接收、错误识别与恢复等操作具有相当优秀的功能,尤其是善于充分发挥CAGD功能的巨大作用。

过去AutoLISP 最大的不足是不能编译,现在已经被 VLISP 圆满解决了,编译成VLX 的老的AutoLISP 程序,其效率比解释运行条件下提高了5~8倍。

2)ADS曾经是在 AutoLISP 之后的一种用户程序,在 R14 之前的AutoLISP 程序虽然是解释运行,仍比 ADS 程序快一些,因为实际上ADS是用AutoLISP与AutoCAD交互。

自AutoCAD R14已经不再支持和发展 ADS程序设计模式,同时却增加了Visual LISP,以进一步提高AutoLISP 的整体性能。

3)VBA自 R14开始嵌套在AutoCAD 之中的程序设计方法,VBA是根据微软公司的规则,在每一个Windows 下的应用软件都必须具有的功能。

4)ObjectARX由于ARX是使用Visual C++作为基本程序设计语言,无论其效率、数据处理和软硬件的控制能力都是最好的,是唯一圆满地针对多图档环境的程序设计方法。

但是,与AutoCAD命令交互的功能,ARX与VBA并没有实质性的区别,很难借用AutoCAD强大的CAGD功能。

另外,要想真正发挥这种开发模式的作用,对于程序设计者的要求(计算机专业知识、软件专业知识等等)也较高,而且程序运行风险较大。

要求程序自己做好各种数据的测试,自己设计好各种条件下的出错处理和恢复.因此,这种开发模式不适于在专业设计工程师中间普及。

粗略地说:ARX/VBA的特点在于以对象为基本操作数据,适合于充当“编写”ACAD的工具,而VLISP则是灵活而充分地使用AutoCAD的现有功能,适合于充当“使用”ACAD的工具。

6. 关于CAD二次开发的实例中望公司在继建筑、机械、结构、通信软件成功推出之后,又推出了基于中望CAD平台开发的中望给排水、中望暖通、中望电气。

现列举中望二次开发软件的特点:6.1 二次开发给排水软件特点:∙智能化管线系统∙全新的图库收纳最新规范的图例,所有设计实现动态预演∙采用最新规范,具有丰富的水力计算功能∙美观、实用、易用的对话框界面6.2 二次开发暖通软件的特点:∙符合最新的国家规范,丰富的采暖、空调等系统设计∙强大齐全的负荷计算、水力计算等计算功能∙全新图库管理程序,系统自带图块符合国家最新的制图标准,并允许用户扩充6.3 二次开发电气软件的特点:∙功能齐全的平面图绘制∙快捷方便的系统图绘制,提高了智能化自动生成水平∙提供全面的电气计算功能∙全新图库管理程序,分类明晰,符合Windows新版本的外观风格与使用习惯7. CAD二次开发空间与前景现今,CAD软件的发展已经日臻完善,但对于发展更为迅猛的计算机绘图事业来说,依然不够完美,可以说AutoCAD的二次开发还是有很大发展空间和较好前景的。

7.1 菜单的设计很多软件只是在AutoCAD的原来菜单后加上一个菜单项或者将AutoCAD的屏幕菜单(SCREEN MENU)替换掉。

这类软件尽量对AutoCAD不做修改,避免许多熟悉AutoCAD的用户产生不习惯的感觉。

其实,AutoCAD只是提供了一个基本绘图环境,它涉及各行各业,没有任何偏重,由于没有较好的二次开发软件,广大用户才不得不去适应AutoCAD的菜单。

就结构专业而言,其菜单项只有文件、设定两项以及一些绘图、修改命令经常用到,大部分菜单项平时都用不上。

对AutoCAD菜单进行重新组合,增加一些实用工具菜单项,让菜单具有鲜明的专业特点,这样才能让设计人员绘图时得心应手,拥有一个良好的设计环境。

7.2 汉字输入工程制图中,汉字输入是不可避免的。

汉字不仅输入速度较慢,还需经常切换,大大影响了制图速度。

由于每次的附注说明都大同小异,所以建立一个专业词库是很有必要的。

随时从词库中提取专业词汇,可以避开汉字输入,提高绘图速度。

词库也应该可以扩充,让设计人员随时把常用的专业词汇入库并经常整理。

每张图上已有的汉字标注也是一种资源,它们基本上都是专业词汇,应加以利用。

把它们摘编出来,加入到专业词库中去,可以减轻词库的维护负担。

由于AutoCAD的文本处理能力较弱,还应提供大量的文本处理工具,尽量减轻汉字输入的负担。

7.3 输出比例一般地,在AutoCAD中,物体以毫米为单位按十足尺寸画出。

在图板制图时,实际物体按比例画出,而文字、符号等按十足尺寸画出,所以制图时经常进行比例换算,比较麻烦。

由于一张图中绝大部分是实际物体,尺寸标注等都是辅助部分,故而AutoCAD要比图板方便得多。

但是,某张图如按1:100绘制,输出时想改成1:50,就比较困难了。

仅在输出时改变输出比例或者用SCALE命令缩放而不修改输出比例都会导致图面的不协调。

这是AutoCAD的一个弱点。

另外如何在一张图上形成不同比例的详图也是CAD二次开发的热点问题。

结束语:随着时间的推移,CAD软件的开发已经日臻成熟,然而,成熟并不代表完美,尤其在计算机绘图迅猛发展的今天,CAD软件依旧存在较为广阔的发展空间,因此,AutoCAD的二次开发前景看好。

相关主题