1219x
004337
7.2.2020

Dotaz

Jak mohu spočítat pouze zcela určité zatěžovací stavy, kombinace zatížení nebo kombinace výsledků pomocí příkazu s rozhraním COM?


Odpověď:

Chcete-li spočítat pouze některé zatěžovací stavy, kombinace zatížení nebo kombinace výsledků, stejně jako příkaz „Vybrat pro výpočet...“ (viz Obrázek 01) je možné použít metodu CalculateBatch rozhraní ICalculation. Při předávání očekává metoda pole s typem zatížení Loading. Loading přitom obsahuje číslo zatížení a typ (např. kombinace zatížení):

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