AutoCAD.NET二次开发(一)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

⼆次开发(⼀)
⼆次开发(⼀)
其他话不多说,直接进⼊主题,既然是⼆次开发,当然是⽤CAD 平台已经封装好了很多类,我们需要熟悉和使⽤它们。

常⽤的AutoCAD .NET API 的四个主要DLL ⽂件是:AcDbMgd.dll
处理图形⽂件中存储的对象 AcMgd.dll
处理AutoCAD 应⽤程序和⽤户接⼝ AcCui.dll
处理⾃定义⽂件 AcCoreMgd.dll 处理编辑器、发布与打印、定义AutoLISP 命令和函数AutoCAD 2014版
我们现在不必去深究这些类库的构造,这四个引⽤ 的位置可以在CAD 的安装路径下找到,(<盘符>:\program Files\AutoCAD 2013),先来⼀个测试实例:
新建类库项⽬,添加AcDbMgd 和AcMgd 引⽤,将引⽤的"复制本地"属性设置为
False
设置项⽬属性中"调试"启动外部CAD
程序。

添加测试代码,新建⼀个DWG ⽂件。

启动调⽤,程序将打开Cad2013,在命令⾏中输⼊"netload",加载⽣成的dll⽂件,输⼊命令"NEWDWG"进⾏测试。

在调试过程中遇到的主要问题有:
问题⼀:未能找到类型或命名空间名称"CommandMethod"(是否缺少 using 指令或程序集引⽤?)
解决:如果是13以上的版本,除了添加AcDbMgd和AcMgd引⽤外,还应添加accoremgd引⽤,然后就是using了。

问题⼆:特性"CommandMethod"对此声明类型⽆效。

它只对"method"声明有效。

解决:CommandMethod语句之后的有效⾏必定要是⼀个函数。

问题三:程序集⽣成 -- 引⽤的程序集"accoremgd.dll"针对其他处理器
解决:操作系统版本问题,将⽬标平台改为x64即可。

问题四:netload加载时错误: 未能完成程序集的安装(hr = 0x8007000b)。

探测终⽌。

解决:Framework平台是4.0,其中的Linq引⽤有问题,不⽤它,去掉即可。

相关文档
最新文档