Autodesk官方最新.net开发教程C版共8章

上传人:壹****1 文档编号:488563907 上传时间:2023-01-09 格式:DOC 页数:60 大小:776.50KB
返回 下载 相关 举报
Autodesk官方最新.net开发教程C版共8章_第1页
第1页 / 共60页
Autodesk官方最新.net开发教程C版共8章_第2页
第2页 / 共60页
Autodesk官方最新.net开发教程C版共8章_第3页
第3页 / 共60页
Autodesk官方最新.net开发教程C版共8章_第4页
第4页 / 共60页
Autodesk官方最新.net开发教程C版共8章_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《Autodesk官方最新.net开发教程C版共8章》由会员分享,可在线阅读,更多相关《Autodesk官方最新.net开发教程C版共8章(60页珍藏版)》请在金锄头文库上搜索。

1、Autodesk官方最新的.NET教程(C#版)Autodesk官方最新的.NET教程(C#版)第 1 章 Hello World: 访问 ObjectARX .NET 封装类 1第 2 章.NET AutoCAD 向导及 Editor 类3第3章数据库基础:创建我们自己的 Employee对象4第4章数据库基础2:添加自定义数据 10第5章用户互操作:提示和选择 19第6章更多的用户界面:添加自定义数据 28第7章事件37第8章案例45第 1 章 Hello World:访问 ObjectARX .NET 封装类在这一章中,我们将使用Visual Studio .NET来创建一个新的类库工程

2、。通过这个工程,你可以创 建一个能被 AutoCAD装载的.NET dll文件。这个dll文件会向 AutoCAD 加入一个名为 “HelloWorld的 新命令。当用户运行这个命令后,在 AutoCAD 命令行上将显示 “Hello World”文本。1)启动 Visual Studio.NET,选择”文件 新建工程”(FileNew Project)。在新建工程对话框中 选择工程类型为” Visual C#工程”,然后选择”类库”模板,在工程名字框中输入” Lab1”然后选择工程存 放的位置。点击确定按钮来创建工程。2)在工程的Class1.cs文件中,一个公有类Class1已经被系统自动

3、创建了。接下来向这个类加入命令。要加入命令,你必须使用AutoCAD .NET托管封装类。这些托管封装类包含在两个托管模块中。要加入对这两个托管模块的引用,请用鼠标右键单击”引用”然后选择”添加引用”。在弹出的”添加引用”对话框中选择”浏览”。在”选择组件”对话框中,选择 AutoCAD 2006的安装目录(这里假定为C:Program FilesAutoCAD),在这个目录下找到“ acdbmgd.dlI然后选择并打开它。再一次选择浏览”,在AutoCAD 2006的安装目录下找到 “acmgd.dll并打开它。当这两个组件被加入后,请单击”添加引用”对话框中的确定按钮。正如它们的名字所表示

4、的,acdbmgd.dll包含ObjectDBX托管类,而acmgd.dll包含AutoCAD托管类。3)使用对象浏览器(Visual Studio.NET的”查看其它窗口 对象浏览器”菜单项)来浏览加入的两个托管模块所提供的类。请展开 “ AutoCAD .NET Man aged Wrapper对象(在对象浏览器中显示为acmgd),在整个教程中我们将使用这个对象中的类。在本章中,我们将使用“ Autodesk.AutoCAD.EditorIn put.Editor类的一个实例来在 AutoCAD命令行中显示文本。请再展开“ObjectDBX .NET Man aged Wrapper 对

5、象(在对象浏览器中显示为 acdbmgd),这个对象中的类将被用来访问和编辑AutoCAD图形中的实体(这部分内容将在以后的章节中介绍)。4)引用了 ObjectARX .NET封装类后,我们就可以导入它们。在Class1类的声明语句(位于 Class1.cs 文件的顶部的)之前,导入Applicatio nServices, Editorl nput 和 Run time 命名空间。using Autodesk.AutoCAD.Applicati on Services;using Autodesk.AutoCAD.EditorInput;using Autodesk.AutoCAD.Run

6、time;5)接下来在类Class1中加入命令。要加入能在AutoCAD中调用的命令,你必须使用CommandMethod 属性。这个属性由Run time命名空间提供。在类Class1中加入下列属性和函数。Comma ndMethod(HelloWorld)public void HelloWorld() 6)当“ HelloWorld命令在AutoCAD中运行的时候,上面定义的HelloWorld函数就会被调用。在这个函数中,一个 Editor类的实例将被创建。Editor类拥有访问AutoCAD命令行的相关方法,它还包括 选择对象和其它一些重要的功能。AutoCAD当前活动文档的 Edi

7、tor对象可以使用Application类来访问。 当Editor对象被创建后,你可以使用它的 WriteMessage方法在命令行中显示 “Hello World 文本。在 HelloWorld函数中加入以下代码:Editor ed = Applicati on .Docume ntMa nager.MdiActiveDocume nt.Editor;ed.WriteMessage(Hello World);7)要在AutoCAD中调试这个程序,你可以让Visual Studio.NET启动一个AutoCAD进程。在解决方案管理器中右键单击“Lab1;然后选择”属性”在Lab1的属性页对话框

