土木在线论坛 \ BIM技术 \ 行见BIM \ BIM不能搞造价?Shaw Black:我可不服!

BIM不能搞造价?Shaw Black:我可不服!

发布于:2022-07-21 08:50:21 来自:BIM技术/行见BIM [复制转发]

来源:BIM清流BIMBOX

你好,这里是 BIMBOX。  
今天要和你聊的内容,来源于我们的一位朋友,来自福建的 @   Shaw Black   ,从他的文字你能感到,这是一位工程、造价和 BIM 的老手。
他分享的内容是通过二次开发的工作,去解决 BIM 在造价领域的难题,比如设计模型和算量模型不通用、重复工作量大、项目超概算等等。
如果你对二次开发没什么感觉,也丝毫不影响你理解今天的内容,因为他的重点是解决问题的思路,而不是具体的代码。如果你恰好在研究这方面的东西,   文末也会免费放出 Shaw Black 写的源代码。
同时我们也觉得,他的思想不仅仅可以给二次开发或者造价行业的人一些启发,还值得这个行业里所有的人去思考:当我们有了一个新工具,发现它在很多情况下不能满足需求的时候,是抛弃它,还是改造它?
对于大部分人来说,其实这两点都很难做到。抛弃它,身不由己;改造它,能力不足。  
但我们还是希望把那些有勇气选择后者的人,讲述给你,也许他的技术你不能马上拿来使用,但我们认为,他们的思路和精神值得圈子里的人看一看。
下面正式开始今天的分享。
     
你好,我是 Shaw Black,一位默默从事建筑信息化的同路人,从土建造价员到土建造价项目负责人,因为深感传统造价作业模式的不明朗,便毅然转型 BIM 咨询 + Revit 二次开发。目前就职于福建省某建筑设计院,负责 BIM 正向设计和咨询相关插件开发的工作。

1.


       

在深入探讨 BIM 和造价的结合点之前,我们有必要先把单个项目造价的全过程过一遍。如果你对造价算量的工作比较熟悉,可以跳过前两个小节。

整个流程大致分为八步,分别是   估算、概算、预算(清单控制价)、变更、签证、进度款、结算、决算  
举个例子来说明这几个阶段的造价。
比如福建省某大学,要加盖一栋学生公寓和一栋专家楼,就会根据需求进行方案设计,确定建设规模,最终定下总建筑面积为 55722 平方米,其中地上建筑面积 47771 平方米,包括学生公寓楼建筑面积 25946 平方米、专家楼建筑面积 21810 平方米、门卫建筑面积 15 平方米,地下室 8001 平方米。
接下来,专家会通过指标估算的方式来计算项目的投资估算金额,比如学生公寓在指标库中对应建安费的综合指标是 3301.5 元/平方米,那么这个学生公寓的建安费指标就等于:学生公寓的建筑面积 25946 平方米 * 指标 3301.5 元/平方米 =8566 万元 。
发改委对项目的可行性研究报告批复后,项目就要开始初步设计了,初步设计完成后,由于图纸中的建筑信息进一步完善,便可以进一步的测算更准确的造价,我们也就进入了设计概算阶段。
设计概算的主要有两种方法。
?   第一,对于初设图中有表达的内容,进行工程量计算,然后套用对应的概算定额。
如下图,大部分混凝土和模板量,都是通过手算或者电算出量的方式计算。

? 第二,对于图纸中没有表达、但又属于设计范围的内容,则通常是以指标的方式进行估算。

如下图,弱电线槽和桥架就是用学生公寓的建筑面积 26100 平方米 * 相应清单单方价指标 18.51 元/平方米 = 483111 元。
这两种计算方式的结果,可以组合成项目概算。
初设和概算,在得到当地发改委的批复函后,就可以开始施工图设计了,出施工图之后,我们造价人员同样得立马跟进,进入施工图预算或者清单控制价阶段。
在国有资产投资的项目范畴内,如果是预算编制,则很有可能就是 EPC 项目,因为已经在项目概算阶段通过下浮率招过工程总承包标,所以不需要清单控制价;如果是清单控制价编制,则证明这个项目是 DBB 项目,因为要用清单控制价招施工标。
在编制清单控制价或者预算时,我们要把每一项清单的工程量计算准确,项目特征描述完整,然后对着清单名称和清单项目特征进行组价。
清单控制价如下图:
施工完毕竣工验收后,施工单位要提交结算报告,业主就会找咨询单位做结算审核,根据竣工图和现场勘察报告、桩基记录等资料,进行工程量和单价的审核。
结算审核报告如下图,每项清单都分为审前造价和审后造价。
上面这些,就是不同阶段的造价工作,先别着急,在深入聊 BIM 和造价的结合点之前,我们还需要了解一个至关重要的点,一线预算人员编制出一份预算或清单控制价报告的具体流程。

