Verbauungspfad nach oben aus einer Selektion / Solid Edge
Kricher 11. Jun. 2020, 13:51

Hi Ihr,

ich scheitere dabei aus einer selektierten Verbauung einer beliebig tief verbauten Unterbaugruppe den Pfad nach oben zu ermitteln. Mein Ziel ist den genauen Pfad von der Topbaugruppe bis zum selektierten Modell zu ermitteln. Dabei benötige ich also alle OccurrenceIDs die dabei auf dem Weg nach unten auftauchen. Ich finde keine Möglichkeit über die selektierte Verbauung mehr als eine Referenzebene nach oben zu traversieren.
Ich habe es über Occurrence.Parent versucht und komme damit in die Occurrences der verbauenden Baugruppe. Wenn ich hier dann wieder Parent verwende bekomme ich natürlich auf die direkt übergeordnete Baugruppe. Dann ist Schluß. Hat einer eine Idee ob und wie das geht?

Danke

Ralf

pablo 11. Jun. 2020, 14:56

Zitat:
Original erstellt von Kricher:
Hi Ihr,

ich scheitere dabei aus einer selektierten Verbauung einer beliebig tief verbauten Unterbaugruppe den Pfad nach oben zu ermitteln. Mein Ziel ist den genauen Pfad von der Topbaugruppe bis zum selektierten Modell zu ermitteln. Dabei benötige ich also alle OccurrenceIDs die dabei auf dem Weg nach unten auftauchen. Ich finde keine Möglichkeit über die selektierte Verbauung mehr als eine Referenzebene nach oben zu traversieren.
Ich habe es über Occurrence.Parent versucht und komme damit in die Occurrences der verbauenden Baugruppe. Wenn ich hier dann wieder Parent verwende bekomme ich natürlich auf die direkt übergeordnete Baugruppe. Dann ist Schluß. Hat einer eine Idee ob und wie das geht?

Danke

Ralf


Ein selektierter Bauteil auf einer unteren Ebene ist ein Objekt vom Typ Reference und hat eine Eigenschaft ImmediateParent, mit der kannst du dich nach oben hangeln, bis du auf eine Occurrence triffst, deren Parent ist dann das TopLevel-Dokument.

HTH pablo

Kricher 11. Jun. 2020, 15:44

Ahhhhhhhhhhh, Dein Hinweis hat mich auf die richtige Schiene gebracht!!!
Ich Werte in meiner Rekursion genau das was Du beschreibst aus (Reference und occurrences). Jedoch war das eine selektierte Item in dem SelectSet bereits eine occurrence, obwohl diese in der dritten Referenzebene einer BT selektiert wurde.
Der Grund ist folgender, ich implementiere ein EdgeBarControl und die Methode SelectSetChanged übergibt schon ein SelectSet. Wenn ich das verwende, dann ist die Selektion vom typ occurrence. Hole mir jetzt einfach über das ActiveDocument das SelectSet und alles funzt.

Suuuuuper Danke an Dich Pablo.

CU

Ralf