インプレイス参照編集の動作 | ひろぐりのブログ

ひろぐりのブログ

**************

自作ブロック置換コマンド(VBA)をインプレイス参照編集中も使えるようにいろいろ試してみた結果、「無理じゃね?」となりました。

 

・インプレイス参照編集中のブロックはモデル空間に展開された扱いになっている。

 

・モデル空間に対して置換(削除&追加)することで置換は可能。

ただし、モデル空間に直接配置されている置換対象名ブロックの処理も行われてしまい、結果、インプレイス参照編集中のブロック内に取り込んでしまう。

 

・インプレイス参照編集中に、名前指定でブロック定義を操作すると、InsertBlockは有効だが、Deleteが無効化される。

 

という動作結果となりました。

 

悪あがきとして、

・インプレイス参照編集に入ることなくネストブロックを指定できるようにGetSubEntityによるブロック指定にした。

・インプレイス参照編集中に置換コマンドを使おうとしたときは、置換ブロック指定後に「インプレイス参照編集を閉じる必要があります。継続しますか?」の選択メッセージを出すことにしました。