使用COM与.NET协同操作
 
 

Microsoft Visual Studio可以在同一个工程中同时使用本地的.NET和COM接口。利用COM交互性,你可以移植现有的可能是使用VB6或VBA编写的代码,而不必完全重写它。若要访问从Microsoft Visual Studio创建的工程中的AutoCAD automation对象,需要创建下列文件的引用:

注意前面提到的类型库同样是ObjectARX SDK的一部分。关于下载与安装ObjectARX SDK的信息,请查看AutoCAD .NET API 组件部分。

这些引用将提供以下主要的交互操作程序集:

Interop 程序集位于全局程序集缓存中,它们会将 Automation 对象映射到 .NET 的对等对象。

引用了类型库后,用户就可以在Microsoft Visual Studio中定义基于AutoCAD的变量,如下例所示:

VB.NET

Dim objAcApp As Autodesk.AutoCAD.Interop.AcadApplication
Dim objLine As Autodesk.AutoCAD.Interop.Common.AcadLine

C#

Autodesk.AutoCAD.Interop.AcadApplication objAcApp;
Autodesk.AutoCAD.Interop.Common.AcadLine objLine;

利用交互程序集可以使用户的VBA项目转换到VB.NET项目更容易。无论如何,为了充分利用.NET与AutoCAD .NET API提供的一切优势,用户必须重写现有VBA代码。

创建并引用 AutoCAD 应用程序

AutoCAD 2010 .NET应用程序可以使用和AutoCAD automation工程一样的类型库 (acax18enu.tlb)。该类型库位于<盘符>:\Program Files\Common Files\Autodesk Shared目录下.

AutoCAD 2010 .NET 应用程序也使用同样的依赖版本 ProgID的 CreateObject,GetObject, 和 GetInterfaceObject 函数。 例如, CreateObject("AutoCAD.Application.18") 允许你创建一个AutoCAD的实例并获得一个代表新应用程序实例的对象。