649x
005026
2021-06-16

使用 COM 接口创建杆件偏心

如何使用 COM 接口创建杆件偏心?


回复:

为了能够给杆件分配偏心,通常需要在设置杆件之前创建偏心。

在下面的示例中显示了另一种方法。 首先,创建偏心,然后通过其接口分配给现有杆件:


'------------------
子集偏心()
'------------------

尺寸标注模型 As RFEM5.model
设置 model = GetObject(, "RFEM5.Model")
model.GetApplication.LockLicense

出错时转到 e

将 iModData 变暗为 RFEM5.iModelData
设置 iModData = model.GetModelData

' 创建偏心
尺寸偏心(0 到 0) As RFEM5.MemberEccentricity
eccens(0).编号 = 1
eccens(0).Comment = "测试偏心"

eccens(0).ReferenceSystem = LocalSystemType

eccens(0).Start.X = 0
eccens(0).Start.Y = 0
eccens(0).Start.Z = 0

eccens(0).End.X = 0
eccens(0).End.Y = 0
eccens(0).End.Z = 0

eccens(0).HingeAtEndNode = False
eccens(0).HingeAtStartNode = False

eccens(0).HorizontalAlignment = Middle
eccens(0).VerticalAlignment = 下

eccens(0).TransverseOffset = True
eccens(0).ReferenceObjectNo = 2
eccens(0).ReferenceObjectType = 杆件对象
eccens(0).HorizontalAxisOffset = 中间
eccens(0).VerticalAxisOffset = 上

eccens(0).StartAdjoiningMembersOffset = False
eccens(0).EndAdjoiningMembersOffset = False

iModData.PrepareModification
iModData.SetMemberEccentricities eccens
iModData.FinishModification

' 给杆件添加偏心
将 iMem 变暗为 RFEM5.IMember
设 iMem = iModData.GetMember(1, AtNo)

尺寸调整模块 As RFEM5.Member
mem = iMem.GetData

mem.偏心编号 = 1

iModData.PrepareModification
iMem.SetData mem
iModData.FinishModification


e: If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source

model.GetApplication.UnlockLicense

末端接头


杆件偏心只能作为场传递;为此,创建了一个只有一个元素的字段。 在下图中,单个元素是参照图形元素进行逐项列出的。