问题:
如何从 RF-COM 中的组合框中读出线荷载的荷载分布?
答案:
线荷载的荷载分布由属性“分布”定义。 由于“分布”属性的类型为“荷载分布类型”,组合框的列表项为“字符串”类型,因此需要进行类型转换。 "GetLoadDistributionType" 函数将字符串类型的列表项转换为 LoadDistributionType。
'-------------------------------- ——————————————————————————————— ——
函数 GetLoadDistributionType(sType As String) As LoadDistributionType
'-------------------------------- ——————————————————————————————— ——
如果 sType = "Concentrated2x2QType" 那么
GetLoadDistributionType = Concentration2x2QType
ElseIf sType = "Concentration2xQType" 则
获取荷载分布类型 = 集中2xQType
ElseIf sType = "ConcentratedNxQType" 则
获取荷载分布类型 = 集中NxQType
ElseIf sType = "ConcentrationType" 则
获取荷载分布类型 = 集中类型
ElseIf sType = "ConcentratedUserDefinedType" 则
GetLoadDistributionType = "集中用户定义类型"
ElseIf sType = "LinearType" 则
获取荷载分布类型 = 线性类型
ElseIf sType = "LinearXType" 则
获取荷载分布类型 = 线性X类型
ElseIf sType = "LinearYType" 则
获取荷载分布类型 = 线性Y类型
ElseIf sType = "LinearZType" 则
获取荷载分布类型 = 线性Z类型
ElseIf sType = "抛物线类型" 那么
获取荷载分布类型 = 抛物线类型
ElseIf sType = "RadialType" 然后
获取荷载分布类型 = 径向类型
ElseIf sType = "TaperedType" then
获取荷载分布类型 = 变截面类型
ElseIf sType = "TrapezoidalType" Then
获取荷载分布类型 = 梯形类型
ElseIf sType = "UniformType" 则
获取荷载分布类型 = UniformType
ElseIf sType = "VaryingType" 则
获取荷载分布类型 = 可变类型
End If
结束功能
"SetLineLoad" 过程在 1 号线创建一个线荷载。 在 Excel 工作表“线荷载”的组合框“荷载分布”中读出荷载分布。
'-------------------------------- ——————————————————————————————— ——
子集线荷载()
'-------------------------------- ——————————————————————————————— ——
Dim model As RFEM5.model
Dim load As RFEM5.ILoadCase
Dim data(0) As RFEM5.LineLoad
'获取模型接口
Set model = GetObject(, "RFEM5.Model")
'阻止 COM 许可证和程序访问
模型.获取应用程序.锁定许可证
出错时转到 e
'获取荷载接口
设置荷载 = model.GetLoads.GetLoadCase(0, AtIndex)
'设置线荷载参数
数据(0).No = 1
数据(0).LineList = "1"
数据(0).Type = ForceType
'组合框中的荷载分布
数据(0)。
数据(0).Direction = LocalZType
数据(0).距离A = 11
数据(0).距离B = 22
数据(0).RelativeDistances = True
数据(0).震级1 = 4000
数据(0).震级2 = 5000
数据(0).震级3 = 6000
数据(0).OverTotalLength = False
data(0).Comment = "线荷载 1"
'传递线荷载
加载.准备修改
load.SetLineLoads 数据
加载.完成修改
e: 如果 Err.Number 0 那么 MsgBox Err.Description, , Err.Source
设置荷载 = 无
'COM 许可证已解锁,可以再次访问程序
模型.获取应用程序.解锁许可证
设置模型 = 无
末端接头
源代码位于“下载”下。