薛建英,阎 超,孟繁敏,宁 澎
(中北大学 理学院,山西 太原 030051)
随着我国城市化的发展,越来越多且越建越高的建筑物在城市拔地而起,其工程结构以钢筋混凝土框架或剪力墙结构为主,钢筋工程是钢筋混凝土结构施工的关键环节,也是工程质量控制及工程量计算的重点和难点. 在目前的工程施工和质量控制过程中,钢筋工程以施工图纸与图集结合算量软件为主、 人工复核为辅的方式进行施工现场的下料、 安装和验收等. 虽然在算量软件基础上大大提升了钢筋用量的统计效率,但仍需要人工进行手动翻样,依旧存在大量的错误需要进行核算修改,且无法解决钢筋翻样错误及钢筋切割过程中的错切、 重切造成的浪费,导致钢筋的损耗率居高不下. 同时由于工程中设计变更的不可避免,钢筋用量及下料尺寸无法及时修改,造成钢筋浪费严重.
在BIM软件参数化引擎下建立参数化3D钢筋实体,实现自动配筋、 钢筋用量统计以及下料优化等功能,不仅可以将人工从复杂的翻模和大量的计算中解放出来,同时可以实现一处更新处处更新的钢筋管理功能. 此外还可以利用钢筋模型的可视化指导现场钢筋工程,实现真正意义上的“所见即所得”. 三维数字化管理下的钢筋施工及验收在钢筋工程满足规范的要求下尽可能提高钢筋利用率,对于整个工程降本提质具有显著的意义. 目前建筑业主流的BIM软件如Revit系列及Tekla等软件均具有钢筋布置的功能,但软件功能侧重于设计阶段,且软件表现方式与我国平法表现方式及工程量计算规则不一致,阻碍了此类软件在钢筋施工过程中的应用与发展.
我国《建筑业发展“十三五”规划》[1]中提出要加快推进BIM技术全生命周期内的集成应用,支持基于具有自主知识产权三维图形平台的国产BIM软件的研发和推广使用. 张琨等[2]针对传统钢筋工程中作业效率低下的问题,提出了一种基于BIM的钢筋集约化加工作业方式,有效提高了作业效率、 降低了钢筋损耗; 姚刚等[3]针对复杂钢筋节点的安装,利用BIM三维可视化提出了一种钢筋安装的优化方法,实现了三维交底,避免了对繁琐节点的理解差异; 邵艳丽等[4]针对钢筋建模及用量统计问题,利用Revit接口的开放性,完成了钢筋用量的分类统计,扩展了Revit钢筋明细表统计功能. 连立川[5]和漏家俊[6]等针对钢筋下料优化问题,提出了基于BIM的线型规划下料方法,大大提高了钢筋利用率,避免了资源浪费.
Pratoom W等[7]将传统方法和BIM软件中获得的钢筋数量进行比较,发现基于BIM获取的钢筋数量优于传统方法; Song 等[8]针对钢筋在设计阶段的用量统计问题,基于BIM施工组织开发出一种RAAP插件,实现了在初始设计阶段建立合理的钢筋数量估算程序.
本文从工程施工中钢筋工程的质量及成本把控措施出发,利用Revit软件高度开放性、 兼容性等特点,通过其中内置的函数和调用方法,以C#语言开发的插件实现Revit中满足我国钢筋图集、 规范[9]的配筋和包含三维信息的钢筋文件的输出,并在Visual Studio 2017(VS)软件中调用MATLAB中编译完成的遗传-爬山混合算法.dll函数文件对钢筋下料进行优化,进一步实现在移动浏览器中的快速重建,为实际工程中BIM技术支持下的钢筋工程应用提供了一种新的技术方法.
本文以某学校综合楼为例进行三维钢筋建模及优化过程阐述. 该工程为多层框架-剪力墙结构,地上3层,局部2层,建筑总面积4 285.30 m2,首层高 4.50 m,2~3层高4.20 m,建筑总高度14.40 m,耐火等级二级,屋面防水等级II级,抗震设防烈度为8度,设计使用年限为50年. 该工程无配筋的三维结构模型如图 1 所示.
图 1 学校综合楼整体无钢筋结构模型Fig.1 Overall steel-free structural model of the school complex building
在Revit软件建模过程中,由于钢筋是基于混凝土构件的附属族构件,因此,BIM钢筋3D模型建立需要在已存在的混凝土结构上进行. BIM模型的建立还需综合考虑设计意图、 模型精度要求、 构件图纸命名规则等,根据施工应用精度需求进一步深化设计. 本文的自动配筋3D钢筋模型建立方法主要有两大用途,其一是统计各种规格钢筋用量用于算法优化下料; 其二是用作几何文件输出对象,用于后期浏览器中三维技术交底,辅助完成钢筋工程质量验收等.
首先,在Revit 2016中绘制该综合楼结构主体,然后利用VS编译好的插件进行配筋管理. 由于在Revit 3D View中无法准确定位钢筋间距保护层厚度且还需要识别配筋主体混凝土构件,故整个配筋需在楼层平面视图中完成,否则弹出“找不到钢筋的主体”错误提示,如图 2 所示.
图 2 错误提示Fig.2 Error message
Revit软件为软件爱好者设置了一个开放的API用以提高完善其软件功能. 本文所述的插件主要在框架.NET Framework4.6.1的Visual Studio 2017中编译完成,通过调用Revit API和Revit UIAPI数据库中的方法函数和编译好的MATLAB.DLL文件进行混合编程完成.
由于钢筋工程配筋由混凝土强度、 保护层厚度、 弯钩设置、 连接方式、 钢筋级别、 所采用的钢筋图集规范等各种参数共同决定,故在配筋时需要对相关参数设置进行调整. 本插件默认采用16G101图集,山西省工程量计算规则规定的钢筋损耗,钢筋根数计算规则向上取整+1,直径6~14 mm钢筋采用绑扎连接方式,16~32 mm柱墙钢筋采用电渣压力焊,其余构件钢筋采用直螺纹套筒连接. 本插件开发环境为: Revit 2016、 Visual Studio 2017和Revit SDK. 由于Revit本身是国外软件,其内置数据库与国内软件有一定程度上的差异,其一,模型内部默认长度单位为ft,而国内常用mm; 其二,梁板柱剪切计算规则不同,模型内置剪切为板剪切梁、 梁剪切柱,与国内剪切规则相反. 在编译本插件时,首先将剪切规则修改为柱剪切梁、 梁剪切板; 其次将输出单位进行转换. 具体操作界面如图 3~图 5 所示.
该插件可以完成结构柱、 梁和板的配筋布置和钢筋总量的汇总统计. 其中对于标准柱构件的配筋主要通过角部纵筋、 长边纵筋、 短边纵筋定位以及添加相应的箍筋; 对于异形柱而言则由全部纵筋、 箍筋1、 箍筋2、 拉筋来定位钢筋. 不论标准柱还是异形柱,其定位原则都是基于Origin值的局部坐标系,再通过Transform矩阵值还原到全局坐标系上. 梁和板的配筋过程虽和柱有一定差异,但也大体相同. 通过插件完成的该综合楼配筋如图 6 所示.
图 3 自动配筋插件面板设置Fig.3 Automatic reinforcement plug-in panel settings
图 4 钢筋保护层厚度设置Fig.4 Reinforcement protection layer thickness settings
图 5 钢筋弯钩设置Fig.5 Steel bar hook setting
图 6 学校综合楼整体钢筋结构模型Fig.6 The overall steel structure model of the school complex building
随着算法的不断发展和创新,相对于传统算法,智能化算法在解决较为繁琐的问题上有着巨大的优势. 在搜索最优解的应用方面,遗传算法已成为最广泛使用的算法之一. 遗传算法主要包括实数编码,初始种群确定,适应值计算,遗传操作和停止操作等过程. 与传统的搜索算法相比,它拥有较强的鲁棒性和适应性,但也存在小范围的搜索性较弱、 变异概率选择不确定等缺点. 目前各国学者针对遗传算法的不足,将遗传算法与其它高质量算法相结合,使用混合算法来求最优解已成为一个新方向.
爬山算法是一种局部搜索能力较强的算法,首先随机选取一个解作为初始解,然后在其邻域范围内再随机选取一个解,通过计算两个解对应函数的函数值来分析哪一个函数解更优,从而得到一个更优解. 以此类推,直到附近邻域范围内无法产生更优解,停止运算.
遗传-爬山混合算法有效结合了遗传算法的全局搜索能力和爬山算法的局部搜索能力,具有更良好的使用性能[10]. 为了实现该算法的结合,在遗传算法操作步骤中,产生种群后对每一个个体先进行一次爬山操作,然后再进行遗传算法的后续操作. 遗传-爬山算法流程如图 7 所示.
图 7 混合算法运行流程Fig.7 Hybrid algorithm running process
为了验证上述混合算法求解的优越性,现针对工程钢筋下料用量的优化问题进行遗传-爬山混合算法计算,以综合楼工程BIM模型导出的钢筋用量为例,见表 1.
表 1 某教学楼钢筋工程用量Tab.1 Reinforcement engineering consumption of a teaching building
钢筋切割的问题可以归结为数学问题,即建立如下用于切割钢筋的数学模型.
(1)
式中: [ ]为取整函数.
(2)
(3)
(4)
式中:L为钢筋原料长度;a为钢筋需求长度;b为钢筋下料根数;m(j,i)为第i种钢筋切割选择根数;x为下料方法使用次数.
适应度函数通常选取优化的目标函数,本文将初始种群大小设为60,交叉概率设为0.9,变异概率设为0.06,爬山算法迭代次数设为10,最终迭代次数设为100,所建立的钢筋配料模型中的目标函数设为遗传-爬山算法中的适应值函数.
(5)
现选取钢筋用量较大的Φ10钢筋进行求解验证. 通过BIM模型确定该工程Φ10用量为 272根 1.2 m钢筋、 2 567根2.4 m钢筋、 1 387根3.5 m钢筋、 434根 5 m 钢筋、 2 318根6 m钢筋、 1 659根 7.5 m钢筋. 结合实际施工现场条件,钢筋原材料选择了较为常用的每根12 m长的材料,经计算,使用遗传算法解得最后钢筋最优下料为3 605根,用时35.98 s. 使用混合算法解得最优下料为3 494根,用时23.64 s,具体下料明细见表 2. 利用该结果进行工程下料,材料损耗最低.
表 2 钢筋下料明细表Tab.2 Reinforcement cut list
因此,在传统的遗传算法中加入爬山算法的操作,很好地结合了遗传算法良好的全局搜索能力与爬山算法良好的局部搜索能力,使得遗传-爬山算法具有较快的收敛速度和较强的局部搜索能力,算法钢筋用量收敛曲线如图 8 所示.
图 8 算法钢筋用量收敛曲线对比图Fig.8 Algorithm steel bar consumption convergence curve comparison chart
BIM推广应用以来,国内外研究学者虽然开发了一些用于BIM信息集成的服务器平台,但大多基于C/S(Client/Server )架构. 此架构由于需要安装和使用特定的软件程序,对信息交互有着很大程度的制约,在大范围信息交互方面更加显现出其局限性. 而B/S(Browser/Server)架构的运算加载主要集中在服务器上,故其对前端软硬件要求较低、 维护升级也较为便利,同时兼容性也更好[11].
随着5G时代的到来,移动端电子产品的功能和性能越来越优越. 在实际工程中,人们不可能将图纸电脑时刻带在身边,那么将现代人出门必备的电子产品手机作为媒介,通过手机浏览器来浏览工程信息、 查看三维模型、 进行三维技术交底,将进一步拓展BIM应用范围及施工的便利性. 本文通过将配筋完成后的模型输出为OBJ,MTL格式(如图 9 所示),在JetBrains WebStorm 2017添加相应的Trackball Controls,Sim,DDS Loader等轨道控件来实现在WEB端中的缩放、 旋转等操作,最终将该格式输出到WEB端(如图 10 所示).
图 9 输出格式部分代码Fig.9 Output format part code
图 10 WEB端钢筋模型Fig.10 WEB port rebar model
通过输出到移动端的可视化三维视图,可帮助施工人员更好地解读工程信息,把握施工细节,消除施工中的不确定性和不可预见性,更直观地对施工工人进行技术交底,更便捷地管理把控施工质量和降低施工风险.
本文通过开发的配筋插件以及调用MATLAB中遗传-爬山混合算法,实现了基于OBJ、 MTL中间转换格式的3D钢筋模型在WEB中的重建,主要解决了以下几个问题:
1) 利用VS开发的插件将Revit模型进行自动配筋,实现了基于我国工程规范及抗震要求的保护层厚度及弯钩、 箍筋等设置. 通过与实际工程相比较,该插件完成的配筋可以满足规范要求,为后期的WEB端钢筋模型提供了真实有效的3D模型基础.
2) 利用遗传-爬山算法对工程中钢筋切割问题进行了优化处理,提出的算法准确性高. 该方法对于一般工程的下料问题皆适用,可以从钢筋源头提高其利用率,为企业降本提质.
3) 利用WEB端将前期处理后的BIM配筋模型进行输出,通过三维模型交底可以有效解决施工技术交底的不彻底性、 消除交底过程产生的歧义性.