Вопрос:
Как можно посредством интерфейса 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