Los parámetros de un modelo se pueden modificar utilizando la interfaz IModel (a partir de IModel3):
Parámetro_prueba secundaria ()
Dim iApp As RFEM5.ApplicationEstablecer iApp = GetObject (, "RFEM5.Application")
iApp.LockLicense
Dim j como enteroj = iApp.GetModelCount
Dim iMod como RFEM5.IModel3Set iMod = iApp.GetActiveModel
On Error GoTo e
Dim formParams () como RFEM5.FormulaParameter
' obtener todos los parámetros de la fórmulaformParams = iMod.GetFormulaParameters
' eliminar todos los parámetros de la fórmulaiMod.CleanFormulaParameters
' establecer la lista de parámetros de la fórmulaReDim Preservar formParams (0 a 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 = "nuevo parámetro"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.UnlockLicenseEstablecer iMod = Nada
End Sub
Solo es posible leer todos los parámetros utilizando la función GetFormulaParameters (). Los parámetros nuevos o modificados se pueden transferir de nuevo como una lista con la función SetFormulaParameters (). Por lo tanto, no se pueden leer ni escribir parámetros individuales.
Cabe señalar que el "Value" relacionado con su tipo (ValueTyp) y su unidad (Unit) deben estar dentro de los límites definidos (RangeOfValues), de lo contrario aparece un mensaje de error. Si se calcula el valor, como en el ejemplo, es irrelevante y el valor calculado con la fórmula (Fórmula) debe estar dentro de los límites, si los límites están definidos.