ブロックから削除するLISP

  • URLをコピーしました!

ブロックを編集していると、
「この部分だけ削除したい」
という場面はよくありますよね。

通常はブロックエディタを開いて編集しますが、頻繁に行う作業だと手順が多く、作図の流れが止まりやすくなります。

そこで便利なのが、ブロック内のオブジェクトを簡単に削除できるLISPです。
ブロック参照編集(REFEDIT)を使い、削除したいオブジェクトを選択するだけでブロックから取り除くことができます。

(defun c:IR ()
(command-s "._REFEDIT" "" "")
(setq sel (ssget))
(command-s "._REFSET" "R" sel "")
(command-s "._REFCLOSE" "")
)
すぐできる設定手順
  • コマンド「IR」を入力
  • 削除したいオブジェクトがあるブロックを選択
  • 削除したいオブジェクトを選択
仁(じん)

画像付きのSTEPは、下で確認できますよ!

Contents

操作手順

STEP
  • コマンド「IR」を入力します
  • 削除したいオブジェクトがあるブロックを選択し、エンターを押します
STEP
  • 削除したいオブジェクトを選択し、エンターを押します
凛(りん)

編集のたびに開き直さなくていいのが便利です!

LISP解説

今回のLISPを解説します。

(defun c:IR ()
(command-s "._REFEDIT" "" "")
(setq sel (ssget))
(command-s "._REFSET" "R" sel "")
(command-s "._REFCLOSE" "")
)
(command-s "._REFEDIT" "" "")

ブロック参照編集を開始します。
対象となるブロックを選択し、編集モードに入ります。

(setq sel (ssget))

削除したいオブジェクトを選択します。
ここで選択したオブジェクトが削除対象になります。

(command-s "._REFSET" "R" sel "")

選択したオブジェクトをブロックから削除します。
“R” は Remove(削除)を意味しており、ブロックの編集対象から取り除く処理です。

(command-s "._REFCLOSE" "")

ブロック参照編集を終了します。
削除した内容が反映され、通常の作図画面に戻ります。

まとめ

ブロック内のオブジェクトを削除したい場合、毎回ブロックエディタを開くと手間がかかります。
このLISPを使えば、削除したいオブジェクトを選択するだけで、ブロックから簡単に取り除くことができます。

  • 編集の手間を削減できる
  • 作図の流れを止めにくい
  • 繰り返し作業を効率化できる

ブロック編集は頻繁に発生する操作なので、LISP化しておくことで作業効率が大きく向上します。

関連記事

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

Contents