Hallo
Ich durchsuche in einer IDW alle dargestellten Linien, Bögen usw. und prüfe ob im Ursprungsteil der dargestellten Kante ein Attributset existiert.
Hier mal die Quintessenz der Sub. Die unwichtigen Zwischenschritte mit Fehlerbehandlung usw. hab ich rausgenommen.
Code:
Set oDrawDoc = oInventorApp.ActiveDocument
Dim oSheet As Sheet
Set oSheet = oDrawDoc.ActiveSheet
Dim ka As Integer
Dim oDrawingView As DrawingView
Dim oCurve As DrawingCurve
Dim Mg As ObjectFor Each oDrawingView In oSheet.DrawingViews
If (oDrawingView.ViewType = kStandardDrawingViewType) Then
For Each oCurve In oDrawingView.DrawingCurves
Set Mg = oCurve.ModelGeometry
For ka = 1 To Mg.EdgeUses.Item(1).Edge.AttributeSets.Count
.....
Funktioniert in Bauteil- und Baugruppenableitungen. Aber sobald die Baugruppe eine Baugruppenbearbeitung enthält, finde ich an dieser Stelle die Attribute nicht mehr. Hab mir schon per Haltepunkt und Überwachung einen Wolf gesucht. In der Überwachung von Mg hab ich dann mein Attribut unter
Mg.NativeObject.Faces.Item(1).CreatedByFeature.SurfaceBody.Edges.Item(1).AttributeSets.Item(1)
wiedergefunden. Das Problem ist dabei nur, daß ich über diesen Weg keine eindeutige Zuordnung zwischen Zeichnungslinie und Modellkante hinbekomme.
Wie verändern Baugruppenbearbeitungen das Modell bzw. dessen Ableitung in der IDW? Hat jemand einen Tip wie ich eine exakte Zuordnung hinbekomme? Oder ist das wieder eine der "kleinen Unschärfen" in der API?
Ich quäle mich jetzt schon seit drei Wochen damit rum, komme aber einfach nicht weiter.
------------------
MfG
RK
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP