729x
004975
8. April 2021

Frage

Wie kann man mit Hilfe der COM-Schnittstelle die Berechnungsparameter eines Lastfalls ändern?


Antwort:

Die Berechnungsparameter eines Lastfalls können zunächst nicht beim Anlegen eingestellt werden, sondern nur danach über das Interface eines bestehenden Lastfalls. Um das Interface eines Lastfalls zu erhalten, müssen zunächst die Interfaces 'IModel' und 'ILoads' geholt werden:


Sub test_analysis_parameters()

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

iApp.LockLicense

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

On Error GoTo e

'   get interface of loads
Dim iLds As RFEM5.iLoads
Set iLds = iMod.GetLoads

'   get interface of load case
Dim iLc As RFEM5.ILoadCase
Set iLc = iLds.GetLoadCase(1, AtNo)

'   get analysis parameters
Dim param_analy As RFEM5.AnalysisParameters
param_analy = iLc.GetAnalysisParameters

'   change analysis parameters
param_analy.Method = Postcritical
param_analy.ModifyLoadingByFactor = True
param_analy.LoadingFactor = 1.5
'   ...

'   set new analysis parameters
iLds.PrepareModification
iLc.SetAnalysisParameters param_analy
iLds.FinishModification

e:

If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.Source

iMod.GetApplication.UnlockLicense
Set iMod = Nothing

End Sub

Über 'ILoads.GetLoadcase' kann das Interface zu einem bestimmten Lastfall geholt werden. Dieses Interface stellt die Funktionen 'GetAnalysisParameters' und 'SetAnalysisparameters' zur Verfügung, mit denen dann die Parameter ausgelesen und geschrieben werden können.

Die Vorgehensweise ist auch analog für Lastkombinationen verwendbar.