AutoCAD .NET API で開いた図面上で新規にオブジェクトを作成したり、既存のオブジェクトを編集したりする際、トランザクション マネージャを利用して対象オブジェクトをオープン(既存オブジェクト編集時のみ)、編集、コミットの手順を踏んで処理します。作成/編集されたオブジェクトは、コミットの時点で編集内容が図面上に反映されます。 一方、AutoCAD Mechanical 上で同様の処理をおこなう場合、AutoCAD Mechanical 固有の アクティブ トランザクション(Active Transaction)という機構が有効になり、標準のトランザクションをラップする動作をします。言い方を変えるなら、AutoCAD Mechanical 側で最上位となるトランザクションを持つため、アドインが対象オブジェクトを編集するために用意したトランザクションは、この時点でネストされた状態になってしまいます。 この状態は、TransactionManager.TopTransaction プロパティで知ることが出来ます。 [CommandMethod("MyCommand", Comman... Read more →