博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AutoCAD .NET二次开发(一)
阅读量:5966 次
发布时间:2019-06-19

本文共 884 字,大约阅读时间需要 2 分钟。

其他话不多说,直接进入主题,既然是二次开发,当然是用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引用有问题,不用它,去掉即可。

转载于:https://www.cnblogs.com/liweis/p/4560790.html

你可能感兴趣的文章
c# 多线程 调用带参数函数
查看>>
大型网站系统架构的演化
查看>>
JQuery 如何选择带有多个class的元素
查看>>
The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar
查看>>
VS快速生成JSON数据格式对应的实体
查看>>
Word2vec 模型载入(tensorflow)
查看>>
Linux内核——定时器和时间管理
查看>>
J2EE之初识JSP
查看>>
RabbitMq消息序列化简述
查看>>
别人要访问我的电脑上部署的tomcat,必须关闭防火墙吗?
查看>>
opencv2使用形态学滤波对图像进行边缘及角点检測
查看>>
Git协作流程(转)
查看>>
iOS UI-自动布局(Autoresizing)
查看>>
i.e., e.g., etc.
查看>>
计算机视觉与模式识别代码合集第二版three
查看>>
Android studio SweetAlert for Android
查看>>
sql中的CHARINDEX和暂时表
查看>>
火炬之光模型导出(Unity载入火炬之光的模型)
查看>>
git忽略文件【转】
查看>>
Web上的支持的图片格式以及它们之间的区别
查看>>