1747x
001477
2017-09-14

VBA中的COM接口 | 4.2框架优化

本系列文章的第 4.1 部分介绍了附加模块 RF-/STEEL EC3 的接口;已经定义了要设计的杆件和荷载组合。 In diesem Teil geht es jetzt insbesondere um die Optimierung von Querschnitten im Modul und die Übergabe an RFEM. Auf die Elemente, welche in vorangegangenen Teilen bereits erläutert wurden, wird nicht nochmal eingegangen.

优化过程

RF-/STEEL EC3 design的目的是只将截面中的杆件转移。 在下面的示例中,所有杆件的截面均为“ IPE 300”, 假定杆件编号已知。

在RF‑STEEL EC3中的优化是根据先前在RFEM中计算的内力进行的。 这意味着不考虑模块截面变化引起的刚度变化。 其优点是无需重新计算结构就可以进行优化。因此可以非常快地完成工作。 不利的一面是,由于刚度发生了变化,导致重新分布,内力也因此发生了显着变化。 因此,优化的截面可以被超载。

为了有效地进行优化,总是始终只对模块中的几个截面进行优化,然后将新的截面传递到RFEM中,然后在模块中再次检查结果,

在RF-STEEL EC3中激活优化

为了优化模块中的截面,必须为单个截面激活该选项。 与手动操作不同,无法选择优化的方法。只能选择是否进行优化。 为了激活该选项,必须根据说明搜索截面。 当然,也可以搜索截面编号。 如果匹配,则修改相应的截面并将其传递给模块。 然后,回路将中断,因为仅检查一个截面。

'为所需的截面设置优化

暗淡 iStec3_cs As STEEL_EC3.CROSS_SECTION
count = iStec3Case.moGetCrossSectionsCount
暗淡 crsc_ec3_idx 一样长
crsc_ec3_idx = -1

关于技术提问和解答: i = 0 收件人 数-1
iStec3_cs = iStec3Case.moGetCrossSection(i,AT_INDEX)
If InStr(LCase(iStec3_cs.Description),LCase(crsc_desc))> 0 然后
iStec3_cs.Optimization =
iStec3Case.moSetCrossSection i,AT_INDEX,iStec3_cs
crsc_ec3_idx = i
退出
End If
更多 i

'为所需的截面设置优化
iStec3Case.moCalculate

激活优化后,计算模块工况。

将截面传递到 RFEM

使用截面编号可以传递截面。 为此,您需要得到RFEM截面的接口,然后输入一个新的TextID或一个新的截面标识符。 RFEM会识别出该识别符,并在传输后从数据库中获取相应的截面。

'将截面传输到RFEM
'从RF‑STEEL EC3中获取新的截面描述
iStec3_cs = iStec3Case.moGetCrossSection(crsc_ec3_idx,AT_INDEX)

'从RFEM中获取截面接口和属性
暗淡 iCrsc As RFEM5.CrossSection
iCrsc = iModelData.GetCrossSection(crsc_no,AtNo)
暗淡 crsc As RFEM5.CrossSection
crsc = iCrsc.GetData

'RF-STEEL EC3修改了新的截面
crsc.Description =“”
crsc.TextID = iStec3_cs。描述

'传递截面属性
iModelData.PrepareModification
iCrsc.SetData crsc
iModelData.FinishModification

小结

尤其是对于重复使用的结构,RF-/STEEL EC3中的优化选项提供了很好的工作便利。 在RFEM中重新计算具有优化截面的结构非常重要。 使用COM接口进行迭代是很容易的。 这样自动优化可以极大地简化和加快工作流程。


作者

Günthel 先生为Dlubal 软件客户提供技术支持。

链接
下载