Pregunta:
¿Cómo puedo usar la interfaz COM para leer las deformaciones globales o locales de las barras?
Respuesta:
Las deformaciones de las barras se pueden leer utilizando la función "GetMemberDeformations()", por ejemplo. Esta función espera un número, el tipo de método de conteo para barras (número de barra/número en la lista) y qué sistema de coordenadas se debe usar. Puede seleccionar si se usa el sistema de ejes local, el sistema de ejes principal o el sistema de coordenadas global:
Subtest_results_member_axis()
Dim iApp As RFEM5.Application
Establecer iApp = GetObject(, "RFEM5.Application")
iApp.LockLicense
Dim iMod As RFEM5.IModel3
Set iMod = iApp.GetActiveModel
On Error GoTo e
'obtener interfaz para el cálculo
Dim iCalc As RFEM5.ICalculation2
Establecer iCalc = iMod.GetCalculation
'obtener interfaz para resultados
Dim iRes As RFEM5.IResults2
Establecer iRes = iCalc.GetResultsInFeNodes(LoadCaseType, 1)
'obtener deformaciones en el sistema de coordenadas local
Dim memDefs_L() As RFEM5.MemberDeformations
memDefs_L = iRes.GetMemberDeformations(1, AtNo, LocalMemberAxes)
'obtener deformaciones en el sistema de coordenadas global
Dim memDefs_G() As RFEM5.MemberDeformations
memDefs_G = iRes.GetMemberDeformations(1, AtNo, GlobalAxes)
'obtener deformaciones en el sistema de coordenadas principal
Dim memDefs_P() As RFEM5.MemberDeformations
memDefs_P = iRes.GetMemberDeformations(1, AtNo, LocalPrincipalAxes)
e:
If Err.Number 0 Then MsgBox Err.description, vbCritical, Err.Source
iMod.GetApplication.UnlockLicense
Establecer iMod = Nada
End Sub
El pequeño programa lee las deformaciones locales (memDefs_L) en los ejes de la barra y los ejes principales (memDefs_P) y las deformaciones globales en los ejes de la barra (memDefs_G).