[讨论] AUTOCAD二次开发简介

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

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

(2)建立符合自己要求的菜单文件,一般可在AutoCAD原菜单文件内添加自己的内容,然后经交互方式加入到系统

中去。

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

(4)通过系统对话框设置某些路径。这些操作在程序开发成功后向其它AutoCAD系统上安装应用,特别是需要大批

安装时,需要进行很多文件检索、内容增删、子目录创建、文件拷贝、系统设置等繁琐工作,如能令上述工作全部

自动进行,使整个二次开发程序在无人干预的情况下嵌入系统,将大大提高工作效率。

        AutoCAD荣登全球绘图软件的龙头宝座,主要是因为它具有开放的体系结构。它允许用户和开发者采用高级编

程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。AutoCAD第一版于1982年11月由AutoDESK公司推出,其二次开发语言及工具也在不断地涌现

1 AutoLISP

AutoLISP的全名是LIST Processing Language,她出现于1985年推出的AutoCAD R2.18中,是一种嵌入在AutoCAD

内部的编程语言,是LISP原版的一个子集,她一直是低版本AutoCAD的首选编程语言。它是一种表处理语言,是被

解释执行的,任何一个语句键入后就能马上执行,它对于交互式的程序开发非常方便。其缺点是继承了LISP语言的

编程规则而导致繁多的括号。

3 ADS

ADS的全名是AutoCAD Development System,它是AutoCAD的C语言开发系统,ADS本质上是一组可以用C语言

编写AutoCAD应用程序的头文件和目标库,它直接利用用户熟悉的各种流行的C语言编译器,将应用程序编译成可

执行的文件在AutoCAD环境下运行,这种可以在AutoCAD环境中直接运行的可执行文件叫做ADS应用程序。ADS

由于其速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理,如二次开发的机械设计CAD、工程

分析CAD、建筑结构CAD、土木工程CAD、化学工程CAD、电气工程CAD等。

4 ObjectARX

ObjectARX是一种崭新的开发AutoCAD应用程序的工具,她以C++为编程语言,采用先进的面向对象的编程原理,

提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的Auto CAD应用程序。ObjectARX

并没有包含在AutoCAD中,可在AutoDESK公司网站中去下载,其最新版本是ObjectARX for AutoCAD 2000,

它能够对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应用程序实现交互操作。

5 VisualLISP

VisualLISP已经被完整地集成到AutoCAD 2000中,她为开发者提供了崭新的、增强的集成开发环境,一改过去

在AutoCAD中内嵌AtuoLISP运行引擎的机制,这样开发者可以直接使用AutoCAD中的对象和反应器,进行更底

层的开发。用它开发AutoLISP程序的时间被大大地缩短,原始代码能被保密,以防盗版和被更改;能帮助大家

使用ActiveX对象及其事件;使用了流行的有色代码编辑器和完善的调试工具,使大家很容易创建和分析LISP

程序的运行情况。在VisualLISP中新增了一些函数:如基于AutoLISP的ActiveX/COM自动化操作接口;用于执

行基于Auto CAD内部事件的LISP程序的对象反应器;新增了能够对操作系统文件进行操作的函数。

6 VBA

VBA 即Mcrosoft office中的Visual Basic for Applications。VBA为开发者提供了一种新的选择,也为用户访问

AutoCAD 2000中丰富的技术框架打开一条新的通道。VBA和AutoCAD中强大的ActiveX自动化对象模型的结合

,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些

应用程序,使之相互之间发生互易活动。

转载:作者:thunder186

http://www.cncad.net/forum.php?mod=viewthread&tid=177136

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AutoCAD二次开发是指在AutoCAD软件的基础上,通过编写自己的程序代码,实现对AutoCAD的功能扩展和自定义。引用中提到了一本《AutoCAD二次开发实用教程》,这本书可以作为入门的参考资料。在进行AutoCAD二次开发时,我们需要了解CAD二次开发所应用的语言和开发环境。 在进行AutoCAD二次开发时,需要使用一些命名空间来方便调用其中的集成函数。引用中列举了一些常用的命名空间,例如Autodesk.AutoCAD.DatabaseServices用于定义和操作AutoCAD中的图形对象,Autodesk.AutoCAD.ApplicationServices用于定义和注册新的AutoCAD命令,Autodesk.AutoCAD.Geometry用于执行2D和3D的几何操作等。命名空间中的类提供了很多功能和方法,可以满足不同的开发需求。 在进行AutoCAD二次开发时,我们需要为我们的代码添加CommandMethod属性,以便在AutoCAD中调用我们自定义的命令。引用中给出了一个示例代码,展示了如何在类代码开头加入CommandMethod属性,并定义一个名为HW的命令。 AutoCAD二次开发的应用非常广泛,在建筑与设计行业中尤为常见。引用中提到,基本的CAD操作往往无法满足实际需求,会产生大量的重复性操作,而二次开发可以解决这个问题,实现对AutoCAD功能的扩展和自定义。 总结起来,AutoCAD二次开发是通过编写程序代码实现对AutoCAD的功能扩展和自定义。我们可以使用命名空间中提供的类和方法来操作AutoCAD中的图形对象和执行各种几何操作。通过添加CommandMethod属性,我们可以在AutoCAD中调用我们自定义的命令。AutoCAD二次开发在建筑与设计行业中有着广泛的应用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [AutoCAD二次开发_从入门到放弃](https://blog.csdn.net/qdzhouyl/article/details/82351968)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [.NET AutoCAD二次开发之路(一、基础篇)](https://blog.csdn.net/weixin_33781606/article/details/93565703)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值