| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| | |
 | MAIT erhält den Abas Partner Performance Award 2025, eine Pressemitteilung
|
|
Autor
|
Thema: Drafting: Element über ID selektieren? (66 / mal gelesen)
|
Martin Gutjahr Mitglied Jack of all trades

 Beiträge: 15 Registriert: 03.12.2000 HP Z800,Z2G1i | HP15c Creo Elements/Direct Modeling 20.8, SheetMetal, AdvancedDesign, SolidPower, SolidTube, SolidPipe, PhoenixPDM
|
erstellt am: 26. Nov. 2025 07:36 <-- editieren / zitieren --> Unities abgeben:         
Ich mal wieder... Eines meiner Makros editiert die Bemaßungs-Prefixe. Code:
INQ_SELECTED_ELEM GLOBAL DIMENSIONS ALL LOOP EXIT_IF ((INQ 14) = 0) { verbleibende Bemaßungen} { INQ 39 = Element-ID INQ 309 = Part-ID INQ 902 = Prefix Text INQ 904 = Postfix Text } IF ((LEN (INQ 902)) AND ((INQ 902) <> "END-OF-LIST")) LET C (UCHR 57393) { <Diameter> -> "ø" UCHR(248) oder "Ø" -> UCHR(216) } LET T (INQ 902) LET P (POS T C) IF (P>0) EDIT_PART (INQ 309) LET Tnew ((SUBSTR T 1 (P-1)) + (UCHR 216) + (SUBSTR T (P+1) 80)) EDIT_DIM_PREFIX PICK_VP_PNT 1 (INQ 101) Tnew END END_IF END_IF INQ_NEXT_ELEM END_LOOP
Das funktioniert fast immer. Nur bei einer Bemaßung kommt mir ein trap token error. trace:
Code:
INQ_SELECTED_ELEM GLOBAL DIMENSIONS ALL LOOP EXIT_IF ( ( INQ 14 ) = 0 ) 0 IF ( ( LEN ( INQ 902 ) ) AND ( ( INQ 902 ) <> 'END-OF-LIST' ) ) 1 LET C ( UCHR 57393 ) '' LET T ( INQ 902 ) ' ' LET P ( POS T ' ' C '' ) 2 IF ( P 2 > 0 ) 1 LET Cnt ( Cnt 0 + 1 ) 1 EDIT_PART ( INQ 309 ) '~26' LET Tnew ( ( SUBSTR T ' ' 1 ( P 2 -1 ) ) + ( UCHR 216 ) + ( SUBSTR T ' ' ( P 2 + 1 ) 80 ) ) ' Ø' EDIT_DIM_PREFIX PICK_VP_PNT 1 ( INQ 101 ) -402.479368338531,-8.26140561111269 { trapped token error occurred } Tnew ' Ø' { trapped token error occurred } END END_IF END_IF INQ_NEXT_ELEM END_LOOP weitere Änderungen laufen problemlos durch: EDIT_DIM_PREFIX PICK_VP_PNT 1 ( INQ 101 ) -224.539987097415,101.052014913183 Tnew ' Ø' END EDIT_DIM_PREFIX PICK_VP_PNT 1 ( INQ 101 ) -208.811594399194,127.372303128114 Tnew ' Ø' END etc...
Es ist zufälligerweise die erste Bemaßung in der Liste, aber daran liegts nicht - wenn ich bei der ersten im Loop kein EDIT_DIM_PREFIX mache läuft es bei der nächsten (welche dann die erste editierte ist) wie gehabt problemlos. Ich vermute daß das PICK_VP_PNT nichts findet. Der Maßtext ist zur Seite gezogen. Wenn ich aber in der Befehlszeile
Code:
INQ_ELEM -> Klick auf Bemaßung und dann EDIT_DIM_PREFIX PICK_VP_PNT 1 (INQ 101)
eingebe wird mir das Prefix zur manuellen Änderung vorgeschlagen... Seltsam? Kann ich eine Bemaßung auch über die Element ID (INQ 39) statt über PICKVP_PNT (INQ 101) selektieren? Oder auf anderem Weg? So long, Martin
------------------ Tu nicht so, sonst bekommst Du das doch auch immer hin! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
     
 Beiträge: 2398 Registriert: 3.20. ● PE60+80+90@home ● W10 Pro Build10.0.19045.6466 ● Drafting V17~V20.7@job ● Modeling V17~V20.7@job ● Windchill 12.1.2.6@job ● UWGM Client 13.1.0.1@job ● Taschenrechner ● brain 6.3 ● Stift+Zettel V8.42
