Antwort:
Um nur bestimmte Lastfälle, Lastkombinationen oder Ergebniskombinationen zu berechnen, genau wie der Befehl "Zu berechnen..." (siehe Abbildung 01), kann die Methode CalculateBatch der Schnittstelle ICalculation verwendet werden. Bei der Übergabe erwartet die Methode ein Feld mit der Belastung vom Typ Loading. Loading beinhaltet dabei die Nummer der Belastung und den Typ (z. B. Lastkombination):
Sub batch_test()
' get interface from the opened model and lock the licence/program
Dim iModel As RFEM5.IModel3
Set iModel = GetObject(, "RFEM5.Model")
iModel.GetApplication.LockLicense
On Error GoTo e
' get interface for calculation
Dim iCalc As ICalculation2
Set iCalc = iModel.GetCalculation
' create array with loading types
Dim loadings(3) As Loading
loadings(0).no = 1
loadings(0).Type = LoadCaseType
loadings(1).no = 4
loadings(1).Type = LoadCaseType
loadings(2).no = 4
loadings(2).Type = LoadCombinationType
' calculate all loadings from the array at once
iCalc.CalculateBatch loadings
e: If Err.Number <> 0 Then MsgBox Err.description, , Err.Source
Set iModelData = Nothing
iModel.GetApplication.UnlockLicense
Set iModel = Nothing
End Sub