432x
001524
2020-07-07

[PT] FAQ 004484 | Como é que posso efetuar a leitura das tensões de uma superfície através do RF-COM?

Pergunta:
Como é que posso efetuar a leitura das tensões de uma superfície através do RF-COM?

Resposta:
As tensões de uma superfície podem ser apresentadas através da interface COM. Primeiro, necessita da interface para o modelo (IModel) e depois da interface para o cálculo (ICalculation2). Utilizando esta interface, pode obter a interface para os resultados (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)

    ' obtém tensões equivalentes
    Dim str_equ () As RFEM5.SurfaceEquivalentStresses
    str_equ = iRes.GetSurfaceEquivalentStresses (1, AtNo, VonMisesHypothesis)

End If

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

If Not iApp Is Nothing Then
    iApp.UnlockLicense
End If

A função GetSurfaceEquivalentStresses requer a especificação da hipótese de cálculo. Neste caso, são apresentados os resultados da tensão de von Mises. Tenha em atenção que a interface COM utiliza unidades SI, de modo que a tensão é transferida em N/m².