| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Attributtext ändern bei Skript-Programmierung (2910 mal gelesen)
|
dajosef Mitglied Student
Beiträge: 4 Registriert: 13.02.2011 AutoCad 2004, Autocad2010
|
erstellt am: 13. Feb. 2011 13:17 <-- editieren / zitieren --> Unities abgeben:
Hallo, Ich habe mich etwas mit der Skript Programmierung beschäftigt und habe nun folgendes Problem: Ich möchte den Text des Attributes "Att1" vom Block "Block1" ändern. Ich habe zwar mit dem Befeh attedit probiert und experimentiert, bin jedoch nicht wirklich schlau gewerden, weshalb ich hier im Forum fragen wollte, ob jemand von euch eine Lösung hat. Danke im voraus, Josef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 13. Feb. 2011 13:54 <-- editieren / zitieren --> Unities abgeben: Nur für dajosef
Du hast eine Blockdefinition mit einer Attributsdefinition ... Davon kannst du mehrere BlockReferenzen mit den entsprechenden Attributen haben. Mit Lisp würde ich ne Möglichkeit sehen : (defun ATTUPDATE ( BLOCKNAME ATTRIBNAME ATTRIBWERT / AUSWAHL INDEX OBJEKTDATEN) (setq AUSWAHL (ssget "_x" (list '(0 . "INSERT")'(66 . 1)(cons 2 BLOCKNAME)))) (setq INDEX -1) (repeat (sslength AUSWAHL) (setq OBJEKTDATEN (entget (ssname AUSWAHL (setq INDEX (1+ INDEX))))) (if (assoc 66 OBJEKTDATEN) (while (/= (cdr (assoc 0 OBJEKTDATEN)) "SEQEND") (setq OBJEKTDATEN (entget (entnext (cdr (assoc -1 OBJEKTDATEN))))) (if (and(=(cdr (assoc 0 OBJEKTDATEN)) "ATTRIB") (=(strcase (cdr(assoc 2 OBJEKTDATEN))) (strcase ATTRIBNAME)) ) (progn (entmod(subst(cons 1 ATTRIBWERT) (assoc 1 OBJEKTDATEN) OBJEKTDATEN ) ) ) ) ) ) ) ) Aufruf dann (ATTUPDATE "BLOCK1" "ATT1" "NEUERWERT") ------------------ - 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 |
dajosef Mitglied Student
Beiträge: 4 Registriert: 13.02.2011 AutoCad 2004, Autocad2010
|
erstellt am: 13. Feb. 2011 14:16 <-- editieren / zitieren --> Unities abgeben:
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 08. Nov. 2012 10:41 <-- editieren / zitieren --> Unities abgeben: Nur für dajosef
Servus, kann man das auch umbauen das es bei MTexten funktioniert?
------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Sport ist Mord Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 08. Nov. 2012 10:43 <-- editieren / zitieren --> Unities abgeben: Nur für dajosef
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 08. Nov. 2012 11:38 <-- editieren / zitieren --> Unities abgeben: Nur für dajosef
Mtext ahhh trottel sry meinte natürlich mehrzeilige Attribute (da gehts nämlich nicht) ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Sport ist Mord Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 08. Nov. 2012 11:41 <-- editieren / zitieren --> Unities abgeben: Nur für dajosef
|