Pregunta:
¿Cómo puedo crear un apoyo en nudo con un diagrama de no linealidad a través de la interfaz COM?
Respuesta:
La siguiente macro de VBA muestra la creación de un apoyo en nudo con un diagrama de no linealidad. El código fuente se puede encontrar en Descargas.
'------------------------------------------------- -------------------------------------------------
Soporte secundario ()
'------------------------------------------------- -------------------------------------------------
- Dim model As RFEM5.model
- Dim data As IModelData
Dim support (0) As RFEM5.NodalSupport
Atenuar ISup como RFEM5.INodalSupport
Dim ISupDia como RFEM5.INonlinearityDiagram
Dim nlDiag como NonlinearityDiagram
Zona de atenuación (2, 1) como doble
Establecer modelo = GetObject (, "RFEM5.Model")
model.GetApplication.LockLicense
On Error GoTo e
Set data = model.GetModelData
apoyo (0) .No = 1
support (0) .nodelist = "1"
support (0) .SupportNonlinearityX = WorkingDiagramType
support (0) .SupportConstantY = -1
support (0) .SupportConstantZ = -1
apoyo (0) .RestraintConstantX = -1
support (0) .RestraintConstantY = -1
apoyo (0) .RestraintConstantZ = -1
data.PrepareModification
Soporte técnico de data.SetNodalSupports
data.FinishModification
Establecer ISup = data.GetNodalSupport (1, AtNo)
Establecer ISupDia = ISup.GetNonlinearity (AlongAxisX)
zona (0, 0) = 0
zona (0, 1) = 0
zona (1, 0) = 1
zona (1, 1) = 2
zona (2, 0) = 3
zona (2, 1) = 4
nlDiag.PositiveZoneType = DiagramAfterLastStepType.StopDiagramType
nlDiag.PositiveZone = zona
nlDiag.Symmetric = True
data.PrepareModification
ISupDia.SetData nlDiag
data.FinishModification
e: If Err.Number 0 Then MsgBox Err.Description`` Err.Source
Set data = Nothing
model.GetApplication.UnlockLicense
Set model = Nothing
End Sub