1154x
004484
2020-07-07

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)
    
' get equivalent stresses
Dim str_equ() As RFEM5.SurfaceEquivalentStresses
str_equ = iRes.GetSurfaceEquivalentStresses(1, AtNo, VonMisesHypothesis)
    
End If

E:
If 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².