AutoCAD .NET开发1:环境搭建

AutoCAD,CAD(Computer Aided Design)计算机辅助设计,是计算机技术的一个重要的应用领域。AutoCAD是美国Autodesk公司开发的交互式绘图软件。其具有强大的功能,其功能特点如下:

l具有完善的图形绘制功能;

l具有强大的图形编辑功能;

l可以采用多种方式进行二次开发或用户定制;

l可以进行多种图形格式的转换,具有较强的数据交换功能;

l支持多种硬件设施;

l支持多种操作平台;

l具有通用性、易用性,适用于各类用户。

 

AutoCAD二次开发的开发方式:

1.ADS开发

ADS(AutoCAD Development System)是AutoCAD的C语言开发系统,ADS本质上是一组可以用C语言编写AutoCAD应用程序的头文件和目标库,直接利用流行的C语言编译器,将应用程序编译成可执行的文件并在AutoCAD环境下运行。可以在这种情况下直接运行的可执行文件叫做ADS应用程序。ADS由于其速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理。

2.ObjectARX/ObjectDBX

ObjectARX(Object Runtime eXtension)是一种崭新的开发AutoCAD应用程序的工具,以C++为编程语言,采用先进的面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,故此其基于C++编程语言。

ObjectDBX(DataBase eXtension)包含了一系列动态链接库,通过他们可以对DWG数据进行扩展,建立包含在AutoCAD图形文件中的自定义对象,也可以使生成的应用程序在AutoCAD环境外对DWG图形进行处理。

以上两者之间的距离最明显的差别在于ObjectARX需要AutoCAD作为宿主程序,而ObjectDBX可以基于任意的宿主程序。ObjectDBX的支持下使得AutoCAD二次开发中数据库操作、业务逻辑、用户界面的开发可以分离。

3.AutoLISP/Visual LISP

AutoLISP基于简单易学而又功能强大的LISP(List Processor,ps:管你简单还是功能强大,博主我不会)编程语言,由于AutoCAD具有内置LISP解释器,AutoCAD能够直接读取AutoLISP代码,无需编译。因而可以在命令行中输入AutoLISP代码,或从外部文件加载AutoLISP代码。AutoLISP应用程序可以通过多种方式与AutoCAD交互。能够提示用户输入、直接访问内置AutoCAD命令,以及修改或创建图形数据库中的对象。通过创建AutoLISP程序,可以向AutoCAD添加专用命令。实际上,某些标准AutoCAD命令就是AutoLISP应用程序。其特点为:

lAutoLISP语言编写出来的程序可读性非常强。

l是AutoCAD内置语言,调试非常方便,与AutoCAD无缝集成

l数据结构灵活多变,且可以调用绝大部分AutoCAD的内置命令。

VisualLISP(以下简称VLISP)是为了加速AutoLISP程序开发而设计的软件工具。AutoLISP通过VLISP进一步得到增强,VLISP提供了一个集成开发环境(IDE).其中包括编译器、调试器和其他提高生产效率的开发工具,用户在命令行下输入代码后可立即看到结果。这使得AutoLISP语言容易调试。VLISP添加了更多的功能,并对语言进行了扩展以与使用ActiveX的对象进行交互。VLISP也允许AutoLISP通过对象反应器对事件进行响应。VLISP为AutoLISP应用程序提供三种文件格式选项:

lLSP文件(.lsp):AutoLISP程序代码的ASCII文本文件。

lFAS文件(.fas):单个LSP程序文件的二进制编译版本。

lVLX文件(.vlx):一个或多个LSP文件或对话框控制语言(DCL)文件的编译集合。

4.VBA/COM:

从2012以后的新版本中AutoCAD将不再支持VBA开发所以我也就不再叙述

5.AutoCAD.NET

从AutoCAD2006开始,Autodesk为其开发增加了.NET API。.NET API提供了一些列外包类(Managed Wrapper Class),使开发人员可在.NET Framework下,使用任何支持.NET的语言。(ps:由于博主刚开始做AutoCAD二次开发,而博主之前做的室C#所以就先重.NET开发说起)。

 

 

5种基于AutoCAD开发方式对比

我觉得5种开发方式的不同点在于AutoCAD平台的特性以及依托语言不同吧。

 

 

既然决定了以.NET为二次开发的方式,那么我们先在来部署AutoCAD二次开发的环境。首先当前.NET开发的编译器使使用微软的Microsoft 的Visual Studio(以下简称VS),博主已经习惯了VS2010所以我们先安装一下VS2010,熟悉.NET开发的我相信VS2010的安装已经是轻车熟驾了,在此我就不介绍VS2010的安装了,之后我们来看一下AutoCAD2010的安装了,如下:便是其安装破解的过程。

l下载解压缩,双击exe文件开始安装;

l软件将自动解压出来,解压默认目标文件夹为“C:\Autodesk\”;

l解压完成后,软件将自动弹出安装界面,选择简体中文版后,点击“安装产品”按纽;

l默认只安装autocad 2010,autodesk design review 2010可以根据自身的需要选择安装;

l选择“我接受”;

l输入cad2010的序列号和密钥;使用下列序列号:356-72378422,666-69696969, 667-98989898,400-45454545或653-12354321等任意一个产品序列号,产品密钥一律为001B1;

l选择要配置的产品,这一步一般按默认操作即可;

l软件自动安装vc2008、dirextx9.0等组件;

l正在安装,请稍后;

l软件成功安装;

11、打开软件,对cad2010进行初始设置,选择和你相关的工作领域,小编选“建筑”;

l优化你的默认工作空间,在这里小编全部选择;

l指定图形样板文件,按默认即可;

l弹出注册界面,选择激活;

l这时打开软件包中的cad2010注册机,将申请号复制到“request”框中,点击“Generate”按纽得到激活码;

l再点击“Mem Patch”弹出“Successfully patched”代表可以进行下一步操作;

l复制激活码到注册界面,再点击下一步;

l点击完成按纽后,软件已经成功激活,现在你拥有了一个完全免费的autocad2010 64位破解版本啦。

l打开软件,如下图

 

当我们做的这里的时候,我们的二次开发环境便部署好了,那么我现在来在AutoCAD上输出一个Hello World来验证部署的效果。

1.打开VS2010,创建一个工程。

2.创建后,由于AutoCAD的.NET Framework环境为3.5,所以设置类库的目标框架为.NET Framework 3.5。

3.我们需要加载AutoCAD的外部类。

添加引用--浏览--从AutoCAD2008的安装目录下,找到引用acdbmgd.dll和acmgd.dll

4.设置调试中的外部启动程序为AutoCAD2010

5.如此我们编写HelloWorld的代码。

6.编写后F5开始运行。将会启动AutoCAD

7.打开AutoCAD后我们加载我们程序的dll文件,在命令栏输入NETLOAD弹出加载框后,选择生成的dll文件。

8.加载后,我们在命令栏输入HelloWorld,将会输出我们定义的HelloWorld CAD

至此环境部署完毕,程序编写完毕。

 

PS:

1.首先很多理论性的论述是参考《深入浅出AutoCAD.NET二次开发.李冠亿》

2.感谢同学PHC的帮助,以及通过资料

3.刚刚走通,AutoCAD二次开发也刚刚做到这,后续应该还有。可能有很多问题,希望大神斧正。

阅读更多
文章标签: AutoCAD开发
个人分类: AutoCAD开发
想对作者说点什么? 我来说一句
相关热词

没有更多推荐了,返回首页

关闭
关闭
关闭