| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Attributsdefinition auslesen (1691 mal gelesen)
|
Manuel Sauter Mitglied
Beiträge: 28 Registriert: 29.10.2003
|
erstellt am: 24. Mrz. 2004 14:30 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, ich brauche nochmals Eure Hilfe. Nachdem ich nun meine Mutterzeichnungen mit der Attributsdefinition "ARTICLENUMBER" mit dem Vorgabewert "TISCH_##-###-##_N_K" abgeändert habe, wollte ich diese mit der Befehl "_-eattext" auslesen und in eine Textdatei schreiben. Da ich nur den Layer und die Attributsdefinition auslesen möchte brauche ich eine Vorlagedatei. Jetzt ist mir aufgefallen das ich jeden Artikel in diese Vorlagedatei einbringen muß um ein korrekte Textdatei zu erhalten. Meine Frage nun: Ich habe mehrere INSERTS und möchte aus jedem eine Attributsdefinition auslesen und in eine Textdatei schreiben. Kann ich über die Objektdaten auch auf die Attributsdefinition von INSERTS zugreifen? Mit Hilfe der Einträge von Holer und Thomas auf meine letzte Frage "Attribute umbenennen" habe ich es versucht, komme aber auf keine Lösung. Wahrscheinlich habe ich einfach noch zu wenig Erfahrung. Gruss Manuel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marvin101010 Mitglied ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)
Beiträge: 562 Registriert: 22.01.2003 Pentium 4 Windows XP Autocad 2002 Autocad 2002LT + Extender ADT 3.3 ArchiCAD
|
erstellt am: 24. Mrz. 2004 16:35 <-- editieren / zitieren --> Unities abgeben: Nur für Manuel Sauter
(setq testblock (car (entsel))) -> Attributsblock deiner Wahl (setq attribut (entnext testblock)) -> über "entnext" gerätst du an das erste Attribut des Blockes mit jedem weiteren "entnext" die nächsten, in der Reihenfolge der Attributsabfrage. (entget attribut) -> du erhältst die eigenschaften (gruppencodes) des Attributes als Liste jetzt noch "subst", "entmod" und "entupd" nachlesen, dann begreifst du auch wie du Attribute ändern kannst...die Entwickler-Hilfe ist da echt gut!!! wenn du das hast, können wir weitermachen ;-)) ------------------ ...so long and thanx for all the fish! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 24. Mrz. 2004 20:24 <-- editieren / zitieren --> Unities abgeben: Nur für Manuel Sauter
|
Manuel Sauter Mitglied
Beiträge: 28 Registriert: 29.10.2003
|
erstellt am: 25. Mrz. 2004 08:30 <-- editieren / zitieren --> Unities abgeben:
|
Ex-Mitglied
|
erstellt am: 25. Mrz. 2004 20:11 <-- editieren / zitieren -->
Zitat: Original erstellt von marvin101010: (setq testblock (car (entsel))) -> Attributsblock deiner Wahl(setq attribut (entnext testblock)) -> über "entnext" gerätst du an das erste Attribut des Blockes mit jedem weiteren "entnext" die nächsten, in der Reihenfolge der Attributsabfrage. (entget attribut) -> du erhältst die eigenschaften (gruppencodes) des Attributes als Liste
Damit kommst Du nur an die Attribute selbst, aber nicht an die Attributdefinitionen heran - ATTDEF und ATTRIB sind unterschiedliche Entity-Typen, vergleichbar dem BLOCK und dem INSERT Entity. Das ATTDEF Element findet man innerhalb der Blockdefinition. Übrigens kann man auch problemlos Attribute an Blockreferenzen hängen, bei denen die Blockdefinition überhaupt keine ATTDEF Elemente hat. Tom Berger ------------------ Architekturwerkzeuge für AutoCAD: http://www.archtools.de |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 25. Mrz. 2004 20:32 <-- editieren / zitieren --> Unities abgeben: Nur für Manuel Sauter
@Tom sicher ist das alles möglich. Auf diese Weise kann man, obwohl es ein und derselbe Blockname ist, die Inserts/Attribute verschieden aufzubauen. Ich persönlich halte davon überhaupt nichts, und finde es nicht gut, dass du diese Möglichkeiten auch noch propagierst. Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 25. Mrz. 2004 20:57 <-- editieren / zitieren --> Unities abgeben: Nur für Manuel Sauter
Holger, nachdem ich heute eigentlich meinen Holger-Zustimmtag hatte... Da muss ich dir ganz klar widersprechen: Kannst ja darüber denken, was du willst - aber soll man das denn totschweigen? Das Problem hat doch jeder DAU sowieso, wenn er seine Blöcke redefiniert und dabei eine andere Anzahl von Attributen verwendet. Da hab ich schon oft staunende Kinderaugen erlebt;-) Ausserdem kann das durchaus sinnvoll sein, BlockDefs ohne AttDefs zu verwenden und sich dann die Attribute mit einem Tool dranzukleben. Die Information "Überarbeiten!" z.B. - wer braucht eine Liste aller Blöcke, die NICHT überarbeitet werden müssen. Der Förster macht ja auch nur ein rotes Kreuzchen an die Bäume, die gefällt werden sollen. An alle anderen Bäume ein grünes zu machen, wäre doch Verschwendung! Also: Machen kann jeder, was er will. Kennen muss den Mechanismus aber jeder, der gescheit mit AutoCAD arbeiten will. Gruß, Axel ------------------ Meine AutoLisp-Seiten Meine private Homepage Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Meine Überzeugung... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |