Domanda:
Come posso creare un vincolo esterno nodale con un diagramma di non linearità tramite l'interfaccia COM?
Risposta:
La seguente macro VBA mostra la creazione di un vincolo esterno nodale con un diagramma di non linearità. Il codice sorgente può essere trovato in Download.
'------------------------------------------------- -------------------------------------------------
Sub SetNSupport ()
'------------------------------------------------- -------------------------------------------------
Dim modello Come RFEM5.model
Dim data As IModelData
Dim support (0) Come RFEM5.NodalSupport
Dim ISup As RFEM5.INodalSupport
Dim ISupDia As RFEM5.INonlinearityDiagram
Dim nlDiag As NonlinearityDiagram
Zona di oscuramento (2, 1) As Double
Set model = GetObject(, "RFEM5.Model")
model.GetApplication.LockLicense
On Error GoTo e
Imposta data = model.GetModelData
supporto (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 supporto
data.FinishModification
Imposta ISup = data.GetNodalSupport (1, AtNo)
Imposta 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 = zone
nlDiag.Symmetric = True
data.PrepareModification
ISupDia.SetData nlDiag
data.FinishModification
e: If Err.Number 0 Then MsgBox Err.Description`` Err.Source
Imposta dati = Niente
model.GetApplication.UnlockLicense
Set model = Nothing
End Sub