Pergunta:
Como é que calculo apenas casos de carga muito específicos, combinações de carga ou combinações de resultados utilizando um comando com a interface COM?
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):
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
'obter interface para cálculo
Dim iCalc como ICalculation2
Set iCalc = iModel.GetCalculation
'criar matriz com tipos de carregamento
Dim loadings (3) como carregamento
carregamentos (0) .não = 1
loadings (0) .Type = LoadCaseType
carregamentos (1) .não = 4
loadings (1) .Type = LoadCaseType
carregamentos (2) .não = 4
loadings (2) .Type = LoadCombinationType
'calcular todos os carregamentos da matriz de uma só vez
Carregamentos iCalc.CalcateBatch
e: If Err.Number 0 Then MsgBox Err.description, , Err.Source
Set iModelData = Nothing
iModel.GetApplication.UnlockLicense
Set iModel = Nothing
End Sub