Pytanie:
Jak utworzyć podporę węzłową z nieliniowością 'Partial Action' za pośrednictwem interfejsu COM?
Odpowiedź:
Poniższe makro VBA przedstawia tworzenie podpory węzłowej o nieliniowości 'Oddziaływanie częściowe'. Kod źródłowy można znaleźć w sekcji Pliki do pobrania.
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
- podpora (0) .NodeList = "1"
- podpora (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 to MsgBox Err.Description, , Err.Source
- Ustaw dane = Nic
- model.GetApplication.UnlockLicense
- Zdefiniuj model = Nic
End Sub