999x
004903
2021-01-12

Edytowanie listy parametrów za pomocą interfejsu COM

Jak edytować listę parametrów za pomocą interfejsu COM?


Odpowiedź:

Parametry modelu można modyfikować za pomocą interfejsu IModel (począwszy od IModel3):

  1. kod.vb#

Sub test_parametr ()

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

iApp.LockLicense

Dim j As Integer
j = iApp.GetModelCount

Dim iMod As RFEM5.IModel3
Set iMod = iApp.GetActiveModel

On Error GoTo e

Dim formParams () As RFEM5.FormulaParameter

' pobierz wszystkie parametry wzoru
formParams = iMod.GetFormulaParameters

' usuń wszystkie parametry wzoru
iMod.CleanFormulaParameters

' ustaw listę parametrów wzoru
ReDim Zachowaj formParams(0 To UBound(formParams, 1) + 1)
formParams(UBound(formParams, 1)).Name = "p"
formParams(UBound(formParams, 1)).Unit = "m"
formParams(UBound(formParams, 1)).TypJednostki = LengthUnitType
formParams(UBound(formParams, 1)).Value = 0
formParams(UBound(formParams, 1)).ValueType = DoubleType
formParams(UBound(formParams, 1)).Comment = "nowy parametr"
formParams(UBound(formParams, 1)).Formula = "b/3"
formParams(UBound(formParams, 1)).RangeOfValues = "(3;5.5>"

iMod.SetFormulaParameters formParams

e:

Jeżeli Err.Number <> 0 Wtedy MsgBox Err.description, vbCritical, Err.Source
iMod.GetApplication.UnlockLicense
Ustaw iMod = Nic

End Sub

  1. /kod#

Wszystkie parametry można odczytać tylko za pomocą funkcji GetFormulaParameters (). Zmodyfikowane lub nowe parametry można następnie przenieść ponownie jako listę za pomocą funkcji SetFormulaParameters (). Dzięki temu nie można odczytać ani zapisać poszczególnych parametrów.

Należy pamiętać, że "Wartość" związana z jej typem (ValueTyp) i jednostką (Unit) musi mieścić się w zdefiniowanych granicach (RangeOfValues); w przeciwnym razie pojawi się komunikat o błędzie. Jeżeli wartość jest obliczana, jak w przykładzie, nie jest ona istotna, a wartość obliczona ze wzoru (Wzoru) musi mieścić się w dopuszczalnych granicach, o ile są zdefiniowane granice.


Autor

Pan Günthel zapewnia wsparcie techniczne klientom firmy Dlubal Software i zajmuje się ich zapytaniami.

Odnośniki
Pobrane


;