275x
003569
2022-08-26

FAQ 005304 | W jaki sposób podpora węzłowa z nieliniowością 'Częściowe W ...

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

  1. Set model = GetObject(, "RFEM5.Model")
  2. model.GetApplication.LockLicense
  1. On Error GoTo e
  1. Zbiór danych = model.GetModelData
  1. podpora(0).Nie = 1
  2. podpora (0) .NodeList = "1"
  3. podpora (0) .SupportConstantX = -1
  4. support (0) .SupportNonlinearityX = PartialActivityNLType
  5. support(0).SupportConstantY = -1
  6. support(0).SupportConstantZ = -1
  7. support(0).RestraintConstantX = -1
  8. support(0).RestraintConstantY = -1
  9. support(0).RestraintConstantZ = -1
  1. data.PrepareModification
  2. data.SetNodalSupports support
  3. data.FinishModification
  1. Ustaw ISup = data.GetNodalSupport(1, AtNo)
  2. Ustaw ISupPA = ISup.GetNonlinearity (AlongAxisX)
  1. nlPA.PositiveZone = CompleteActivityType
  2. nlPA.Dodatni poślizg = 0,005
  3. nlPA.NegativeZone = FailureActivityType
  1. data.PrepareModification
  2. ISupPA.SetData nlPA
  3. data.FinishModification

e: Jeżeli Err.Number 0 to MsgBox Err.Description, , Err.Source

  1. Ustaw dane = Nic
  2. model.GetApplication.UnlockLicense
  3. Zdefiniuj model = Nic

End Sub