APP下载

基于IFC标准的多构件重叠算量扣减研究

2019-07-02郭文墨邓雪原赖华辉

土木工程与管理学报 2019年3期
关键词:算量工程量构件

郭文墨, 邓雪原, 赖华辉

(上海交通大学 船舶海洋与建筑工程学院, 上海 200240)

随着我国建筑行业的飞速发展,工程造价领域面临着严峻的技术瓶颈:BIM(Building Information Modeling)算量软件本地化差,算量模型不能重复使用,接口插件转换数据容易丢失等。而在建筑工程造价管理中,工程量的计算是最复杂、最繁琐的阶段[1],占据整个造价过程60%~80%的时间[2]。BIM技术的出现将极大提高造价管理的效率,但现有不同BIM软件的数据结构不同,亟需一种能够支持多种软件数据交互的通用、开放、可扩展性强的数据标准。IFC(Industry Foundation Classes)标准能为多阶段、多专业和多参与者的协同工作提供高质量的数据共享与交换解决方案。在表达工程量计算所需信息方面,IFC标准是完整有效的,因此在设计阶段中任一时段可以根据IFC标准提取构件工程量。然而目前仍缺少直接通过IFC数据计算符合我国清单规范工程量的成熟软件平台,所以研究基于IFC标准的多构件重叠扣减算量对提高算量的效率、促进造价行业的信息化发展具有重要意义。

1 基于BIM技术的工程量计算方法分析

1.1 BIM设计软件

利用BIM设计软件进行工程量计算,主要是通过BIM软件内置的构件统计功能输出三维信息模型中的构件工程量,然后由造价人员整理汇总。经调研分析,BIM设计软件计算工程量存在以下问题:(1)BIM设计软件自动生成的工程量表以各构件为对象逐一列出,缺少按标准分部分项工程量清单表的整理合并[3];(2)国外BIM设计软件扣减规则没有本地化,计算得到的工程量为构件体积净量,在多构件重叠的节点位置通常是随机剪切或重复计算,不满足我国清单规范的构件重叠或开洞扣减要求。

1.2 专业三维算量软件

目前专业三维算量软件实现工程量计算的方法可归纳为以下三种:

(1)结合开放数据库互联 (Open Database Connectivity,ODBC)原理访问BIM数据库,从中读取需要的数据信息完成计算。该方法需要深入理解被访问的BIM数据库结构,但大多数BIM软件并不开放其数据库结构。

(2)利用BIM设计软件的应用程序接口(Application Programming Interface,API)实现与算量软件之间的数据交换。但模型属性转化存在一定问题,影响算量结果,使得设计模型难以直接利用[4],还需人工检查后手动调整。

(3)由于以上两种方法的局限性,造价工程师通常选择在理解设计模型的基础上在算量软件中重新建模。这种翻模方式耗时耗力,计算结果容易受造价工程师对图纸理解深度和建模误差的影响。另外,目前算量软件在复杂模型创建方面仍能力不足,其中包含的构件形式尚不能完全满足实际工程需要,无法准确表达复杂模型中存在的异形构件[2]。

1.3 基于IFC标准的工程量计算研究

正是由于BIM设计软件和专业三维算量软件存在的不足,一些设计人员尝试研究与软件无关的基于IFC标准的工程量计算方法。马智亮等[5]利用IFC标准表达成本预算信息的可行性与完备性,并建立了基于IFC标准的建筑成本预算信息模型;Xu等[6]通过符号化过程来解释基于模型的成本估算,可用IFC标准描述包含如工程量信息的成本估算类信息;王勇等[7]引入IFC标准开发建筑结构施工图设计信息模型及其原型系统,通过应用表明该信息模型可以自动转化为工程量计算模型,实现工程量的统计和分析。

国际上对于工程量计算的规则和侧重点有所不同,一些研究人员也提出了相应的方法或框架。Lee等[8]提出从IFC到BIM的数据模型生成组件语义信息的方法,对钢箱梁桥信息模型的构件进行工程量计算;Park等[9]建立基于IFC标准的估算图解框架,并提出使用IFC标准的形状信息估算每个单位面积内部完工面积的公式。Akanbi等[10]开发一种针对木材建造的全自动成本估算的算法,利用IFC模型中木质建筑实体的基本几何表示进行算量。

部分国内学者也提出了符合我国算量计价规则的预算方法,验证了基于IFC标准的工程算量的可行性。张修德[11]建立基于IFC数据的自动算量方法,探讨自动算量、自动套定额和自动生成清单项目的实现机制;檀凯兵[12]基于BIM技术和IFC标准建立工程量清单计价的数据结构体系,提出采用优先级策略和扩展几何变量策略解决工程量扣减问题;刘畅[13]在前者的基础上进一步分析IFC标准可表达的数据类型与我国工程量清单数据类型的差异性,发现目前BIM算量计价软件的局限问题,并提出创建全生命周期的工程量清单解决方案。

