999x
004903
2021-01-12

Modifica elenco dei parametri tramite interfaccia COM

Come posso modificare l'elenco dei parametri utilizzando l'interfaccia COM?


Risposta:

I parametri di un modello possono essere modificati utilizzando l'interfaccia IModel (a partire da IModel3):

  1. code.vb#

Sub test_parameter()

Dim iApp As RFEM5.Application
Imposta iApp = GetObject(, "RFEM5.Applicazione")

iApp.LockLicense

Dim j come intero
j = iApp.GetModelCount

Dim iMod come RFEM5.IModel3
Imposta iMod = iApp.GetActiveModel

On Error GoTo e

Dim formParams() As RFEM5.FormulaParameter

' ottiene tutti i parametri della formula
formParams = iMod.GetFormulaParameters

' elimina tutti i parametri della formula
iMod.CleanFormulaParameters

' imposta l'elenco dei parametri della formula
ReDim 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 = LengthUnitType
formParams(UBound(formParams, 1)).Valore = 0
formParams(UBound(formParams, 1)).ValueType = DoubleType
formParams(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:

If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.Source
iMod.GetApplication.UnlockLicense
Set iMod = Nothing

End Sub

  1. /codice#

È possibile leggere tutti i parametri solo utilizzando la funzione GetFormulaParameters(). I parametri modificati o nuovi possono quindi essere trasferiti di nuovo come un elenco 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); in caso contrario, 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.


Autore

Il signor Günthel fornisce supporto tecnico per i clienti di Dlubal Software e si prende cura delle loro richieste.

Link
Download


;