ホームページ  >  記事  >  コンピューターのチュートリアル  >  CAD Lisp スクリプトの変更

CAD Lisp スクリプトの変更

王林
王林転載
2024-01-12 14:15:051146ブラウズ

cad lisp スクリプトの変更

(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 の終了

CAD二次開発修正LISP

(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 サイトの他の関連記事を参照してください。

声明:
この記事はdocexcel.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。