EaBIM一直以来积极响应国家“十二五”推进建筑业信息化的号召,对建筑领域的信息技术开展深入技术交流和探讨!致力于打造“BIM-建筑师-生态技术”三位一体综合资源交流共享平台,希望为BIM与可持续设计理念及技术的普及做出微小的贡献!!!

EaBIM

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 4853|回复: 54
打印 上一主题 下一主题

[资料] AutoCAD二次开发语言介绍

[复制链接]

1514

主题

7465

帖子

1万

积分

admin

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10

积分
12404

社区QQ达人

跳转到指定楼层
楼主
发表于 2014-1-8 16:46:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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类。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对

相关帖子

工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言

0

主题

10

帖子

97

积分

BIM助工

Rank: 2Rank: 2

积分
97
推荐
发表于 2015-5-8 09:03:14 | 只看该作者
CAD的成功在于有LISP开发工具,而这正是欧特克一系列最新产品中所缺少的,一个脚本化的开发工具

14

主题

2892

帖子

2085

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
2085
推荐
发表于 2016-2-25 10:06:32 | 只看该作者
支持一下    (● ̄(エ) ̄●)

2

主题

116

帖子

1031

积分

BIM项目负责人

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

积分
1031

社区QQ达人

推荐
发表于 2016-11-2 16:52:12 | 只看该作者
那大家用的多的是哪个呢?

6

主题

853

帖子

1347

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1347
5F
发表于 2014-2-18 12:10:00 | 只看该作者
(*^__^*) 嘻嘻……

13

主题

840

帖子

1580

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1580
8F
发表于 2014-3-10 13:32:08 | 只看该作者
路过!!!
不发表意见……

24

主题

898

帖子

3004

积分

BIM总监

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

积分
3004
12F
发表于 2014-3-11 11:19:36 | 只看该作者
谢谢BIM大神…

1514

主题

7465

帖子

1万

积分

admin

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10

积分
12404

社区QQ达人

13F
 楼主| 发表于 2014-3-12 14:47:54 | 只看该作者

路过!!!
不发表意见……
工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言

16

主题

842

帖子

1377

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1377
15F
发表于 2014-3-14 11:21:06 | 只看该作者
顶......
楼下跟上.....

6

主题

713

帖子

1201

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1201
16F
发表于 2014-3-14 11:31:30 | 只看该作者
(*^__^*) 嘻嘻……
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|EaBIM网 ( 苏ICP备2020058923号-1  苏公网安备32011502011255号

GMT+8, 2024-11-23 11:07

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表