Hot News:
   

Mit Unterstützung durch:

  Foren auf CAD.de
  Creo Elements/Direct
  Bemaßung - Gruppe definieren

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 Creo
  
MAIT übernimmt Kundenstamm von GMCAD, eine Pressemitteilung
Autor Thema:  Bemaßung - Gruppe definieren (139 / mal gelesen)
MiBr
Mitglied
Konstrukteur


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

Beiträge: 590
Registriert: 30.06.2015

HP Z440 Workstation 64GB
Modeling 20.1.2.0 (x64)
Drafting 20.1.2.0 (64x) klas. UI
Modell Manager 20.1.2.0
Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside

erstellt am: 22. Sep. 2025 10:43    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

Hallo,

mit dem Befehl 'am_define_group' kann man ja Gruppen definieren, also z.b. Bemaßungen mit Texte.
Jetzt möchte ich alle Bemaßungen auf einer Zeichnung löschen, außer die Bemaßungen an denen ein
Text hängt bzw. die in so einer Gruppe sind.

Jetzt suche ich eine Befehl der irgendwie so heißen könnte:

(sd-am-bemassung-gruppiert-p dim-item)

Nur den kann ich leider nicht finden.
Hat da evtl. jemand eine Idee?

Gruß Michael

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: 2364
Registriert: 3.20.

● PE60+80+90@home
● W10 Pro Build19045.6282
● 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: 22. Sep. 2025 11:28    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 MiBr 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von MiBr:
mit dem Befehl 'am_define_group' kann man ja Gruppen definieren
(sd-am-bemassung-gruppiert-p dim-item)
Hat da evtl. jemand eine Idee?

ja

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

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: 2364
Registriert: 3.20.

● PE60+80+90@home
● W10 Pro Build19045.6282
● 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: 22. Sep. 2025 15:47    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 MiBr 10 Unities + Antwort hilfreich


cad_de_29_004989_elem_in_grp.lsp

 
Dann will ich mal nicht so sein und doch noch heute auch ne lange Antwort senden 😏

Annotator.exe ist ja nix anderes als ein aufgebohrter, fern gesteuerter ME10. Also schmeißen wir die ME10 Hilfe an:

file:///C:/Program Files/PTC/Creo Elements/Direct Drafting 20.7.4.0/locale/en/me_help/me_frame.htm

An detaillierte Informationen kommt man mit INQ_ELEM / INQ_SELECTED_ELEM + INQ (einNümmerchen) ran. Also unter:

file:///C:/Program Files/PTC/Creo Elements/Direct Drafting 20.7.4.0/locale/en/me_help/me_helpi.htm#INQ_ELEM
file:///C:/Program Files/PTC/Creo Elements/Direct Drafting 20.7.4.0/locale/de/me_help/me_helpi.htm#INQ_ELEM

findet sich die Abfrage von Details aller möglichen Elementtypen:

Code:
If element type = TEXT
316 Returns "GROUP" if text is in a group, else it returns " ".

If element type = DIM_...
316 Returns "GROUP" if dimension is in a group, else it returns " ".



Das musst du also per (sd-execute-annotator-function :fnc "...") von deiner Bemaßung abfragen.

Zusätzlich wildern wir noch im großen Schatz der vorhandenen Macros:

Code:
C:\Programs\PTC\cedm_pe90\Annotation\win\*.m
um uns einen Schnipsel für einen boolschen Return Value zu ergattern.

"Fertig ist die Laube!" Letztlich ein Ein-Zeiler! Siehe Anhang.

Der Test-Dialog in der Toolbox ist gratis. 😌

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MiBr
Mitglied
Konstrukteur


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

Beiträge: 590
Registriert: 30.06.2015

HP Z440 Workstation 64GB
Modeling 20.1.2.0 (x64)
Drafting 20.1.2.0 (64x) klas. UI
Modell Manager 20.1.2.0
Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside

erstellt am: 23. Sep. 2025 08:10    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

Hallo,

das sieht so locker aus wie du das schreibst bzw. schilders, Danke!

Und wie war das mit dem kleinen Finger. Ach ja, wenn man den hat kann man auch
die ganze Hand nehmen. Oder, hänge ich schon am Arm?

Kannst du auch die an der Bemaßung gebundenen "Texte" ausgeben?!?

Wahrscheinliche Antwort: Ja  aber wie!?!

Gruß Michael

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: 2364
Registriert: 3.20.

● PE60+80+90@home
● W10 Pro Build19045.6282
● 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: 23. Sep. 2025 10:06    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 MiBr 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von MiBr:
.... hänge ich schon am Arm?

Kannst du auch die an der Bemaßung gebundenen "Texte" ausgeben?!?

Wahrscheinliche Antwort: Ja   aber wie!?!


Du hängst schon an zwei Armen!

Was fertiges gibt es da nicht.

Mit dem selben mini test dialog kannstu auch mal andere Funktionen aufrufen.
Dafür änderst du zuerst noch die selection auf DIMS+TEXTS damit man beides auswählen kann.

dann rufst du mal im after-input (zusätzlich)