2.


       

我们拿一个 DBB 模式下的土建清单控制价编制来举例。

首先,造价咨询单位收到业主清单控制价编制的委托后,通常资料就只有施工图和甲定品牌,然后预算员会通过施工图进行广联达 GTJ 建模。
建完模型后就可以导出工程量报表,然后对导出的工程量进行筛选,比如我们要套混凝土 C30 矩形柱的清单,结算施工图上描述 C30 矩形柱对应的是 5F、6F,我们就通过工程量清单汇总,5F 到 6F 的矩形柱的工程量为 145.445 立方米。
接下来,在计价软件中添加矩形柱清单,填写清单特征描述,把工程量填入清单,然后再给这个清单组价。
下一步就是套用信息价,你可以简单的把它当成地区财政认可的材料价,在业主没有指定品牌时,通常信息价的优先级最高。
而对于信息价中没有的材料,通常是通过人工询价的方式获取价格。
当然,还有一部分工程量无法通过模型出量,我们需要手动计算,比如说基坑支护、塔吊施工、电梯使用、台班等等,造价员们称之为手算稿。
后面还有一些步骤,比如根据费用定额,添加总价措施费,调整取费,调整材料价、出报告、和财政助审 battle,等等,这些工作不是今天的内容重点,这里就不详细描述了。
通过前面的内容,我们已经聊到了不同阶段下的造价,和编制一份清单控制价报告的流程。
那么接下来就让我们进入正题,开始讨论我们的 BIM 造价之路吧。

3.


       

先说一个我的观点,其实造价和 BIM 早早就相关联上了,虽然很多人不认可,但广联达 GTJ 本身的确是属于 BIM 造价的一种,这软件早就实现了建模出量。

但是为什么还是有很多人觉得广联达出量和 BIM 没有关系呢?
原因也很简单,广联达这款软件专门为造价而生,无法承载除了造价外更多的建筑信息,甚至部分造价的信息都无法承载,比如令人头疼的楼梯模块、悬挑位置天棚装饰、单梁和天棚的冲突等问题。
同时,也因为 GTJ 专门为造价而生,所以需要造价人员另外建模,也就导致没有一模多用这一说。
从这两个角度,又可以认为 GTJ 不属于 BIM 范畴。
GTJ 究竟是否属于 BIM 范畴,并不是我们要讨论的重点。重点是能否有一款大众所熟知的 BIM 软件,既能承载设计过程中需要表达的数据,也能承载造价过程中需要表达的数据呢?
我想分享的,是关于 Revit 这款软件的造价应用思路。
市面上也有一些基于 Revit 的造价解决方案,但是我总觉得用的不是那么顺手。正好我也是个搞二开的,那么下面就听我分享我基于 Revit 的造价的应用吧。
关于造价 BIM,首先要解决的就是出量这件事,当然,必须是准确的量!
下面这个案例是计算柱子的混凝土和模板工程量,当然柱子对应还有高支模的工程量,因为计算该工程量的过程比较复杂,就不放在本次案例中了。
要让 BIM 模型出量,首先要确定一个原则:   出量规则必须由造价人员去适配设计人员的模型,而不是让设计方去做额外的模型处理。
也就是我们要做到,他们的模型不管如何绘制,到我们手上都能直接出量。当然,不能出现建模上的逻辑错误,比如说把结构柱的族归在常规模型类别里。
这很关键,因为如果做不到这一点,那么后期模型变更的时候流转到造价人员手上,就会相当痛苦。
比如,如果我们计算柱子混凝土体积,是通过修正梁柱、板柱之间的剪切关系,然后通过 Revit 内置的体积参数作为该柱子体积工程量的话,那么后面有关于柱子的设计变更、或者出施工图前的改图过程中,每一次获取柱工程量之前,都需要把它的剪切关系重新设置正确,这种额外的重复操作是相当致命的。
像图里这种情况,我们不小心用梁剪切了柱,这样在柱子的默认体积参数中的工程量就是错的,你要敢用这个工程量就等着在对数的时候被人家嘲讽吧。
所以我们这里计算柱子体积的思路,并不是用 Revit 本身自带的体积参数,而是通过 Revit api 提供的布尔运算功能去手动计算。
接下来我们就到代码界面了,没编程语言基础的话也不用担心,你完全没有必要看懂代码,只需要理解解决思路和代码边上的注释就好。
其实在 Revit 二次开发中,代码始终只是手段,解决问题的思路才是核心。我们需要用代码去解决什么问题,解决这个问题又要用到什么业务逻辑,这些才永远是重点。
这个方法或者说函数,是我自己封装的,内容的最后我会把代码分享出来,大家可以自己去看。
首先新建共享参数,分别新建「混凝土体积」, 「模板面积」,「混凝土体积计算式」, 「模板面积计算式」这四个名称的参数,并且参数的值类型分别为 ParameterType.Volume(体积), ParameterType.Area(面积), ParameterType.Text(文本), ParameterType.Text(文本)。
接下来把这些共享参数绑定在结构柱和结构梁上,最后再把参数放在 BuiltInParameterGroup.PG_GENERAL(常规)参数组中,最后的 true 代表实例参数。
接下来过滤出当前打开的项目中所有的结构柱、结构梁、楼板,同样,你不需要具体看代码怎么过滤的,只要跟着我的逻辑走,columns 代表当前项目中的所有结构柱实例,famings 代表项目中的所有框架梁,floors 代表项目中的所有楼板。
下面这两行代码是选择一个构件,右边的中文「请选择结构柱元素」是指在选择界面时提示框的提示内容。
然后是体积计算,这里的体积使用的不是结构柱参数中自带的体积,因为它不可控。
体积的计算公式长 x 宽 x 高,长和宽我们直接通过类型参数获取,而净高度是我们通过柱的「顶部标高+顶部偏移-底部标高-底部偏移」来获取。
接下来就到模板的计算了,这一步需要用到   布尔运算  
这部分代码对没有二开基础的同学来说可能比较复杂,这里只描述大体思路。
? 第一步 ,用矩形柱的几何实体(Solid),获取矩形柱的所有面(Faces)。      
? 第二步 ,通过面的法向量的 Z 轴值是否等于 0 ,来判断它是否属于矩形柱侧面,也就是需要支模的面)。      
? 第三步 ,用获取后的侧面去跟楼板和框架梁做几何布尔运算取余。      
? 第四步 ,剩下的 face 就是我们需要的模板面积了,然后我们再给他 10mm 的厚度,建立模板模型。      

