440x
002341
2021-02-22

[EN] FAQ 004951 | W jaki sposób można użyć interfejsu COM do odczytania globalnych lub lokalnych odkształceń...

Pytanie:
Jak za pomocą interfejsu COM odczytać globalne lub lokalne deformacje prętów?

Odpowiedź:
Odkształcenia prętów można odczytać na przykład za pomocą funkcji "GetMemberDeformations (). Funkcja ta oczekuje numeru, typu metody liczenia dla prętów (numer 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 współrzędnych, układ osi głównych czy globalny układ współrzędnych.

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

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

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

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

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

'pobierz 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

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