Вопрос:
Можно ли с помощью интерфейса RF‑COM отобразить напряжения на поверхности?
Ответ:
Да, напряжения на поверхности можно отобразить также через интерфейс COM. Однако для этого вам потребуется сначала интерфейс для модели (IModel), а потом интерфейс для расчета (ICalculation2). С помощью данного интерфейса затем можно получить интерфейс для результатов (IResults2):
Sub stresses_surfaces_example()
Dim iApp As RFEM5.Application
Dim iModel As RFEM5.model
Set iModel = GetObject(, "RFEM5.Model")
On Error GoTo E
If Not iModel Is Nothing Then
' 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 equivalent stresses
Dim str_equ() As RFEM5.SurfaceEquivalentStresses
str_equ = iRes.GetSurfaceEquivalentStresses(1, AtNo, VonMisesHypothesis)
End If
E:
Если Err.Number 0, то
MsgBox Err.Number & "" & описание ошибки
End If
If Not iApp Is Nothing Then
iApp.UnlockLicense
End If
Функция GetSurfaceEquivalentStresses затем требует задания расчетной гипотезы. В данном примере у нас будут отображать результаты напряжения по фон Мизесу. Не забудьте, что в интерфейсе COM используются единицы SI, поэтому напряжение передается всегда в Н/м².