お知らせ

--------------------------------------------------

プログラム作成/コンサルティングの申し込みはこちら

--------------------------------------------------

2010年2月10日水曜日

よく使う関数を使用してのサンプル ファイル(AutoCAD 2010)

 以下内容を拡張子 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 件のコメント:

コメントを投稿