Распределение линейной нагрузки определяется с помощью атрибута «Распределение». Атрибут «Распределение» относится к типу «LoadDistributionType», а записи списка в поле со списком относятся к типу «Строка», поэтому требуется преобразование типа. Функция «GetLoadDistributionType» преобразует запись списка типа String в LoadDistributionType.
End Function
Процедура «SetLineLoad» создает линейную нагрузку на линии 1. Распределение нагрузки считывается из поля со списком «LoadDistribution» таблицы «LineLoad».
Sub SetLineLoads ()
'--------------------------------------------------------------------------------------------------
Dim model As RFEM5.model
Расчетная нагрузка Как RFEM5.ILoadCase
Размерные данные (0) Как в RFEM5.LineLoad
'Get interface for model
Set model = GetObject(, "RFEM5.Model")
' Заблокировать лицензию COM и доступ к программе
model.GetApplication.LockLicense
On Error GoTo e
' Получить интерфейс для нагрузок
Задайте load = model.GetLoads.GetLoadCase (0, AtIndex)
' Задать параметры для линейной нагрузки
data (0) .No = 1
данные (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 = «линейная нагрузка 1»
' Перенести линейную нагрузку
load.PrepareModification
load.SetLine - загружает данные
load.FinishModification
e: If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source
Установить нагрузку = ничего
' Лицензия COM разблокирована, доступ к программе снова возможен
model.GetApplication.UnlockLicense
Set model = Nothing
End Sub