(DEFUN C:J()
(PRINC "\n結合する注釈を選択してください:)")
(SETQ S 選択セット (SSGET '((0 . "DIMENSION"))) m 0) は、AutoCAD でタイプ「DIMENSION」のすべてのエンティティを選択し、選択結果を S に保存するために使用される LISP コードです。選択セット。このコードの目的は、すべてのディメンション オブジェクトを取得することです。
T ラベル番号 (sslength S 選択セット) ZS 合計数と 0 T 整列ラベル 0)。この文では、T は時代と一致しない詳細の数を表します。選択セット S 内の要素の数は、sslength 関数で計算できます。ZS は詳細の総数を表します。0 は位置合わせされていないアノテーションを表します。T 位置合わせされたアノテーションは時代と一致しないものを表しています。正確にマークされた詳細はいくつありますか?
(while(
"(setq a (entget (ssname Sselection set m)) m (1 m))" このコード行は Lisp 言語の式で、選択範囲内の m 番目の要素の属性を取得するために使用されます。 Sを設定し、mの値に1を加えます。
(if (メンバー (cdr (assoc 70 a)) '(1 33 129 161)))
(setq ZS 総和 ( (cdr (assoc 42 a)) ZS 総和)) このコード行は LISP 言語の式であり、その機能は、変数 ZS の合計の値を、現在の値にリスト a のキー値 42 に関連付けられた値を加えた値に更新することです。このコード行を実行する前に、変数 ZS total sum と list a が定義され、正しい値が割り当てられていることを確認する必要があります。このコード行を通じて、ZS の合計を動的に更新できます。
T アライメント ラベル (1 T アライメント ラベル)))
)
(PRINC (STRCAT "合計 " (itoa T アノテーション番号) " アノテーションが選択されました。\n合計 " (itoa T アライメント アノテーション) " アライメント アノテーションが追加に参加しました。合計は次のとおりです: " (合計RTOS ZS の数と 2) "."))
);DEFUN の終了
(defun c:dz (/ oce1 n1 zn h1 sxh1 p1)
(vl-load-com)
(setq oce1 (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq ms (vla-get-modelspace
(vla-get-activedocument (vlax-get-acad-object)) は、現在アクティブな AutoCAD ドキュメントを取得するために使用される AutoLISP コードです。 vlax-get-acad-object 関数を通じて AutoCAD アプリケーション オブジェクトを取得し、次に vla-get-activedocument メソッドを使用して現在アクティブなドキュメント オブジェクトを取得します。このコードを AutoCAD で使用すると、プログラムで現在開いているドキュメントを操作できます。
)
)
(qz
の場合()
(setq qz """)
)
(hz
の場合()
(setq hz """)
)
(initget "c")
(setq nqz (getstring (strcat "\nプレフィックス /c (空): " )))
(条件
((= nqz "") (setq qz ""))
(T (if (/= nqz "")(setq qz nqz)))
)
(setq hz """)
(if (not (setq n1 (getint "\n開始シーケンス番号 : ")))
(setq n1 1)
)
(setq zn 1)
(if (not (setq h1 (getreal "\nテキストの高さを指定してください : ")))
(setq h1 2.5)
)
(setq sxh1 (strcat qz (itoa n1) hz)) は Lisp コードの一部であり、その機能は 3 つの文字列を連結して新しい文字列を形成することです。このうち、qz、n1、hz は変数で、それぞれプレフィックス、番号、サフィックスを表します。 strcat 関数と itoa 関数を使用すると、数値 n1 を文字列に変換し、プレフィックスとサフィックスを連結して、最終的に新しい文字列 sxh1 を取得できます。このような操作はプログラミングで簡単に生成できます
(setq p1 (getpoint "\n挿入ポイントを指定してください: "))
(while (/= p1 nil)
(setq p1 (vlax-3d-point p1))
(setq txt (vla-addtext
###MS###sxh1
p1
h1
)
)
(セットq
n1 (n1 zn)
sxh1 (strcat qz (itoa n1) hz)
p1 (getpoint "\n次の挿入ポイントを指定してください: ")
)
)
(setvar "cmdecho" oce1)
(vlax-release-object ミリ秒)
(王子)
)
以上がCAD Lisp スクリプトの変更の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。