Resposta:
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):
- código.vb#
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
#/code#