403x
002114
2020-12-14

[IT] FAQ 004869 | Come posso leggere la risultante di una sezione tramite l'interfaccia COM ...

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



;