综上所述,目前的研究提出了对算量过程中可能出现的误差问题,但缺少系统的分析和解决方案。匡思羽等[14]归纳基于IFC标准的工程量自动计算的需求,提出了针对典型梁柱构件的重叠扣减问题解决方案,基于IFC模型的坐标信息建立几何方程,计算重叠部分体积,形成符合工程量清单要求的梁柱工程量。但该方法只适用于简单的两个构件重叠,需要进一步研究多构件重叠的复杂情况。

2 基于IFC的工程量重叠计算难点

2.1 符合我国清单规范的工程量计算

(1)目前的工程算量软件之间没有统一的信息表达和交换标准,不同专业设计软件输出的文件格式各异,影响专业间信息交换。针对同一模型,各软件算量结果也不相同,不利于保证算量结果的质量。

陆效用(2002)为了验证母语学习和外语学习的关系,对100名高校师生进行了问卷调查,绝大部分调查对象都认为,母语知识和技能对外语学习是有帮助的。此外,陆效用发现中国学生的外语学习与母语学习呈正相关关系,因而陆效用认为母语有助于第二语言习得。也有学者做了类似的研究得到类似的结果。

(2)三维模型是BIM技术进行工程量计算的基础,模型质量直接关系算量结果的准确性和可靠性,设计人员在建模时通常不会考虑搭接扣减问题。吴晓波[15]的研究表明Revit基于实际搭建的实体构件计算工程量存在问题,因此提出在设计阶段按照工程量计算规则进行建模以避免搭接,该方式可解决重叠问题,但增加了建模时的工作量及难度。

(3)目前BIM软件在构件重叠位置并不能按照清单规则自动判断构件的优先级,不同BIM设计软件对不同建筑构件节点的处理方式均不同,需要手动调整。同时设计模型还不能直接用于计算重叠构件体积,所以算量结果不符合我国规范。

2.2 多种BIM数据格式的模型算量

由于设计人员采用不同的BIM软件,或采用相同软件但建模方式不同,导致形成不同格式或规则的模型,算量人员很难直接使用,往往需要采用专业软件重复创建算量模型,该过程低效且容易出错。同时,不同软件计算重叠构件的扣减规则也不同,缺乏统一的标准。因此,为有效使用不同软件创建的建筑信息模型,采用BIM技术公共数据标准IFC,建立基于我国算量扣减规则的标准化方法是非常必要的。目前,大部分BIM软件均支持IFC标准,研究基于IFC标准的工程量计算,可实现符合我国清单规则的算量结果与建模软件及路径的无关性。

2.3 多构件重叠工程量扣减计算

设计模型普遍存在构件搭接的情况,如柱和梁、梁和板等,按照工程量清单规则需要考虑工程量扣减问题。图1展示了设计模型中常见构件重叠形式,多个柱梁板墙构件出现搭接情况。

图1 构件重叠形式

关于重叠节点的处理可总结为三个方面:(1)碰撞对象的排查,在众多构件中选择发生碰撞的构件对;(2)在发生碰撞的构件对中,识别重叠的部分并进行体积计算;(3)根据计算规则规定的优先级确定重叠部分归属,得到最终结果。

3 基于IFC标准的多构件重叠算量扣减方法

清单工程量主要以实体为基础进行计算,计算结果是唯一的,不考虑施工过程和施工方法的影响,需要提取并计算构件的形状尺寸信息。在IFC标准中,通常采用IfcProductDefinitionShape 定义所有关于IfcProduct 的形状信息。用户自定义的组合构件、异型构件等IFC标准也同样支持[7]。

实际工程的设计模型中构件节点处的搭接是不可避免的,在进行碰撞检测前需要识别出构件的空间位置。在IFC标准中,空间位置由多层嵌套的坐标系组成,可以利用IfcLocalPlacement 定义一个产品的相对坐标。IFC标准也可以按工程(IfcProject)、区域(IfcSite)、建筑单体(IfcBuilding)、建筑层(IfcBuildingStorey)等类别进行统计,在后续核对时也更容易发现计算错误。

根据工程量清单计价规范,工程项目清单必须载明项目编码[16]。而IFC标准对实体属性的描述比较简单,不满足我国清单计价规范的要求,因此需要利用IFC标准的信息扩展机制对工程量清单编码进行补充。通过属性关系实体IfcRelDefinesByProperties将含工程量清单编码的IfcPropertySet属性集与IfcColumn,IfcBeam,IfcSlab,IfcWallStandardCase等多个构件实体建立联系。

