CAD二次开发(C#)第一个例子

来源:互联网 发布:金汇宝炒股软件 编辑:程序博客网 时间:2024/05/21 08:35

个人开发平台:vs2010,win7,CAD2010

C#开发CAD的顺序:
1.建立类库
2.添加引用:AcCui.dll,acdbmgd.dll,acmgd.dll;这三个dll在CAD的安装目录下
3.将添加的三个DLL的复制本地属性更改为False
4.将编译平台由.NET 4.0更改为.NET3.5或以下
5.在项目的调试选项中,添加启动外部选项,指定CAD的启动目录(cad.exe),debug时自动启动CAD
6.设计代码(命令):键入新设计的命令调试,设计命令时,必须使用【commandmethod(“新命令”)】属性。
7.调试 在CAD中键入 NETLOAD命令,选择生成的*.dll

示例:输出 HelloWorld

详细步骤:
1.建立一个类库项目:
这里写图片描述

这里写图片描述

2.添加引用:
AcCui.dll,acdbmgd.dll,acmgd.dll;这三个dll在CAD的安装目录下

这里写图片描述

这里写图片描述

这里写图片描述

添加完引用之后,解决方案中,引用部分如下:
这里写图片描述

3.更改三个DLL的复制本地属性为FALSE

这里写图片描述

这里写图片描述

其余2个DLL照上述操作,也把复制本地属性由true更改为False。

4.将编译平台由.NET4.0 更改为.NET3.5或以下
右键项目或者在项目菜单中,选择当前项目的属性(FirstCAD项目)
这里写图片描述

打开当前项目的属性,修改程序选择页中的目标框架,如果高于.NET3.5,更改到.NET3.5或以下。

这里写图片描述

5.在项目的调试选项中,添加启动外部选项,指定CAD的启动目录(cad.exe),debug时自动启动CAD
路径根据自己的安装情况填写
这里写图片描述

6.设计代码(命令):键入新设计的命令调试,设计命令时,必须使用【commandmethod(“新命令”)】属性

引入命名空间:
这里写图片描述

using System;using System.Collections.Generic;using System.Linq;using System.Text;using Autodesk.AutoCAD.ApplicationServices;using Autodesk.AutoCAD.EditorInput;using Autodesk.AutoCAD.DatabaseServices;using Autodesk.AutoCAD.Runtime;namespace FirstCAD{    public class Class1    {    }}最终代码效果如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Runtime;
namespace FirstCAD
{
public class Class1
{
[CommandMethod(“HelloWorld”)]//设计的新命令
public void HelloWorld()//调用HelloWorld 命令要调用的函数
{
Document acDoc = Application.DocumentManager.MdiActiveDocument;//获取当前的活动文档
Editor acEd = acDoc.Editor;//当前的编辑器对象,命令行对象?
acEd.WriteMessage(“Hello World 2017 ,LEADSOFT.ORG”);//输出字符串
}
}
}

选择生成解决方案,如果无错误,准备进行调试,如果有错,修改代码。

7.调试 在CAD中键入 NETLOAD命令,选择生成的FirstCAD.dll

选择debug,启动调试,如果前面设置启动外部选项无误,应该自动启动CAD,在CAD命令行中,键入 NETLOAD 命令
打开选择文件对话框,选择刚生成的Dll,应该为FirstCAD.dll
应该在所建立项目下debug文件下有一个FirstCAD.dll ,选择它,之后确定
;键入命令 HelloWorld,命令行输出:
“Hello World 2017,LEADSOFT.ORG “

这里写图片描述

这里写图片描述

这里写图片描述

“`

原创粉丝点击