OK,这个脚本就写完了,我们来跑一下看看吧。
运行插件后,马上就出现让你选择结构柱的交互操作。
按照提示选择一根结构柱,会看到已经生成了扣除楼板和梁交接面积后的模板模型。
来看一下这根结构柱的参数,里面已经有了工程量和计算公式。
聪明的小伙伴会发现一个问题,如果矩形柱的长宽参数不叫「长度」和「宽度」,而叫其他的呢?
最简单的方式当然是让建模的小伙伴统一名称,但我们的大前提是不让建模工作去适应算量工作。
正确的解决方案就是直接改代码里面的参数名,复杂一些的也可以通过开发的方式,到族文档中获取关联几何的参数,从而自动判断矩形柱的长、宽参数名称。
另外,一个好的程序设计,是需要满足单一职责、低耦合、接口隔离等原则。
不过,如果我们只把代码作为增效工具,那就可以先不关注那么多程序设计的需求,尤其是刚开始练习的时候,切忌入戏太深,毕竟你懂的,人和程序,有一个能跑就行。  
市面上大部分人对于 Revit 出量总是报以怀疑的态度,说 Revit 只能出实物量,但是其实这种说法是不太正确的。只要几何模型在,无论什么清单规则下的工程量理论上都能出,无非是开发的投入多或少。
比如板洞 0.3 平方米以内的空洞不扣除其体积,要通过二次开发实现这一逻辑,只需要获取板的轮廓线,然后通过筛选,获取内部空洞的轮廓线,过滤出围合面积小于 0.3 平方米轮廓线,最后用板的体积再加上这部分空洞体积,这样楼板的混凝土工程量就计算正确了。  
在解决 Revit 的花式出量后,我们就要进一步解决工程量清单的问题。
还是刚才那根柱子,从属性信息可以看到,它属于结构柱,截面是正方形,混凝土强度等级为 C30,无添加剂,混凝土工程量等于 0.9 立方米。
通常结构模型是由盈建科或者 PKPM 导入,像是混凝土强度等级信息都会自动带进来,如果不是通过这两种途径生成,也可以通过简单的二次开发手段,把施工图上的混凝土强度等级表匹配到实际模型里。
有了这 5 条信息, 关于这个模型的一条清单就诞生了。
我们先给结构柱添加三个共享参数,分别是清单名称、清单编码,还有项目特征。
然后给这些参数简单的赋值。
再次查看柱子的属性信息,这三个参数已经被赋予了对应的值。
有了这些参数,就可以通过明细表导出工程量清单表格,还可以进一步把工程量清单表格导入到计价文件中来完成组价。

