- 专家问诊,提供专业建议
- 急速响应,体验省心
- 根据需求灵活定制解决方案
c#对cad二次开发
标签:c#对cad二次开发 2017-7-25 作者:唐明霞
下面是小编为大家介绍的c#对cad二次开发,供大家参考。
c#对cad二次开发——vs2010 开发AutoCAD 2008 类库
建立动态库,从AutoCAD命令行使用NETLOAD调入,然后执行其方法
一、c#对cad二次开发之创建项目
1,建一个wxindows窗体程序“项目”,设置输出为“类库”
2,添加引用--浏览--从AutoCAD2008的安装目录C:\Program Files\Autodesk\MDT 2008下,找到引用acdbmgd.dll和acmgd.dll
3,引用如下命名空间
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.Runtime;
4,方法名前,加特性 CommandMethod
5,完整代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.Runtime;
namespace ClassLibrary2
{
public class Class1
{
[CommandMethod("HelloWorld")]
public void HelloWorld()
{
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage("HelloWorld CAD!");
}
}
}
二、c#对cad二次开发之工程的目标框架版本
在 vs2010 中 开发,默认的版本是.NET Framework 4.0版本高,对于引用AutoCAD 2008,将无法编译
在工程的属性中,目标框架是 改为 .NET Framework 2.0 或者.NET Framework 3.5 就可以了
三、c#对cad二次开发之调试的方法设置
vs2010生成 AutoCAD2008 类库调试方法
属性中 --调试-- 外部启动程序:
C:\Program Files\Autodesk\MDT 2008\acad.exe
四、启动AutoCAD 2008
1 在vs2010的开发环境,编译链接完成后,按F5键启动调试,等待自动启动AutoCAD 2008完成后,
2 在命令行输入:NETLOAD,弹出装入类库的对话框,浏览找到刚编译形成的类库,ClassLibrary2\ClassLibrary2\bin\Debug\ClassLibrary2.dll
3 在命令行输入: HelloWorld,
将会提示是:未知的命令,原因是acdbmgd.dll acmgd.dll版本过高所致
五 重新引入较低版本的动态库
AutoCAD 2008 自带的动态库 acdbmgd.dll acmgd.dll ,版本 17.1.0.0,运行时版本 v2.0.50727
版本高 ,在vs2010工程中引用后,虽可以生成的动态库,但在AutoCAD中NETLOAD可以装入,但执行其中的方法,提示是未知的命令,有两种方法:
1 引用AutoCAD的安装目录下的acdbmgd.dll 和acmgd.dll的版本是 17.1.0.0,从其属性中将“复制本地” 改为 “False”,这样形成的dll 的方法,在AutoCAD中就可以认识,不再是未知的命令
2 可以到网上下载较低的版本,比如我下载如下的版本,添加引用它们就可以了
版本 16.2.54.0
运行时版本 v1.0.3705
以上就是小编介绍的c#对cad二次开发,希望对你有所帮助。
软件开发暂无最新文章查看全部推荐文章>
推荐人才
免责声明:
网站文章均由网站用户自行通过本网站系统平台投稿编辑整理发布,仅供学习与参考, 不代表本网站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系我们,我们将及时删除。