382x
002114
14.12.2020

[FR] FAQ 004869 | Comment puis-je lire la résultante d'une section via l'interface COM ...

Question :
Comment puis-je lire la résultante d'une section via l'interface COM ?

Réponse :
Comme tous les autres résultats, la résultante d'une section peut être lue via IModel3 → ICalculation2 → IResults2. L'interface avec les résultats est fournie par la fonction GetResultant, qui renvoie ensuite la structure ResultantForce lors de la définition du numéro de section et du type de distribution des résultats. Cette structure inclut, entre autres, les efforts et les moments comme vecteurs :

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

    On Error GoTo e

    ' get interface from model
    Set iApp = iModel.GetApplication
    iApp.LockLicense

    ' get interface from calculation
    Dim iCalc As RFEM5.ICalculation2
    Set iCalc = iModel.GetCalculation

    ' get interface from results from loadcase 1
    Dim iRes As RFEM5.IResults2
    Set iRes = iCalc.GetResultsInFeNodes(LoadCaseType, 1)

    ' obtenir la résultante
    Dim section_resultant As ResultantForce
    section_resultant = iRes.GetResultant(1, AtNo, ConstantDistributionOnElements)

e:
Si Err.Numéro 0 Alors
    MsgBox Err.Number & " " & Err.description
End If

If Not iApp Is Nothing Then
    iApp.UnlockLicense
End If

End Sub