AutoCAD二次开发中的若干问题

2015-07-02 01:39陈晓伟
商丘职业技术学院学报 2015年5期
关键词:标准件商丘二次开发

陈晓伟,葛 君

(商丘职业技术学院,河南 商丘 476000)

AutoCAD二次开发中的若干问题

陈晓伟,葛 君

(商丘职业技术学院,河南 商丘 476000)

AutoCAD是一个通用和开放的绘图系统,但应用它的每一个行业都有自己的行业标准和技术规格,每个设计工程师和绘图员更有各自独特的工作方式. 所以,如果只使用AutoCAD的一般功能,要完成某一个具体的设计,依然显得比较复杂. AutoCAD提供的开放式体系结构实现对AutoCAD的二次开发, 使AutoCAD更加符合用户的需要. 文章具体介绍了AutoCAD二次开发的原理、几种常用的技术和它的适用范围,并对它们各自的特点进行了分析比较;阐述了二次开发在各行业中应用的现状及发展前景,以及在以后的使用中应注意的问题.

AutoCAD;二次开发;开发原理;开发工具

1 AutoCAD二次开发原理

广义的二次开发是指为了满足特定应用领域及用户的需求,以通用软件为基础,结合本专业知识,而开发的应用软件.AutoCAD二次开发则是指为了满足本专业或本行业的特定需求,以通用的AutoCAD为基础,通过利用AutoCAD的开放式资源和开放式体系结构,结合本专业特点,对AutoCAD进行再开发,其原理如图1所示.

图1 二次开发原理图

2 AutoCAD二次开发的常用工具

2.1 AutoLISP

AutoCAD R2.18本身自带了一个二次开发工具:Auto LISP.它既具有高级语言的基础结构和功用,也具有高级语言欠缺的图形图像处理功能,它整体内含于AutoCAD 里面,是一种人工智能语言.Auto LISP在进行AutoCAD的二次开发时,几乎可直接调用AutoCAD所有的指令.但由于其自身的缺陷,现如今VisualLISP已经把Auto LISP取代.

2.2 ADS

ADS(AutoCAD Development System)是AutoCADR11开始支持的一种基于C语言开发应用程序的系统[1]43-44,51.用户用ADS和C语言编译器相结合进行开发程序,应用程序通过编译变为可执行文件,然后通过AutoCAD运行,不仅充分发挥了AutoCAD的巨大效用,使C语言的结构化编程、运行效率高的优点能够淋漓尽致地体现.因为ADS仅仅是一系列Auto LISP外部函数通过Auto LISP解释器装入、解释然后申请AutoCAD执行,没有直接嵌在AutoCAD里面,因此ADS的功效在一定程度上被约束了.当编程界的面向对象风靡全球时,在AutoCAD R13中也提供了面向对象的开发工具ARX.采用结构化的编程体系的ADS,虽然速度快,受到诸多CAD相关行业的青睐,但由于DOS操作系统现在已不被广泛使用,在其之下运行的C语言也会慢慢地被淘汰,因此从AutoCAD 2000开始不再支持ADS编程.

2.3 ObjectARX

Object ARX以 C++语言为基础,支持面向对象编程,还向下兼容ADS.用ObjectARX应用程序研发的CAD应用软件可以使用MFC的类库,用简单的方法解决了诸多难题.Object ARX可以让使用者创建或派生新的类,由于它使用C++作为开发环境,诸如此类的类和源程序能够让其他程序使用,故而使面向对象编程的优势得到了最大程度的发挥.

2.4 VBA

VBA(Visual Basic for Application)是基于ActiveX Automation的二次开发工具[2]94-96.OLE Automation技术是ActiveX Automation的前身.它运用其面向对象编程技术的主要优点,所以外显的对象能够使Windows应用程序的一个控制另一个.从R14起AutoCAD添加了当作ActiveX Automation服务器应用程序的效能,让一系列面向对象的语言与Application能够使AutoCAD和ActiveX交流.

2.5 VisualLISP

从AutoCAD 2000开始,VisualLISP已经被完整地集成.作为AutoLISP的取代者,能有效兼容其原有功能,而且对其进行了较多的创新.它让程序研发人员开发与完善程序更加简便易行.能够有效地访问COM、ActiveX接口及事件反应器,还能使原始的研发变得更加简易;对代码更严谨的进行保密,可更好的防盗版和防篡改.那些没有经过计算机编程培训的工程设计人员使用起来会更加得心应手.

2.6 .NET

.NET是AutoCAD二次开发的一种具有革命性的开发工具,它依赖于Microsoft.NET Framework的框架直接进行[3]39-46.这种开发工具可以兼容AutoCAD 2006及其以后的全部版本.AutoCAD也能使用Object ARX托管包装类来研制基于.NET源代码.而托管包装类可以让研发者开发源程序时能够用VB.NET与C#.从而让VB.NET、C#的编程人员二次开发CAD软件得到相应的帮助.AutoCAD ActiveX帮助用户能够由AutoCAD的内(外)部使用程序去控制AutoCAD.

2.7 若干二次开发工具性能对照

若干二次开发工具都具有自己的特点,详见表1.

表1 几种二次开发工具性能比较

3 AutoCAD二次开发工具的使用近况

