| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
Autor
|
Thema: mit Makro durch Teilebaum iterieren (1410 mal gelesen)
|
anjor Mitglied
Beiträge: 2 Registriert: 13.02.2006
|
erstellt am: 13. Feb. 2006 18:28 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich bin ME10-Neuling und habe hier ein etwas betagtes Programm (Version 7.4) vor mir. Ich schreibe an einem Makro, mit dem ich die Farben in der Zeichnung nach Kundenvorgabe verändern kann. Das Makro enthält zur Zeit Einträge der folgenden Art:
Code:
change_color [farbe_nachher] select global [farbe_vorher] confirm change_hatch_color [farbe_nachher] select global hatching all confirm
Kopfzerbrechen bereitet mir die Farbänderung der Bemassung. Zwar gibt es mit change_dim_color und change_dim_texts Möglichkeiten die Farben der Bemassung zu verändern, aber dies funktioniert nur im aktiven Teil. Meine Frage ist daher, wie kann ich durch den Teilebaum iterieren? Dank und Grüße - A. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
H.annes Mitglied CAD-Pfriemler
Beiträge: 482 Registriert: 02.07.2001 ME10 8.7 - PTC DirectDrafting 19.00; OSM 15.xx - PTC DM 19.xx
|
erstellt am: 14. Feb. 2006 07:39 <-- editieren / zitieren --> Unities abgeben: Nur für anjor
Morgen! Manche Befehle funktionieren leider nur im aktuellen Teil - ohne GLOBAL Ich glaub ich hab dieses Makro schon ein paar mal gepostet - habs aber auf die Schnelle selbst nicht mehr gefunden ( schade - nix mit *warschonda* ) ok - hier ist es: Zitat: DEFINE Teileliste {LOCAL ...} EDIT_PART TOP CREATE_LTAB 'TMPLTAB' PARTS_LIST TREE LTAB 'TMPLTAB' LET I 1 WHILE (I <= (LTAB_ROWS 'TMPLTAB')) LET Z (READ_LTAB 'TMPLTAB' I 1) LET Kl1 (POS Z ' [~') LET Tmpstr (SUBSTR Z (Kl1+2) (LEN Z - Kl1 - 1)) LET Kl2 (POS Tmpstr ']') LET Name (SUBSTR Z 1 (Kl1 - 1)) { <--- Teilename } LET Nr (SUBSTR Tmpstr 1 (Kl2-1)) { <--- Teilenummer } Teil_aktion LET I (I+1) END_WHILE END_DEFINE DEFINE Teil_aktion TRAP_ERROR EDIT_PART Nr { hier die Aktionen einfuegen } EDIT_PART TOP IF (CHECK_ERROR) END_IF END_DEFINE
Gruss aus Österreich, Hannes ------------------ die töne erfassen mich oft wie ein meer zu meinem bleichen sterne ob im äther weit ob im nebel schwer steur ich ins ferne. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fan-ME10 Mitglied DV-Adminstrator, Konstrukteur
Beiträge: 543 Registriert: 21.08.2001 Erare humanum est
|
erstellt am: 14. Feb. 2006 11:15 <-- editieren / zitieren --> Unities abgeben: Nur für anjor
Hallo zusammen, @Hannes: In V7.4 gibt's noch kein PARTSD_LIST TREE LTAB! Hast du bestimmt übersehen. @anjor: probier mal folgendes: DEFINE Teileliste LOCAL A LOCAL Teil PARTS_LIST TREE DEL_OLD 'c:\parts.txt' OPEN_INFILE 1 'c:\parts.txt' LOOP READ_FILE 1 Teil EXIT_IF (Teil='END-OF-FILE') LET Teil (TRIM Teil) LET A (POS Teil '~') LET Teil (SUBSTR Teil A ((LEN Teil) - A)) LET A (POS Teil ']') LET Teil (SUBSTR Teil 1 (A -1)) TRAP_ERROR EDIT_PART Teil IF ((CHECK_ERROR)=0) Teil_aktion END_IF END_LOOP EDIT_PART TOP CLOSE_FILE 1 END_DEFINE DEFINE Teil_aktion { hier die Aktionen einfuegen } END_DEFINE
------------------ Gruß Wilfried Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
H.annes Mitglied CAD-Pfriemler
Beiträge: 482 Registriert: 02.07.2001 ME10 8.7 - PTC DirectDrafting 19.00; OSM 15.xx - PTC DM 19.xx
|
erstellt am: 14. Feb. 2006 11:27 <-- editieren / zitieren --> Unities abgeben: Nur für anjor
Zitat: Original erstellt von Fan-ME10: Hallo zusammen, @Hannes: In V7.4 gibt's noch kein PARTS_LIST TREE LTAB! Hast du bestimmt übersehen. @anjor: probier mal folgendes: ...
PARTS_LIST ... LTAB gabs m.W. schon in 6.11 von 1995 - aber egal, deine Lösung sieht sehr gut aus! Hannes ------------------ schön langsam. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fan-ME10 Mitglied DV-Adminstrator, Konstrukteur
Beiträge: 543 Registriert: 21.08.2001 Erare humanum est
|
erstellt am: 14. Feb. 2006 12:22 <-- editieren / zitieren --> Unities abgeben: Nur für anjor
|
anjor Mitglied
Beiträge: 2 Registriert: 13.02.2006
|
erstellt am: 15. Feb. 2006 19:13 <-- editieren / zitieren --> Unities abgeben:
|