(DEFUN C:J()
(PRINC „nBitte wählen Sie die zu kombinierende Anmerkung aus:)“)
(SETQ S Selection Set (SSGET '((0 . "DIMENSION"))) m 0) ist ein LISP-Code, der verwendet wird, um alle Elemente vom Typ „DIMENSION“ in AutoCAD auszuwählen und die Auswahlergebnisse in S zu speichern. Der Zweck dieses Codes besteht darin, alle Dimensionsobjekte abzurufen.
T Anzahl der Anmerkungen (sslength S Auswahlsatz) ZS Gesamtzahl und 0 T ausgerichtete Anmerkungen 0). In diesem Satz stellt T die Anzahl der Elemente dar, die mit der Epoche inkonsistent sind. Die Anzahl der Elemente in der Auswahlmenge S kann mit der Funktion sslength berechnet werden Stellen Sie diejenigen dar, die nicht mit der Epoche übereinstimmen. Wie viele Details sind korrekt markiert?
(while(
"(setq a (entget (ssname S Selection Set m)) m (1+ m))" Diese Codezeile ist ein Ausdruck in der Lisp-Sprache, der verwendet wird, um die Attribute des m-ten Elements im Auswahlsatz S zu erhalten , und Addiere 1 zum Wert von m.
(if (member (cdr (assoc 70 a)) '(1 33 129 161)))
(setq ZS Gesamtsumme (+ (cdr (assoc 42 a)) ZS Gesamtsumme)) Diese Codezeile ist ein Ausdruck in der LISP-Sprache. Ihre Funktion besteht darin, den Wert der Gesamtsumme der Variablen ZS auf den aktuellen Wert plus den mit Schlüssel 42 in Liste a verknüpften Wert zu aktualisieren. Bevor Sie diese Codezeile ausführen, müssen Sie sicherstellen, dass die Variablen ZS Gesamtsumme und Liste a definiert und mit den richtigen Werten belegt sind. Durch diese Codezeile können wir die Gesamtsumme von ZS dynamisch aktualisieren.
T-Ausrichtungsanmerkung (1+ T-Ausrichtungsanmerkung)))
)
(PRINC (STRCAT „Insgesamt“ (itoa T-Anmerkungen) „Anmerkungen wurden ausgewählt, insgesamt n“ (itoa T-Ausrichtungsanmerkungen) „Anmerkungen zur Ausrichtung waren an der Hinzufügung beteiligt, die Gesamtsumme beträgt: „ (RTOS ZS Gesamtsumme 2) „ ."))
);ENDE VON 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)) ist ein AutoLISP-Code, der zum Abrufen des aktuell aktiven AutoCAD-Dokuments verwendet wird. Es ruft das AutoCAD-Anwendungsobjekt über die Funktion vlax-get-acad-object ab und ruft dann das aktuell aktive Dokumentobjekt mit der Methode vla-get-activedocument ab. Dieser Code kann in AutoCAD verwendet werden, um das aktuell geöffnete Dokument im Programm zu bedienen.
)
)
(wenn qz
()
(setq qz "")
)
(wenn hz
()
(setq hz "")
)
(initget "c")
(setq nqz (getstring (strcat "nBitte geben Sie das Präfix /c (leer): " )))
ein(Kond
((= nqz "c") (setq qz ""“))
(T (if (/= nqz "")(setq qz nqz)))
)
(setq hz "")
(if (not (setq n1 (getint "nBitte geben Sie die Startsequenznummer ein : ")))
(setq n1 1)
)
(setq zn 1)
(if (not (setq h1 (getreal "nBitte geben Sie die Texthöhe an : ")))
(setq h1 2,5)
)
(setq sxh1 (strcat qz (itoa n1) hz)) ist ein Teil des Lisp-Codes. Seine Funktion besteht darin, drei Zeichenfolgen zu einer neuen Zeichenfolge zu verketten. Unter diesen sind qz, n1 und hz Variablen, die jeweils Präfix, Zahl und Suffix darstellen. Mithilfe der Funktionen strcat und itoa können wir die Zahl n1 in eine Zeichenfolge umwandeln und das Präfix und Suffix damit verketten, um schließlich eine neue Zeichenfolge sxh1 zu erhalten. Solche Operationen können einfach in der Programmierung generiert werden
(setq p1 (getpoint "nBitte geben Sie den Einfügepunkt an: "))
(while (/= p1 nil)
(setq p1 (vlax-3d-point p1))
(setq txt (vla-addtext
ms
sxh1
p1
h1
)
)
(setq
n1 (+ n1 zn)
sxh1 (strcat qz (itoa n1) hz)
p1 (getpoint „nBitte geben Sie den nächsten Einfügepunkt an:“)
)
)
(setvar "cmdecho" oce1)
(vlax-release-object ms)
(Prinz)
)
Das obige ist der detaillierte Inhalt vonModifikation des CAD-Lisp-Skripts. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!