ツールボックスからコマンドを実行する

AutoCAD Civil 3D 拡張機能をユーザに開示するには、ツールボックス マクロを作成して、[ツールスペース][ツールボックス]タブに拡張機能を追加することをお勧めします。[ツールボックス]は、.NET アセンブリ、またはコマンドを含む ARX DLL の読み込みを処理します。

ツールボックス マクロには 2 種類の実行タイプを使用できます。

  1. CMD - コマンド名が、実行するコマンド ラインに送られます。このタイプは、.NET および ARX コマンドの両方での推奨実行タイプです。
  2. NET - メソッド名が、アセンブリ内でリフレクションを介して特定され、直接に実行されます。属性フラグは読み込まれず、コードは常にアプリケーション コンテキスト内で実行されます。(コマンド ラインから実行されるコマンドは、既定により図面コンテキスト内で実行されます)。したがって、.NET 実行タイプとして実行されるコードは、常に静的メソッドである必要があり、それ自体のドキュメント ロッキングを処理する必要があります。
注:

コードがドキュメント コンテキスト内で実行される場合でも、ドキュメントを明示的にロックすることが安全です。

ドキュメント ロッキングを処理する方法の例を次に示します。

static void setPrecision()
{
    using (Autodesk.AutoCAD.ApplicationServices.DocumentLock locker = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.LockDocument())
    {
        // perform any document / database modifications here
        CivilApplication.ActiveDocument.Settings.DrawingSettings.AmbientSettings.Station.Precision.Value = 2;
    }
}