435x
001524
2020-07-07

[EN] FAQ 004484 | Можно ли с помощью интерфейса RF‑COM отобразить напряжения на поверхности?

Вопрос:
Можно ли с помощью интерфейса 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, поэтому напряжение передается всегда в Н/м².