既に作成してあるブロックにオブジェクトを追加したい場面、ありますよね。
通常はブロックエディタを開いて編集しますが、作図中に何度も行うと操作が増えてしまい、流れが止まりやすくなります。
そこで便利なのが、選択したオブジェクトをそのままブロックに追加できる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化しておくと、日々の作図がかなり楽になります。
ブロックをよく使う方は、ぜひ取り入れてみてください。
あわせて読みたい




ブロックから削除するLISP
ブロックを編集していると、「この部分だけ削除したい」という場面はよくありますよね。 通常はブロックエディタを開いて編集しますが、頻繁に行う作業だと手順が多く、…


コメント