4.


       

接下来我们再进一步思考,已经有了工程量清单,那么我们离编出一份清单控制价,只差组价了。

还是拿福建省来举例,只要有这么一条清单,名称是矩形柱,混凝土强度等级是 C30,那么这条清单下的福建省定额必然是 10105011,这条定额下的主材必然有一条标准换算-混凝土 C30.
结论很明显,在相同特征描述下的同一条清单,理论上组价是唯一的。
我们会发现,每一个 BIM 模型都有可能导出 C30 矩形柱混凝土的清单,每一条这样的清单都会套相同的定额,也会做出相同的标准换算。
这就意味着组价的工作同样也存在着大量重复。
为了避免重复组价,传统的做法是把曾做过的项目当作组价模板,再用当前项目的工程量替换旧项目的工程量。
这样的确不用重复组价,但是也带来了一些问题。
第一,工程量和之前套价的海量清单需要匹配,也就是把新工程量一条条匹配到之前的组价清单中,手动的工作量依旧很大。
第二,因为套价模板来源于不同特征的项目,是否为优质工程、建筑等级不同、采用的信息价不同,等等因素都会影响到整体的取费,这些不同特性往往在不断修改中很容易出错。
而实际上,我们完全可以把清单、项目特征与对应的组价保存起来,然后下一次遇到相同的清单和项目特征,只要从数据库中匹配到相应的定额和定额的标准,换算就好了。
当然,要做到这一点需要和当地的计价软件做数据对接,也有很多不确定因素,今天就只是抛砖引玉,不做深入讨论。
在实现这一流程后,大部分传统预算员该做的内容,都已经被自动化,剩下的就是处理那些 BIM 模型无法出量的工程量,比如说脚手架、塔吊使用台班、施工电梯使用台班等等。
通过这样的方式,设计和造价就建立了强关联,与传统方式设计与造价分离的模式相比,有着绝对的优势。

5.


       

根据前面我们介绍的,不同的造价阶段,与不同的设计阶段,可以有下面的对应情况:

? 方案阶段与投资决策阶段对应造价中的估算;

? 初步设计对应着造价中的概算;

施工图阶段对应的造价中的预算;

设计变更也对应着造价中的变更;

此外,进度款则可以理解为,把预算(控制价)根据施工进度进行划分,按照合同约定按期拨给施工单位。      

我们很容易看出,不同造价阶段的推进,其实是随着设计的进展而跟随其后的。
不过现实的情况往往不尽如人意,相信做过公建项目的同学都应该比较清楚,现在公建项目上了规模基本上就是 EPC 模式。
在传统的设计与造价分离的情况下,我们非常容易遇到问题,最直观的感受就是改图,改图,不停地改图。  
在出施工图之前,可能会有无数版的方案和施工图,这些施工图最终到造价人员手上,都需要转换为对应的造价清单和清单单价,这往往就是加班的开始。
每一版图纸,业主都会问造价多少,这一稿图纸下某某清单工程量多少,对比上一稿图纸差了多少造价,分别是哪些清单多了哪些清单少了......
苦的不只是造价人员,设计人员也要为「设计-造价分离」的模式买单,在一些财政拨款的项目中,投资估算和设计概算就像把利剑悬在大家头上,如果设计概算超过投资估算或施工图预算超过设计概算,那么设计人员请改方案吧。
如何避免这一情况呢?我认为就是通过造价 BIM,在设计和造价之间建立强关联,当然前提是 BIM 正向设计。
你可能会说,装修没办法参与到正向设计的建模流程,而我认为,采用二次开发的方式,装修模块在做到算量的目的下,根本就不需要建模!
只需要在建筑模型建立的时候,绘制房间,然后通过装修表的匹配关系,加上二次开发,我们就能自动计算房间内部的楼面、天棚、墙面的工程量。

6.


       

最后我想再谈谈 数据利用

