Microsoft Visual Studio 可以在同一个项目中使用本地.NET 和 COM 两种接口,这样我们就可以移植现有的那些用 VB6 或 VBA 写的代码而不必完全重写。要想在 Microsoft Visual Studio 创建的项目中访问 AutoCAD 自动化对象,需要建立对下列文件的引用:
• AutoCAD 2012 类库文件 acax18enu.tlb,位于 C:\ Program Files\Common Files\Autodesk Shared;
• AutoCAD/ObjectDBX18.0 通用类库文件 axdb18enu.tlb,位于 C:\ Program Files\Common Files\Autodesk Shared;
注:上述类库文件也可以从 ObjectARX SDK 中得到。引用这些类库可以获得对下列基本互操作程序集的使用:
• Autodesk.AutoCAD.Interop.dll (AutoCAD 专有类型)
• Autodesk.AutoCAD.Interop.Common.dll (ObjectDBX™宿主应用程序共享类型)
互操作程序集位于全局程序集缓存中,他们将自动化对象映射为相应的.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 代码。