李 瑛
(中铁二十局集团第六工程有限公司 陕西西安 710032)
南宁市邕宁水利枢纽工程,位于邕江干流南宁邕江河段下游青秀区仙葫开发区牛湾半岛处。邕宁水利枢纽工程采用河床式发电厂房、灯泡贯流式机组,共安装6台发电机组,总装机容量为57.6 MW。厂房灯泡贯流式机组流道依次分为进水流道、转轮室、尾水流道。一次、二次混凝土结构为“方-圆-方”空间曲面异形渐变结构,结构复杂、钢筋密集,施工难度非常大,质量要求很高。
水利枢纽流道等异形部位设计依靠设计师的空间想象能力,钢筋的排布只能通过一个个剖面来表达,效率低,给施工放样带来困难。根据二维施工图纸按照传统方法进行钢筋下料、加工、安装,很难保证这些复杂部位的钢筋施工质量。迫切需要采用建筑业最新的BIM技术来改变这种现状。水利水电行业BIM应用相对于工业与民用建筑行业比较滞后。究其原因,首先发达国家如美国,水电装机容量世界第一,早已经过了水利水电行业快速发展的阶段,水电行业的BIM软件研发陷入停滞状态;其次水利枢纽工程因地制宜,不同位置的水坝差异较大,单次研发投入较高,影响了水利工程BIM技术的推广。
本工程通过 Autodesk平台 Revit与 Dynamo[1]软件相结合的BIM三维建模配筋技术将这些复杂异形部位的钢筋逐根建立模型,并结合分层分块划分每个单元的施工范围,细化每一个施工部位的钢筋搭接。利用BIM配筋模型可快速计算钢筋消耗用量,形成实际加工需要的下料单,用三维可视化模型指导钢筋安装达到准确、快速、高效的效果。本文详细介绍了使用Dynamo插件,通过点坐标的录入,生成截面形状,然后loft(放样)生成polysurface[2],基于面自动生成钢筋排布。能提取钢筋坐标位置、形状,自动生成长度、体积信息,便于施工现场钢筋进料、下料。最终的可视化编程文件可以存储,下次使用时只要修改点位坐标,即可自动修改形体形状、钢筋排布,显著提高设计和施工效率。
在设计过程中,通过一个程序流程将设计的各个部分之间的视觉、系统或几何关系提取并建立联系,通过算法内置的规则,将设计理念一步步转化为设计结果。软件设定了某些预先打包的节点,制定了数据输入、过程处理、数据输出的基本规则。程序使用者需要遵循这些规则,将不同节点连接在一起,而不需要完全用代码编写。不同个人或设计公司可以根据工作习惯建立一整套的程序流程来应对不同的项目,只需要修改程序中某些参数,就可以修改最终设计成果,使设计机构及施工单位能更好地应对复杂、异形建筑及构筑物的挑战[3]。
Dynamo是一款开源软件,既可以独立运行,也可以作为Revit等软件的插件存在。作为可视化编程建模程序[4],Dynamo提供了可视化操作界面及适应各种几何形体、逻辑关系的节点包,不同的节点代表不同的程序语言。使用者通过特定节点的连接形成不同的数据操作、结构关系和几何形体,完成一套计算设计的工作流程;使用者可以创建高度自定义的系统来定义设计成果,通过修改特定输入参数来实现建筑物的自我分析、自我计算。该插件定义了一种不同于传统图形建模软件的几何信息使用方式,对于水利水电领域复杂部位形体及钢筋的建立应用提供了一种新的途径。Dynamo界面及菜单如图1所示。
图1 Dynamo界面及菜单
实现目标所用的工具主要为Revit中的Dynamo插件。在Dynamo中建立异形体钢筋流程如图2所示。
图2 Dynamo钢筋建模流程
点位坐标输入可以是相对坐标,也可以是绝对坐标,相对坐标可以在后期转换为绝对坐标。软件提供了圆弧、圆、椭圆、螺旋、直线、矩形、nurbscurve、polycurve等节点集来生成曲线[5-7],前4个用于生成普通曲线,后两个用于生成样条曲线等复杂多阶曲线。针对不同复杂度的曲线,Dynamo表皮生成同样有surface节点,用于生成简单曲面;nurbssurface、polysurface等节点用于生成复杂异形曲面,能适应大多数水利水电构筑物的建模需求。将生成的形体表皮进行偏移,形成钢筋分布轮廓面。根据构筑物不同部位的钢筋分布特点,将偏移生成的表皮进行UV网格划分,提取UV网格点的坐标信息形成list列表,定位钢筋特征点的位置,然后将列表进行提取、重新排列、去重等操作,连接特定方向的特征点生成所需钢筋。钢筋生成后,需要运用python语言编写自定义节点,提取钢筋长度信息,录入钢筋体积、重量计算公式,计算出每条钢筋的重量。以上步骤生成的钢筋均有位置信息,可以指导施工过程中的钢筋进料、下料。
依托BIM技术在大型水利枢纽施工中的应用技术研究课题,以邕宁水利枢纽工程发电厂房尾水管钢筋施工为例,探索利用Dynamo实现水利复杂结构钢筋可视化编程建模及应用方法,解决课题中的钢筋施工工艺和BIM相结合的问题;形成以对象为载体的数据流,解决施工中信息流转产生的数据失真等问题。
曲面形体生成遵循点生成线、线生成面、面生成体的逻辑。如图3所示为发电厂房尾水管内层配筋纵剖面图。在长度方向选取8个剖面,提取每个剖面轮廓中特征点,1-1、2-2剖面为圆形,提取中心点生成圆形即可;8-8剖面为矩形,提取4个角点坐标生成矩形即可;剩余剖面为圆角矩形,需要提取圆角周围8个特征点,生成四条直线边,其余圆角有两种生成方式,一种采用起点、终点、圆心的方式绘制;另一种采用给定半径对两条直线倒角的方式生成。第一种方式绘制比较准确,但是录入点较多;第二种需要录入的点位坐标精确无误,相对第一种方式更为简便。设置YZ轴平面为工作平面,比较简单的1-1剖面、2-2剖面、8-8剖面生成curve曲线即可,需要拼合多段曲线生成面的其他剖面特征线用polycurve命令来生成。1-1、2-2剖面轮廓线节点界面见图4。
图3 尾水管配筋纵剖面
轮廓线生成后,通过list.join节点将剖面1-1特征线和剖面2-2特征线组合成为列表,用surface.byloft生成前半部分锥形曲面;用list.join节点将3-3剖面特征线至8-8剖面特征线组合成为列表,用polysurface.byloft节点生成后半部分曲面[8-10]。生成的尾水管内侧表皮模型见图5。如需要调整曲面形状,只需更改曲面要素点的点位坐标即可。本曲面轮廓线均为闭合曲线,对于轮廓线为非闭合曲线的形体同样适用。
尾水管内侧表皮生成后,需要考虑混凝土保护层厚度,本工程尾水管部位混凝土保护层厚度为100 mm。运用curve.loft节点将8条截面轮廓线分别向外偏移100 mm,loft再次生成钢筋网表皮。偏移数值可以自由设置,对于其他工程不同部位均可用上述方法实现钢筋网表皮的生成。
钢筋网表皮生成后,需要根据钢筋分布特点将表皮进行划分,以提取钢筋分布特征点。观察发现尾水管钢筋为X轴和Y轴方向等间距划分,根据这一特点,将polysurface转换为surface,根据曲面X及Y方向钢筋数量,运用Surface.PointAtParameter节点对曲面进行径向和法向网格划分,Dynamo根据曲面特点生成UV网格交点处的三维坐标列表。
图5 生成的尾水管表皮模型
描述尾水管钢筋只需要轴线方向和剖面信息两维坐标。故将列表拍平形成二维U向坐标列表,再将列表行和列互换后生成V向坐标列表。对于复杂形体的处理,软件生成的列表中可能会包含重复点,需要用Point.Prune Duplicates节点对点列表进行去重操作,保证点的唯一性。然后将U方向和V方向整理好的点列表分别顺序连接形成钢筋轮廓。上述步骤生成的UV点坐标可以转换为绝对坐标作为钢筋绑扎定位的依据。最终生成的钢筋模型如图6所示。
图6 最终生成的钢筋模型
查阅图纸,尾水管后半段里层纵向和横向钢筋与软件生成钢筋数量吻合。操作完成后,可以根据模型逻辑将节点进行分组操作。本项目将节点分组为表皮生成和钢筋生成两大组。表皮生成可继续分为前段和后段8个剖面轮廓生成组;钢筋生成可分为前段和后段钢筋生成组(见图7)。
图7 钢筋节点分组
若有多层钢筋,则需将钢筋生成模块整体复制,然后设置新的偏移值及钢筋间距即可,不需要重新编写节点组。对于同类型的其他封闭形体,通过增加或减少特征线数量,修改特征点坐标即可自动生成形体表皮及表皮钢筋,实现了节点的复用,提高建模效率、简化设计过程。
钢筋绘制完成后,需要将钢筋的重量、长度等信息进行提取作为施工下料的依据。使用节点Curve.Length提取列表中钢筋的长度,钢筋重量需要用软件内置的Code Block节点用 python语言编写[11-12]。可以将节点自定义为通用节点储存在Dynamo中,方便后期使用。节点输入端为钢筋直径和钢筋长度,输出端为钢筋体积、重量等数据。自定义钢筋重量计算节点如图8所示,封装后的钢筋重量计算节点如图9所示。
图8 自定义钢筋重量计算节点
利用软件生成的钢筋数据进行钢筋采购、下料等操作,指导现场钢筋工程施工。钢筋施工现场见图10,施工质量良好。
图9 封装后的钢筋重量计算节点
图10 钢筋施工现场
综上所述,水利水电行业BIM应用整体滞后于建筑行业,需要大量实践来推动行业的进步。本文尝试将可视化编程理念引入水工结构复杂形体及钢筋三维建模应用中,生成了发电厂房尾水管内侧钢筋布置形式并提取相关数据用于现场施工,保证了工程质量。
将形体生成及钢筋创建节点进行模块化成组,对于同类型项目只需要复制或删除所需的节点组,修改部分节点数据,即可重新生成形体;修改钢筋间距和钢筋直径,即可自动生成钢筋模型。可见可视化编程能灵活地形成程序流程来生成复杂异形形体并进行分析计算,对于特殊需求可以运用编程语言进行节点定制,扩展其使用范围。高效的流程能存储起来作为参数化模块以快速高效地应对同类型的复杂异形形体。总体而言,可视化编程能提高水利水电行业设计及施工效率,对推动行业信息化有重要意义。