878x
004869
2020-12-14

Pergunta

Como é que posso ler a resultante de um corte através da interface COM?


Resposta:

Como todos os outros resultados, a resultante de um corte pode ser lida através de Model3 → ICalculation2 → IResults2. A interface para os resultados é fornecida pela função GetResultant, a qual devolve a estrutura ResultantForce depois de especificar o número do corte e o tipo de distribuição de resultados. Esta estrutura inclui, entre outras coisas, as forças e os momentos como vetores:

Sub GetResultantSection()
Dim iApp As RFEM5.Application
Dim iModel As RFEM5.model
Set iModel = GetObject(, "RFEM5.Model")

On Error GoTo e

' 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 Resultant
Dim section_resultant As ResultantForce
section_resultant = iRes.GetResultant(1, AtNo, ConstantDistributionOnElements)

e:
If Err.Number <> 0 Then
MsgBox Err.Number & " " & Err.description
End If

If Not iApp Is Nothing Then
iApp.UnlockLicense
End If

End Sub