529x
002429
2021-03-10

FAQ 004967 | Come posso creare un vincolo esterno nodale con un diagramma di non linearità tramite l'interfaccia COM?

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