[EN] FAQ 004585 | Jak mohu načíst průběh zatížení na linii z pole se seznamem pomocí rozhraní RF-COM?

Naučte se jednoduše pracovat s programy Dlubal Software

  • Dlubal Software | Videa

Video

První kroky s programem RFEM

První kroky

Nabízíme tipy a tipy, jak začít se základním programem RFEM.

4. srpna 2020

001660

Sonja von Bloh

Chcete-li sledovat toto video, přijměte prosím marketingové cookies.

Dotaz

Jak mohu načíst průběh zatížení na linii z pole se seznamem pomocí rozhraní RF-COM?

Odpověď

Průběh zatížení na linii je definován pomocí atributu "Distribution". Atribut "Distribution" je typu "LoadDistributionType" a položky v poli se seznamem jsou typu "String", takže je vyžadována konverze typu. Funkce "GetLoadDistributionType" převede položku seznamu typu String na 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

Pomocí postupu "SetLineLoad" se vytvoří zatížení na linii 1. Průběh zatížení se načte z rozbalovacího seznamu "LoadDistribution" v listu "LineLoad" aplikace Excel.

'--------------------------------------------------------------------------------------------------
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

Zdrojový kód je možné si stáhnout v sekci Ke stažení.

Klíčová slova

Dlubal FAQ Excel VBA Průběh zatížení Zatížení na linii LoadDistributionType Pole se seznamem Často kladené dotazy FAQ na téma Dlubal Otázka a odpověď o Dlubal

Linky

Napište komentář...

Napište komentář...

  • Navštíveno 71x
  • Aktualizováno 14. srpna 2020

Kontakt

Máte dotazy k našim produktům nebo potřebujete pomoc s výběrem produktů pro Vaše projekty? Kontaktujte nás prostřednictvím naší bezplatné e-mailové podpory, chatu nebo na fóru, případně využijte naše FAQ často 24 hodin denně.

+420 227 203 203

info@dlubal.cz