Odpowiedź:
Poniższe makro VBA przedstawia tworzenie podpory węzłowej z nieliniowością "Częściowa aktywność". Kod źródłowy można znaleźć w sekcji Pliki do pobrania.
- code.en#
Opcja jawna
'-------------------------------------
PodzbiórPodpory()
'-------------------------------------
Dim model As RFEM5.model
Wymiarowanie danych As IModelData
Podpora wym.(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
- Zbiór danych = model.GetModelData
- podpora(0).Nie = 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
- Ustaw ISup = data.GetNodalSupport(1, AtNo)
- Ustaw ISupPA = ISup.GetNonlinearity(AlongAxisX)
- nlPA.PositiveZone = CompleteActivityType
- nlPA.Dodatni poślizg = 0,005
- nlPA.NegativeZone = FailureActivityType
- data.PrepareModification
- ISupPA.SetData nlPA
- data.FinishModification
e: Jeżeli Err.Number <> 0 Wtedy MsgBox Err.Description, , Err.Source
- Ustaw dane = Nic
- model.GetApplication.UnlockLicense
- Zdefiniuj model = Nic
End Sub
- /kod#