735x
004975
2021-04-08

Pergunta

Como é que posso alterar os parâmetros de cálculo de um caso de carga utilizando a interface COM?


Resposta:

Os parâmetros de cálculo de um caso de carga não podem ser definidos inicialmente ao criá-lo, mas apenas depois através da interface de um caso de carga existente. Para obter a interface de um caso de carga, tem de obter primeiro as interfaces 'IModel' e 'ILoads':


Sub test_analysis_parameters()

Dim iApp As RFEM5.Application
Set iApp = GetObject(, "RFEM5.Application")

iApp.LockLicense

Dim iMod As RFEM5.IModel3
Set iMod = iApp.GetActiveModel

On Error GoTo e

'   get interface of loads
Dim iLds As RFEM5.iLoads
Set iLds = iMod.GetLoads

'   get interface of load case
Dim iLc As RFEM5.ILoadCase
Set iLc = iLds.GetLoadCase(1, AtNo)

'   get analysis parameters
Dim param_analy As RFEM5.AnalysisParameters
param_analy = iLc.GetAnalysisParameters

'   change analysis parameters
param_analy.Method = Postcritical
param_analy.ModifyLoadingByFactor = True
param_analy.LoadingFactor = 1.5
'   ...

'   set new analysis parameters
iLds.PrepareModification
iLc.SetAnalysisParameters param_analy
iLds.FinishModification

e:

If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.Source

iMod.GetApplication.UnlockLicense
Set iMod = Nothing

End Sub

Utilize 'ILoads.GetLoadcase' para obter a interface para um caso de carga específico. Esta interface disponibiliza as funções 'GetAnalysisParameters' e 'SetAnalysisparameters' com as quais os parâmetros podem ser lidos e escritos.

Este mesmo procedimento também pode ser utilizado para combinações de carga.