1、新建项目
启动Visual Studio 2005,新建一个项目,命名为“CAD开发”,如下图所示:

2、添加引用 添加AutoCAD的引用AutoCAD 2007 Type Library和AutoCAD/ObjectDBX Common 17.0 Type Library,如下图所示:

3、全局变量定义 在全局变量中定义如下: Autodesk.AutoCAD.Interop.AcadApplication AcadApp; Autodesk.AutoCAD.Interop.AcadDocument AcadDoc; 其中,AcadApplication是CAD对象接口,AcadDocument是CAD文件。 4、打开CAD文件 添加一个按钮,为按钮添加如下代码,实现打开一个CAD文件的功能: private void button1_Click(object sender, EventArgs e) { OpenFileDialog pOpenDG = new OpenFileDialog(); pOpenDG.ShowDialog(); string filePath = pOpenDG.FileName; AcadApp = new AcadApplication(); AcadApp.Application.Visible = true; AcadDoc = AcadApp.Documents.Open(filePath,null,null); } 程序运行结果如下图所示:

如果没有语句“AcadApp.Application.Visible = true;”则无法显示CAD软件界面,只能启动CAD在后台。通过“AcadApp = new AcadApplication();”是创建一个新的CAD对象,但是并不是每次都需要创建CAD对象,如CAD对象已经存在时就不需要再创建CAD对象。 5、定义启动CAD对象的函数 定义一个启动CAD对象的函数“启动CAD()”,代码如下: private void 启动CAD() { try { AcadApp = (AcadApplication)System.Runtime.InteropServices.Marshal.GetActiveObject("AutoCAD.Application"); AcadDoc = AcadApp.ActiveDocument; } catch { OpenFileDialog pOpenDG = new OpenFileDialog(); pOpenDG.Filter = "CAD文件(*.dwg)|*.dwg|CAD图形文件(*.dxf)|*.dxf"; pOpenDG.Title = "打开CAD文件"; pOpenDG.ShowDialog(); string filePath = pOpenDG.FileName; if (filePath == "") { MessageBox.Show("选择CAD文件无效!", "文件无效!"); Application.Exit(); } AcadApp = new AcadApplication(); AcadDoc = AcadApp.Documents.Open(filePath, null, null); } AcadApp.Application.Visible = true; Microsoft.VisualBasic.Interaction.AppActivate(AcadApp.Caption); } 其中“Microsoft.VisualBasic.Interaction.AppActivate(AcadApp.Caption);”是使得CAD对象在最前面,要调用该函数还需要添加引用“Microsoft.VisualBasic”,如下图所示:

本文介绍如何利用C#进行AutoCAD应用开发,包括项目的建立、引用添加、全局变量定义及CAD文件的打开等步骤,并提供了一种优化的方法来启动CAD对象。

2486

被折叠的 条评论
为什么被折叠?



