1033x
004951
2021-02-22

Domanda

Come posso leggere gli spostamenti generalizzati o locali delle aste utilizzando l'interfaccia COM?


Risposta:

Gli spostamenti generalizzati delle aste possono essere letti utilizzando, ad esempio, la funzione "GetMemberDeformations()". Questa funzione prevede un numero, il tipo di metodo di conteggio per le aste (numero dell'asta/numero nell'elenco) e quale sistema di coordinate deve essere utilizzato. È possibile selezionare se utilizzare il sistema di assi locale, il sistema di assi principali o il sistema di coordinate globale:

Sub test_results_member_axis()

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

iApp.LockLicense

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


On Error GoTo e

'ottieni l'interfaccia per il calcolo
Dim iCalc As RFEM5.ICalculation2
Imposta iCalc = iMod.GetCalculation

'ottieni l'interfaccia per i risultati
Dim iRes As RFEM5.IResults2
Imposta iRes = iCalc.GetResultsInFeNodes(LoadCaseType, 1)

'ottieni gli spostamenti generalizzati nel sistema di coordinate locale
Dim memDefs_L() As RFEM5.MemberDeformations
memDefs_L = iRes.GetMemberDeformations(1, AtNo, LocalMemberAxes)

'ottieni gli spostamenti generalizzati nel sistema di coordinate globali
Dim memDefs_G() As RFEM5.MemberDeformations
memDefs_G = iRes.GetMemberDeformations(1, AtNo, GlobalAxes)

'ottieni gli spostamenti generalizzati nel sistema di coordinate principale
Dim memDefs_P() As RFEM5.MemberDeformations
memDefs_P = iRes.GetMemberDeformations(1, AtNo, LocalPrincipalAxes)


e:

Se Err.Number <> 0 allora MsgBox Err.description, vbCritical, Err.Source

iMod.GetApplication.UnlockLicense
Set iMod = Nothing

End Sub


Il programmino legge gli spostamenti generalizzati locali (memDefs_L) negli assi dell'asta e negli assi principali (memDefs_P) e gli spostamenti generalizzati negli assi dell'asta (memDefs_G).