在这一章中,我们将使用Visual Studio .NET来创建一个新的类库工程。通过这个工程,你可以创建一个能被AutoCAD装载的.NET dll文件。这个dll文件会向AutoCAD加入一个名为“HelloWorld”的新命令。当用户运行这个命令后,在AutoCAD 命令行上将显示“Hello World”文本。
1) 新建类库。
2) 使用AutoCAD .NET托管封装类。这些托管封装类包含在两个托管模块中。要加入对这两个托管模块的引用,请用鼠标右键单击”引用”然后选择”添加引用”。在弹出的”添加引用”对话框中选择”浏览”。在”选择组件”对话框中,选择AutoCAD 2006的安装目录(这里假定为C:\Program Files\AutoCAD 2006\),在这个目录下找到“acdbmgd.dll”和“acmgd.dll”然后选择并打开。当这两个组件被加入后,请单击”添加引用” 对话框中的”确定”按钮。正如它们的名字所表示的,acdbmgd.dll包含ObjectDBX托管类,而acmgd.dll包含AutoCAD托管类。
3) 使用对象浏览器(Visual Studio.NET的”视图>对象浏览器”菜单项)来浏览加入的两个托管模块所提供的类。
4) 导入ApplicationServices, EditorInput 和 Runtime命名空间。
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
public void HelloWorld()
{
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage("Hello World");
}
6) 在AutoCAD中调试程序,让Visual Studio.NET启动一个AutoCAD进程。在解决方案管理器中右键单击“HelloWorld”,然后选择”属性”。在HelloWorld的属性页对话框中,选择” 配置属性>调试”。在”启动”项中,选择”调试模式”为”程序”,在”启动程序”的右边单击省略号按钮然后选择AutoCAD 2006安装目录下的acad.exe。设置好以后,按F5来启动一个AutoCAD进程。这样就会先编译你的程序,然后自动启动AutoCAD,而当编译后有错误的时候就会停止。
7)手动加载类库:
在AutoCAD命令行中输入NETLOAD,会出现”选择.NET组件”的对话框。选择上面生成的“HelloWorld.dll”然后打开它。
8) 自动加载类库:
(1) 工程属性对话框-->调试标签-->启动选项-->命令行参数中输入:
/nologo /b "..\..\start.scr"
让CAD自动在命令执行工程目录里的start.scr文件。
(2) 然后就是在工程目录的根目录创建一个文本文件,名字取为“start.scr”,并在此文件中输入如下文本:
netload "..\..\bin\debug\lubanren_2008.dll"
(3) 按F5。
9)在命令行中输入“HellowWorld”。如果一切顺利的话,命令行中将显示“Hello World”文本。切换到Visual Studio.NET,在ed.WriteMessage(“Hello World”);语句处加入一个断点。在AutoCAD中再次运行HelloWorld命令,你会注意到你可以跟踪代码的运行。Visul Studio.NET的”调试”菜单有好几项可以用来跟踪程序的运行。