Microsoft Visual Studio では、ネイティブ .NET および COM インタフェースの両方を同じプロジェクトで使用することができます。COM 相互運用機能を使用すれば、Visual Basic 6 または VBA で書かれた可能性のある既存のコードを、完全に書き直すことなくマイグレートすることができます。Microsoft Visual Studio で作成されたプロジェクトから AutoCAD オートメーション オブジェクトにアクセスするには、次のファイルへの参照を作成します。
これらの参照により、次のプライマリ相互運用アセンブリが使用できるようになります。
この相互運用機能アセンブリはグローバル アセンブリ キャッシュに置かれ、オートメーション オブジェクトを .NET の対応するオートメーション オブジェクトにマップします。
タイプ ライブラリを参照すると、次の例に示すように、Microsoft Visual Studio で AutoCAD ベースの変数を宣言することができます。
Dim objAcApp As Autodesk.AutoCAD.Interop.AcadApplication Dim objLine As Autodesk.AutoCAD.Interop.Common.AcadLine
Autodesk.AutoCAD.Interop.AcadApplication objAcApp; Autodesk.AutoCAD.Interop.Common.AcadLine objLine;
相互運用機能アセンブリを使用すると、VBA プロジェクトから VB.NET への移行が非常に簡単になります。ただし、.NET および AutoCAD .NET API の機能を十分に活用するには、既存の VBA コードを書き直す必要があります。
AutoCAD .NET アプリケーションは、AutoCAD オートメーション プロジェクトと同じタイプ ライブラリ(acax20enu.tlb)を使用することができます。このタイプ ライブラリは <ドライブ>:¥Program Files¥Common Files¥Autodesk Shared にあります。
また、AutoCAD .NET アプリケーションでは、CreateObject 関数、GetObject 関数、GetInterfaceObject 関数に、同じバージョン依存 ProgID を使用します。
製品の ProgID を使用して、AutoCAD アプリケーション("AutoCAD.Application")の新しいインスタンスを作成したり、リリースのメジャー番号とマイナー番号を指定して、アプリケーションの対象を特定のリリースに制限したり、バイナリ互換性のあるすべてのリリースを対象にしたりすることができます。
例:
インプロセス DLL (クラス ライブラリ)から ActiveX/COM を使用して、AutoCAD アプリケーション オブジェクトを参照する場合、Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication プロパティを使用することができます。