Para calcular apenas determinados casos de carga, combinações de carga ou combinações de resultados, tal como o comando "Para calcular..." (ver Figura 01), pode utilizar o método CalculateBatch da interface ICalculation. Ao transferir dados, o método espera um campo com a carga do tipo Loading. Loading inclui o número e o tipo da carga (por exemplo, combinação de carga):
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