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