ネイティブでないグラフィカル オブジェクトと非グラフィカル オブジェクト(.NET)

AutoCAD .NET API は、ObjectARX および ActiveX オートメーションのクロス実装です。ObjectARX から ActiveX オートメーションにアクセスできますが、AutoCAD .NET API を使用すると、これらをシームレスに操作できるようになります。ネイティブ AutoCAD .NET API を使用してオブジェクトを操作するときに、プロパティから同等の COM オブジェクトにアクセスできます。場合によっては、AutoCAD フィーチャにプログラムでアクセスするには COM オブジェクトが唯一の方法です。AutoCAD .NET API を介して COM オブジェクトを公開するプロパティの例として、PreferencesMenubarMenuGroupsAcadObjectAcadApplication などがあります。

注: COM オブジェクトを使用するときに、AutoCAD タイプ ライブラリを参照する必要が出てきます。

Application オブジェクトの Preferences プロパティから COM オブジェクト セットにアクセスできます。各 COM オブジェクトは[オプション]ダイアログ ボックスの 1 つのタブに対応します。これらのオブジェクトは、[オプション]ダイアログ ボックス内の、レジストリに格納されるすべての設定にアクセスします。また、Application オブジェクトの SetSystemVariable メソッドと GetSystemVariable メソッドを使って、オプション(および[オプション]ダイアログ ボックスに含まれないシステム変数)の設定と修正ができます。

COM オブジェクトへのアクセスが便利なのは、元々は VB または VBA 用に開発された既存のコードを操作する場合や、AutoCAD ActiveX オートメーション ライブラリと AutoCAD .NET API を使用するサードパーティ製ライブラリを操作する場合です。Preferences オブジェクトと同様に、Utility オブジェクトを使用して座標を変換したり、角度や距離に基づいて新しい点を定義したりするユーティリティにアクセスすることもできます。Utility オブジェクトには、AutoCAD .NET API の Application オブジェクトに相当する AcadApplication COM オブジェクトからアクセスできます。

注: AutoCAD .NET API および ActiveX オートメーションの両方を使用し、場合によってはオブジェクトを返す必要があるカスタム関数を作成する場合、オブジェクト自体ではなく ObjectId を返すことをお勧めします。