8、中,选择”配置属性 调试”在”启动”项中,选择”调试模式”为”程序”在”启动程序”的右边单击省略号按钮然后选择AutoCAD 2006安装目录下的acad.exe。设置好以后,按F5来启动一个 AutoCAD进程。这样就会编译你的程序然后自动启动AutoCAD,而当编译后有错误的时候就会停止。请修正你可能碰到的任何错误。8)“ NETLOAD命令被用来装载托管程序。在AutoCAD命令行中输入 NETLOAD,会出现”选择.NET组件”的对话框。选择上面生成的“Iab1.dlI然后打开它。9)在命令行中输入 “ HellowWorld。”如果一切顺利的话,命令行中将显示“ Hello Worl

9、d ”文本。切换到 Visual Studio.NET,在 ed.WriteMessage( “HelloWorld”)语句处加入一个断点。在 AutoCAD 中再次 运行HelloWorld命令,你会注意到你可以跟踪代码的运行。Visul Studio.NET的调试”菜单有好几项可以用来跟踪程序的运行。如果有时间的话,请浏览一下CommandMethod属性。你会发现它有七种不同的形式。在上面的例子中,我们使用了最简单的形式,它只有一个输入参数(命令的名字)。你可以使用其它的形式来控制 命令的工作方式,例如你可以确定命令组的名字、全局和局部名字、命令标识(命令如何来运行)等。第2章.NET

10、AutoCAD 向导及Editor类在第一章中,我们使用的是类库模板,这样就不得不手工加入acdbmdg. dll和acmgd.dll这两个引用。在这一章中,我们将使用AutoCAD托管C#应用程序向导来创建.NET工程,它会自动加入以上两个引用。在开始本章之前,你首先得安装 ObjectARX向导(ObjectARX2006开发包的utilsObjARXWi zArxWizards.msi)。1)启动Visual Studio .NET,选择”文件新建工程”(FileNew Project)。在新建工程对话框中选择工程类型为” Visual C#工程”,然后选择 “AutoCAD Manag

11、ed CS Project Application模板。在工程名 字框中输入” Lab2”然后选择工程存放的位置。点击确定按钮,“ AutoCAD Man aged CSharp Application Wizard 对话框将会出现。因为我们不需要使用非托管代码,所以不要选择“ EnableUnmanaged Debuggi ng项。“ RegisteredDeveloper Symbol将会使用你在安装 ObjectARX向导时输入的值。 单击” finish 按钮来创建工程。2)下面来看一下向导生成的工程。在解决方案浏览器中,你会看到acdbmgd和acmgd已经被引用了。在 Class.

12、cs 文件中,“Autodesk.AutoCAD.Runtime 命名空间已被导入,工程使用“RegisteredDeveloper Symbol的名字来命名缺省的公有类。向导还为类加入了一个CommandMethod属性和一个函数,它们用于AutoCAD命令。3)在前一章中,我们使用一个“Autodesk.AutoCAD.Editorlnput.Editor类的实例对象在AutoCAD 命令行上输出文本。在这一章中,我们将使用这个类来提示用户在AutoCAD图形中选择一个点,然后将用户选择的点的 x,y,z值显示出来。和前一章一样,请导入 Autodesk.AutoCAD.Applicati

13、onServices 和 Autodesk.AutoCAD.Editorl nput 命名空间。4)把向导生成的 CommandMethod属性的值改为有意义一些的名字如“ selectPoint(函数的名字可以不用修改)。PromptPointOptions类用来设置提示字符串和其它的一些控制提示的选项。这个类的一个实例作为参数被传入到Editor.GetPoint方法。在函数的开始,实例化这个类,设置字符串参数为“Selecta point 。因为 Editor.GetPoint方法会返回一个PromptPointResult类的实例对象,所以我们也要把它实例化。PromptPointOp

14、tions prPointOptions = new PromptPointOptions(Select a point);PromptPointResult prPointRes;5)接下来实例化一个 Editor类的对象并使用参数为 PromptPointOptions对象的GetPoint方法。用GetPoint方法的返回值来给上面声明的 PromptPointResult对象赋值。赋值好以后,我们可以测试PromptPointResult对象的状态,如果不是 OK就返回。prPo in tRes = ed.GetPo in t(prPo in tOpti on s);if (prPoi

15、ntRes.Status != PromptStatus.OK)ed.WriteMessage(Error);第#页Autodesk官方最新的.NET教程(C#版)6) 如果PromptPointResult对象返回了一个有效的点,我们就可以使用WriteMessage方法把结果输出到命令行。PromptPointResult.Value的ToString方法使输出非常容易:ed.WriteMessage(You selected point prPoi ntRes.Value.ToStri ng)7) 按F5来运行一个调试 AutoCAD的进程。(注意:向导已经设置好用acad.exe来调试)在 AutoCAD命令行中输入 NETLOAD,选择Lab2.dll并打开。在命令行中输入你起的命令名字(selectPoint)。在选择点的提示下,单击图形中的任一点。如果一切正常的话,你可以在命令行中看到你所选的点的坐标值。在 Class.cs文件的“ed.WriteMessage(Error);行加入断点,然后再次运行selectPoint命令。这一次,在选择点的提示下按

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号