图2 基于IFC标准的多构件重叠扣减算法

3.1 粗略碰撞排查

在对所有构件进行布尔运算前,需要预检查两个物体是否相交。可提取IFC文件中构件的位置信息和几何信息利用包围盒算法进行粗略碰撞排查,所谓包围盒即为包围构件的最小长方体。如待排查的两个构件为A和B,A的包围盒为[XAmin,XAmax]×[YAmin,YAmax]×[ZAmin,ZAmax],B的包围盒为[XBmin,XBmax]×[YBmin,YBmax]×[ZBmin,ZBmax],当(XAmin>XBmax)∪(XAmaxYBmax)∪(YAmaxZBmax)∪(ZAmax>ZBmin)为真时,即以上六个条件中任一条件成立时,构件A,B的两包围盒就不相交,即构件A,B不相交,检验结束,否则进入精确碰撞排查循环。

3.2 精确碰撞排查

图3 判定两面片是否相交

3.3 构件碰撞求交运算

采用以上预检查可分离许多构件无交的情况,从而避免许多不必要的复杂求交计算。利用IFC反属性机制添加的工程量清单编码判断两构件重叠时的优先级,并进行求交运算,便于在后续输出工程量时进行构件分类统计,生成符合我国规范的工程量清单。

如图4a所示,A,B为两个实体,在确认碰撞后如果按照普通的集合求交运算,其结果如图4c所示,带有悬面,不是有效实体。为解决普通集合求交运算存在的问题,本文采用正则集合运算[17],得到两构件的重叠部分为有效实体,即丢弃了悬边、悬面等交集部分,如图4d。正则集合运算定义如下:Aop*B=r(AopB),其中:op表示传统集合运算∩,∪,-;op*表示相应的正则集合运算∩*,∪*,-*;r为集合的正则化算子。任一实体S可以用它的边界b(S)和内部i(S)来表示,记o(S)为位于实体S外的所有点构成的集合,c(S)为实体S的闭包。由此得到式(1)(见图5):

b(A∩*B)=(b(A)∩i(B))∪(b(B)∩i(A))∪(b(A)∩b(B)∩c(i(A)∩i(B)))

(1)

图4 普通的集合求交运算与正则交运算

图5 正则集合运算边界

由式(1)可以得到对实体A和B做正则交运算后的有效实体,定义solid1为构件对中优先级低的构件,solid2为构件对中优先级高的构件,Vsolid1=Vsolid1-V(solid1∩*solid2),Vsolid2=Vsolid2,可以得到经过扣减后的准确工程量。

4 案例验证

4.1 测试案例介绍

本文选取的案例为5层框架结构的某综合楼,平屋顶,层高4 m,建筑总高20 m,柱84 根、梁120 根、板5 块、墙34 片,共计243个构件。第五层结构与1-3轴线间相同,建筑内部C,D轴线上有填充墙。分别用Revit 2017、Archicad 20、广联达GCL2013创建相应模型,如图6所示。

图6 某房屋结构一至四层CAD平面图及建筑信息模型/mm

4.2 三种软件算量结果及分析

由工程量清单计价规范[16]可知:(1)柱与梁相交时,梁长算至柱外侧;(2)各类板伸入墙内的板头并入板体积;(3)墙高在有框架梁时算至梁底,平屋顶算至钢筋混凝土板底。可以得到扣减后的手算结果,将其与三种软件输出工程量进行对比,结果如表1所示。

三种软件的计算结果存在较大差异,表明不同软件的工程量计算规则不同。对各软件算量结果分析如下。

表1 不同软件算量结果对比

(1)Revit 2017对柱的工程量计算是准确的,但梁、板、墙的计算值都偏大。这是因为其计算结果为构件净体积,即没有对重叠部分进行扣减运算。Revit有一套自动剪切机制,即构件重叠时自动连接或者剪切,如图7a所示,遵循“(结构墙&结构板)>结构柱>梁”的优先级顺序。本案例为了测试在构件重叠时自动扣减,故调整为构件节点未做扣减的方式进行计算(图7b),其中,梁柱的剪切关系符合清单规则;板柱或墙柱相交、以及墙板相交的情况均不符合目前国内要求,需手动或研发程序进行调整(图7c)。软件内置的“剪切几何图形”和“连接几何图形”可以调整剪切顺序,但不能批量处理,只能逐个节点处理,若项目模型包含大量构件,其调整工作量巨大。

图7 Revit扣减方式需调整才符合清单规则

