Lisp実践編 - 21
こんにちは!
エカキオです!
AutoCADで作業している時に、通し番号などの連番の数値がズレるってことありませんか?
今回のLispは、複数の数字テキストに一括して、一定の数値を足したり引いたり出来る優れものです!
数値を入力する時は、マイナスなどもそのまま表現してもらって大丈夫です。
ぜひともご利用ください!
そのままコピーして、好きなコマンド・好きなファイル名にしていただいても構いません。
保存と利用方法はこちら。
AutoCAD Lisp 入門 - 1 - 最強の時短ツール「Lisp」とは - 図描きの備忘録
コード
;数値を一律の値で変更 (defun c:nod ( / eset n0 cnt num tmpl ed n1 ed ) (princ "¥n数値を一律の値で変更") (setq eset(ssget (list (cons 0 "TEXT")))) (initget 1) (setq n0 (getint "¥n下げる or 上げる 数値入力 (+/-):")) (setq cnt 0) (setq num (sslength eset)) (while (< cnt num) (setq tmpl (ssname eset cnt)) (setq ed (entget tmpl)) (setq n1 (cdr (assoc 1 ed))) (setq n1 (atoi n1)) (setq n1 (+ n1 n0)) (setq n1 (rtos n1 2 0)) (setq ed (subst (cons 1 n1) (assoc 1 ed) ed ) ) (entmod ed) (setq cnt (1+ cnt)) ) (princ) )
参考記事
AutoCAD Lisp 入門 - 2 - オブジェクトの情報を抽出 - 図描きの備忘録
AutoCAD Lisp 入門 - 7 - 繰り返し処理 - 図描きの備忘録
AutoCAD Lisp 入門 - 9 - 複数の選択肢の条件式 - 図描きの備忘録
AutoCAD Lisp 入門 - 10 - フィルターオブジェクト選択 - 図描きの備忘録
実践編コードの共通事項
最上段には、コメントを入れています。
こちらのLispは何を目的にしているかを一目で判断するためです。
また、「(defun c:※※ ()」の直下には、
(princ "¥n〜")を入れることで、コマンド実行の際も、コマンドの目的がわかりやすくなっています。(たくさん作ってると後々忘れてしまいます。)
※こちらのLispは自己責任でお使い下さい。万が一、AutoCADがフリーズ、強制終了
した場合など不慮の事故が起きた場合も当ブログでは責任を負いかねます。
まずは何もないデータなどで、使用感を確かめてから使用することをお勧めします。