481x
005058
2021-08-24

使用COM接口旋转节点支座

如何使用COM接口旋转节点支座?


回复:

节点支座的转动可以通过用户自定义的坐标系来定义。 在下面的示例中,节点支座绕z轴旋转45°。 不需要通过节点来定义新的坐标系。 只要使用RotatedSystemType选项,该选项就可以将支座绕x,y和z轴空间旋转3个。 旋转角度单位为弧度:


子test_nodal_support()

iApp初学者产品RFEM5.Application
设置iApp = GetObject(,“ RFEM5.Application”)

iApp.LockLicense

iMod模块给RFEM5.IModel3
设置iMod = iApp.GetActiveModel

出现错误转到e

'获取模型数据接口
将iModData设置为RFEM5.IModelData2
设置iModData = iMod.GetModelData

'获取节点支座的接口
昏暗的建筑风格RFEM5.INodalSupport
设置iNs = iModData.GetNodalSupport(1,AtNo)

'获取节点支座数据
边框格式RFEM5.NodalSupport
ns = iNs.GetData

'修改数据
ns.ReferenceSystem = UserDefinedSystemType
ns.UserDefinedReferenceSystem.Axis1 = AxisX
ns.UserDefinedReferenceSystem.Axis2 = AxisY
ns.UserDefinedReferenceSystem.Type = RotatedSystemType
ns.UserDefinedReferenceSystem.RotationAngles.X = 0
ns.UserDefinedReferenceSystem.RotationAngles.Y = 0
ns.UserDefinedReferenceSystem.RotationAngles.Z = 45 * 3.14159265359/180

'设置节点支座数据
iModData.PrepareModification
iNs.SetData ns
iModData.FinishModification

e:

如果Err.Number <> 0那么MsgBox错误描述,vbCritical,错误来源

iMod.GetApplication.UnlockLicense
设置iMod =无

结束子区域


程序从当前打开的模型中获取当前节点的支座,进行修改。 因为自定义坐标系不是节点支座的INodalSupport接口的子部分,所以在创建节点支座时也可以进行旋转。