Hallo,
hier ein Beispiel wie es mit beiden Fällen (Ansicht direkt aus Part und von Part aus einer Produktstruktur) funktioniert. Zusätzlich habe ich da exemplarisch noch mal den Fall "Ansicht von Body" berücksichtigt.
Code:
Sub CATMain
Dim DrwDoc As DrawingDocument
Dim DrwSheet As DrawingSheet
Dim DrwView As DrawingView
Dim Prod As Product
Dim ParentObj
Set DrwDoc = CATIA.ActiveDocument
Set DrwSheet = DrwDoc.Sheets.ActiveSheet
Set DrwView = DrwSheet.Views.Item(3)Select Case TypeName(DrwView.GenerativeBehavior.Document)
Case "Product":
Set Prod = DrwView.GenerativeBehavior.Document
Case "Body":
Set ParentObj = DrwView.GenerativeBehavior.Document.Parent
Do Until TypeName(ParentObj) = "PartDocument"
Set ParentObj = ParentObj.Parent
Loop
Set Prod = ParentObj.Product
Case Else: Exit Sub
End Select
MsgBox Prod.Definition
End Sub
Ganz sauber ist der Code noch nicht (Fehlerbehandlung usw.) und geht sicher auch noch hübscher, aber es geht ja ums Prinzip.
Gruß Randle
Nachtrag:
Evtl. habe ich auch ein wenig an der Aufgabenstellung vorbeigedacht
Schreib die vorletzte Zeile von meinem Code um, dann sollte es gehen (bei mir geht es).
MsgBox Prod.ReferenceProduct.UserRefProperties.GetItem("DeinUserRefPropName").ValueAsString
------------------
Planung ersetzt Fehler durch Irrtum!
[Diese Nachricht wurde von Randle am 20. Feb. 2023 editiert.]
[Diese Nachricht wurde von Randle am 20. Feb. 2023 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP