1032x
004951
2021-02-22

Pytanie

W jaki sposób można odczytać globalne lub lokalne odkształcenia prętów przy użyciu interfejsu COM?


Odpowiedź:

Odkształcenia prętów można odczytać na przykład za pomocą funkcji "GetMemberDeformations (). Funkcja ta oczekuje numeru, rodzaju metody liczenia prętów (nr pręta/numer na liście) oraz układu współrzędnych, który ma zostać zastosowany. Można wybrać, czy ma zostać zastosowany lokalny układ osi, główny układ osi czy globalny układ współrzędnych:

Sub test_results_member_axis ()

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

iApp.LockLicense

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


On Error GoTo e

'pobierz interfejs do obliczeń
Dim iCalc As RFEM5.ICalculation2
Ustaw iCalc = iMod.GetCalculation

'pobierz interfejs do wyników
Dim iRes As RFEM5.IResults2
Ustaw iRes = iCalc.GetResultsInFeNodes (LoadCaseType, 1)

'otrzymuj deformacje w lokalnym układzie współrzędnych
Dim memDefs_L () As RFEM5.MemberDeformations
memDefs_L = iRes.GetMemberDeformations (1, AtNo, osie lokalne)

'otrzymuj deformacje w globalnym układzie współrzędnych
Dim memDefs_G () As RFEM5.MemberDeformations
memDefs_G = iRes.GetMemberDeformations(1, AtNo, GlobalAxes)

'otrzymuj deformacje w głównym układzie współrzędnych
Dim memDefs_P () As RFEM5.MemberDeformations
memDefs_P = iRes.GetMemberDeformations (1, AtNo, LocalPrincipalAxes)


e:

Jeżeli Err.Number <> 0 to MsgBox Err.description, vbCritical, Err.Source

iMod.GetApplication.UnlockLicense
Ustaw iMod = Nic

Zakończ sub


Mały program odczytuje lokalne odkształcenia (memDefs_L) w osiach pręta i osiach głównych (memDefs_P) oraz globalne odkształcenia w osiach pręta (memDefs_G).