| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Dateiname aus Attributen bilden (819 mal gelesen)
|
HansGeorg Mitglied Konstrukteur
Beiträge: 187 Registriert: 26.11.2002 SWX 2009 Pro/E WF 3 XP SP3 4 GB RAM NVIDIA Quadro FX 1800
|
erstellt am: 10. Nov. 2003 09:56 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, wie kann man bei der Ausgabe eines wblock's den Dateinamen aus Attributen zusammensetzen. Soll die neue Datei den Dateinamen der jetzigen Zeichnung erhalten gehe ich folgendermaßen vor: (strcat "c:/temp/" (substr (getvar "DWGNAME") 1 (- (strlen (getvar "DWGNAME")) 4)) ".dwg") Wie kann man vorhandene Attribute als Dateiname verwenden? Und wie kann man "dwgname" mit dem Wert des Attributs "A" kombinieren? Z.B. dwgname ergibt XX und Attribut A ergibt Z - Ergebnis XX-Z Vielen Dank! Grüße HansGeorg 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: 10. Nov. 2003 10:05 <-- editieren / zitieren --> Unities abgeben: Nur für HansGeorg
also erstmal ist die Vorgehenswiese, wie du es bisher machst 'von hinten durch die Brust ins Auge'! so ist das etwas einfacher: (strcat "c:/temp/" (getvar "DWGNAME")) zu 2. Das wäre etwas einfacher, wenn du das näher beschreinem könntest. willst du den Attributwert, oder den Attributnamen als Namensbestandteil? Hängt das Attribut an einem Block, der immer gleich ist, oder meinst du eine Attributdefinition, die in der Zeichnung vorhanden ist? Prinzipiell funzt das auch mit strcat. ------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HansGeorg Mitglied Konstrukteur
Beiträge: 187 Registriert: 26.11.2002 SWX 2009 Pro/E WF 3 XP SP3 4 GB RAM NVIDIA Quadro FX 1800
|
erstellt am: 10. Nov. 2003 10:17 <-- editieren / zitieren --> Unities abgeben:
Hallo, und wieder was dazugelernt - Danke! Der Attributwert soll Namesbestandteil werden. Das Attribut hängt an einem Block. Der Block ändert den Namen. Der Attributname ist immer gleich, nur der Wert ändert sich. Hoffentlich verständlich erklärt. Viele Grüße HansGeorg 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: 10. Nov. 2003 12:43 <-- editieren / zitieren --> Unities abgeben: Nur für HansGeorg
soo, weiterlernen.. das Attribut hängt ganz sicher NICHT an einem Block höchstens an einer Blockreferenz. hier mal eine Möglichkeit um an deinen Attributwert zu kommen: Das Ergebniss steht in der Variablen erg. (setq EARX_BTAA (tblnext "BLOCK" T) elist nil ) ;_ end of setq (while (/= EARX_BTAA nil) (setq elem (cdr (assoc -2 EARX_BTAA))) (while (/= elem NIL) (setq tt (entget elem)) (cond ((and (= (cdr (assoc 0 tt)) "ATTDEF") (= (cdr (assoc 2 tt)) "QM") ) ;_ end of and (progn (if(and (setq elist (ssget "_X" (list (cons 0 "INSERT")(assoc 2 EARX_BTAA)))) (= (sslength elist) 1) ) (progn (setq hm (ssname elist 0)) (While (/=(cdr(assoc 0(entget hm)))"SEQEND") (if(and (=(cdr(assoc 0(entget hm)))"ATTRIB") (=(cdr(assoc 2 (entget hm)))"QM") ) (setq erg (cdr(assoc 1 (entget hm)))) ) (setq hm (entnext hm)) ) ) ) ) ;_ end of progn ) ;_ end of if ) ;_ end of cond (setq elem (entnext elem)) ) ;_ end of while (setq EARX_BTAA (tblnext "BLOCK")) erg ) ;_ end of while ------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HansGeorg Mitglied Konstrukteur
Beiträge: 187 Registriert: 26.11.2002 SWX 2009 Pro/E WF 3 XP SP3 4 GB RAM NVIDIA Quadro FX 1800
|
erstellt am: 21. Nov. 2003 22:05 <-- editieren / zitieren --> Unities abgeben:
|