在建筑设计行业中,BIM概念已经引入非常久了,相信很多结构工程师都碰到过要求做 正向设计 的项目,但是大部分结构计算工作只能依赖于专门的结构软件,例如YJK,ETABS等。 在早期接口软件没那么发达时,很多人的做法是重新在BIM软件建模,把
有位优秀的结构设计师朋友提供了这样的设计思路。他从预制混凝土构件深化图纸中得到灵感,以 表格+详图 的形式来替代平法施工图,这种方式可以很好的与数据库对接,出图时在BIM模型选好钢筋(需要好的后处理软件支持,靠人来选筋效率是肯定是不如平法的),随后就是流水线般的结果输出,这样的方式在结构BIM正向设计中相比与平法施工图交互优势太大了。
回到模型问题上,现今市面上有非常多的接口软件,我们可以花费较低的代价完成模型数据互通,把结构分析模型转换为BIM模型,比如YJK的REVIT-YJKS系列产品。
路线现在是走通了,还需要回到前面提到的 “简化的结构计算模型与实际模型不能做到完全一致” 这个问题。
BIM设计中,我们常常分为两大派别, 正向设计和逆向设计 。
在逆向设计(结构模型转BIM模型)流程中,转换后的结构构件标高与分析模型一致,意味着需要对BIM模型进行 精修 (例如局部降板),一旦结构模型修改,我们手动精修的数据就丢失了,这个精修就得再来一次。
同样的正向设计流程中,BIM模型再转分析模型也有一样的问题,而且转换拿到的分析模型大概率存在节点连接问题,需要手动整理调整才能得到一个模拟正确的分析模型。
所以,不管是正向还是逆向,一旦出现手工调整,数据流就 中断 了 。如果想避免这种情况,小编想到了两种方式:
1、在源头汇总信息,按需传递到分析模型与BIM模型;
2、创建一个中转站对数据进行修正。
需要强调的是,对于结构设计最重要的还是 分析模型 ,上图所表示的两种流程均是首先保证分析模型的完整性,然后再去考虑拆分数据或者修改数据。 这个过程被称为逆向设计,但是个人认为它是结构的正向设计 。
上述内容可以通过可视化编程平台YJK-GAMA实现。
以简单的框架结构为例,我们来看看是如何实现定义一个局部降板的结构模型,分析模型不降标高而BIM模型按实际标高建模。
这个案例只把梁作为简单示意,讲述 “一模两用的思路” ,完整的案例卡片请联系我们获取。
有很多方式可以作为埋入信息的点:
1、在YJK精确建模,生成分析模型时创建另外一个删除可忽略高差的模型来计算;(这种方式可能大家用起来更顺手,毕竟是在熟悉的YJK建模,处理高差方式可参考第2、3点)(方式一);
2、按正常分析模型建模,利用YJK工作树的分组功能记录高差信息,计算时直接用当前模型,生成BIM模型时根据分组进行批量处理(不直观,在熟悉的YJK操作) (方式一);
3、按正常分析模型精度建模,在GAMA读取CAD图纸中的标高信息,通过写好的逻辑自动处理梁柱墙构件标高生成BIM模型(不直观,但工作量小)(方式二);
接入gh之前,我们需要先把数据处理下,通过梁的 TryGetKeyedUserData 方法把偏移信息读出来,整合好关键数据,借助发送系列卡片传递到grasshopper。
6.传递数据所需插件“GamaGrasshopperConnection”可在YJK官网下载,在GAMA发送数据后,gh对应会生成一个接收卡片,完整逻辑如下。
Revit中的元素层级关系如下图所示,依次是 类别、族、族类型以及实例 。
Rhino.inside对于Revit的操作电池可以大致分为查询、分析、修改、创建以及删除几大类。通过“Query Types”电池,给的 类别 (C)为结构框架, 族 名称(FN)为结构样板自带族“混凝土 - 矩形梁”,就可以查询到该族所包含的所有类型。
通过“Duplicate Type”电池,从族自带的类型中选择一个作为定样板类型(T),输入类型名称(N)就可以创建好一个新的 族类型 ,再通过“Query Element Parameters”查询类型所包含的参数,“Element Parameter”电池实现类型参数(梁截面宽、高)的修改,完成截面类型创建,将类型、梁单元线作为“Add Structural Beam”电池入口,就可以形成结构梁 实例 。
再以相同的逻辑创建好柱柱构件,就可以得到如下图所示的两个模型,两个模型数据互通,结构模型修改时,位置差信息可以继续传递,避免重复“精修”模型,做好这系列卡片后,以后需要转BIM模型时都可以复用。