| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | KISTERS 3DViewStation mit neuer Zerschneidefunktionen und erweitertem PMI-Support, eine Pressemitteilung
|
Autor
|
Thema: Parent vollständig finden (982 / mal gelesen)
|
Erich Mitglied Senior Consultant selbstständig
 
 Beiträge: 223 Registriert: 03.10.2000 i7-9850H RAM 32,0 GB Nvidia Quadro T2000 Windows 7 Professional 64Bit
|
erstellt am: 11. Apr. 2022 17:11 <-- editieren / zitieren --> Unities abgeben:         
Hallo ich habe folgdendes Programm gefunden und würde es gerne erweitern. Das Problem ist Parent und Chuildren Funktionalität. Programm: Sub catmain() Set part1 = CATIA.ActiveDocument.Part Set objekt = part1.FindObjectByName("OT_01_primär_1") Set Parameter = part1.Parameter Link = Parameter.GetNameToUseInRelation(objekt) Msgbox Link End Sub Als Ergebnis erhalte ich nur einen Teil des Pfads. (Bild) ------------------ mfg Erich [Diese Nachricht wurde von Erich am 11. Apr. 2022 editiert.] [Diese Nachricht wurde von Erich am 11. Apr. 2022 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 11. Apr. 2022 17:17 <-- editieren / zitieren --> Unities abgeben:          Nur für Erich
|
Erich Mitglied Senior Consultant selbstständig
 
 Beiträge: 223 Registriert: 03.10.2000 i7-9850H RAM 32,0 GB Nvidia Quadro T2000 Windows 7 Professional 64Bit
|
erstellt am: 11. Apr. 2022 17:31 <-- editieren / zitieren --> Unities abgeben:         
|
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 11. Apr. 2022 17:34 <-- editieren / zitieren --> Unities abgeben:          Nur für Erich
Servus Erich AFAIK ist dies über die API nicht (direkt) möglich. Du bekommst zwar von der Affinität die Referenz zur Kugel und deren Namen. Dieser ist ggf aber nicht eindeutig. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Erich Mitglied Senior Consultant selbstständig
 
 Beiträge: 223 Registriert: 03.10.2000 i7-9850H RAM 32,0 GB Nvidia Quadro T2000 Windows 7 Professional 64Bit
|
erstellt am: 11. Apr. 2022 17:42 <-- editieren / zitieren --> Unities abgeben:         
|
Erich Mitglied Senior Consultant selbstständig
 
 Beiträge: 223 Registriert: 03.10.2000 i7-9850H RAM 32,0 GB Nvidia Quadro T2000 Windows 7 Professional 64Bit
|
erstellt am: 11. Apr. 2022 17:45 <-- editieren / zitieren --> Unities abgeben:         
|
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 11. Apr. 2022 17:48 <-- editieren / zitieren --> Unities abgeben:          Nur für Erich
Servus Erich Code: Set oRef = ohybridShapeAffinity.ElemToTransform MsgBox oRef.Displayname
Und dann weiter mit FindObjectByName (viel Spaß wenn mehrere Elemente gleich heißen) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Erich Mitglied Senior Consultant selbstständig
 
 Beiträge: 223 Registriert: 03.10.2000 i7-9850H RAM 32,0 GB Nvidia Quadro T2000 Windows 7 Professional 64Bit
|
erstellt am: 11. Apr. 2022 18:18 <-- editieren / zitieren --> Unities abgeben:         
Hallo Bernd ich habe in der 5Automation_V5R30 nichts gefunden, wie ich damit weiter vorgehen kann. Könntest Du das in meinen Code einfügen, das würde mir sehr helfen. Sub catmain() Set part1 = CATIA.ActiveDocument.Part ?? Set oRef = ohybridShapeAffinity.ElemToTransform MsgBox oRef.Displayname ?? Set objekt = part1.FindObjectByName("OT_01_primär_1") Set Parameter = part1.Parameter Link = Parameter.GetNameToUseInRelation(objekt) 'Msgbox Link End Sub ------------------ mfg Erich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 11. Apr. 2022 18:28 <-- editieren / zitieren --> Unities abgeben:          Nur für Erich
Servus Erich Erwartest du einen fertigen Code für dein Vorhaben? Den kann ich dir nicht liefern. ohybridShapeAffinity ist bei dir das Objekt OT_01_primär_1 Und den DisplayName kannst du dann wieder in einem FindObjectByName verwenden Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Erich Mitglied Senior Consultant selbstständig
 
 Beiträge: 223 Registriert: 03.10.2000 i7-9850H RAM 32,0 GB Nvidia Quadro T2000 Windows 7 Professional 64Bit
|
erstellt am: 12. Apr. 2022 15:55 <-- editieren / zitieren --> Unities abgeben:         
Hallo Der Vollständigkeit halber - Sub catmain() Set part1 = CATIA.ActiveDocument.Part Dim Parameter As Parameter Set Parameter = part1.Parameters Dim Selection1 As Selection Set Selection1 = CATIA.ActiveDocument.Selection Selection1.Search "Name=OT_01_primär_1,all" Dim oHybridShapeAffinity As AnyObject ohybridShapeAffinity = CATIAHybridShapeFactory Dim oRef As AnyObject Dim i As Integer For i=1 to Selection1.count Set oHybridShapeAffinity = Selection1.Item(i).value Set oRef = ohybridShapeAffinity.ElemToTransform Msgbox oRef.Displayname next End Sub Das ganze funktioniert NUR wenn ich "EIN einzelnes Element" habe. Was es leider unbrauchbar macht.
NEUER Versuch - Ich suche eine Methode die mir die Position des gesuchten Elements im Baum aufzeigt, egal wie oft es vorhanden ist. ------------------ mfg Erich [Diese Nachricht wurde von Erich am 14. Apr. 2022 editiert.] [Diese Nachricht wurde von Erich am 14. Apr. 2022 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Erich Mitglied Senior Consultant selbstständig
 
 Beiträge: 223 Registriert: 03.10.2000 i7-9850H RAM 32,0 GB Nvidia Quadro T2000 Windows 7 Professional 64Bit
|
erstellt am: 14. Apr. 2022 13:02 <-- editieren / zitieren --> Unities abgeben:         
|
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 14. Apr. 2022 13:31 <-- editieren / zitieren --> Unities abgeben:          Nur für Erich
Servus Eindeutig auf das Parent eines Elements zuzugreifen geht wohl nur über CAA. Gruß Bernd PS: Hier eine kleine Diskussion zum Thema Referenz zu Objekt Edit: Falls du schon die Reference hast hat tomtom1972 schon einen Ansatz beschrieben ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lionel Hutz Moderator
 
 Beiträge: 497 Registriert: 26.03.2014 CATIA V5 R26
|
erstellt am: 19. Apr. 2022 09:18 <-- editieren / zitieren --> Unities abgeben:          Nur für Erich
|