785x
004585
2020-08-04

Distribuição de carga de uma carga de linha utilizando o RF-COM

Como é que posso ler a distribuição de carga de uma carga em linha de uma caixa de combinação no RF-COM?


Resposta:

A distribuição de carga de uma carga em linha é definida pelo atributo "Distribution". O atributo "Distribution" é do tipo "LoadDistributionType", e as entradas da lista da caixa de combinação são do tipo "String", de modo que seja necessária uma conversão de tipos. A função "GetLoadDistributionType" converte uma entrada de lista do tipo "String" numa do tipo "LoadDistributionType".

  1. código.vb#

'--------------------------------------------------------------------------------------------------
Function GetLoadDistributionType(sType As String) As LoadDistributionType
'--------------------------------------------------------------------------------------------------

  1. If sType = "Concentrated2x2QType" Then
  2. GetLoadDistributionType = Concentrated2x2QType
  3. ElseIf sType = "Concentrated2xQType" Then
  4. GetLoadDistributionType = Concentrated2xQType
  5. ElseIf sType = "ConcentratedNxQType" Then
  6. GetLoadDistributionType = ConcentratedNxQType
  7. ElseIf sType = "ConcentratedType" Then
  8. GetLoadDistributionType = ConcentratedType
  9. ElseIf sType = "ConcentratedUserDefinedType" Then
  10. GetLoadDistributionType = "ConcentratedUserDefinedType"
  11. ElseIf sType = "LinearType" Then
  12. GetLoadDistributionType = LinearType
  13. ElseIf sType = "LinearXType" Then
  14. GetLoadDistributionType = LinearXType
  15. ElseIf sType = "LinearYType" Then
  16. GetLoadDistributionType = LinearYType
  17. ElseIf sType = "LinearZType" Then
  18. GetLoadDistributionType = LinearZType
  19. ElseIf sType = "ParabolicType" Then
  20. GetLoadDistributionType = ParabolicType
  21. ElseIf sType = "RadialType" Then
  22. GetLoadDistributionType = RadialType
  23. ElseIf sType = "TaperedType" Then
  24. GetLoadDistributionType = TaperedType
  25. ElseIf sType = "TrapezoidalType" Then
  26. GetLoadDistributionType = TrapezoidalType
  27. ElseIf sType = "UniformType" Then
  28. GetLoadDistributionType = UniformType
  29. ElseIf sType = "VaryingType" Then
  30. GetLoadDistributionType = VaryingType
  31. End If

End Function
#/code#

Die Prozedur "SetLineLoad" erzeugt eine Linielast an Linie 1. Der Lastverlauf wird aus dem Kombinationsfeld "LoadDistribution" des Excel-Arbeitsblattes "LineLoad" ausgelesen.

'--------------------------------------------------------------------------------------------------
Sub SetLineLoads()
'--------------------------------------------------------------------------------------------------
Dim model As RFEM5.model
Dim load As RFEM5.ILoadCase
Dim data(0) As RFEM5.LineLoad
    'Get interface for model
    Set model = GetObject(, "RFEM5.Model")
    
    'Block COM licence and program access
    model.GetApplication.LockLicense
    On Error GoTo e
   'Get interface for loads
    Set load = model.GetLoads.GetLoadCase(0, AtIndex)
    'Set parameters for lineload
    data(0).No = 1
    data(0).LineList = "1"
    data(0).Type = ForceType
    'Load Distribution from combo box
    data(0).Distribution = GetLoadDistributionType(Worksheets("LineLoad").DropDowns("LoadDistribution").List(Worksheets("LineLoad").DropDowns("LoadDistribution").ListIndex))
    data(0).Direction = LocalZType
    data(0).DistanceA = 11
    data(0).DistanceB = 22
    data(0).RelativeDistances = True
    data(0).Magnitude1 = 4000
    data(0).Magnitude2 = 5000
    data(0).Magnitude3 = 6000
    data(0).OverTotalLength = False
    data(0).Comment = "line load 1"
    'Transfer lineload
    load.PrepareModification
    load.SetLineLoads data
    load.FinishModification
    
e:  If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source
    Set load = Nothing
    'COM licence is unlocked, program access possible again
    model.GetApplication.UnlockLicense
    Set model = Nothing


End Sub

Autor

A Eng.ª von Bloh fornece apoio técnico a clientes e também é responsável pelo desenvolvimento do programa RSECTION e pelas estruturas de aço e alumínio.

Downloads


;