| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Attributwerte ändern (1240 mal gelesen)
|
tm13 Mitglied Dipl.-Ing. VU
Beiträge: 6 Registriert: 26.03.2003
|
erstellt am: 26. Mrz. 2003 13:35 <-- editieren / zitieren --> Unities abgeben:
Ich habe in einer Zeichnung viele Blöcke, die ein Attribut "Datenblatt" enthalten. Jetzt soll dem Wert aller Attribute, also der Datenblattnummer, noch eine Null vorangestellt werden. Lässt sich das irgendwie global ändern? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 26. Mrz. 2003 14:06 <-- editieren / zitieren --> Unities abgeben: Nur für tm13
|
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 26. Mrz. 2003 14:20 <-- editieren / zitieren --> Unities abgeben: Nur für tm13
Hallo TM13, ich weiß nun nicht wieviele Blöcke du hast, und ob das betroffene Attribut immer den gleichen Wert hat. Wenn überall also das gleiche drinnensteht, dann kannst du dass auch mit Attribute editieren machen. Befehl: _attedit Ansonsten ist's so wie CADwiesel schreibt. Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Neue Tool's im Free-&Download Zugang zum Download schon gesichert? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1143 Registriert: 20.12.2002 Autocad 2020/64B Win10 WORKSTATION Intel(R) CPU E5-1620 3.60GHz 16,0GB Ram 64 Bit-Betriebssystem HP Designjet T7200 Grafik NVIDIA Quadro P4000 ZWCAD2019
|
erstellt am: 26. Mrz. 2003 14:58 <-- editieren / zitieren --> Unities abgeben: Nur für tm13
|
Marco Müller Mitglied Konstrukteur Versorgungstechnik
Beiträge: 241 Registriert: 12.03.2001 Acad2002 (engl.) LiNear 3D-Heizzentrale WinXP SP1 AMD 2,8 GHz 1GB RAM GF FX5700 128MB
|
erstellt am: 27. Mrz. 2003 12:21 <-- editieren / zitieren --> Unities abgeben: Nur für tm13
Hallo tm13, da war doch mal... ich hab was bei mir gefunden, mit dem Tool habe ich bestimmte Textstellen in Attributen gesucht und durch andere getauscht - global versteht sich. Kannste mal ausprobieren Hier der Code: (defun c:mae (/) (setq chgabpos (getint "Geben Sie die Startposition an: ") textalt (getstring "Geben Sie die alte Zeichenfolge an: ") textneu (getstring "Geben Sie die neue Zeichenfolge an: ") attname (getstring "Geben Sie den Attributnamen an: ")) (setq chganzpos (strlen textalt) entity (entnext)) (while (/= entity nil) (setq obj (entget entity)) (setq objtype (cdr ( assoc 0 obj))) (if (= objtype "ATTRIB") (progn (setq objname (cdr (assoc 2 obj))) (if (= objname attname) (progn (setq atttext (cdr (assoc 1 obj))) (setq testtext (substr atttext chgabpos chganzpos)) (if (= testtext textalt) (progn (if (> chgabpos 1) (progn (setq hilfe1 (- chgabpos 1)) (setq hilfe2 (+ chgabpos chganzpos)) (setq vorsilbe (substr atttext 1 hilfe1) nachsilbe (substr atttext hilfe2)) (setq neutext (strcat vorsilbe textneu nachsilbe))) (progn (setq hilfe1 (+ chganzpos 1)) (setq nachsilbe (substr atttext hilfe1)) (setq neutext (strcat textneu nachsilbe)))) (setq obj (subst (cons 1 neutext) (assoc 1 obj) obj)) (entmod obj)) ) )) )) (setq entity (entnext entity)) ) ) Den Code einfach in eine Textdatei kopieren, umbenennen auf .LSP und in Acad laden. Aufruf über MAE. Gruss Marco Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 27. Mrz. 2003 12:27 <-- editieren / zitieren --> Unities abgeben: Nur für tm13
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 27. Mrz. 2003 15:37 <-- editieren / zitieren --> Unities abgeben: Nur für tm13
|
tm13 Mitglied Dipl.-Ing. VU
Beiträge: 6 Registriert: 26.03.2003
|
erstellt am: 27. Mrz. 2003 17:37 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank erstmal, nur hat es noch nicht richtig funktioniert. Die Routine läuft, aber die Werte sind nicht geändert. Am Anfang werde ich zur Eingabe eines Startpunktes aufgefordert. Was muss ich da angeben? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tm13 Mitglied Dipl.-Ing. VU
Beiträge: 6 Registriert: 26.03.2003
|
erstellt am: 27. Mrz. 2003 18:04 <-- editieren / zitieren --> Unities abgeben:
|
Marco Müller Mitglied Konstrukteur Versorgungstechnik
Beiträge: 241 Registriert: 12.03.2001 Acad2002 (engl.) LiNear 3D-Heizzentrale WinXP SP1 AMD 2,8 GHz 1GB RAM GF FX5700 128MB
|
erstellt am: 28. Mrz. 2003 07:58 <-- editieren / zitieren --> Unities abgeben: Nur für tm13
@ CADwiesel / tm13: Das Prog macht ein wenig mehr: Es durchsucht Attribute ab einer Position (-> erste Eingabe) nach einem bestimmten Text und tauscht diesen gegen den neuen aus. Danach muss man die ganze Zeichnung regenerieren um die Änderungen zu sehen. Hab das Prog genutzt um MSR-Nummern von Lüftungskomponenten umzuschreiben. Z.B. aus 013_RLT_01 mach 013_MSR_01. Eine Besonderheit - Nachteil oder Vorteil ist Ansichtssache - daran, man muss wissen, wie das Attribut heisst das man ändern will. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |