978x
004967
2021-04-08

问题

如何通过COM接口创建带有非线性图的节点支座?


回复:

下面的VBA宏显示了创建带有非线性图的节点支座。 其源代码可以在“下载”部分找到。

'-------- -------------------------------------------------
子类NSupports()
'-------- -------------------------------------------------
Dim model As RFEM5.model
与IModelData一样的昏暗数据
支座Dim support(0)As RFEM5。
Dim ISup As RFEM5.INodalSupport
Dium ISupDia As RFEM5.IN线性图
Dim nlDiag As NonlinearityDiagram
对(2,1)区域进行双精度调暗处理
    
设置模型= GetObject(,“ RFEM5.Model”)
model.GetApplication.LockLicense

出现错误转到e

设置数据= model.GetModelData
    
support(0).No = 1
support(0).nodelist =“ 1”
support(0).SupportNonlinearityX = WorkingDiagramType
support(0).SupportConstantY = -1
support(0).SupportConstantZ = -1
support(0).RestraintConstantX = -1
support(0).RestraintConstantY = -1
support(0).RestraintConstantZ = -1

修改前数据
data.SetNodalSupports支持
修改后的数据

设置ISup = data.GetNodalSupport(1,AtNo)
设置ISupDia = ISup.GetNonlinearity(AlongAxisX)

区域(0,0)= 0
区域(0,1)= 0
区域(1,0)= 1
区域(1,1)= 2
区域(2,0)= 3
区域(2,1)= 4

nlDiag.PositiveZoneType = DiagramAfterLastStepType.StopDiagramType
nlDiag.PositiveZone =区域
nlDiag.Symmetric = True

修改前数据
ISupDia.SetData nlDiag
修改后的数据
    
e:如果Err.Number <> 0,则MsgBox Err.Description,,Err.Source

设置数据=空
model.GetApplication.UnlockLicense
套装模型=什么都没有

结束子区域