Code:
(sd-execute-annotator-function ... "Docu_get_members_of_group_ptr 'the-annotator-reference-pointer' " ...)
auf. Da kommt für jedes angefragte Element eine Property Liste zurück. Entscheidend ist :MASTER . Master ist der Pointer der die Elemente der Gruppe vereint und dann eben identisch ist.

Da du ja eher LISPelst als Makro schreibst, hier ein Rezept:

- 1. Schritt
* selektiere eine dimension (interaktive)
** hole alle Texte in der Ansicht der Bemassung.
** nudel durch die Liste und
*** gucke ob der Text in einer group ist
*** und gucke dann nach dem Master
** wenn der Master eines Textes == Master der Bemassung ist (oder die Bemassung selbst)
*** Merke dir das Text sel-item
- 1. Schritt Fertig

- 2. Schritt
* für alle gemerkten Texte besorge dir den Text inhalt: via IKIT  sd-am-inq-text-strings
- 2. Schritt Fertig

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

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: 2364
Registriert: 3.20.

● PE60+80+90@home
● W10 Pro Build19045.6282
● 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: 23. Sep. 2025 10:26    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 MiBr 10 Unities + Antwort hilfreich

So, wie ich dich kenne wirst du vermutlich gleich wieder alle Bemassungen auf der Zeichnung beackern wollen. Dann wäre es für drölf Bemassungen einer Ansicht blöd drölf mal alle Texte in der Ansicht zu besorgen.

Also mal den Versuch wagen alle Texte auf der Zeichnung zu nehmen und dann zu reduzieren:

Code:
;; not tested!
(setq all-texts-in-drawing
  (get_selection :focus_type *sd-anno-text-seltype* :select :by_drawing_docu_rest))

(setq all-texts-in-any-group-in-drawing
  (delete-if-not 'sd-am-text-in-group-p all-texts-in-drawing))
;; not tested!


Damit haben wir allerdings auch ALLE texte im Schriftfeld erwischt und das sind meist recht viele.

Jetzt kannst du die Bemassungen jeweils mit all-texts-in-any-group-in-drawing abgleichen.

@all: ja auf macro ebene wäre da manches schneller, kann der MiBr aber nicht so gut.

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

MiBr
Mitglied
Konstrukteur


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

Beiträge: 590
Registriert: 30.06.2015

HP Z440 Workstation 64GB
Modeling 20.1.2.0 (x64)
Drafting 20.1.2.0 (64x) klas. UI
Modell Manager 20.1.2.0
Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside

erstellt am: 23. Sep. 2025 12:33    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:
So, wie ich dich kenne wirst du vermutlich gleich wieder alle Bemassungen auf der Zeichnung beackern wollen. Dann ...

GENAU !!! - und die Texte zu reduzeiren klappt schon mal ganz gut und ist auch bei großen Zeichnungen
schnell genug!

Leider stehe ich komplett auf den Schlauch wie du das mit den 'Master' meinst 
Also dein vorherigger Beitrag und macro kann er garnicht 


Was ich lispeln könnte wäre:
1) Wiederherstellungspunkt setzen (sd-set-model-checkpoint)
2) Alle Texte in Vorher-Liste packen
3) Alle gruppierte Bemaßungen in Liste packen
4) Mittels Dolist Bemaßungen durchgehen
4.1) Bemaßung löschen
4.1) Alle Texte in Aktuelle-Liste packen
4.2) Listen abgleichen
4.3) Übergebliebene Elemente mit Bemaßung zur Bemassung_mit_Texte_Liste pushen
4.4) Wiederhertellungspunkt aufrufen
4.5) return Dolist - Alle Bemaßungen durchlaufen lassen
5. So und jetzt ganz Wichtig! Mit dem Kopfschütteln aufhören!!!

Das könnte ich vielleicht hinbekommen, aber dabei muss ich natürlich pro Bemaßung immer
alle Text aufrufen und der (sd-set/get-model-checkpoint) wird auch nicht umsonst sein!

Gruß Michael

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: 2364
Registriert: 3.20.

● PE60+80+90@home
● W10 Pro Build19045.6282
● 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: 24. Sep. 2025 13:05    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 MiBr 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von MiBr:
die Texte zu reduzieren klappt schon mal ganz gut und ist auch bei großen Zeichnungen schnell genug!

Hier mal ohne delete und model-check-point:

Code:
---- dimension in drawing "a001" ----
---- dimension found with 1 text grouped ---
* dim value [65] at position -68.319850854367061,106.36244130876682
** "a"
---- dimension found with 3 texts grouped ---
* dim value [207] at position 9.5123169406367936,69.736341105410617
** "1"
** "2"
** "3"
---- dimension found with 2 texts grouped ---
* dim value [63] at position 4.6801491456329156,106.36244130876682
** "b"
** "c"

Die Ausgabe ist natürlich rudimentär und meine Testdaten minimal.

Ich würde jetzt zu einer generierten HTML Datei mit Firmen Logo und Drawing Name+Version / Drawing Owner usw. Information im oberen Teil des Dokuments tendieren, mit Datum und Uhrzeit und font-styling ala Corporate Identity und so.  Aber : not my job!

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

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