您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页基于.NET的CAD二次开发学习笔记一:CAD开发入门

基于.NET的CAD二次开发学习笔记一:CAD开发入门

来源:意榕旅游网
基于.NET的CAD⼆次开发学习笔记⼀:CAD开发⼊门

1、AutoCAD .NET API由不同的DLL⽂件组成,它们提供⽤于访问图形⽂件或AutoCAD应⽤程序的包含丰富的类、结构、⽅法和事件。每⼀个DLL⽂件都定义不同的使⽤基于功能的库组织组件的命名空间。下⾯是你将频繁地要使⽤的AutoCAD .NET API 的三个主要的DLL⽂件: AcDbMgd.dll. 当使⽤图形⽂件中的对象时使⽤这个DLL⽂件。 AcMgd.dll. 当使⽤AutoCAD应⽤程序时使⽤这个DLL⽂件。 AcCui.dll. 当使⽤⾃定义⽂件时使⽤这个DLL⽂件。

注意:在创建CAD项⽬时,需要引⽤到以上DLL,⼀般来说前⾯两个使⽤的较多。AutoCAD .NET API DLL被引⽤,就必须设置引⽤DLL⽂件的“复制到本地”属性为False。复制到本地属性确定当Microsoft Visual Studio编译⼯程时是否创建⼀个引⽤DLL⽂件的副本并将它放在与⼯程的程序集⽂件相同的⽬录下。由于引⽤⽂件已经是AutoCAD附属⽂件,因此,创建引⽤⽂件的副本后当加载程序集⽂件到AutoCAD中时将可能引发意想不到的结果。

2、在.NET 类中加⼊CAD能调⽤的命令,必须⽤到CommandMethod属性,这个属性由Runtime命名空间提供。代码如下所⽰

1 Imports Autodesk.AutoCAD.Runtime

2 Imports Autodesk.AutoCAD.ApplicationServices 3 Imports Autodesk.AutoCAD.DatabaseServices 4

5 Public Class MyHello

6 _ 7 Public Sub Hello()

8 '获取当前活动⽂档的Editor对象,

9 Dim Doc As Autodesk.AutoCAD.ApplicationServices.Document = Application.DocumentManager.MdiActiveDocument10 Dim Ed As Autodesk.AutoCAD.EditorInput.Editor = Doc.Editor11 Ed.WriteMessage(\"Hello\")12

13 End Sub14 End Class

3、CAD项⽬⽣成类库后,可在 AutoCAD 的命令提⽰符中,输⼊ netload 命令,并选中⽣成的DLL,加载CAD项⽬,即可在CAD中使⽤CommandMethod指定的命令。

4、CAD调试(以CAD2010、VS2010为例):右键打开项⽬属性-->调试-->选择启动外部程序 \\AutoCAD2010\\acad.exe

断点不起作⽤如下

(解决⽅法摘⾃:http://www.cnblogs.com/junqilian/archive/2010/04/29/1724403.html)

断点不起作⽤的原因在于Visual Studio 2010在调试时启动了默认的debugger(v4.0),但是为了让我们的.net应⽤程序能在AutoCAD Map (或Revit)等上运⾏,我们需要.net 2.0 framework( 3.5也是运⾏在CLR 2.0之上的)。解决办法有如下两个⽅案:⽅案1

编辑宿主程序的config ⽂件(acad.exe.config, revit.exe.config等等),这个⽂件在AutoCAD的安装⽬录下。在前⾯加上下⾯的代码(CAD2010该⾏代码已被注释):

⽅案2

把宿主exe⽂件作为⼀个已有的项⽬加到您的解决⽅案中,并把debugger设置为v2.0

右键单击Solution Explorer,选择Add->Existing Project,浏览到AutoCAD的启动⽂件Acad.exe

右键单击该项⽬,把它设置为启动项⽬ Set as StartUp Project

打开项⽬属性对话框 Properties

设置 Debugger Type 为 Managed v2.0

5、对于不同的AutoCAD版本,推荐使⽤的.NET Framework版本如下:2007-2009 -> Framework 2.02010-2011 -> Framework 3.52012-2013 -> Framework 4.0

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务