Hallo zusammen,
wie kann ich mittels VBA die Länge eines z.B. Quadratrohres 60x40x4, dass aus dem Inhaltscenter erstellt wurde, ermitteln? In Inventor ändert man die Größe, indem man mit der rechten Maustaste auf das aus dem Inhaltscenter stammende Teil klickt und die Größe ändert, vorausgesetzt man ist in dem Assy direkt über dem Part. Mittels VBA lassen sich die Parameter G_T = 4, G_H = 60 sowie G_W = 40 problemlos herauslesen, doch taucht G_L für die Länge gar nicht erst auf.
Code:
Private Sub get_parameters()
Dim oDoc As PartDocument
Set oDoc = ThisApplication.ActiveDocument
Dim oFeature As PartFeature
Dim a As Integer
For Each oFeature In oDoc.ComponentDefinition.Features
Select Case oFeature.Type
Case kExtrudeFeatureObject
Debug.Print "oFeature.Type: " & oFeature.Type & " | Name: " & oFeature.Name
Debug.Print "oFeature.Parameters: " & oFeature.Parameters.count
For a = 1 To oFeature.Parameters.count
Debug.Print "Parameters.item(" & a & ").Value: " _
& oFeature.Parameters.item(a).Value & " | " & oFeature.Parameters.item(a).Expression
Next
End Select
Next
End Sub
Ergebnis:
C:\temp\Test\RR60x40x4-624.ipt
oFeature.Type: 83910656 | Name: Body
oFeature.Parameters: 7
Parameters.item(1).Value: 3 | d11 / 2 oE
Parameters.item(2).Value: 2 | d9 / 2 oE
Parameters.item(3).Value: 0,4 | G_T
Parameters.item(4).Value: 6 | G_H
Parameters.item(5).Value: 4 | G_W
Parameters.item(6).Value: 1,2 | G_IR
Parameters.item(7).Value: 0 | 0 grd
Wie komme ich an die Länge heran? Muss ich über das Assembly gehen?
Ralph
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP