640x
005304
2022-08-26

Podpory węzłowe z nieliniowością oddziaływania częściowego

W jaki sposób można utworzyć podporę węzłową z nieliniowością 'oddziaływanie częściowe' za pośrednictwem interfejsu COM?


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.

  1. code.pl #

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
  2. podpora(0).Nie = 1
  3. support(0).NodeList = "1"
  4. support(0).SupportConstantX = -1
  5. support(0).SupportNonlinearityX = PartialActivityNLType
  6. support(0).SupportConstantY = -1
  7. support(0).SupportConstantZ = -1
  8. support(0).RestraintConstantX = -1
  9. support(0).RestraintConstantY = -1
  10. 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)
  3. nlPA.PositiveZone = CompleteActivityType
  4. nlPA.Dodatni poślizg = 0,005
  5. nlPA.NegativeZone = FailureActivityType

  1. data.PrepareModification
  2. ISupPA.SetData nlPA
  3. data.FinishModification

e: Jeżeli Err.Number <> 0 Wtedy MsgBox Err.Description, , Err.Source

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

End Sub

  1. /#

Autor

Pani von Bloh zapewnia naszym klientom wsparcie techniczne i jest odpowiedzialna za rozwój programu SHAPE‑THIN oraz konstrukcji stalowych i aluminiowych.