以下内容を拡張子 lsp という名前で保存し、ロードして sample1 コマンドを実行すると、寸法が存在すれば「寸法」画層に移動されます。(「寸法」画層が存在しなければ、作成されます。)
(defun c:sample1 (/ ss ss_len)
; コマンド名を sample1 とし、他に影響がないように、変数 ss ss_len をローカル変数にします。
(if (setq ss (ssget "X" '((0 . "DIMENSION"))))
; もし、寸法が存在すれば以下の progn で囲まれた部分を実行します。
(progn
(if (not (tblsearch "LAYER" "寸法"))
; もし、「寸法」という画層がなければ以下を実行します。(「寸法」画層を作成します。)
(command "_.LAYER" "N" "寸法" "")
)
; すべての寸法の画層を「寸法」に変更します。
(command "_.CHANGE" ss "" "P" "LA" "寸法" "")
; 寸法の数を求めます。
(setq ss_len (sslength ss))
; 移動した寸法の数を表示します。strcat 関数は、文字列同士をくっつける関数です。
(alert (strcat (itoa ss_len) " 個の寸法を「寸法」画層に移動しました。"))
)
; もし、寸法が存在しなければ以下の progn で囲まれた部分を実行します。
(progn
(alert "寸法がひとつもありませんでした。")
)
)
(princ)
)
0 件のコメント:
コメントを投稿