640x
005304
26.8.2022

Uzlové podpory s nelinearitou 'Částečná účinnost'

Jak mohu pomocí rozhraní COM vytvořit uzlovou podporu s nelinearitou 'Částečná účinnost'?


Odpověď:

Následující makro VBA ukazuje vytvoření uzlové podpory s nelinearitou 'Částečná účinnost'. Zdrojový kód je možné si stáhnout v sekci Ke stažení.


            

Option Explicit

'--------------------------
Sub SetNSupports()
'--------------------------
Dim model As RFEM5.model
Dim data As IModelData
Dim support(0) As RFEM5.NodalSupport
Dim ISup As RFEM5.INodalSupport
Dim ISupPA As RFEM5.IPartialActivity
Dim nlPA As PartialActivity

    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).SupportConstantX = -1
    support(0).SupportNonlinearityX = PartialActivityNLType
    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 ISupPA = ISup.GetNonlinearity(AlongAxisX)
    
    nlPA.PositiveZone = CompleteActivityType
    nlPA.PositiveSlippage = 0.005
    nlPA.NegativeZone = FailureActivityType


    data.PrepareModification
    ISupPA.SetData nlPA
    data.FinishModification
    
e:  If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source

    Set data = Nothing
    model.GetApplication.UnlockLicense
    Set model = Nothing

End Sub



Autor

Ing. von Bloh zajišťuje technickou podporu zákazníkům a je zodpovědná za vývoj programu RSECTION a addonů pro ocelové a hliníkové konstrukce.