438x
002341
2021-02-22

[IT] FAQ 004951 | Come posso utilizzare l'interfaccia COM per leggere gli spostamenti generalizzati globali o locali...

Domanda:
Come posso utilizzare l'interfaccia COM per leggere le deformazioni globali o locali delle aste?

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/numero dell'asta nell'elenco) e quale sistema di coordinate dovrebbe essere utilizzato. È possibile selezionare se utilizzare il sistema di assi locale, il sistema di assi principale o il sistema di coordinate globali:

Sub test_results_member_axis()

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

iApp.LockLicense

Dim iMod come 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 spostamenti generalizzati nel sistema di coordinate globali
Dim memDefs_G() As RFEM5.MemberDeformations
memDefs_G = iRes.GetMemberDeformations(1, AtNo, GlobalAxes)

'Ottieni spostamenti generalizzati nel sistema di coordinate principali
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 piccolo programma legge gli spostamenti generalizzati locali (memDefs_L) negli assi dell'asta e gli assi principali (memDefs_P) e gli spostamenti generalizzati globali negli assi dell'asta (memDefs_G).