978x
004967
2021-04-08

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 ()
'------------------------------------------------- -------------------------------------------------
Przyciemnij model Jak w 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
    
Ustaw 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 To MsgBox Err.Description,, Err.Source

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

Koniec podrzędny