Lisp実践編 - 24 - コマンドで上書き寸法
Lisp実践編 - 24
こんにちは!
エカキオです!
Lispによるコマンドラインで処理シリーズの寸法バージョンです。
上書き寸法の値をコマンド入力によりワンステップで行えるようにしました!
何も入力せずにEnterすることで、上書き寸法無しの実寸法に戻します。
ぜひともご利用ください!
そのままコピーして、好きなコマンド・好きなファイル名にしていただいても構いません。
保存と利用方法はこちら。
AutoCAD Lisp 入門 - 1 - 最強の時短ツール「Lisp」とは - 図描きの備忘録
コード
;寸法値上書き一括 (defun c:dw ( / f1 ss l1 cnt num e1 ed) (princ"¥n寸法値上書き一括") (setq f1 (list (cons 0 "DIMENSION"))) (setq ss (ssget f1)) (initget 1 " ") (setq l1 (getstring"¥n上書き文字を入力<リセット>:")) (setq cnt 0) (setq num (sslength ss)) (command "undo" "be") (while (< cnt num) (setq e1(ssname ss cnt)) (setq ed(entget e1)) (setq ed (subst (cons 1 l1) (assoc 1 ed) ed )) (entmod ed) (setq cnt(1+ cnt)) ) (command "undo" "e") (princ) )
参考記事
AutoCAD Lisp 入門 - 2 - オブジェクトの情報を抽出 - 図描きの備忘録
AutoCAD Lisp 入門 - 7 - 繰り返し処理 - 図描きの備忘録
AutoCAD Lisp 入門 - 8 - 文字連結 - 図描きの備忘録
AutoCAD Lisp 入門 - 9 - 複数の選択肢の条件式 - 図描きの備忘録
AutoCAD Lisp 入門 - 10 - フィルターオブジェクト選択 - 図描きの備忘録
実践編コードの共通事項
最上段には、コメントを入れています。
こちらのLispは何を目的にしているかを一目で判断するためです。
また、「(defun c:※※ ()」の直下には、
(princ "¥n〜")を入れることで、コマンド実行の際も、コマンドの目的がわかりやすくなっています。(たくさん作ってると後々忘れてしまいます。)
※こちらのLispは自己責任でお使い下さい。万が一、AutoCADがフリーズ、強制終了
した場合など不慮の事故が起きた場合も当ブログでは責任を負いかねます。
まずは何もないデータなどで、使用感を確かめてから使用することをお勧めします。