Hallo nikibert,
auch mit der Automation-API (Makros/VBA) kannst Du die Elternelemente der Features auslesen, allerdings etwas aufwändiger:
Mit VBA kannst Du die CATIA V5 Typenbiliotheken (z. B. MecModTypeLib.tlb) auslesen und hieraus entsprechend dem jeweils vorliegenden Feature-Typ ermitteln, mit welcher Methode Du die jeweiligen Elternelemente abfragen kannst.
Alternativ geht es, indem Du für jedes Feature alle ca. 70 möglichen Methoden ansprichst, die ein Feature so haben kann: MyFeature.AngleLaw, MyFeature.Axis, MyFeature.Boundary, MyFeature.Center, MyFeature.CenterElem, MyFeature.CrossingPoint, MyFeature.Curve, MyFeature.Curve1, usw. (da hierbei natürlich die meisten Aufrufe für das vorliegende Feature ungültig sein werden: "On Error Resume Next" nicht vergessen!). Die Liste aller Methoden kannst Du Dir aus der Automation-API-Dokumentation ableiten.
Im Ergebnis erhältst Du die Elternelemente des Features als Objekte vom Typ Reference. Eine B-Rep-Referenz liegt vor, wenn:
1) der Display-Name der Referenz darauf hindeutet, z. B. "WireREdge:Wire [...] ureSupport;MFBRepVersion_CXR15)"
2) das Referenz-Objekt mit der Methode MyPart.HybridShapeFactory.GSMGetObjectFromReference(i_Reference) nicht in ein vollwertiges Feature aufgelöst werden kann.
Ich selbst nutze in solchen Fällen unsere (kommerzielle) Software IPpro, mit der ich per Suchabfrage alle Elemente in CATIA V5 finden und selektieren kann, die auf B-Reps verweisen (s. beiliegenden Screenshot).
Hope that helps!
Michael Kirsch
------------------
www.em.ag
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP