基于Visual C#的AutoCAD开发——实例1 基本例子

实例1 基本例子

1、新建项目

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

基于Visual C#的AutoCAD开发——实例1 基本例子

2、添加引用

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

基于Visual C#的AutoCAD开发——实例1 基本例子

3、全局变量定义

在全局变量中定义如下:

Autodesk.AutoCAD.Interop.AcadApplication AcadApp;

Autodesk.AutoCAD.Interop.AcadDocument AcadDoc;

其中,AcadApplicationCAD对象接口,AcadDocumentCAD文件。

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);

}

程序运行结果如下图所示:

基于Visual C#的AutoCAD开发——实例1 基本例子

如果没有语句“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”,如下图所示:

基于Visual C#的AutoCAD开发——实例1 基本例子