admin管理员组

文章数量:1604455

前言
本博文主要介绍利用C#对CAD进行二次开发,结合了ObjectARX功能强大的特点和VBA易用的特点,通过实战项目对C#开发CAD进行一个简要的介绍。

1.CAD的安裝

首先我们需要安装CAD,不同版本的CAD所对应的.NET版本不同,这里我安装的CAD版本为2010,从网上下载好安装包之后,进行安装。详细安装流程可参考 https://jingyan.baidu/article/03b2f78c1bdfd05ea337ae66.html

2.VS2012的安装

这里我们开发环境选择VS2012,当然选择VS2015也是可以的,读者可在官网下载相应的版本。如果遇到无法卸载VS2015的情况,可利用这个工具进行卸载:https://download.csdn/download/qq_26739139/10974619 安装好之后我们就可以进行环境的配置了。

3.配置VS2012

CAD和VS2012安装完毕之后,我们就可以开始准备环境的配置了,首先我们新建一个类库项目,然后再引用CAD的两个dll文件,在CAD的安装目录下的找到这两个文件,acmgd.dll和acdbmgd.dll,由于VS2012的.NET版本较高,而CAD2010的.NET版本为3.5,可能会出现不兼容的情况,所以需要把项目的目标框架改为.NET3.5。

4.第一个AutoCAD程序

下面我们来实践一下,上面我们新建了一个类库项目,名字默认Class1,引用上面所说的两个文件,并将项目目标框架改为.NET3.5。在Class1中敲入一下代码:

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;

接下来在Class1类中加入命令Hello。要加入能在AutoCAD中调用的命令,就必须要使用CommandMethod属性,这个属性由Runtime命名空间提供。

	public class Class1
	{
		[CommandMethod("Hello")]
		public void Hello()
		{
		    //获取当前活动文档的Editor对象,也就是命令行
			Editor ed  = Application.DocumentManager.MdiActiveDocument.Editor;
			//调用Editor对象的WriteMessage函数在命令行上显示文本
			ed.WriteMessage("Hello, 欢迎进入.NET 开发CAD世界");
		}
	}

接下我们选择生成解决方案或快捷键F6编译程序,如果显示生成成功则表示程序已经成功被编译。启动AutoCAD2010,使用NetLoad命令装在编译好的托管程序,在CAD中执行NetLoad命令,会弹出一个对话框,找到项目中生成的Hello.dll,然后打开它。
这时在CAD命令行中输入hello并按Enter键,就会显示下图所示。


这里介绍一个小技巧,如果在做大项目的时候,每次都在CAD中执行NetLoad命令,会很耽误效率,在CAD安装目录下的Support文件夹中找到acad2010.lsp文件,打开在最下方输入以下指令 (command “netload” “你項目生成的dll路徑”),这样就不用每次运行CAD就执行NetLoad命令了。

由此,CAD和C#的环境配置已基本完成了,项目主要参考资料为

AutoCAD VBA&VB.NET开发基础与实例教程(第二版)

有兴趣的读者可以阅读学习一下!

本文标签: 实战环境cad