Hot News:
   

Mit Unterstützung durch:

  Foren auf CAD.de
  PTC Creo Elements/Programmierung
  Drafting: Element über ID selektieren?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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


Sehen Sie sich das Profil von Martin Gutjahr an!   Senden Sie eine Private Message an Martin Gutjahr  Schreiben Sie einen Gästebucheintrag für Martin Gutjahr

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Martin Gutjahr 10 Unities + Antwort hilfreich

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 ESRJava 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


Sehen Sie sich das Profil von Martin Gutjahr an!   Senden Sie eine Private Message an Martin Gutjahr  Schreiben Sie einen Gästebucheintrag für Martin Gutjahr

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Martin Gutjahr 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Martin Gutjahr:
getraced aus der Befehlszeile sieht das so aus:

Dann stülp noch den SELECTOR oben drüber. Ja, ich hatte befürchtet das nicht alle Befehle mit POINTER umgehen können.

Code:
EDIT_DIM_PREFIX SELECT GLOBAL POINTER (INQ 332) CONFIRM 'ABC' END
code written - not tested

------------------
Firefox ESRJava 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


Sehen Sie sich das Profil von Martin Gutjahr an!   Senden Sie eine Private Message an Martin Gutjahr  Schreiben Sie einen Gästebucheintrag für Martin Gutjahr

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von Martin Gutjahr an!   Senden Sie eine Private Message an Martin Gutjahr  Schreiben Sie einen Gästebucheintrag für Martin Gutjahr

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen .... | Nach anderen Beiträgen suchen

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz