[EN] FAQ 004585 | Wie kann mit RF-COM der Lastverlauf einer Linienlast aus einem Kombinationsfeld ausgelesen werden?

Erfahren Sie bequem, wie mit Dlubal-Programmen gearbeitet wird.

  • Dlubal Software | Videos

Video

Erste Schritte mit RFEM

Erste Schritte

Wir geben Ihnen Hinweise und Tipps, die Ihnen den Einstieg in das Basisprogramm RFEM erleichtern.

4. August 2020

001660

Sonja von Bloh

Please accept marketing-cookies to watch this video.

Frage

Wie kann mit RF-COM der Lastverlauf einer Linienlast aus einem Kombinationsfeld ausgelesen werden?

Antwort

Der Lastverlauf einer Linienlast wird über das Attribut "Distribution" definiert. Das Attribut "Distribution" ist vom Typ "LoadDistributionType" und die Listeneinträge des Kombinationsfeldes sind vom Typ "String", so dass eine Typkonvertierung erforderlich ist. Die Funktion "GetLoadDistributionType" wandelt einen Listeneintrag vom Typ String in einen LoadDistributionType.

'--------------------------------------------------------------------------------------------------
Function GetLoadDistributionType(sType As String) As LoadDistributionType
'--------------------------------------------------------------------------------------------------
    
    If sType = "Concentrated2x2QType" Then
      GetLoadDistributionType = Concentrated2x2QType
    ElseIf sType = "Concentrated2xQType" Then
      GetLoadDistributionType = Concentrated2xQType
    ElseIf sType = "ConcentratedNxQType" Then
      GetLoadDistributionType = ConcentratedNxQType
    ElseIf sType = "ConcentratedType" Then
      GetLoadDistributionType = ConcentratedType
    ElseIf sType = "ConcentratedUserDefinedType" Then
      GetLoadDistributionType = "ConcentratedUserDefinedType"
    ElseIf sType = "LinearType" Then
      GetLoadDistributionType = LinearType
    ElseIf sType = "LinearXType" Then
      GetLoadDistributionType = LinearXType
    ElseIf sType = "LinearYType" Then
      GetLoadDistributionType = LinearYType
    ElseIf sType = "LinearZType" Then
      GetLoadDistributionType = LinearZType
    ElseIf sType = "ParabolicType" Then
      GetLoadDistributionType = ParabolicType
    ElseIf sType = "RadialType" Then
      GetLoadDistributionType = RadialType
    ElseIf sType = "TaperedType" Then
      GetLoadDistributionType = TaperedType
    ElseIf sType = "TrapezoidalType" Then
      GetLoadDistributionType = TrapezoidalType
    ElseIf sType = "UniformType" Then
      GetLoadDistributionType = UniformType
    ElseIf sType = "VaryingType" Then
      GetLoadDistributionType = VaryingType
    End If

End Function

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

Der Quellcode kann unter den Downloads heruntergeladen werden.

Schlüsselwörter

Dlubal FAQ Excel VBA Lastverlauf Linienlast LoadDistributionType Kombinationsfeld Häufig gestellte Frage FAQ zu Dlubal Frage und Antwort zu Dlubal

Links

Schreiben Sie einen Kommentar...

Schreiben Sie einen Kommentar...

  • Aufrufe 88x
  • Aktualisiert 14. August 2020

Kontakt

Kontakt zu Dlubal

Haben Sie Fragen zu unseren Produkten oder brauchen Sie einen Rat zur Auswahl der Produkte zur Bearbeitung Ihrer Projekte? Kontaktieren Sie uns über unseren kostenlosen E-Mail-, Chat- bzw. Forum-Support oder nutzen Sie die häufig gestellten Fragen (FAQs) rund um die Uhr.

+49 9673 9203 0

info@dlubal.com