La distribution de charge d'une charge linéique est définie par l'attribut « Distribution ». L'attribut « Distribution » est de type « LoadDistributionType » et les entrées de la liste de la liste déroulante sont de type « String », la conversion de type est donc requise. La fonction « GetLoadDistributionType » convertit une entrée de liste de type String en LoadDistributionType.
End Function
La procédure « SetLineLoad » crée une charge linéique sur la ligne 1. La distribution des charges est lue dans la liste déroulante « LoadDistribution » de la feuille de calcul Excel « LineLoad ».
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
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