I parametri di un modello possono essere modificati utilizzando l'interfaccia IModel (a partire da IModel3):
Sottoparametro_prova()
Dim iApp As RFEM5.ApplicationImposta iApp = GetObject(, "RFEM5.Application")
iApp.LockLicense
Dim j come interoj = iApp.GetModelCount
Dim iMod As RFEM5.IModel3Imposta iMod = iApp.GetActiveModel
On Error GoTo e
Dim formParams() As RFEM5.FormulaParameter
' ottieni tutti i parametri della formulaformParams = iMod.GetFormulaParameters
' elimina tutti i parametri della formulaiMod.CleanFormulaParameters
' imposta l'elenco dei parametri della formulaReDim Mantieni formParams(0 in UBound(formParams, 1) + 1)formParams(UBound(formParams, 1)).Nome = "p"formParams(UBound(formParams, 1)).Unit = "m"formParams(UBound(formParams, 1)).UnitType = LengthUnitTypeformParams(UBound(formParams, 1)).Valore = 0formParams(UBound(formParams, 1)).ValueType = DoubleTypeformParams(UBound(formParams, 1)).Comment = "nuovo parametro"formParams(UBound(formParams, 1)).Formula = "b/3"formParams(UBound(formParams, 1)).RangeOfValues = "(3;5.5>"
iMod.SetFormulaParameters formParams
e:
Se Err.Number <> 0 allora MsgBox Err.description, vbCritical, Err.SourceiMod.GetApplication.UnlockLicenseSet iMod = Nothing
End Sub
È possibile leggere tutti i parametri solo utilizzando la funzione GetFormulaParameters(). I parametri modificati o nuovi possono essere trasferiti di nuovo come una lista con la funzione SetFormulaParameters(). Pertanto, nessun singolo parametro può essere letto o scritto.
Si noti che il "Valore" relativo al suo tipo (ValueTyp) e alla sua unità (Unit) deve essere entro i limiti definiti (RangeOfValues), altrimenti apparirà un messaggio di errore. Se il valore è calcolato, come nell'esempio, è irrilevante e il valore calcolato con la formula (Formula) deve essere entro i limiti, se i limiti sono definiti.