一、 VS和CAD版本问题
Microsoft Visual Studio是不依赖AutoCAD运行的面向对象编程环境。虽然Microsoft Visual Studio是AutoCAD及其他应用程序的外部环境,但它能与那些公开了自己的本地.NET API或ActiveX/COM库的应用程序进行交互。

https://blog.csdn.net/l93919861/article/details/83963673[各版本CAD VS ObjectARX的对应关系]

二、 VS + CAD 环境搭建
步骤:

  1. 创建类库项目:新建项目 -> 创建类库 -> 添加新的引用
  2. 添加新的引用:右击引用 -> 添加引用 -> l浏览 -> 到CAD安装目录下找到 AcCui.dll acdbmgd.dll acmgd.dll accoremgd.dll AdWindows.dll文件添加
  3. 将刚刚新添的引用文件复制本地改为False:选中文件 -> 属性 -> 复制地址 -> False
  4. 新建类,类中添加所示引用,若添加成功则说明开发环境已经完毕,可以进行开发
    二、VS + CAD 环境调试
    在VS中调试代码,直接进行调试的话VS会报错,因为这个是类库文件,不是一些exe文件之类的,所以需要调试的话我们需要外部启动CAD。
    步骤:
  • 打开CAD安装根目录,找到acad.exe.config文件,打开,在文件中添加:
  • 调试之前启动外部程序。在类库项目上右键->属性,在启动外部程序中,找到CAD安装目录下的acad.exe文件。
  • 添加程序:CAD命令栏输入netload -> 找到工程文件(*.dll)路径(一般在Debug或者Release目录下) -> 选中文件添加 -> 加载 -> 在命令行输入代码中自定义命令[Hello]

类中添加Hello方法

 [CommandMethod("SayHello")]public void SayHello(){Editor editor = Application.DocumentManager.MdiActiveDocument.Editor;editor.WriteMessage("Hello World");}

程序解释:
Hello方法上面有一个CommandMethod的特性,CAD在运行的时候会搜索所有有CommandMethod特性的方法来作为命令入口。
所以在CAD中输入SayHello命令就会执行该方法内的动作。

在方法内我们获取了一个Editor对象,该对象表示CAD的命令行输入输出区域。我们也可以看到这个Editor对象是通过应用程序 → 文档管理器 → 当前文档 → Editor来获取的。

问题解决方法:
1) 输入命令,却显示为未知命令
a. 检查引用文件复制本地的属性是否已经改成False
b. 调试页面启用调试器选择 “启用本机代码调试”【这是导致本次问题的源头】

2) 出现处理器框架不匹配警告
a. 试着将项目属性 -> 生成 -> X64 可以解决

CAD二次开发(C#) CAD2017+VS2015 (一 环境配置)相关推荐

  1. CAD二次开发--CAD2007(.Net3.5环境)等低版本CAD二次开发在VS中无法捕获断点调试解决办法(CAD二次开发无法断点调试解决办法)

    目录 1.说明 2.解决办法 1.说明 在进行CAD二次开发的时候如果想进行断点调试,众所周知,在VS环境里设置断点后直接启动类库项目就好了,只需要在启动项属性里设置下"启动外部程序&quo ...

  2. cad二次开发-在vs编译软件环境下使用c#语言编写dll文件-新建图层

    //LayerColer的值可取1~255代表不同颜色,代表的颜色可参考cad图层管理器中的颜色设置 public void CreateLayer(short LayerColer,string L ...

  3. cad二次开发-在vs编译软件环境下使用c#语言编写dll文件-添加单行文本

    //调用时-方法参数列表填写文字写入位置,以及要写的文字,sx.sy填写0(sx和sy代表文字对齐坐标),或填写文字对齐坐标-单行文字-角度填写1~360度public void addText(do ...

  4. cad二次开发c#学习记录1——hello carrot!

    准备工作:安装Autocad和VS2015.过程略.购买参考书<Autocad开发基础与实例教程c#版>,个人感觉看完这本书基本可以做些自己相关的实用的cad二次开发了. 打开vs,新建- ...

  5. C#CAD二次开发视频全套介绍及基础环境搭建

    本人录制c#CAD二次开发视频 基础入门全套,感兴趣可以淘宝搜索店铺 PT的cad小店 https://i.xue.taobao.com/detail.htm?spm=a2174.7765247.0. ...

  6. cad二次开发程序的绿色安装

    此问题的引入是因为一个cad二次开发软件,客户要求做成绿色安装.何为绿色安装呢?软件包copy到一台电脑上(已安装CAD),双击exe,打开的界面包含自定义的菜单.菜单的图标能正确显示.每个功能能使用 ...

  7. intersect 相交 范围_关于CAD二次开发中(范围线自相交)相交线的问题

    CAD二次开发对于毕业没多久,又是半路出家的我来说,是一个很大的挑战,遇到过很多难以解决的问题,这次在CAD二次开发遇到一个很苦恼的问题:判断 一个由线段组成的闭合区域中,是否存在着相互之间相交的线段 ...

  8. CAD 二次开发 图层操作(1)创建图层

    CAD二次开发的资料比较少,除了李冠亿先生的<深居浅出AutoCAD二次开发>这本书之外,目前没有找到合适的参考资料.现将自己工作中用的的一些方法贴出来.方便各位网友快速入门. #regi ...

  9. CAD 二次开发 图层操作(3)取得指定图层下的所有对象id

    对于CAD二次开发的人来说,可能需要对某一图层下的实体(点,线,面域,块,三维实体)进行不同的操作.下面的方法,即可实现获取指定图层名称下的所有实体ID. 输入参数为图层名称: 返回值为:对象主键集合 ...

最新文章

  1. css3 动画 火箭,CSS3 火箭发射动画 寓意创新起航
  2. jquery效果案例学习站
  3. sql server检查临时表是否存在
  4. python django图书管理系统_Python框架:Django写图书管理系统(LMS)
  5. 谷歌,IE,火狐浏览器内核
  6. 八款最佳的远程桌面工具
  7. Excel设置(单行或多行)固定表头的方法
  8. 如何不靠运气变得富有 (十四) —— 特殊技能(specific knowledge)极富创造性或技术性
  9. 快速排序(快排) (C语言实现)
  10. windows10怎么卸载计算机,Win10怎么卸载声卡驱动?电脑声卡驱动怎么卸载?
  11. floyd算法----牛栏
  12. deepin官方历史版本存档
  13. Unity中国象棋(二)——走棋
  14. MATLAB之易经卜卦程序+GUI
  15. 微信分享链接不显示缩略图
  16. 软件设计之UML—UML的构成[上]
  17. Let's go home 【2-sat 经典作图】+【scc判定有无解】
  18. scrollbar滚动条修改样式
  19. 时间类Carbon的安装和使用
  20. 基于WebRTC实现1v1音视频聊天室

热门文章

  1. KL Divergence
  2. 自媒体辅助工具,辅助你打造爆款内容
  3. 计算机要通过手机传播,如何将手机与电脑连接起来,从而把手机里的照片和视频传到电脑上?...
  4. (转)手机网站前端开发经验总结
  5. 电子地图2007_科技观察 ▏电子地图,不止出行!
  6. 操作系统——设备管理
  7. 一文读懂梯度下降背后的数学原理几何
  8. 阿里云物联网平台实现MQTT通信(MQTT.fx测试)
  9. 安装新版本Cmake
  10. 计算机时代影视人类学发展,试论影视人类学de历史、现状及其理论框架.pdf