| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| | |
 | Konstruktionsmethodik für Bleche: Präzise, stabil, kosteneffizient, ein Webinar am 19.03.2026
|
|
Autor
|
Thema: Frage zu einer LISP-Routine (1473 mal gelesen)
|
namsokrok Mitglied CAD-Administrator

 Beiträge: 76 Registriert: 20.08.2008 Xeon CPU 3.33 Ghz 16 GB RAM NVIDIA Quadro K 4000 Windows 7 64 bit AutoCAD Map 3D 2013 AutoCAD Civil 3D 2014 Revit 2014
|
erstellt am: 30. Aug. 2013 10:32 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich würde gern ein Makro schreiben, das folgende Arbeitsschritte abarbeitet: - alle Texten den Textstil "Teststil" zuweisen - allen Texten das Attribut "Bemaßung" zuweisen Mein Makro sieht derzeit folgendermaßen aus: (setq slist (list (cdr (assoc 2 (tblnext "STYLE" T)))))(while (setq sname (cdr (assoc 2 (tblnext "STYLE"))))(if (/= sname "")(setq slist (cons sname slist))))(foreach v slist(setq ss (ssget "X" (list (cons 7 v)))i 0)(while (< i (sslength ss))(setq e (entget (ssname ss i)) eneu (subst (cons 7 "Teststil") (assoc 7 e) e))(entmod eneu)(setq i (1+ i))));ANNOUPDATE;_all;; Bei einigen Zeichnungen funktioniert diese Routine, bei anderen leider nicht. Das Makro wird mit folgender Fehlermeldung abgebrochen: Befehl: (setq slist (list (cdr (assoc 2 (tblnext "STYLE" T)))))(while (setq sname (cdr (assoc 2 (tblnext "STYLE"))))(if (/= sname "")(setq slist (cons sname slist))))(foreach v slist(setq ss (ssget "X" (list (cons 7 v)))i 0)(while (< i (sslength ss))(setq e (entget (ssname ss i)) eneu (subst (cons 7 "Teststil") (assoc 7 e) e))(entmod eneu)(setq i (1+ i)))) ; Fehler: Fehlerhafter Argumenttyp: lselsetp nil Weiß jemand Rat? Liebe Grüße! [Diese Nachricht wurde von namsokrok am 30. Aug. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
     
 Beiträge: 6052 Registriert: 16.09.2004 Windows 10 64bit, ACAD Rel. 14 - ACAD 2023
|
erstellt am: 30. Aug. 2013 10:55 <-- editieren / zitieren --> Unities abgeben:          Nur für namsokrok
|
namsokrok Mitglied CAD-Administrator

 Beiträge: 76 Registriert: 20.08.2008 Xeon CPU 3.33 Ghz 16 GB RAM NVIDIA Quadro K 4000 Windows 7 64 bit AutoCAD Map 3D 2013 AutoCAD Civil 3D 2014 Revit 2014
|
erstellt am: 30. Aug. 2013 11:01 <-- editieren / zitieren --> Unities abgeben:         
|
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
     
 Beiträge: 6052 Registriert: 16.09.2004 Windows 10 64bit, ACAD Rel. 14 - ACAD 2023
|
erstellt am: 30. Aug. 2013 11:04 <-- editieren / zitieren --> Unities abgeben:          Nur für namsokrok
|
namsokrok Mitglied CAD-Administrator

 Beiträge: 76 Registriert: 20.08.2008 Xeon CPU 3.33 Ghz 16 GB RAM NVIDIA Quadro K 4000 Windows 7 64 bit AutoCAD Map 3D 2013 AutoCAD Civil 3D 2014 Revit 2014
|
erstellt am: 30. Aug. 2013 11:07 <-- editieren / zitieren --> Unities abgeben:         
|
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13533 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 30. Aug. 2013 12:25 <-- editieren / zitieren --> Unities abgeben:          Nur für namsokrok
Probiers mal mit folgenden (ausbaufähigen) code : (defun SET2TXTSTYLE( / BLOCK ITEM) (vl-load-com) (or(tblobjname "STYLE" "TESTSTIL") (entmake (list '(0 . "STYLE") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbTextStyleTableRecord") '(2 . "TESTSTIL") '(70 . 0) '(40 . 0.0) '(41 . 1.0) '(50 . 0.0) '(71 . 0) '(42 . 2.2) '(3 . "isocp.shx") '(4 . "") ) ) ) (vlax-for BLOCK (vla-get-blocks(vla-get-activedocument(vlax-get-acad-object))) (vlax-for ITEM BLOCK (if (member(strcase(vla-get-ObjectName ITEM)) '("ACDBTEXT" "ACDBMTEXT")) (vl-catch-all-error-p(vl-catch-all-apply 'vla-put-Stylename (list ITEM "TESTSTIL"))) ) ) ) (vla-regen(vla-get-activedocument (vlax-get-acad-object)) acAllViewports) ) .. was du mit dem Attribut "Bemaßung" meinst, ist mir allerdings nicht ganz klar ..
------------------ Also ich finde Unities gut ... und andere sicher auch ---------------------------------------
- Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
namsokrok Mitglied CAD-Administrator

 Beiträge: 76 Registriert: 20.08.2008 Xeon CPU 3.33 Ghz 16 GB RAM NVIDIA Quadro K 4000 Windows 7 64 bit AutoCAD Map 3D 2013 AutoCAD Civil 3D 2014 Revit 2014
|
erstellt am: 30. Aug. 2013 12:34 <-- editieren / zitieren --> Unities abgeben:         
|
namsokrok Mitglied CAD-Administrator

 Beiträge: 76 Registriert: 20.08.2008 Xeon CPU 3.33 Ghz 16 GB RAM NVIDIA Quadro K 4000 Windows 7 64 bit AutoCAD Map 3D 2013 AutoCAD Civil 3D 2014 Revit 2014
|
erstellt am: 30. Aug. 2013 12:47 <-- editieren / zitieren --> Unities abgeben:         
|