杨 擘,梁 军,常自昌,巩利军
(甘肃省长城建设集团有限责任公司,甘肃 兰州 730000)
BIM(Building Information Modeling)技术拥有三维可视、二维出图、模拟施工、VR 成像等功能[1],在工程管理中可主导成本控制、进度控制、质量控制、安全管理等工作。组合铝合金模板组件模块复杂,节点繁多,拼缝严密,组装精度高,施工中要求两种技术特点的结合,将复杂的三维结构和信息一体化。将这种重复模板设计工作交由计算机编程技术以替代低效率的人工设计,以提高铝模板这种新技术、新材料的推广[2]。铝合金模板型材是建筑行业较为青睐的材料之一,我国房地产行业发展和市场化水平的推进,组合铝合金模板需求量加大。组合铝合金模板具有工艺简单、拼装快、质量轻、刚度好等优点,适合多次周转应用[3]。废旧模板可回收利用,有效降低模板损耗,且模板拆除后混凝土表观质量好,节约工程成本,因而受到施工企业的青睐。模板尺寸精度对于铝合金模板型材的成型质量和建筑工程结构质量具有决定作用[4]。数据分析建筑物铝合金模板组合型式和数量对于生产高质量、高精度的组合铝合金模板的标准性模块,以达到在不同工程之间通用,具有互换性的目的[5],具有重大意义。本文综合铝合金模板配模技术、BIM 建模技术和计算机数据分析技术对数据挖掘和模板设计进行深入研究。
长城·嘉裕苑住宅小区位于甘肃兰州七里河马滩地区,总占地 84 222 m2,建筑面积 333 903 m2,是甘肃省长城建设集团有限责任公司开发建设的综合教育培训、娱乐设施、四星级宾馆服务和社区的大型综合体工程,其中包含四星级宾馆和大型 IMAX 巨幕影城各一座,22 栋住宅楼单体工程,建筑层数 34 层,建筑主体全过程均利用组合铝合金模板拼装,提高了施工质量和建筑标准化程度。
本项目需要使用多种三维数据化平台和程序设计语言在计算机上开发大而复杂的三维数据模拟系统,以避免单一语言形式或单一软件系统开发应用程序受到的诸多限制。其中本项目需要应用的主要软件和程序语言有如下几种。
1)Python。脚本运行速度远大于 Dynamo 本地化节点运行速度,常用的循环、复杂条件分支和递归等数据结构只有通过编程实现,且 Python 程序语言简洁凝练,可将 Dynamo 多节点组合通过简化代码得以实现。
2)Revit。作为实现建筑工程 BIM 设计的三维参数化平台,Revit 不仅能够提供传统二维图纸,还可以联动Fuzor、Lumion、Twinmotion 等模拟建造、渲染软件,提供准确形象的三维立体模型,通过模拟建造、VR 技术、三维扫描技术方便施工人员进行质量检查和直观预见部件组合问题,提高工程施工效率和准确度。
3)Dynamo。可视化平台是和 Revit 随机装用,可实现 AutoCAD、Civil3D、Revit、Excel 等软件和.png、.jpg、.txt 文件进行数据交互,可基于 Python 编程语言进行数据整理,为实现模型批量生成和智能化应用提供图形数据应用基础平台。
本项目就是利用 Revit 作为三维图形化展现平台和多种渲染软件、施工模拟软件、数字图形提取接口;Dynamo 作为 Revit 软件平台和 Python 编程语言的数据图形搭接平台,自身也负担部分程序编辑任务;Python 作为科学运算、数据分析和智能化运维终端,提高运算的速度、稳定性和容错性,排除冗余运算对计算机内存的占用。
本项目基本流程步骤和思路如图 1 所示。
图1 铝合金模板智能配模方法基本实施步骤
1)通过 Revit 三维软件建立标准化的建筑物结构模型;
2)在 Dynamo 图形化编程平台中提取模型体型,整合分化建筑物表面;
3)将建筑表面智能区分为梁侧表面、梁底表面、板底表面、墙面和梁联系面;
4)根据 JGJ 386-2016《组合铝合金模板工程技术规程》(以下简称“JGJ-386”)利用 Python 编程语言进行程序逻辑层运算,智能计算并生成铝合金墙、梁、板、阴阳角、承接模板,以及铝模斜撑、立杆、背楞、螺栓等构件体型;
5)通过 Dynamo 程序将模型体型导入 Revit 中进行实体化,并形成 Excel 表格统计铝合金模板编号、型号和规格数量、体积、重量等信息;
6)利用 Dynamo 控制 Revit 批量导出模板和构件的二维图纸,拼装图纸等;
7)编辑 Python 程序将.jpg 格式图纸批量整合进入Excel 表格中;
8)将 Revit 铝模板模型链接进入 Fuzor 施工模拟软件进行模拟拼装,导入 Lumion 或 Twinmotion 软件形成渲染宣传视频;
9)通过鲁班 BIM5D 平台在移动端 APP 平台形成三维图纸查阅和质量检查系统。
输入端主要功能是将 Rev it 建筑模型读取至Dynamo 图形平台,达到如图 2 所示整体效果。主要方法是通过 Dynamo 节点运算将建筑模型表面整合,提取建筑梁、板、墙、柱的基本表面信息。由于选择的建筑物楼层构件将全部参与模板搭建运算中,其中主要解决的是建筑物图形整体数量与计算机运算效率之间的关系,对其中的可行性运算策略进行分析。
图2 铝合金模板单体工程模型和节点模型
3.1.1 方案 1
方案运算的主要任务是将单栋建筑物包含的所有构件全部直接录入 Dynamo 运算平台中,参与到 Dynamo 铝模板智能化配模方案的运算中。
方案主要优点包括智能化运算程度高,一次性就能将构筑物全部表面计算完成;精确度非常高,避免楼层之间或构件之间出现构件重合等重复性计算和操作;重复运算量最小,所有构件运算只需要通过一次运算即可有效划分。
方案主要缺点包括构件运算量巨大,特别是对于高层建筑物,会造成信息阻塞,方案运算难以在短时间内进行有效实施;不必要运算过多,特别是对于标准楼层较多的建筑物,只需要计算其中一层的配模方案,即可在全栋建筑物适用,造成不必要的时间成本支出;运算方式灵活性差,如根据施工进度难以针对工程所需铝合金模板实际工程量进行提取。
3.1.2 方案 2
方案运算的主要任务是将建筑物的构件分别在图形平台中采用点选方式单一选择,进行铝模板配模方案的逻辑运算。
方案主要优点包括运算灵活性高,建筑物可实现单一构件的配模并提取铝合金模板的运算;构件运算量小,能够短时间内输出模板型式数量等信息;可根据建筑物配模需求进行配模方案的运算选择。
方案主要缺点包括智能化程度低,如果进行整体运算需要用户通过人工将每种构件全部点选,用户体验感差;重复运算量高,容易形成构件的重复性运算,重复提取工程量,造成预算方案偏差;精确度低,构件之间界限不明显会造成计算偏差。
3.1.3 方案 3
方案运算的主要任务是通过建筑物单一标高楼层分析和选择,对铝模板配模方案进行逻辑运算。
方案主要特点是楼层之间可以通过明显界限智能判断,提高配模方案的精确程度,避免楼层之间界面不清引起的重复性计算;智能化运算程度中等,只需要通过选择所需楼层标高即可运算本层铝合金模板全部配模方案,特别适合标准层较多的建筑物,用户体验感较好;构件运算量中等,单层所需运算时间对设备的占用不会过长,模板配备方案可以在方案允许时段内形成,及时提供各项信息形成模板型式数量的 Excel 配备表格;方案主要提取单层的铝合金模板配备信息,可以通过对选择构件的判断形成单一构件的配模方案。
根据以上方案判断分析选择最终确定方案 3 作为输入端铝合金模板配模策略,并根据此策略分解合并构筑物表面信息。
整体输入层设计思想是通过设置条件将 Revit 中图形文件输入的梁、板、柱、墙 Solid 形体读取输入,分析形体组成,通过逻辑运算实现框架梁侧面、框架梁底面、楼板底面、墙面和框架联系面的智能分析和辨认归类工作。输入端基本由图形信息读取控制模块、图形信息分析模块和图形逻辑实现模块组成,如整体模块结构如图 3 所示。
3.2.1 图形信息读取控制模块
通过建筑模型构件分层参与铝模板配板方案运算方案分析,需要利用目标分析层标高(Level)控制引入本层分析图形信息,并利用逻辑运算自动分析并引入底层限制图形信息,便于对目标层图元分析界面条件限制。
图3 输入端设计构成以及铝合金模板附着面的生成
3.2.2 图形信息分析模块
通过合并输入的图形信息(Union 模块),将暗柱、端柱等零落的竖向构件全部与临近墙体构件结合成整体,分析并输出所有完整的构成面,以便于逻辑运算层面进一步分析。
3.2.3 图形逻辑实现模块
图形逻辑实现模块是输入层核心部分,需要将分析模块的构成面分解实现为各分类组成面的分组,其中重点解决问题框架梁底面、侧面和联系面的分解;板面不涉及逻辑运算上表面的排除;综合竖向构件合并墙体同向表面,并排除墙体不涉及逻辑运算的上下表面。然后将运算结果输出到逻辑运算层分析操作。在 Excel 数据表中自动生成各组成面数据,以便进一步地分析和应用(见表 1)。
表1 楼板面逻辑分隔参数数据表(节选)
逻辑运算层需要将 JGJ 386 节点要求完整映射到程序规则中,根据技术规程要求的标准配模尺寸和配套模板尺寸,将基本的墙、梁、板面通过计算智能择取最优模板配型方案,分解为面板附着面、阴阳角附着线(面)、铝梁附着面、早拆头附着面等,通过附着面(线)提供的位置尺寸等信息形成面板和组成构件实体模型。逻辑层属于整体计算程序核心部分,根据节点功能分析,主要由型材附着面(线)节点组和依附构件节点组两部分组成(见图 4)。
图4 Dynamo 逻辑层和 Python 程序设计构成分析
基于 Dynamo 图形平台,主要有两种可用编译模块,code block 和 Pythonscript。本项目前期曾使用 code block 对核心程序进行编辑,对程序逻辑实现还存在很大差距,相对于 Python 编译存在以下优缺点。
1)code block 相对于 Python 学习时间成本低,可以基于 Dynamo 图形平台直接调用节点模块进行图形计算,Dynamo 节点模块较为丰富,基本满足铝合金模板计算要求;Python 代表着简单主义思想的编译语言,在编程语言中较为简单易学,但是作为高级语言熟悉掌握并进入应用领域的过程中仍然需要大量阅读和练习,对操作人员的逻辑性思维要求较高。
2)Pythonscript 可以接入外部节点库,利用内置math 库替代 Dynamo 中的数学计算节点,List、Tuple、Set、Dictionary 应用可以实现灵活而丰富的使用方式。使用已有的 Python 资源库可以实现比较高级的函数功能,比如正则表达式可以解析复杂字符串,这些都是对DesignScript 功能的巨大扩充。
3)code block 在确认图形关联关系中需要大量矩阵运算。运算量为相关联图形组数量的乘积,多次应用后运算量成倍增长,造成内存占用量大,程序运行缓慢。利用 PythonScript 节点可以通过设置参数条件将符合条件选项排除出列表,避免冗余运算,缩短运算时间。
4)PythonScript 中的条件语句 if、else,循环语句while、for in,异常处理语句 try、except、finally 等在保证程序连续性正常执行,符合条件筛选的元素运算,以及迭代运算都有 code block 无法替代的功能。虽然Dynamo 本身也有 if、while 等节点,但是使用条件单一,受到使用语言环境限制比较大,不能很好地发挥自身功用。
5)Python 作为人工智能的首选编程语言,在所有编程类语言中最大优势是其简洁优雅和极佳的可读性,是一种跨平台的语言,可以使用解释方式直接调用 API 取得 Revit 或者 CAD 库,不需要编译代码就可以批量运行 Revit 或者 CAD 中的构件元素或者命令,让用户体验到更多的应用功能。
6)Python 可以实现非循环神经元集合建模,通过输入层(input layer)将人类的读图识图中大脑的思维过程映射至计算函数层(hidden layer),然后通过输出层(output layer)实现铝合金模板配模运算过程的全程智能化。
通过以上的比较和实际应用,本项目第二次修改过程中全部采用了 Python 语言对逻辑运算层全部重构,将 JGJ 386 标准规范数据映射至运算程序中,通过计算程序智能优选最佳配模方案,大幅度提高计算精确度和计算效率,扩展人工建模难以实现的功能,为项目功能的实现取得了良好的表观效果(见图 5)。
图5 规范参数数据组和程序组模块编辑
铝合金模板配模运算中最重要的功能就是将JGJ 386 中的有关楼板、梁底、墙柱附着模板规格与孔位规定的计算规则映射到梁、板、墙、柱整体外表面中来;然后从中分离和辨析出阴角和阳角模板、梁和板底的早拆头、连接角模等等附着面和线的设置;同时需要解决面层法向量,线段垂直向量等问题,便于构件节点附着时所有构件平面均向内,肋板层均向外的操作;通过设置逻辑层的实现目标制定逻辑层生成的步骤。
逻辑层主要由功能函数、判断函数、迭代递归函数和实现函数组成。由于 PythonScript 的使用条件限制,还暂未实现面向对象的类别设置。
1)功能函数。即为实现目标函数中某一小段的函数,比如拍平函数,可以将多维列表转化为一维列表进行计算使用,简化深度列表复杂判断与计算(见图 6)。
图6 拍平功能函数实现代码
2)条件判断函数。利用条件判断实现数组与列表的分离,排除功能以外数组的冗余计算。通过条件函数可以通过计算规则实现附着平面进行粗分、判断分隔面的方向,判断平面边线是否为阴阳角、判断铝梁面的分隔位置、判断大面中拐点的位置和分隔方向、判断底角模板和承接模板的分隔面以及根据模板型号判断螺栓孔排布位置。
3)迭代递归函数。对给定的 list 或 t uple,通过 for 和while 循环函数以及函数调用自身的循环实现数据重组和细部分割。这种函数通常和条件判断函数配合应用在模板面细致分离上,通过迭代和递归函数的条件设置判断,函数模式定义简单,逻辑清晰,避免数据的重复调离和复用,且逻辑层次更加严谨。
4)实现函数。通过以上函数的组合调用,输出列表(list)、数组(tuple)、字典(dictionary)的组合结果,实现全段函数功能输出,将全部部件信息通过表格(见表 2),二维或三维图形等方式进行汇总输出。
表2 楼板底面模板参数表(节选)
通过 BIM 技术对组合铝合金模板体系智能配模方法研究及长城嘉峪苑项目实践应用,解决了嘉峪苑小区高层住宅楼铝合金模板的配置,适用于楼层较为标准的框架剪力墙结构,实现了建筑技术、建模技术、智能技术的 BIM 深度应用,实现 BIM 技术项目高效率、智能化实施。有效结合理论知识与实践应用,将 BIM 技术导入深层次应用,且通过每一个技术应用点的研究和标准勘定,形成 BIM 技术在实际项目全过程应用,实现现场精细化管理和建筑工艺可装配化技术含量的提升。尚未对异形建筑结构主体展开应用研究,应用对象主要是建筑施工建设阶段,对于组合铝合金模板在设计加工阶段的要求考虑尚有不足。所用铝合金模板体型数据标准主要依据 JGJ 386,程序初步设计主要考虑的是单栋建筑工程,目的是加强单栋建筑的组合铝合金模板周转次数且严格符合标准规范的规定,存在小型模板过多增加制作安装工程量的问题。如果将整个小区或者后续工程作为整体铝合金模板的周转范畴统一考虑,可以加大模板的体型参数,从而简化模板设计、制作和安装的施工流程,减少加固构件的使用量,更好地辅助和推动现场工程进度、浇筑质量、施工成本和施工安全的加强。Q