A seguinte macro VBA mostra a criação de um apoio nodal com um diagrama de não linearidade. O código fonte pode ser encontrado em Downloads.
- código.vb#
'--------------------------------------------------------------------------------------------------
Sub SetNSupports()
'--------------------------------------------------------------------------------------------------
Dim model As RFEM5.model
Dim data As IModelData
Dim support(0) As RFEM5.NodalSupport
Dim ISup As RFEM5.INodalSupport
Dim ISupDia As RFEM5.INonlinearityDiagram
Dim nlDiag As NonlinearityDiagram
Dim zone(2, 1) As Double
- Set model = GetObject(, "RFEM5.Model")
- model.GetApplication.LockLicense
- On Error GoTo e
- Set data = model.GetModelData
- support(0).No = 1
- support(0).nodelist = "1"
- support(0).SupportNonlinearityX = WorkingDiagramType
- support(0).SupportConstantY = -1
- support(0).SupportConstantZ = -1
- support(0).RestraintConstantX = -1
- support(0).RestraintConstantY = -1
- support(0).RestraintConstantZ = -1
- data.PrepareModification
- data.SetNodalSupports support
- data.FinishModification
- Set ISup = data.GetNodalSupport(1, AtNo)
- Set ISupDia = ISup.GetNonlinearity(AlongAxisX)
- zone(0, 0) = 0
- zone(0, 1) = 0
- zone(1, 0) = 1
- zone(1, 1) = 2
- zone(2, 0) = 3
- zone(2, 1) = 4
- nlDiag.PositiveZoneType = DiagramAfterLastStepType.StopDiagramType
- nlDiag.PositiveZone = zone
- 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
#/code#