381x
002114
14. Dezember 2020

[EN] FAQ 004869 | Wie kann ich über die COM-Schnittstelle die Resultierende eines Schnittes ausle...

Frage:
Wie kann ich über die COM-Schnittstelle die Resultierende eines Schnittes auslesen?

Antwort:
Genau wie alle anderen Ergebnisse kann die Resultierende eines Schnittes über IModel3 → ICalculation2 → IResults2 ausgelesen werden. Die Schnittstelle zu den Ergebnissen bietet die Funktion GetResultant, welche unter Angabe der Schnittnummer und der Art der Ergebnisverteilung dann die Struktur ResultantForce zurückgibt. Diese Struktur beinhaltet unter anderem die Kräfte und Momente jeweils als Vektor:

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)

    '   get Resultant
    Dim section_resultant As ResultantForce
    section_resultant = iRes.GetResultant(1, AtNo, ConstantDistributionOnElements)

e:
If Err.Number 0 Then
    MsgBox Err.Number & " " & Err.description
End If

If Not iApp Is Nothing Then
    iApp.UnlockLicense
End If

End Sub