【Hello AutoCAD 001】学习AutoCAD VB.Net开发第01课

题记:

         昨天拿到的《AutoCAD VBA&VB.Net开发基础与实例教程》,然后就是很草率的下决心学习VB.Net对AutoCAD的二次开发。

        上学的时候曾经学过AutoCAD的二次开发,当时比较感兴趣的是VBA,但是VBA有几个比较明显的弱点:一是VBA开发的程序都是开放源代码的,二是VBA功能上毕竟比较弱。

        于是想使用Vb.Net进行AutoCAD的开发,于是就买了这本号称国内第一本的介绍AutoCAD VB.Net开发的书。

题记2:

        看过两遍电影《朱莉与茱莉亚》,也想仿效朱莉把自己的学习动态记录下来。

 

 

声明:本人是纯种的编程爱好者,不是科班出身,说了什么行外话或者有什么错误,急切的请各位大虾们批评指正,不胜感激。

 

OK,开篇:Hello world!

 

《AutoCAD VBA&VB.Net开发基础与实例教程》前面多半是关于《VBA》的介绍,不是不感兴趣,是真的没时间去研究了,于是从第15章开始,也即从“.Net开发AutoCAD入门”一章开始。

 

书中用的.Net平台是Visual Studio 2005,AutoCAD版本是2007。我习惯使用Visual Studio 2008,而AutoCAD使用2006。大体上应该是一样的(我想)。

 

第一个程序的步骤是这样的:

1. 新建类库;

2. 加载引用:加载AutoCAD目录下的acdbmgd.dll和acmgd.dll两个程序集(组件),并将两个引用的“复制本地”属性设为False;

3. 在代码窗口顶部添加导入命名空间:

 

1 Imports Autodesk.AutoCAD.ApplicationServices
2  Imports Autodesk.AutoCAD.EditorInput
3  Imports Autodesk.AutoCAD.Runtime

 

4. 在Class1中添加代码:

 

代码
Public Class Class1
<CommandMethod("Hello")> _
Public Sub Hello()
'获取当前活动文档的editor对象,也就是命令行
Dim Ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor
'调用Editor对象的WriteMessge函数在命令行上显示文本
Ed.WriteMessage("欢迎进入.Net开发AutoCAD的世界!TranSteel")

End Sub
End Class

 

5. 运行:

5.1 启动外部程序:在本解决方案的属性中修改调试选项卡,在“启动操作”中选择启动外部程序按钮,并找到acad.exe文件。

5.2 运行程序,会自动启动AutoCAD,在AutoCAD中使用NetLoad命令,选择生成的Hello.dll文件(在..\Hello\bin\debug下),打开该dll,输入命令“Hello”,观看效果,若在AutoCAD的命令窗口中出现“欢迎进入.Net开发AutoCAD的世界!TranSteel”,则运行成功,否则肯定是哪里出错了。

 

以上便是教材中的标准步骤,在我操作的工程中,遇到了有关“托管代码”的问题。即


 

 

 

 

 

 

 

 

 

 

网络上随便搜搜,找到了解决方法(具体为什么,本着“好读书不求甚解”的精神,暂且放下,等咱成了.Net高手再返回头来深究):

菜单—调试—异常—Managed Debugging Assistants—LoaderLock的“引发”选择不选。

 

End

posted @ 2010-06-27 15:36  TranSteel  阅读(1504)  评论(0编辑  收藏  举报