首页 > 编程 > .NET > 正文

Autodesk官方最新的.NET教程(一)(C#版)

2024-07-10 13:04:54
字体:
来源:转载
供稿:网友
  第 1章         hello world: 访问 objectarx .net 封装类       在这一章中,我们将使用visual studio .net来创建一个新的类库工程。通过这个工程,你可以创建一个能被autocad装载的.net  dll文件。这个dll文件会向autocad加入一个名为“helloworld”的新命令。当用户运行这个命令后,在autocad 命令行上将显示“hello world”文本。 1)         启动visual studio.net,选择”文件>新建>工程”(file> new> project)。在新建工程对话框中选择工程类型为”visual c#工程”,然后选择”类库”模板,在工程名字框中输入”lab1”,然后选择工程存放的位置。点击确定按钮来创建工程。2)         在工程的class1.cs文件中,一个公有类“class1”已经被系统自动创建了。接下来向这个类加入命令。要加入命令,你必须使用autocad .net托管封装类。这些托管封装类包含在两个托管模块中。要加入对这两个托管模块的引用,请用鼠标右键单击”引用”然后选择”添加引用”。在弹出的”添加引用”对话框中选择”浏览”。在”选择组件”对话框中,选择autocad 2006的安装目录(这里假定为c:/program files/autocad 2006/),在这个目录下找到“acdbmgd.dll”然后选择并打开它。再一次选择”浏览”,在autocad 2006的安装目录下找到“acmgd.dll”并打开它。当这两个组件被加入后,请单击”添加引用” 对话框中的”确定”按钮。正如它们的名字所表示的,acdbmgd.dll包含objectdbx托管类,而acmgd.dll包含autocad托管类。3)         使用对象浏览器(visual studio.net的”查看>其它窗口>对象浏览器”菜单项)来浏览加入的两个托管模块所提供的类。请展开“autocad .net managed wrapper”对象(在对象浏览器中显示为acmgd),在整个教程中我们将使用这个对象中的类。在本章中,我们将使用 “autodesk.autocad.editorinput.editor”类的一个实例来在autocad命令行中显示文本。请再展开“objectdbx .net managed wrapper” 对象(在对象浏览器中显示为acdbmgd),这个对象中的类将被用来访问和编辑autocad图形中的实体(这部分内容将在以后的章节中介绍)。4)         引用了objectarx .net 封装类后,我们就可以导入它们。在class1类的声明语句(位于class1.cs文件的顶部的)之前,导入applicationservices, editorinput 和 runtime命名空间。 using autodesk.autocad.applicationservices;using autodesk.autocad.editorinput;using autodesk.autocad.runtime; 5)         接下来在类class1中加入命令。要加入能在autocad 中调用的命令,你必须使用“commandmethod”属性。这个属性由runtime命名空间提供。在类class1中加入下列属性和函数。 [commandmethod("helloworld")]     public void helloworld(){ } 6)         当“helloworld”命令在autocad中运行的时候,上面定义的helloworld函数就会被调用。在这个函数中,一个editor类的实例将被创建。editor类拥有访问autocad命令行的相关方法,它还包括选择对象和其它一些重要的功能。autocad当前活动文档的editor对象可以使用application类来访问。当editor对象被创建后,你可以使用它的writemessage方法在命令行中显示“hello world”文本。在helloworld函数中加入以下代码: editor ed = application.documentmanager.mdiactivedocument.editor; ed.writemessage("hello world"); 7)         要在autocad中调试这个程序,你可以让visual studio.net启动一个autocad进程。在解决方案管理器中右键单击“lab1”,然后选择”属性”。在lab1的属性页对话框中,选择” 配置属性>调试”。在”启动”项中,选择”调试模式”为”程序”,在”启动程序”的右边单击省略号按钮然后选择autocad 2006安装目录下的acad.exe。设置好以后,按f5来启动一个autocad进程。这样就会编译你的程序然后自动启动autocad,而当编译后有错误的时候就会停止。请修正你可能碰到的任何错误。8)         “netload”命令被用来装载托管程序。在autocad命令行中输入netload,会出现”选择.net组件”的对话框。选择上面生成的“lab1.dll”然后打开它。9)         在命令行中输入“hellowworld”。如果一切顺利的话,命令行中将显示“hello world”文本。切换到visual studio.net,在ed.writemessage(“hello world”);语句处加入一个断点。在autocad中再次运行helloworld命令,你会注意到你可以跟踪代码的运行。visul studio.net的”调试”菜单有好几项可以用来跟踪程序的运行。       如果有时间的话,请浏览一下commandmethod属性。你会发现它有七种不同的形式。在上面的例子中,我们使用了最简单的形式,它只有一个输入参数(命令的名字)。你可以使用其它的形式来控制命令的工作方式,例如你可以确定命令组的名字、全局和局部名字、命令标识(命令如何来运行)等。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表