Code:
Public Sub getBoundingBox() Dim oDoc As PartDocument
Set oDoc = ThisApplication.ActiveDocument
Dim oCD As SheetMetalComponentDefinition
Set oCD = oDoc.ComponentDefinition
Dim oFP As FlatPattern
Set oFP = oCD.FlatPattern
Dim dimX, dimY, dimZ As Double
Dim sdimXYZ As String
On Error Resume Next
dimX = Round((oFP.Body.RangeBox.MaxPoint.X - oFP.Body.RangeBox.MinPoint.X) * 10, 3)
If Err Then
MsgBox "Abwicklung fehlt!", 16, "Error"
End
End If
dimY = Round((oFP.Body.RangeBox.MaxPoint.Y - oFP.Body.RangeBox.MinPoint.Y) * 10, 3)
dimZ = Round((oFP.Body.RangeBox.MaxPoint.Z - oFP.Body.RangeBox.MinPoint.Z) * 10, 3)
'MsgBox ("X= " & CStr(dimX) & " mm" _
& Chr(10) & "Y= " & CStr(dimY) & " mm" _
& Chr(10) & "Z= " & CStr(dimZ) & " mm")
sdimXYZ = CStr(dimX) & " x " & CStr(dimY) & " x " & CStr(dimZ)
MsgBox ("Abwicklung :" & vbCrLf & vbCrLf & sdimXYZ & " mm x mm x mm")
Call IPropEintraege.Property_setzen(oDoc, "Groesse_Abwicklung", CStr(sdimXYZ))
Set oFP = Nothing
Set oCD = Nothing
Set oDoc = Nothing
End Sub