455x
001660
2020-08-04

[ZH] 常见问题 004585 | 如何从RF-COM中的组合框中读出线荷载的荷载分布...

问题:
如何从 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 许可证已解锁,可以再次访问程序
    模型.获取应用程序.解锁许可证
    设置模型 = 无

末端接头

源代码位于“下载”下。



;