@RoyWickrama_RWEI,
Try below iLogic code to add custom properties depending on data type. Make sure that value is entered according data type.
For example:
Boolean - 'True - Yes' or 'False - No'
Date - 07-12-2018
Number - 123456
String - Any string value
Sub Main()
oRuleNo = "iL0080"
Dim X_PaintCode As String
X_PaintCode = "Paint Code"
Dim X_Size As String
X_Size = "Size"
Dim X_Galvanized As String
X_Galvanized = "Galvanized"
Dim X_Date_Completed As String
X_Date_Completed = "Completion Date"
Dim oProp_Array As New ArrayList
oProp_Array.Add(X_PaintCode)
oProp_Array.Add(X_Size)
oProp_Array.Add(X_Galvanized)
oProp_Array.Add(X_Date_Completed)
'define custom prp[erty collection
oCustomPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties")
For Each X_oProp_Array In oProp_Array
Try
'set property value
oProp = oCustomPropertySet.Item(X_oProp_Array)
Catch
MessageBox.Show("Prop exists: No", "Title")
' Assume error means not found so create it
oCustomPropertySet.Add("", X_oProp_Array)
End Try
oYN = MessageBox.Show("Do you need to assign TYPE for " & X_oProp_Array & "?", "Title", MessageBoxButtons.YesNo)
If oYN = vbYes Then oType_Assign(oRuleNo, X_oProp_Array)
Next X_oProp_Array
iLogicVb.UpdateWhenDone = True
End Sub
Sub oType_Assign(oRuleNo, X_oProp_Array)
oSubName = "ASSIGN TYPE"
Dim oProp_String As String
oType_String = "String"
Dim oProp_Dbl As Double
oType_Dbl = "Double"
Dim oProp_Bool As Boolean
oType_Bool = "Boolean"
Dim oProp_Date As Date
oType_Date = "Date: mm/dd/yyyy"
'
Dim oTypes_Array As New ArrayList
oTypes_Array.Add(oType_String)
oTypes_Array.Add(oType_Dbl)
oTypes_Array.Add(oType_Bool)
oTypes_Array.Add(oType_Date)
oTypes_Selected = InputListBox("SELECT TYPE:", oTypes_Array, oTypes_Array(0), oRuleNo, X_oProp_Array)
Dim oTime As DateTime
Select Case oTypes_Selected
Case oType_String
X_oProp_Data = InputBox("Enter data for " & X_oProp_Array & ": ", oRuleNo, "STRING DATA ONLY") 'no default value
iProperties.Value("Custom", X_oProp_Array) = X_oProp_Data
Case oType_Dbl
X_oProp_Data = InputBox("Enter data for " & X_oProp_Array & ": ", oRuleNo, "NUMERICAL DATA ONLY") 'no default value
Dim numeric As Double
numeric = Convert.ToDouble(X_oProp_Data)
iProperties.Value("Custom", X_oProp_Array) = numeric
Case oType_Bool
X_oProp_Data = InputBox("Enter data for " & X_oProp_Array & ": ", oRuleNo, "Boolean only") 'no default value
Dim bool As Boolean
bool = Boolean.Parse(X_oProp_Data)
iProperties.Value("Custom", X_oProp_Array) = bool
Case oType_Date
X_oProp_Data = InputBox("Enter data for " & X_oProp_Array & ": ", oRuleNo, Now.ToString("MM/dd/yyyy")) 'no default value
oTime = DateTime.Parse(X_oProp_Data)
iProperties.Value("Custom", X_oProp_Array) = oTime
End Select
'
''set custom property values
End Sub

Thanks and regards,
CHANDRA SHEKAR G
Developer Advocate
Autodesk Developer Network