在 IFeMeshSettings 接口中可以修改基本的有限元网格设置。 该接口位于 IModel > IModelData > ICalculation 下。 图 01 显示了可以更改/显示的单元。
这是一个有限元单元的目标长度设置为 100 mm 的代码示例。 此外,激活相同单元尺寸的杆件分段,并将最小分段设置为 3 个单元:
子 mesh_params()
Dim iApp As RFEM5.Application
' 获取模型数据接口Dim iModel As RFEM5.modelSet iModel = GetObject(, "RFEM5.Model")
出错时转到 e
如果不是 iModel 那么 ' 获取申请和加锁许可证接口设置 iApp = iModel.GetApplication()iApp.LockLicense ' 获取模型数据接口Dim iModdata As RFEM5.IModelData2设置 iModdata = iModel.GetModelData ' 获取计算接口Dim iCalc As RFEM5.ICalculation2设置 iCalc = iModel.GetCalculation() ' 获取网格设置接口Dim iMeshSet As RFEM5.IFeMeshSettings设置 iMeshSet = iCalc.GetFeMeshSettings ' 获取一般网格设置Dim meshGen As RFEM5.FeMeshGeneralSettingsmeshGen = iMeshSet.GetGeneral meshGen.ElementLength = 0.1 ' 设置新的网格设置iModdata.PrepareModificationiMeshSet.SetGeneral meshGeniModdata.FinishModification ' 获取网格杆件设置Dim meshMem As RFEM5.FeMeshMembersSettingsmeshMem = iMeshSet.GetMembers meshMem.DivideStraightMembers = TruemeshMem.ElementLength = 0.1meshMem.MinStraightMemberDivisions = 3 ' 设置新的网格杆件iModdata.PrepareModificationiMeshSet.SetMembers meshMemiModdata.FinishModification iApp.UnlockLicenseEnd If
e: 如果 Err.Number <> 0 则MsgBox Err.description, , Err.SourceEnd IfiApp.UnlockLicense设置 iApp = 无设置 iModel = 无
末端接头
该子程序还包含一个错误截取程序 (On Error GoTo e),并且与修改其他单元一样,需要 Prepare-/FinishModification 块。 这里块是通过 IFeMeshSettings 接口创建的。