図描きの備忘録

日々の業務の時間短縮。残業しないで帰る事を目指し、悪戦苦闘中。AutoCAD、Lisp、効率化、自動化、合理的、プログラミング、資産運用勉強中

Lisp実践編 - 3 -ブロック名で選択フィルター

Lisp実践編 - 3

こんにちは!

エカキオです!

今回はブロック名を利用したフィルターになります。
データ内にあるブロックを参照して、フィルターにします。


まず、ベースになるブロックを選択してください。(単一オブジェクトを選択)
選んだあと、今選んだオブジェクトと同じ名称のブロックしか選択できない状況になります。

同じブロックを一括で編集する時に役立ちます。

そのままコピーして、好きなコマンド・好きなファイル名にしていただいても構いません。
AutoCAD Lisp 入門 - 1 - 最強の時短ツール「Lisp」とは - 図描きの備忘録

コード

;ブロック名でフィルター
(defun c:FB ( / l1 l2 ss1 )
(princ "¥nブロック名でフィルター")
	(setq l1(entget(car(entsel"¥n参照したいブロックを選択:"))))
	(setq l2 (list (assoc 2 l1)))
	(setq ss1 (ssget l2))
  	(command "pselect" "p" "")
  	(princ)
)

参考記事

ekakio.hatenablog.jp

ekakio.hatenablog.jp

実践編コードの共通事項

最上段には、コメントを入れています。
こちらのLispは何を目的にしているかを一目で判断するためです。
また、「(defun c:※※ ()」の直下には、
(princ "¥n〜")を入れることで、コマンド実行の際も、コマンドの目的がわかりやすくなっています。(たくさん作ってると後々忘れてしまいます。)

※こちらのLispは自己責任でお使い下さい。万が一、AutoCADがフリーズ、強制終了
した場合など不慮の事故が起きた場合も当ブログでは責任を負いかねます。
まずは何もないデータなどで、使用感を確かめてから使用することをお勧めします。

Related Posts Plugin for WordPress, Blogger...