Parametry modelu lze upravovat pomocí rozhraní IModel (od IModel3):
Sub test_parameter()
Dim iApp As RFEM5.ApplicationSet iApp = GetObject(, "RFEM5.Application")
iApp.LockLicense
Dim j As Integerj = iApp.GetModelCount
Dim iMod As RFEM5.IModel3Set iMod = iApp.GetActiveModel
On Error GoTo e
Dim formParams() As RFEM5.FormulaParameter
' get all formula parametersformParams = iMod.GetFormulaParameters
' delete all formula parametersiMod.CleanFormulaParameters
' set list of formula parametersReDim Preserve formParams(0 To UBound(formParams, 1) + 1)formParams(UBound(formParams, 1)).Name = "p"formParams(UBound(formParams, 1)).Unit = "m"formParams(UBound(formParams, 1)).UnitType = LengthUnitTypeformParams(UBound(formParams, 1)).Value = 0formParams(UBound(formParams, 1)).ValueType = DoubleTypeformParams(UBound(formParams, 1)).Comment = "new parameter"formParams(UBound(formParams, 1)).Formula = "b/3"formParams(UBound(formParams, 1)).RangeOfValues = "(3;5.5>"
iMod.SetFormulaParameters formParams
e:
If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.SourceiMod.GetApplication.UnlockLicenseSet iMod = Nothing
End Sub
Pouze pomocí funkce GetFormulaParameters() je možné načíst všechny parametry. Upravené nebo nové parametry lze poté znovu přenést jako seznam pomocí funkce SetFormulaParameters(). Nelze tedy načíst ani zapsat žádné jednotlivé parametry.
Je třeba poznamenat, že hodnota "Value" vztahující se k jejímu typu (ValueTyp) a její jednotce (Unit) musí ležet v definovaných mezích (RangeOfValues), jinak se zobrazí chybové hlášení. Pokud je hodnota spočítána jako v příkladu, je irelevantní a hodnota vypočítaná pomocí vzorce (Formula) musí ležet v daných mezích, pokud jsou definovány.