1032x
004951
22.2.2021

Dotaz

Jak mohu pomocí rozhraní COM načíst globální nebo lokální deformace prutů?


Odpověď:

Deformace prutů je možné načíst např. pomocí funkce "GetMemberDeformations()". Tato funkce očekává číslo, typ metody počítání pro pruty (číslo prutu / číslo v seznamu) a jaký souřadný systém se má použít. Přitom je možné vybrat, zda se použije lokální osový systém, hlavní osový systém, nebo globální souřadný systém:

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:

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

iMod.GetApplication.UnlockLicense
Set iMod = Nothing

End Sub


Malý program pro prut načte lokální deformace (memDefs_L) v osách prutu a hlavních osách (memDefs_P) a globální deformace v osách prutu (memDefs_G).