Lisp実践編 - 11
こんにちは!
エカキオです!
普段コマンドを使っている時に、基本的に良いんだけど、もう少しこうならんか?こういう風にしたい!
と思ってちょっとだけ工夫したLispです。
具体的には、プロパティコピーをオブジェクトを選んだ後にでも利用できるように調整したんです。
基本的にプロパティコピーって、
プロパティのコピー元を選択(単独)
↓
プロパティのコピー先を選択(複数可)
ですよね?
この順番って基本的に変わらないんですよね。
なにが不都合かって、初めに選ぶコピー元は単独しか選べない、つまりフィルターやらクイック選択やらの複数オブジェクトを抽出した状態からの使用は出来ないんですよ。
(p選択とか、割り込みコマンドなどを使えば出来ることは出来ますが)
そんな日頃の、あとちょっとをLispで具現化してみました。
使い方としては、通常の逆です。
プロパティコピー先を選択
↓
プロパティコピー元を選択
コマンド始める前に既選択出来るのでフィルターなどで選択できます。
コード自体も難しいことはしていないので、ぜひぜひご利用ください。
そのままコピーして、好きなコマンド・好きなファイル名にしていただいても構いません。
AutoCAD Lisp 入門 - 1 - 最強の時短ツール「Lisp」とは - 図描きの備忘録
コード
;既選択OBJを変更のプロパティコピー (defun c:am ( / a b) (princ "¥n既選択OBJを変更のプロパティコピー") (setq a (ssget)) (princ "¥nコピー元オブジェクト選択(1つだけ):") (setq b (ssget)) (command "MATCHPROP" b a "") (princ) )
参考記事
AutoCAD Lisp 入門 - 3 - よく使うコマンド処理を登録する - 図描きの備忘録
AutoCAD Lisp 入門 - 10 - フィルターオブジェクト選択 - 図描きの備忘録
実践編コードの共通事項
最上段には、コメントを入れています。
こちらのLispは何を目的にしているかを一目で判断するためです。
また、「(defun c:※※ ()」の直下には、
(princ "¥n〜")を入れることで、コマンド実行の際も、コマンドの目的がわかりやすくなっています。(たくさん作ってると後々忘れてしまいます。)
※こちらのLispは自己責任でお使い下さい。万が一、AutoCADがフリーズ、強制終了
した場合など不慮の事故が起きた場合も当ブログでは責任を負いかねます。
まずは何もないデータなどで、使用感を確かめてから使用することをお勧めします。
キーワード
プロパティコピー,MATCHPROP