EaBIM

标题: [资料] AutoCAD二次开发语言介绍 [打印本页]

作者: 萧闫子    时间: 2014-1-8 16:46
标题: [资料] AutoCAD二次开发语言介绍

1 AutoLISP
AutoLISP的全名是LIST Processing Language,出现于1985年推出的AutoCADR2.18中,是一种嵌入在AutoCAD内部的编程语言,是LISP原版的一个子集,一直是低版本AutoCAD的首选编程语言。AutoLISP是一种表处理语言,是被解释执行的,任何一个语句键入后就能马上执行,对于交互式的程序开发非常方便。其缺点是继承了LISP语言的编程规则而导致繁多的括号。
2 ADS
ADS的全名是AutoCAD Development System,是AutoCADC语言开发系统,ADS本质上是一组可以用C语言编写AutoCAD应用程序的头文件和目标库,直接利用用户熟悉的各种流行的C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行,这种可以在AutoCAD环境中直接运行的可执行文件叫做ADS应用程序。ADS由于其速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理,如二次开发的机械设计CAD、工程分析CAD、建筑结构CAD、土木工程CAD、化学工程CAD、电气工程CAD等。
3 ObjectARX
ObjectARX是一种崭新的开发AutoCAD应用程序的工具,以C++为编程语言,采用先进的面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的Auto CAD应用程序。ObjectARX并没有包含在AutoCAD中,可在AutoDesk公司网站中去下载,ObjectARX能够对AutoCAD的所有事务进行完整的、先进的、面向对象的设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。ObjectARX从本质上讲,是一种特定的C++编程环境,包括一组动态链接库(DLL),这些库与AutoCAD在同一地址空间运行并能直接利用AutoCAD核心数据结构和代码,库中包含一组通用工具,使得二次开发者可以充分利用AutoCAD的开放结构,直接访问AutoCAD数据库结构、图形系统以及CAD几何造型核心,以便能在运行期间实时扩展AutoCAD的功能,创建能全面享受AutoCAD固有命令的新命令。ObjectARX的核心是两组关键的API,即AcDb(Auto CAD数据库)AcEd(Auto CAD编译器),另外还有其它的一些重要库组件,如AcRX(Auto CAD实时扩展)AcGi(Auto CAD图形接口)AcGe(Auto CAD几何库)ADSRX(Auto CAD开发系统实时扩展)ObjectARX 还可以按需要加载应用程序;使用ObjectARX进行应用开发还可以在同一水平上与Windows系统集成,并与其它Windows应用程序实现交互操作。
                              
4 VisualLISP
VisualLISP已经被完整地集成到AutoCAD中,为开发者提供了崭新的、增强的集成开发环境,一改过去在AutoCAD中内嵌AtuoLISP运行引擎的机制,这样开发者可以直接使用AutoCAD中的对象和反应器,进行更底层的开发。用它开发AutoLISP程序的时间被大大地缩短,原始代码能被保密,以防盗版和被更改;能帮助大家使用ActiveX对象及其事件;使用了流行的有色代码编辑器和完善的调试工具,使大家很容易创建和分析LISP程序的运行情况。在VisualLISP中新增了一些函数:如基于AutoLISPActiveX/COM自动化操作接口;用于执行基于Auto CAD内部事件的LISP程序的对象反应器;新增了能够对操作系统文件进行操作的函数。
5 VBA
VBA Mcrosoft office中的Visual Basic for Applications,被集成到AutoCAD中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD中丰富的技术框架打开一条新的通道。VBAAutoCAD中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。不过在2010以后的新版本中AutoCAD将不再支持VBA开发。
6 AutoCAD .NET
AutoCAD 2006开始Autodesk为其开发增加了.NET API.NET API提供了一系列托管的外包类(Managed Wrapper Class),使开发人员可在.NET框架下,使用任何支持.NET的语言,如VB.NETC# Managed C++等对AutoCAD进行二次开发。其优点是完全面向对象,在拥有与C++相匹配的强大功能的同时,具有方便易用的特点,是较理想的AutoCAD二次开发工具。
.NET API与传统ObjectARX的区别主要源于在.NET环境下开发应用程序与在VC环境下开发应用程序的区别。首先,在VC环境下,程序员需要自己管理内存的申请和释放,而.NET采用了垃圾回收机制,由.NET框架自行判断内存回收的时机并实行回收,从而解决了令C++程序员头痛的内存泄漏问题。也正是由于这个特点,在.NET环境下不能象在C++环境下那样利用析构函数释放其他的资源,需要程序员在程序中显式地释放。在.NET API中,主要通过Dispose函数进行资源的释放。
其次,ObjectARX中的各种反应器(Reactor).NETAPI中由外包类映射为各种事件(Event),可通过定义这些事件的响应函数来响应AutoCAD的各种操作。同时对于错误信息的处理也从函数返回值改变为通常异常来处理,使其更好地兼容.NET。由于VB.NETC#等语言都是完全面向对象的,没有全局函数的概念,所以.NETAPIObjectARX下的全局函数封装为.NET API下的某些对象或对象的属性,如ObjectARX下与用户交互的系列全局函数被封装为CommandLinePrompt类。