(2)Archicad 20对柱的计算是准确的,但计算梁的体积偏小,板的体积偏大。这是因为将梁与板重叠的体积也计入了板内,墙与其余构件的重叠同样没有扣减,造成墙的工程量偏大。Archicad 20可通过建筑材料的优先级定义扣减规则。在扣减前需手动确定各构件的优先级,设置过程较Revit简便,主要适用于小型项目,在大型项目中需要开发额外的插件进行统一设置。

(3)广联达GCL 2013对柱和墙的工程量计算结果与手算是一致的,但板和梁的重叠处理仍然存在问题,板的工程量与Revit相同,而梁的工程量由于扣减导致偏小。广联达GCL 2013作为本土软件在我国有较多实际应用,内置全国各地的清单、定额,自建模型输出的工程量基本能够满足我国清单规范。但若通过其他BIM软件建模,然后利用GFC,IFC插件导出在GCL2013汇总计算风险较高,涉及两次数据传递,第一次在BIM设计软件中构件转换,第二次将中继文件导入平台,除第一次的映射风险外,由于软件环境、构件特点等因素,第二次导入中继文件也可能出现构件数据无法转换的问题。

4.3 基于IFC标准的多构件重叠算量扣减结果

本文采用C++语言实现基于IFC标准的多构件重叠算量扣减模块,并移植到上海交大BIM研究中心研发的NMBIM 2.0平台中。输入案例BIM软件导出的IFC模型文件,如图8所示,经检查,构件显示完整,无错误及丢失。利用NMBIM 2.0中的构件工程量统计功能,提取IFC文件的构件算量信息进行计算,与手算结果进行比对,结果如表2所示。经过分析,在构件扣减过程中本算法可能累积了空间布尔运算的误差,因板与所在层的构件均有相交,运算步骤最多,故误差累积最大。

图8 NMBIM 2.0输入IFC模型文件显示结果

构件项目编码手算/m3NMBIM 2.0/m3误差/%矩形柱01050200150.40050.4000.00矩形梁010503002403.264403.2640.00平板010505003231.540240.8994.04填充墙010401008368.384368.3840.00

从以上案例分析可以看出,软件建模自由程度高,不同的设计人员可能使用不同的建模方式表达同一项目模型[18],计算结果不尽相同。而我国的算量软件对IFC文件的兼容仍有问题,仍需要重复建模或利用API接口实现与造价数据的交换。此外,现行基于BIM技术的三维算量软件对建模方式存在依赖性,不同软件对于重叠部分扣减优先级定义不同,所以构件发生重叠,扣减与被扣减的构件也不同,造成计算结果的差异,这表明工程算量结果与软件相关,不具有通用性。

5 结 论

本文对工程量计算现状进行深入分析,并采用不同BIM软件对同一项目进行算量测试,总结了现有算量软件的不足,基于IFC标准提出了符合我国清单规范的重叠构件节点的工程量算法,在此基础上实现构件工程量的自动计算,尝试解决当前存在的扣减情况下算量结果不准确的问题。在一些构件重叠复杂的情况下,本文方法无需重复建模,且省去大量手动检查重叠体积的时间,实现了更高效、更精确的扣减计算,不仅可以提高造价人员的工作效率,也降低了设计师的建模限制。主要结论如下:

(1)现有BIM软件对重叠构件的扣减方法各不相同,尚不满足我国工程量清单规范的要求,现阶段分别进行设计、翻模算量的流程和方法已不能满足日益精细化、动态化、复杂化的工程算量需求。

(2)IFC标准能有效表达工程算量信息,本文提出的“两级碰撞排查算法”,可排除大量不必要的求交运算,提高工程算量的准确性和效率。该算法对扣减问题的处理符合我国清单规范要求。

(3)基于IFC标准的算量扣减方法,实现了工程算量结果不受建模规则和软件的限制,适用范围更广。建模人员可利用IFC的扩展机制添加构件项目编码,本算法可自动识别IFC构件的优先级,按清单规范要求进行多构件重叠扣减运算和工程量统计。

根据清单规范[16],对墙要求“扣除门窗洞口及单个面积>0.3 m2的孔洞所占体积”;对板要求“不扣除单个面积≤0.3 m2的柱、垛及洞孔所占体积”。如何基于IFC标准将现有算法与开洞构件问题结合是需要进一步研究的课题。

猜你喜欢

算量工程量构件
钢筋混凝土构件裂缝控制
工程量清单计价模式下建筑工程预算审核技巧
工程量清单计价模式下的工程预结算审核
基于Revit模型的算量方式对比研究
GQI在建筑给排水算量中的应用
BIM模型相连构件获取方法
石油建设项目工程量清单计价研究与应用实践
工程量清单计价管理模式下工程造价控制方法
BIM技术在工程造价算量软件中的应用
浅谈工程算量软件对工程造价的影响