Jak mohu iLogic předpisem automaticky vytvořit uživatelské parametry modelu nebo uživatelské iVlastnosti (iProperties)? Jak ošetřit stavy kdy už existují?
Pro oba případy můžete využít programovou konstrukci Try Catch, tedy pokusit se o přístup k parametru nebo vlastnosti a ošetřit případné selhání onoho přístupu.
Kód pro vytváření iVlastnosti "MojeVlastnost" pak vypadá následovně:
Dim propertyName As String = "MojeVlastnost"
Dim propertyValue As String = "Test"
customPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties")
Try
prop = customPropertySet.Item(propertyName)
Catch
customPropertySet.Add("", propertyName)
End Try
iProperties.Value("Custom", propertyName) = propertyValue
iLogic kód pro podmíněné vytváření uživatelského parametru "MujParametr" může vypadat například takto (předpokládá se spuštění v dokumentu IPT součásti):
Dim oParams As Parameters
Dim oPartDoc As PartDocument = ThisDoc.Document
Dim oPartCompDef As PartComponentDefinition = oPartDoc.ComponentDefinition
oParams = oPartCompDef.Parameters
Dim oUserParams As UserParameters = oParams.UserParameters
Try
p = Parameter("MujParametr")
Catch
oUserParams.AddByValue("MujParametr","MojeHodnota", UnitsTypeEnum.kTextUnits)
End Try