Hallo Slyfox,
Für die Blechstärke gibt es einen Trick, bei der Dichte kann man sich helfen, indem man alle Variablen auf den Typ überprüft.
Private Sub Form_Load()
Dim objApp As Object
Dim objDoc As Object
Dim objVars As Object
Dim objVarlist As SolidEdgeFramework.VariableList
Dim objVar As SolidEdgeFramework.variable
Dim sMaterialThickness As String
Set objApp = GetObject(, "SolidEdge.Application")
Set objDoc = objApp.ActiveDocument
Set objVars = objDoc.Variables
' Dichte ermitteln
Set objVarlist = objVars.Query("PhysicalProperties_Density")
If objVarlist.Count = 1 Then
' Prüfen , ob PhysicalProperties_Density existiert
Set objVar = objVarlist(1)
Else
' Wenn nicht, Variable vom Typ Dichte suchen
For Each objVar In objVars
If objVar.Type = igVariable And objVar.UnitsType = 16 Then
Exit For
End If
Next
End If
MsgBox "Dichte: " & objVar.Value & " kg/m^3"
' Materialstärke ermitteln
sMaterialThickness = objVars.Item("MaterialThickness_").Formula
' Material_Thickness_ ist eine nicht sichtbare Variable, die mit der Blechstärke verknüpft ist
MsgBox "Blechstärke: " & CStr(objVars.Item(sMaterialThickness).Value * 1000) & " mm"
Set objVar = Nothing
Set objVars = Nothing
Set objVarlist = Nothing
Set objDoc = Nothing
Set objApp = Nothing
End
End Sub
mfG pablo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP