Domanda:
Come è possibile creare un vincolo esterno del nodo con 'Azione parziale' non linearità tramite l'interfaccia COM?
Risposta:
La seguente macro VBA mostra la creazione di un vincolo esterno del nodo con 'Azione parziale' non linearità. Il codice sorgente si trova in Download.
Opzione esplicita
'------------------------------------------------ --------------------
SubsetNSupports()
'------------------------------------------------ --------------------
Dim modello Come 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
- Imposta dati = modello.GetModelData
- vincolo esterno(0).Nr = 1
- vincolo esterno (0) .NodeList = "1"
- vincolo esterno (0) .SupportConstantX = -1
- vincolo esterno (0) .SupportNonlinearityX = PartialActivityNLType
- support(0).SupportConstantY = -1
- support(0).SupportConstantZ = -1
- support(0).RestraintConstantX = -1
- support(0).RestraintConstantY = -1
- support(0).RestraintConstantZ = -1
- data.PrepareModificazione
- vincolo esterno data.SetNodalSupports
- data.FinishModulation
- Imposta ISup = data.GetNodalSupport(1, AtNo)
- Imposta ISupPA = ISup.GetNonlinearity (AlongAxisX)
- nlPA.PositiveZone = CompleteActivityType
- nlPA.PositiveSlippage = 0,005
- nlPA.NegativeZone = FailureActivityType
- data.PrepareModificazione
- ISupPA.SetData nlPA
- data.FinishModulation
e: Se Err.Number 0 Then MsgBox Err.Description, , Err.Source
- Imposta dati = Niente
- model.GetApplication.UnlockLicense
- Set model = Nothing
End Sub