536x
002429
2021-03-10

Najczęściej zadawane pytania 004967 | Jak utworzyć podporę węzłową z wykresem nieliniowości poprzez interfejs COM?

Pytanie:
Jak utworzyć podporę węzłową z wykresem nieliniowości poprzez interfejs COM?

Odpowiedź:
Poniższe makro VBA pokazuje tworzenie podpory węzłowej z wykresem nieliniowości. Kod źródłowy można znaleźć w sekcji Pliki do pobrania.

'------------------------------------------------- -------------------------------------------------
Podzbiór N Podpory ()
'------------------------------------------------- -------------------------------------------------
Dim model As RFEM5.model
Dim data As IModelData
Przyciemnij podporę (0) Jak w RFEM5.NodalSupport
Dim ISup As RFEM5.INodalSupport
Dim ISupDia As RFEM5.INonlinearityDiagram
Dim nlDiag As NonlinearityDiagram
Strefa ściemniania (2, 1) Jako podwójna

    Set model = GetObject(, "RFEM5.Model")
    model.GetApplication.LockLicense

    On Error GoTo e

    Ustaw dane = model.GetModelData

    podpora (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.PrepareModyfikacja
    data.SetNodalSupports
    data.FinishModification

    Ustaw ISup = data.GetNodalSupport (1, AtNo)
    Ustaw ISupDia = ISup.GetNonlinearity (AlongAxisX)

    zone (0, 0) = 0
    zone (0,1) = 0
    zone (1, 0) = 1
    zone (1, 1) = 2
    strefa (2, 0) = 3
    strefa (2, 1) = 4

    nlDiag.PositiveZoneType = DiagramAfterLastStepType.StopDiagramType
    nlDiag.PositiveZone = strefa
    nlDiag.Symmetric = True

    data.PrepareModyfikacja
    ISupDia.SetData nlDiag
    data.FinishModification

e:  Jeżeli Err.Number 0 Następnie MsgBox Err.Description,, Err.Source

    Ustaw dane = Nic
    model.GetApplication.UnlockLicense
    Ustawiony model = Nic

End Sub