« 首页 - 西安必信达软件技术有限公司 - BXDSOFT.COM
什么是CAD二次开发? AutoCAD都有哪些二次开发工具?
「CAD提供多种开发工具,我们在网上看到的很多插件、工具、软件都是在AUTOCAD上二次开发的,如果你感兴趣,也可以自己开发一些小工具。(2021-8-6)」

AutoCAD具有开放的体系结构,他提供了多种开发工具,允许用户和开发者对其功能进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。

二次开发主要涉及以下内容:

(1)编写各种用户自定义函数和命令,并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。

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

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

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

AutoCAD第一版于1982年11月由Autodesk公司推出,他之所以能进入中国,并快速普及,主要是一大批国内工程设计和机械设计二次开发商的功劳,包括浩辰、圆方、大恒、天正等等。因为二次开发软件根据行业特点和专业设计需要将一系列CAD命令集成起来,比直接用CAD画图更简单,速度更快,因此在90年代中期,计算机还不太普及,很多人连开机都不会的情况下,简单易用、傻瓜式的国产二次开发软件对AutoCAD在国内的普及起到非常重要的作用。但随后的十年时间里,这些二次开发商只有少数还坚持在做二次开发,例如天正,而有些厂商被AutoCAD推出的同类应用软件打垮,转而成为Autodesk的代理商,例如大恒等,还有一些开始开发自主的CAD平台,并提供了类似的二次开发接口,例如浩辰CAD、中望CAD等。

 

下面简单介绍一下AutoCAD所提供的一些二次开发工具:

1 AutoLISP

AutoLISP的全名是LIST Processing Language,她出现于1985年推出的AutoCADR2.18中,是一种嵌入在AutoCAD内部的编程语言,是LISP原版的一个子集,她一直是低版本AutoCAD的首选编程语言。它是一种表处理语言,是被解释执行的,任何一个语句键入后就能马上执行,它对于交互式的程序开发非常方便。其缺点是继承了LISP语言的编程规则而导致繁多的括号。LISP的扩展名为*.lsp,是纯文本文件,在不同版本的CAD都可以直接加载运行。


2 VisualLISP

VisualLISP是在LISP基础上增加了一些VL函数,另外提供了一个有色代码编辑器,集成在AutoCAD2000以上版本中,她可以直接使用AutoCAD中的对象和反应器,进行更底层的开发。其特点为自身是默认的代码编辑工具;用它开发AutoLISP程序的时间被大大地缩短,原始代码能被加密,以防盗版和被更改;能帮助大家使用ActiveX对象及其事件;使用了流行的有色代码编辑器和完善的调试工具,使大家很容易创建和分析LISP程序的运行情况。在VisualLISP中新增了一些函数:如基于AutoLISP的ActiveX/COM自动化操作接口;用于执行基于AutoCAD内部事件的LISP程序的对象反应器;新增了能够对操作系统文件进行操作的函数。

VLISP程序可以直接保存为*.lsp文件,也可以打包成*.vlx,*.fas文件,VLISP文件在不同CAD版本均可直接加载运行。网上流传很多插件都是LISP或VLISP编写的,他的主要优势就是简单、可以跨版本运行。一些在AUTOCAD上开发的LISP工具,还可以直接在浩辰CAD等国产CAD上直接加载运行。


3 ADS
ADS的全名是AutoCAD DevelopmentSystem,它是AutoCAD的C语言开发系统,ADS本质上是一组可以用C语言编写AutoCAD应用程序的头文件和目标库,它直接利用用户熟悉的各种流行的C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行,这种可以在AutoCAD环境中直接运行的可执行文件叫做ADS应用程序。ADS由于其速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理,但跟C语言一样,现在已经被更高级的语言所代替,现在基本已经很少有软件使用了。

4 ObjectARX

ObjectARX是一种崭新的开发AutoCAD应用程序的工具,她以C++为编程语言,采用先进的面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的AutoCAD应用程序。ObjectARX并没有包含在AutoCAD中,可在Autodesk公司网站中去下载,它能够对AutoCAD的所有事务进行完整的、先进的、面向对象的设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。ObjectARX从本质上讲,是一种特定的C++编程环境,她包括一组动态链接库(DLL),这些库与AutoCAD在同一地址空间运行并能直接利用AutoCAD核心数据结构和代码,库中包含一组通用工具,使得二次开发者可以充分利用AutoCAD的开放结构,直接访问AutoCAD数据库结构、图形系统以及CAD几何造型核心,以便能在运行期间实时扩展AutoCAD的功能,创建能全面享受AutoCAD固有命令的新命令。ObjectARX的核心是两组关键的API,即AcDb(AutoCAD数据库)和AcEd(Auto CAD编译器),另外还有其它的一些重要库组件,如AcRX(AutoCAD实时扩展)、AcGi(Auto CAD图形接口)、AcGe(Auto CAD几何库)、ADSRX(AutoCAD开发系统实时扩展)。ObjectARX还可以按需要加载应用程序;使用ObjectARX进行应用开发还可以在同一水平上与Windows系统集成,并与其它Windows应用程序实现交互操作。ARX是目前大多数复杂CAD二次开发软件使用的开发工具。

5 VBA

VBA 跟Mcrosoft office中的Visual Basic for Applications一样,可利用VB开发一些宏程序,它被集成到AutoCAD2000以上版本中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD中丰富的技术框架打开一条新的通道。VBA和AutoCAD中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。

 

6 .net

AUTOCAD高版本提供的开发工具.

 

现在国产CAD,例如浩辰CAD和中望CAD提供上述所有二次开发接口,LISP程序通常都可以在这些软件商直接运行,用AutoCAD的VBA\ARX\.NET上二次开发的软件全部都可以移植到这些国产CAD上,但由于其影响力目前还有限,主动移植的厂商很少,则也限制了这些国产CAD在很多行业的推广,这些厂商在寻求合作的同时只能自己开发专业软件,例如浩辰CAD就有建筑、水、暖、电、结构、机械等多种专业软件,这些软件可以同时在浩辰CAD和AUTOCAD上运行,说明国产软件的二次开发接口跟AUTOCAD高度兼容。

(Ho腰)
点击进入「必信达创业合作论坛」下一篇:无 »
Copyright © 1999-2021 西安必信达软件技术有限公司