3.1 AutoCAD二次开发工具在制作工程图稿件时的应用

1)可采用EPS、TIFF、BMP、LIC、EMP等诸多文件格式,完成CAD图像的“高保真”存储,而且能创造依赖于它的图纸目录库,从而才能更好地实现对图纸的访问.CAD图像有多种存储方式,既能利用AutoCAD本身特有的方式,使用配置打印机和光栅文件的输出,也可以完成CAD图像“高保真”的存储,采用这种方式能生成多种图像格式的文件,这种文件能在Windows和DOS操作系统中直接呈现,也可在OFFICE办公软件文字处理和ILLUSTRATOR 等图形图像处理中使用.

2)使用DCL完成对特殊字符编辑器的创建,使AutoCAD的字符集更加丰富.

3)AutoCAD使Auto CAD和Excel的互动成为可能.

3.2 标准件的参数化设计

参数化设计是CAD在制造行业里的最重要的体现.针对个别结构雷同只是尺寸存在细微差异的标准件,采取参数化设计的形式创设图形库,研发者修改一部分参数就能够制作新的标准件图形,无须查看技术指导书即可以在计算机上发现需要的技术参数,还能让制造行业使用多种常用的校核和优化等计算方法,把零件的研发与绘制聚集在相同的系统里,就已经能让研发与绘制同时进行变成了现实,而且使标准件的研制进度得到了提高[4]761.

3.3 实用新型

日新月异的工业进展,使AutoCAD 已经渗透到众多行业里,除了设计标准件、常用件的领域,AutoCAD也得到了综合发展.屈永华等人利用VB 对AutoCAD进行了二次开发,用研究成果把有关矿山的“三下采煤”评估系统进行了完善;周亮等采取AutoLISP研制了注塑模浇注系统.AutoCAD二次开发工具的使用在诸如此类的项目开发中得到了充分的体现[5]56-58.

4 AutoCAD 二次开发技术的发展趋势

AutoCAD技术目前已经相当成熟,且在各个行业中得到广泛使用,并极大地提高了企业生产力.其二次开发技术的发展趋势主要有以下几个方面:标准化、开放式、集成化、智能化.

1)标准化

AutoCAD软件一般都集成在一个异构的工作平台上,为了支持跨平台,就需要一个标准,现在所使用的标准主要有两类:国家或国际标准和行业标准.

2)开放式

用户可以利用AutoCAD的二次开发的特点和本行业相结合,开发出适合自己的CAD系统.

3)集成化

AutoCAD进行二次开发时,可以把最适合的功能进行集成,为以后的开发节省人力物力.

4)智能化

为了产生更高效的CAD系统,人工智能在AutoCAD的二次开发中将会有越来越重要的作用.

5 结语

在园林、建筑、服装、机械等各行业中AutoCAD二次开发工具都被普遍使用,它大力地支持了标准件、常用件的参数化研发.这里深度剖析对比了AutoCAD中常用的多个二次开发工具,又阐述了它的现状,最后探析了二次开发技术的发展趋势.在实际工作中,要依照具体工程的情况、研发人员的知识储备状况来抉择到底使用何种开发技术,以达到事半功倍的效果.

[1] 梁艳霞,曹 飞. AutoCAD 二次开发工具综述[J]. 计算机辅助设计与制造,2001(7).

[2] 王永辉,胡青泥,李红彩. AutoCAD 二次开发方法的研究[J]. 计算机系统应用,2007(3).

[3] 余兴胜. 用.NET 进行 AutoCAD 二次开发的方案探索[J]. 铁道勘测与设计,2006(3).

[4] 周 亮,丁 怡.用AutoLISP进行注塑模浇注系统的参数化设计[J].机械研究与应用, 2004, 17(3).

[5] 简惠云.用VBA开发AutoCAD标准图纸图栏系统[J].计算机应用, 2002, 22(2).

[责任编辑 冰 竹]

Simple Analyses on Some Secondary Development’s Issues

CHEN Xiaowei, GE Jun

(ShangqiuPolytechnic,Shangqiu476000,China)

AutoCAD is a general and open graphics system. But every industry and professional application has its own industry standards and technical specifications, so if you use only the general function of AutoCAD to complete a specific design, it seems more complex. AutoCAD’s open architecture achieves the secondary development of itself, so that AutoCAD can meet the needs of users more. The article introduces the principle of the secondary development about AutoCAD, several commonly used technologies, and the scope of application, and then it analyses and compares the characteristics of their respective. This paper expounds the present situation and development of secondary development prospects and the problems that should be paid attention to in the later use.

AutoCAD;secondary development;development principle;development tool

2015-05-22

陈晓伟(1981- ),女,河南商丘人,商丘职业技术学院讲师,硕士,主要从事图形图像、软件应用研究。

1671-8127(2015)05-0032-03

TP391.72

A

猜你喜欢
标准件商丘二次开发
商丘师范学院美术作品选登
商丘师范学院美术作品选登
标准件库的建立与应用
商丘之旅
让更多企业在商丘长得大、飞得高
浅谈基于Revit平台的二次开发
浅谈Mastercam后处理器的二次开发
西门子Easy Screen对倒棱机床界面二次开发
CATIA V5标准件库的创建与使用
基于知识的组合机床夹具可扩充标准件库的开发