381x
002114
2020-12-14

[EN] FAQ 004869 | Как прочитать результат сечения через интерфейс COM ...

Вопрос:
Как можно посредством интерфейса COM считать результат сечения?

Ответ:
Как и все остальные результаты, результирующую сечения можно считывать с помощью команды IModel3 → ICalculation2 → IResults2. Интерфейс результатов обеспечивается посредством функции GetResultant, которая при указании номера желаемого сечения и типа распределения результатов способна вернуть структуру ResultantForce. В данной структуре отображаются, среди прочего, также силы и моменты в виде векторов:

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:
Если Err.Number 0, то
    MsgBox Err.Number & " " & Err.description
End If

If Not iApp Is Nothing Then
    iApp.UnlockLicense
End If

End Sub