1124x
004484
7.7.2020

Dotaz

Jak mohu pomocí RF-COM načíst napětí na ploše?


Odpověď:

Napětí na ploše je možné načíst pomocí rozhraní COM. Nejdříve je potřeba rozhraní k modelu (IModel) a poté rozhraní pro výpočet (ICalculation2). Pomocí tohoto rozhraní lze získat rozhraní pro výsledky (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

Funkce GetSurfaceEquivalentStresses vyžaduje zadání hypotézy výpočtu. Ve výše uvedeném případě se načtou výsledky von Misesova napětí. Je třeba si uvědomit, že rozhraní COM používá jednotky SI, takže napětí se přenáší v N/m².