作者: 车晶晶    时间: 2014-2-18 12:10
(*^__^*) 嘻嘻……
作者: 悠悠筱荷    时间: 2014-2-27 15:36
路过!!!
帮顶……
作者: 楚客    时间: 2014-3-10 13:15
顶!!!!!!!!!!
作者: leowave    时间: 2014-3-10 13:32
路过!!!
不发表意见……
作者: 月の月    时间: 2014-3-11 11:05
谢谢老师…
作者: 中华!    时间: 2014-3-11 11:08
顶!!!!!!!!!!!!
作者: 严英华    时间: 2014-3-11 11:19
顶!!!!!!!!!!
作者: bin    时间: 2014-3-11 11:19
谢谢BIM大神…
作者: 萧闫子    时间: 2014-3-12 14:47

路过!!!
不发表意见……
作者: xy666    时间: 2014-3-14 11:18
路过!!!
帮顶……
作者: 教父    时间: 2014-3-14 11:21
顶......
楼下跟上.....
作者: 猫猫girl    时间: 2014-3-14 11:31
(*^__^*) 嘻嘻……
作者: 烈火ivk    时间: 2014-3-14 11:31
路过!!!
帮顶……
作者: zpklfruV    时间: 2014-5-7 10:08
顶!!!!!!!!!!!!!!!!!!!!!!!!!
作者: 波罗友    时间: 2014-5-13 10:17
顶起来…………
作者: 车奴    时间: 2014-5-13 10:23
路过!!!
不发表意见……
作者: 老朽    时间: 2014-5-13 10:29
(*^__^*) 嘻嘻……
作者: AK47    时间: 2014-5-13 10:33
顶!!!!!!!!!!!!!!!!!!!!!!!!!
作者: chen_0003    时间: 2014-5-22 15:39
顶起来…………
作者: 熊猫    时间: 2014-6-13 14:40
顶起来…………
作者: 悠悠筱荷    时间: 2014-11-28 09:35
路过
作者: 悠悠筱荷    时间: 2014-12-9 09:48
路过
作者: 萧闫子    时间: 2014-12-19 14:17
感谢分享
作者: 萧闫子    时间: 2015-1-12 10:57
感谢分享
作者: EaBIM门户编辑    时间: 2015-2-11 09:37
看看
作者: EaBIM门户编辑    时间: 2015-3-1 10:32
看看
作者: 萧闫子    时间: 2015-3-16 10:16
感谢分享
作者: 萧闫子    时间: 2015-3-27 08:45
感谢分享
作者: vectra    时间: 2015-5-8 09:03
CAD的成功在于有LISP开发工具,而这正是欧特克一系列最新产品中所缺少的,一个脚本化的开发工具
作者: EaBIM门户编辑    时间: 2015-5-11 10:14
感觉不错!!
作者: EaBIM门户编辑    时间: 2015-5-12 10:02
值得推荐,谢谢
作者: EaBIM门户编辑    时间: 2015-5-13 09:42
赞!!
作者: EaBIM门户编辑    时间: 2015-5-14 10:45
值得推荐。。。
作者: EaBIM门户编辑    时间: 2015-5-15 09:55
很不错哦!
作者: EaBIM门户编辑    时间: 2015-5-19 09:01
值得推荐!
作者: EaBIM门户编辑    时间: 2015-5-20 09:12
值得推荐!
作者: EaBIM门户编辑    时间: 2015-9-21 10:17
赞!
作者: EaBIM门户编辑    时间: 2015-9-23 09:51
赞!
作者: EaBIM门户编辑    时间: 2015-9-28 10:09
不错,不错!
作者: EaBIM门户编辑    时间: 2015-10-9 13:39
赞!!
作者: EaBIM门户编辑    时间: 2015-10-13 10:41
不错,不错!
作者: sw8111    时间: 2015-10-19 11:27
zhegehao xiexie
作者: EaBIM门户编辑    时间: 2015-10-22 09:50
不错!
作者: 妮可    时间: 2015-12-30 10:30
赞!!!
作者: EaBIM门户编辑    时间: 2016-1-21 09:19

很不错,支持一下。
作者: EaBIM门户编辑    时间: 2016-1-29 09:30
不错!
作者: 妮可    时间: 2016-2-25 10:06
支持一下    (● ̄(エ) ̄●)
作者: 风凤1314    时间: 2016-11-2 16:52
那大家用的多的是哪个呢?
作者: EaBIM门户编辑    时间: 2016-12-6 09:53
很好
作者: EaBIM门户编辑    时间: 2017-3-15 09:49
很好,
作者: EaBIM门户编辑    时间: 2017-5-8 10:00
很好, 来学习
作者: EaBIM门户编辑    时间: 2017-5-15 10:15
来看看, 顶
作者: EaBIM门户编辑    时间: 2017-5-31 10:15
多多学习还是很有用的,
作者: EaBIM门户编辑    时间: 2017-7-1 10:37
分享




欢迎光临 EaBIM (https://eabim.net/) Powered by Discuz! X3.2