在人们脱离手稿转向 word 时,就注定要对计算机上存储的数据进行分析,造价数据也一样。
造价的数据在方案估算和设计概算阶段中,具有重要的指导意义。
因为投资估算中的建安费严格来说必须大于设计概算,然后设计概算必须大于项目预算。这一点在财政拨款的项目中尤为明显,这种情况反映到工程中往往就体现为造价指导设计,即不断的调整设计方案,使得最终的造价控制在限额以内。
而现阶段对造价数据的应用又更是让人头疼,我就曾遇到一个项目,在设计概算阶段,含钢量、机电管线、电气设备都用指标估算出的量,结果实际含钢量和管线、电气设备的工程量远远超过概算中的工程量,而且恰好这个项目又是 EPC 项目。
项目已经用设计概算,通过下浮率的方式招了标,也已经有总包单位中标。中标后,我方在核对概算的时候,发现工程量差异很大,而这时施工单位已经通过下浮率中标,并签订固定总价合同。
让人更头痛的是按照初设深化后的施工图计算造价时,即使我们把装修材料、电气设备的品牌档次一降再降,最终造价却始终都是超过概算的。如果要解决超概问题,那就只能在施工图上减配,而这时业主又对施工图减配提出反对意见,也就是不让砍项。
结果就是造价就根本降不下来,最后双方闹到说要调概算。总包和业主在知道调概算的流程后,默默放弃了,结果就是双方各退一步,都吃一点亏把项目继续下去了。
如何通过已有数据,精准估算下一个同类项目的造价,将是我们造价数据分析的重点。
一般特征可以分为两类特征, 离散型特征   连续型特征  
离散型特征可以是字符型的,比如说项目类型是住宅或是商业、结构形式是框架结构或者剪力墙结构等等;而连续型特征则通常是可计算的数值型,比如说楼栋的平均单层层高、平均单层建筑面积、长宽比、宽高比等等。
对于离散型特征,我们通常用过滤的方式来处理。
比如,当前有一个需要指标测算的项目,该项目属于住宅,结构形式为框架结构,那么我们就可以用这两个离散型特征,从数据库中过滤出项目类型为住宅、结构形式为框架结构的所有数据,然后用这些数据进行下一步分析,下图是利用一些离散型特征做的数据分析,采用的是 PowerBI 这款软件。
对于连续性特征的数据分析,回归方程是一个比较好的方式。  
如下图,混凝土工程量指标的二元回归方程,x 轴是平均单层建筑面积,y 轴是平均单层层高,z 轴就是他的量指标,当然我们需要先将项目类型和结构体系定下来。
图中的每一个点都代表着一个项目的混凝土工程量的数据,平面就是回归方程的几何表达。我们可以从公式 y(量指标) = -0.000278* 平均单层建筑面积 + 0.163532 * 平均单层层高 - 0.000003,得到混凝土的量指标是随着平均单层建筑面积的升高而减少,随着平均单层层高的升高而升高。这也符合我们的常识判断。
在遇到下一个同类建筑时,可以先把项目的平均单层层高和平均单层建筑面积输入,然后获取这个项目的量指标。接下来用该量指标 * 建筑面积,得到该项目的工程量。此外还可以引入置信度和标准差的概念,这里就不做详细介绍了。
混凝土项这样,其他清单项也是这样,然后就可以导出清单预测表。
最后,对今天的内容做一个简单的总结,我们可以把 BIM 造价归为这几个流程:
模型——出量——出工程量清单——清单匹配组价——数据入库——数据分析指导下一个项目。
另外我还想说,造价之事关乎重大,我们务必格外的小心,在造价 BIM 开发时,一定要经过大量的测试,才能上线使用。
毕竟造价于我们而言只是一串数字,但于财政而言,却是百姓之赋税。
最后,望同行们能够在造价 BIM 的路上越走越远!
好了,今天的内容就分享到这儿,欢迎留言写下你的看法,如果你也有想和小伙伴们分享的内容和想法,请联系我们。
如果你可以在公众号回复关键词「   BIM造价   」,就能 获取 Shaw Black 文章中的实际案例和源代码了。
有态度,有深度,BIMBOX,咱们下次见!

全部回复(4 )

只看楼主 我来说两句
  • ynzsblz007
    ynzsblz007 沙发

    学习了,现在大点的公司都要配BIM人员了!

    2022-08-15 10:13:15

    回复 举报
    赞同0
  • jzthjdzh
    jzthjdzh 板凳

    说的很赞!

    BIM的方便之处除了直观反映虚拟的现场情况,再有就是为了方便订货和造价。

    2022-07-27 14:41:27

    回复 举报
    赞同0
加载更多

行见BIM

返回版块

9265 条内容 · 60 人订阅

猜你喜欢

阅读下一篇

数字化是什么?企业到底该怎么做?这篇很详尽!

  演讲者丨穆洪星,上海智建美住科技公司总裁 文字整理丨张家维、付寒梅,内容审核丨穆洪星、蔡敏 来源 | 建筑前沿 建筑施工企业如何向数字化转型? 最近几年大家对“数字化要不要做”已经达成了充分的共识,也都认为数字化转型必须是一把手工程。 但是“数字化”的概念层出不穷,大家对如何转型也是各说各话,想要找到一家数字化转型的标杆企业似乎也不是那么容易。

回帖成功

经验值 +10