CAD二次开发(C#)第一个例子
2017-06-26 21:21
781 查看
个人开发平台: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
{
[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 “
“`
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 “
“`
相关文章推荐
- CAD二次开发(C#)第二个例子
- Ruby on rails开发从头来(windows)(四)-第一个添删查改例子
- 对C#开发经验技巧宝典-如何对计算结果四舍五入例子的异议
- 我的Firefox插件开发之旅(5)——编译和测试第一个Plugin例子:npruntime(转载)
- Windows From 开发第一个例子
- 用C#开发第一个WINDOWS应用程序
- android 在 windows 下开发的第一个例子
- 用C#开发第一个WINDOWS应用程序
- 有简易通用权限管理后台的快速C# ASP.NET开发的例子应用程序卖给了曾长期开发JAVA银行程序的大哥
- Silverlight 4 开发 第一个例子
- 用C#开发第一个WINDOWS应用程序
- 《Windows Mobile 平台应用与开发》C#【人出版】例子下载!
- c# socket 同步开发小例子
- 我的Firefox插件开发之旅(5)——编译和测试第一个Plugin例子:npruntime
- 用C#开发第一个WINDOWS应用程序
- web服务器控件的开发例子 C# .net
- 我的Firefox插件开发之旅(5)——编译和测试第一个Plugin例子:npruntime
- 有简易通用权限管理后台的快速C# ASP.NET开发的例子应用程序卖给了曾长期开发JAVA银行程序的大哥
- 第一个C#软件开发出BETA版本了
- 有简易通用权限管理后台的快速C# ASP.NET开发的例子应用程序卖给了曾长期开发JAVA银行程序的大哥