Pergunta:
Como é que posso ler as deformações globais ou locais das barras utilizando a interface COM?
Resposta:
As deformações das barras podem ser lidas através da função "GetMemberDeformations()", por exemplo. Esta função espera um número, o tipo de método de contagem para barras (número de barra/número na lista) e qual o sistema de coordenadas que deve ser utilizado. Pode selecionar se é utilizado o sistema de eixos local, o sistema de eixos principal ou o sistema de coordenadas global:
Sub test_results_member_axis()
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 for calculation
Dim iCalc As RFEM5.ICalculation2
Set iCalc = iMod.GetCalculation
'get interface for results
Dim iRes As RFEM5.IResults2
Set iRes = iCalc.GetResultsInFeNodes(LoadCaseType, 1)
'get deformations in local coordinate system
Dim memDefs_L() As RFEM5.MemberDeformations
memDefs_L = iRes.GetMemberDeformations(1, AtNo, LocalMemberAxes)
'get deformations in global coordinate system
Dim memDefs_G() As RFEM5.MemberDeformations
memDefs_G = iRes.GetMemberDeformations(1, AtNo, GlobalAxes)
'get deformations in principal coordinate system
Dim memDefs_P() As RFEM5.MemberDeformations
memDefs_P = iRes.GetMemberDeformations(1, AtNo, LocalPrincipalAxes)
e:
Se Err.Number 0 Então MsgBox Err.description, vbCritical, Err.Source
iMod.GetApplication.UnlockLicense
Set iMod = Nothing
End Sub
O programa pequeno lê as deformações locais (memDefs_L) nos eixos da barra e nos eixos principais (memDefs_P) e as deformações globais nos eixos da barra (memDefs_G).