ブロックに追加するLISP

  • URLをコピーしました!

既に作成してあるブロックにオブジェクトを追加したい場面、ありますよね。

通常はブロックエディタを開いて編集しますが、作図中に何度も行うと操作が増えてしまい、流れが止まりやすくなります。

そこで便利なのが、選択したオブジェクトをそのままブロックに追加できるLISPです。
この方法なら、ブロック参照編集を使って、追加したいオブジェクトを素早く取り込むことができます。

ブロック編集の手間を減らし、作図の流れを止めにくくできるのが大きなメリットです。

ブロックは図面整理や再利用に便利な機能ですが、編集操作が多くなると手間が増えます。こうした操作をLISP化しておくことで、作業効率を上げることができます。

(defun c:IA ()
(setq sel (ssget))
(command-s "._REFEDIT")
(command-s "._REFSET" "A" sel "")
(command-s "._REFCLOSE" "")
)
すぐできる設定手順
  • コマンド「IA」を入力
  • ブロックに追加したいオブジェクトを選択
  • 追加先のブロックを選択
仁(じん)

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

Contents

操作手順

STEP
  • コマンド「IA」を入力します
  • ブロックに追加したいオブジェクトを選択し、エンターを押します
STEP
  • 追加先のブロックを選択し、エンターを押します
凛(りん)

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

LISP解説

今回のLISPを解説します。

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

選択したいオブジェクトを取得しています。
ここで選んだオブジェクトが、あとでブロックに追加されます。

(command-s "._REFEDIT")

ブロックの参照編集を開始します。
通常はインプレイスブロック編集などで開く操作を、LISPで実行しています。

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

参照編集時の対象オブジェクトに、選択したオブジェクトを追加します。
“A” は Add(追加)を意味しており、ここでブロックに取り込まれます。

(command-s "._REFCLOSE" "")

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

まとめ

既存ブロックにオブジェクトを追加したい場合、毎回ブロックエディタを開いて編集すると手間がかかります。

今回のLISPを使えば、追加したいオブジェクトを選択するだけで、ブロック参照編集を利用してスムーズにブロックへ追加できます。

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

このように、よく行う編集操作をLISP化しておくと、日々の作図がかなり楽になります。

ブロックをよく使う方は、ぜひ取り入れてみてください。

関連記事

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

コメント

コメントする

Contents