275x
003569
26.8.2022

FAQ 005304 | Jak mohu pomocí rozhraní COM vytvořit uzlovou podporu s nelinearitou 'Částečná ...

Dotaz:
Jak mohu pomocí rozhraní COM vytvořit uzlovou podporu s nelinearitou 'Částečná účinnost'?

Odpověď:
Následující makro VBA ukazuje vytvoření uzlové podpory s nelinearitou 'Částečná účinnost'. Zdrojový kód je možné si stáhnout v sekci Ke stažení.

Option Explicit

'---------------------------------------------------------------------
Sub SetNSupports()
'---------------------------------------------------------------------
Dim model As 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

  1. Set model = GetObject(, "RFEM5.Model")
  2. model.GetApplication.LockLicense
  1. On Error GoTo e
  1. Set data = model.GetModelData
  1. support(0).No = 1
  2. support(0).NodeList = "1"
  3. support(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. Set ISup = data.GetNodalSupport(1, AtNo)
  2. Set ISupPA = ISup.GetNonlinearity(AlongAxisX)
  1. nlPA.PositiveZone = CompleteActivityType
  2. nlPA.PositiveSlippage = 0.005
  3. nlPA.NegativeZone = FailureActivityType
  1. data.PrepareModification
  2. ISupPA.SetData nlPA
  3. data.FinishModification

e: If Err.Number 0 Then MsgBox Err.Description, , Err.Source

  1. Set data = Nothing
  2. model.GetApplication.UnlockLicense
  3. Set model = Nothing

End Sub