| |
| 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 – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Attribute ausfüllen im Batch (327 mal gelesen)
|
Martin Sigloch Mitglied Ingenieur
Beiträge: 259 Registriert: 07.11.2000
|
erstellt am: 26. Apr. 2006 17:49 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich suche eine Möglichkeit Attribute im Batch auszufüllen: Für den Batchablauf könnte ich den Scriptgenerator von AutoCAD Mechanical verwenden. Nun brauche ich aber noch ein Tool, das es mir ermöglicht ganz bestimmten Attributen - die je nach Datei - entweder noch keinen oder aber bereits einen beliebigen Wert haben können. Kann da jemand helfen? Gruß MS Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 26. Apr. 2006 19:53 <-- editieren / zitieren --> Unities abgeben: Nur für Martin Sigloch
helfen können da viele, solange das im Umfang einer Forum-Hilfestellung bleibt machen es sicher auch einige Du hast bisher nur zuwenig Informationen bisher preisgegeben.. 1.)genauere Programmversion ?! 2.)"ganz bestimmten Attributen - die je nach Datei -..." Man muß schon konkret eine "Auswahl-Eigenschaft" kennen.. => Welche Attribute sollen ==> mit welchem Wert gefüllt werden ?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 26. Apr. 2006 20:26 <-- editieren / zitieren --> Unities abgeben: Nur für Martin Sigloch
Zitat: Original erstellt von Martin Sigloch:
Kann da jemand helfen?
jo, ich denke, ich meld mich mal .. schreib ne genaue Anfrage, und dann sehen wir weiter Aber z.B: sind IMHO auch die anderen der Top5 ausm Lispforum geeignete Kandidaten ------------------ - 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 |
Martin Sigloch Mitglied Ingenieur
Beiträge: 259 Registriert: 07.11.2000
|
erstellt am: 27. Apr. 2006 09:36 <-- editieren / zitieren --> Unities abgeben:
Danke Euch beiden. Stimmt, im Lisp Forum hätte ich's auch mal versuchen können. Mit Lisp habe ich allerdings seit über 1 Jahren nichts mehr gemacht. Da ist nicht mehr viel übrig. Versucht hab ich’s trotzdem – siehe Anhang. Bitte nicht erschrecken. Was soll passieren: Mit dem Script Generator von AutoCAD Mechanical sollen Dateien der Reihe nach geöffnet werden. Dann soll das Lisp ablaufen: In dem Block „rahmen“ sollen ganz bestimmte definierte Attribute andere Werte erhalten. Es hat bislang auch immer funktioniert. Nur: Im jetzigen Fall haben die Attribute unterschiedliche Werte, und bei „-attedit“ muss man den bereits bestehenden Wert wissen und angeben, bevor man den neuen Wert eingibt. Was wir brauchen ist die Möglichkeit den über die Bezeichnung definierten Attributen einen bestimmten Wert zuzuordnen – unabhängig davon, ob bereits ein Wert zugeordnet ist und welcher So, ich hoffe, es ist mir gelungen das deutlich genug zu formulieren. Grüße MS
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Martin Sigloch Mitglied Ingenieur
Beiträge: 259 Registriert: 07.11.2000
|
erstellt am: 27. Apr. 2006 09:39 <-- editieren / zitieren --> Unities abgeben:
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 27. Apr. 2006 11:44 <-- editieren / zitieren --> Unities abgeben: Nur für Martin Sigloch
sowas? Code:
(defun c:attaend (/ tt) (defun bau_elemli (asatz / n elemli) (setq n 0) (repeat (sslength asatz) (setq elemli (cons (ssname asatz n) elemli) n (1+ n) ) ;_ end of setq ) ;_ end of repeat elemli ) ;_ end of defun (mapcar '(lambda (x / ATTRIBUT) (foreach ATTRIBUT (vlax-safearray->list (vlax-variant-value (vla-getattributes (vlax-ename->vla-object x)) ) ;_ end of vlax-variant-value ) ;_ end of vlax-safearray->list (cond ((= (strcase (vla-get-TagString ATTRIBUT)) "F_DWG_NO_1") (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-Textstring (list ATTRIBUT "TBD") ) ;_ end of vl-catch-all-apply ) ;_ end of vl-catch-all-error-p ) ((= (strcase (vla-get-TagString ATTRIBUT)) "PART_NO") (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-Textstring (list ATTRIBUT "1S7G-6090/6S4G-6090") ) ;_ end of vl-catch-all-apply ) ;_ end of vl-catch-all-error-p ) ((= (strcase (vla-get-TagString ATTRIBUT)) "BT_NO") (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-Textstring (list ATTRIBUT "N/A") ) ;_ end of vl-catch-all-apply ) ;_ end of vl-catch-all-error-p ) ((= (strcase (vla-get-TagString ATTRIBUT)) "PLANT") (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-Textstring (list ATTRIBUT "TBD") ) ;_ end of vl-catch-all-apply ) ;_ end of vl-catch-all-error-p ) ((= (strcase (vla-get-TagString ATTRIBUT)) "DEPT#") (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-Textstring (list ATTRIBUT "TBD") ) ;_ end of vl-catch-all-apply ) ;_ end of vl-catch-all-error-p ) ((= (strcase (vla-get-TagString ATTRIBUT)) "OP_NO") (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-Textstring (list ATTRIBUT "TBD") ) ;_ end of vl-catch-all-apply ) ;_ end of vl-catch-all-error-p ) ((= (strcase (vla-get-TagString ATTRIBUT)) "SHT_TTL_L2") (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-Textstring (list ATTRIBUT "I4 CYLINDERHEAD MACHINING") ) ;_ end of vl-catch-all-apply ) ;_ end of vl-catch-all-error-p ) ((= (strcase (vla-get-TagString ATTRIBUT)) "SAF_T") (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-Textstring (list ATTRIBUT "N/A") ) ;_ end of vl-catch-all-apply ) ;_ end of vl-catch-all-error-p ) ((= (strcase (vla-get-TagString ATTRIBUT)) "CAD_FILE") (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-Textstring (list ATTRIBUT "N/A") ) ;_ end of vl-catch-all-apply ) ;_ end of vl-catch-all-error-p ) ) ) ;_ end of foreach ) ;_ end of lambda (if (setq tt (ssget "_X" '((0 . "INSERT") (2 . "RAHMEN")(66 . 1)))) (bau_elemli tt) ) ;_ end of if ) ;_ end of mapcar )
------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Martin Sigloch Mitglied Ingenieur
Beiträge: 259 Registriert: 07.11.2000
|
erstellt am: 27. Apr. 2006 14:23 <-- editieren / zitieren --> Unities abgeben:
|