438x
002341
22.2.2021

FAQ 004951 | Jak mohu pomocí rozhraní COM načíst globální nebo lokální deformace...

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).