@Jan.Lehmann_TRG
Hier zunächst mal ein Beispiel wie du den Typ eines Properties heraus finden kannst:
'Erstellen der Gruppe der Eigenschaften
oCustomPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties")
Sub Main
'Erstellen der Gruppe der Eigenschaften
oCustomPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties")
'Suche nach dem Typ von oCustProp
For Each oCustProp In oCustomPropertySet
If TypeOf(oCustProp.Value) Is String Then
Logger.Debug("Methode 1: String")
End If
If TypeOf(oCustProp.Value) Is Boolean Then
Logger.Debug("Methode 1: Booelan")
End If
Logger.Debug("Methode 2: " & oCustProp.Value.GetType().toString)
Logger.Debug("Methode 3: " & TypeOfCustProp(oCustProp))
Next
End Sub
Function TypeOfCustProp(oCustProp As [Property]) As String
If TypeOf(oCustProp.Value) Is String Then
Return "String"
End If
If TypeOf(oCustProp.Value) Is Boolean Then
Return "Booelan"
End If
If TypeOf(oCustProp.Value) Is Double Then
Return "Double"
End If
If TypeOf(oCustProp.Value) Is Int32 Then
Return "Integer"
End If
If TypeOf(oCustProp.Value) Is Date Then
Return "Date"
End If
End Function
Liefert als Ergebnis im iLogic-Protokoll:
TRACE|Regel wird eingegeben: Regel0 (in Bauteil1)
DEBUG|Methode 1: Booelan
DEBUG|Methode 2: System.Boolean
DEBUG|Methode 3: Booelan
DEBUG|Methode 1: String
DEBUG|Methode 2: System.String
DEBUG|Methode 3: String
DEBUG|Methode 2: System.DateTime
DEBUG|Methode 3: Date
DEBUG|Methode 2: System.Double
DEBUG|Methode 3: Double
TRACE|Regel wird beendet: Regel0 (in Bauteil1)
INFO| 14: >>---------------------------
TRACE|Regel wird eingegeben: Regel0 (in Bauteil1)
DEBUG|Methode 1: Booelan
DEBUG|Methode 2: System.Boolean
DEBUG|Methode 3: Booelan
DEBUG|Methode 1: String
DEBUG|Methode 2: System.String
DEBUG|Methode 3: String
DEBUG|Methode 2: System.DateTime
DEBUG|Methode 3: Date
DEBUG|Methode 2: System.Int32
DEBUG|Methode 3: Integer
TRACE|Regel wird beendet: Regel0 (in Bauteil1)
Spannend ist das bei Zahlenwerten. Da kommt je nachdem was für eine Zahl eingegeben wurde der Typ Integer oder Double raus.
Dann würde ich dir empfehlen das zunächst mal mit einem Property zu testen, bevor du anfängst die Inhalte deines Array zu untersuchen, zumal du noch verschiedene Sachen gleichzeitig machen willst.
Also Step by Step.
Ich hoffe das bringt dich zu weiteren zündenden Ideen.