878x
004869
2020-12-14

Domanda

Come posso leggere la risultante di una sezione tramite l'interfaccia COM?


Risposta:

Proprio come tutti gli altri risultati, la risultante di una sezione può essere letta tramite IModello3 → ICalcolo2 → IResults2. L'interfaccia ai risultati è fornita dalla funzione GetResulant, che restituisce la struttura ResultantForce quando si specifica il numero di sezione e il tipo di distribuzione dei risultati. Questa struttura include, tra le altre cose, le forze e i momenti come vettori:

Sub GetResulantSection()
Dim iApp As RFEM5.Application
Dim iModel As RFEM5.model
Set iModel = GetObject(, "RFEM5.Model")

On Error GoTo e

' ottieni l'interfaccia dal modello
Imposta iApp = iModel.GetApplication
iApp.LockLicense

' ottieni l'interfaccia dal calcolo
Dim iCalc As RFEM5.ICalculation2
Imposta iCalc = iModel.GetCalculation

' ottieni l'interfaccia dai risultati del caso di carico 1
Dim iRes As RFEM5.IResults2
Imposta iRes = iCalc.GetResultsInFeNodes(LoadCaseType, 1)

' ottieni la risultante
Dim section_resultant As ResultantForce
section_resultant = iRes.GetResultant(1, AtNo, ConstantDistributionOnElements)

e:
Se Err.Number <> 0 Allora
MsgBox Err.Number & " " & Err.description
End If

Se non iApp è niente, allora
iApp.UnlockLicense
End If

End Sub