|
erstellt am: 26. Nov. 2025 20:08 <-- editieren / zitieren --> Unities abgeben:          Nur für Martin Gutjahr
Zitat: Original erstellt von Martin Gutjahr: Kann ich eine Bemaßung auch über die Element ID (INQ 39) statt über PICKVP_PNT (INQ 101) selektieren?
PICKVP_PNT war das erste was mir in dem Code.. <räusper> Ich räuber aber am liebsten erst in den Annotation Macros. 😉
Es gibt da aber paar Zeilen, die auch den Pointer mit Bemassungen einsetzen:
Code: DA_STYLE_GET POINTER (INQ 332) Also ggf. EDIT_DIM_PREFIX GLOBAL POINTER (INQ 332) Tnew END
39? 332? Das eine war nen String, das andere 'n Integer. Kam durch die 64bit Version vom Drafting. Mit GLOBAL POINTER brauchst du dann auch den EDIT_PART nimmer, und, Nebeneffekt: Teile könnten skaliert sein. Da wäre dann auch ein umrechnen nicht mehr nötig. ------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Martin Gutjahr Mitglied Jack of all trades

 Beiträge: 15 Registriert: 03.12.2000 HP Z800,Z2G1i | HP15c Creo Elements/Direct Modeling 20.8, SheetMetal, AdvancedDesign, SolidPower, SolidTube, SolidPipe, PhoenixPDM
|
erstellt am: 26. Nov. 2025 22:18 <-- editieren / zitieren --> Unities abgeben:         
Zitat: <räusper>
Nicht dran verschlucken! EDIT_DIM_TEXT funktioniert mit POINTER. EDIT_DIM_PREFIX nicht. getraced aus der Befehlszeile sieht das so aus:
Code:
INQ_ELEM PICK_VP_PNT 1 -213.79740688525,-28.248553834509 LET Ptr ( INQ 332 ) '76352032' EDIT_DIM_TEXT POINTER Ptr '76352032' 'ABC' END EDIT_DIM_PREFIX POINTER { untrapped token error occurred }
------------------ Tu nicht so, sonst bekommst Du das doch auch immer hin! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
     
 Beiträge: 2398 Registriert: 3.20. ● PE60+80+90@home ● W10 Pro Build10.0.19045.6466 ● Drafting V17~V20.7@job ● Modeling V17~V20.7@job ● Windchill 12.1.2.6@job ● UWGM Client 13.1.0.1@job ● Taschenrechner ● brain 6.3 ● Stift+Zettel V8.42
|
erstellt am: 26. Nov. 2025 22:45 <-- editieren / zitieren --> Unities abgeben:          Nur für Martin Gutjahr
|
Martin Gutjahr Mitglied Jack of all trades

 Beiträge: 15 Registriert: 03.12.2000 HP Z800,Z2G1i | HP15c Creo Elements/Direct Modeling 20.8, SheetMetal, AdvancedDesign, SolidPower, SolidTube, SolidPipe, PhoenixPDM
|
erstellt am: 26. Nov. 2025 23:03 <-- editieren / zitieren --> Unities abgeben:         
EDIT_DIM_PREFIX SELECT mit POINTER klappt leider auch nicht. PRESELECT POINTER Ptr CONFIRM - ok, Bemaßung ist selektiert. EDIT_DIM_TEXT "ABC" END - klappt. EDIT_DIM_PREFIX "D" END dann wieder nicht. Ich schlaf jetzt ne Nacht drüber. ------------------ Tu nicht so, sonst bekommst Du das doch auch immer hin! [Diese Nachricht wurde von Martin Gutjahr am 26. Nov. 2025 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Martin Gutjahr Mitglied Jack of all trades

 Beiträge: 15 Registriert: 03.12.2000 HP Z800,Z2G1i | HP15c Creo Elements/Direct Modeling 20.8, SheetMetal, AdvancedDesign, SolidPower, SolidTube, SolidPipe, PhoenixPDM
|
erstellt am: 26. Nov. 2025 23:34 <-- editieren / zitieren --> Unities abgeben:         
In den Anno-Makros bin ich über ein Konstrukt Code: EDIT_DIM_TEXT (Dim_midpoint/Dim_scale) ...
gestolpert. Damit kann es zu tun haben! Die Ansicht mit dem nicht erkannten Maß hat Maßstab 2:1. Aber warum fängt mein Script 2 von 3 Maßen und eins nur wenn ich mit Dim_scale 2 rechne? Muß ich die Tage mal drüberschauen... Danke fürs Mitleiden. ------------------ Tu nicht so, sonst bekommst Du das doch auch immer hin! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |