433x
001185
7.2.2020

FAQ 004337 | Jak mohu spočítat pouze určité zatěžovací stavy, kombinace zatížení nebo kombinace výsledků ...

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

    'vytvořit pole s typy zatížení
    Tlumit zatížení (3) Jako zatížení
    zatížení (0). č = 1
    loadings (0) .Type = LoadCaseType

    zatížení (1). č = 4
    loadings (1) .Type = LoadCaseType

    zatížení (2). č. = 4
    loadings (2) .Type = LoadCombinationType

    'spočítat všechna zatížení z pole najednou
    iCalc.CalculateBatch zatížení

e:  If Err.Number 0 Then MsgBox Err.description, , Err.Source

    Set iModelData = Nothing
    iModel.GetApplication.UnlockLicense
    Set iModel = Nothing

End Sub