469x
001185
2020-02-07

[PT] FAQ 004337 | Como é que posso calcular apenas casos de carga, combinações de carga ou combinações de resultados específicos ...

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