何关培
(广州优比建筑咨询有限公司,广州 510640)
BIM面临的环境可以用下面三个维度来表示:
1)成百上千项目参与方:一个工程项目的建设、运营涉及到业主、用户、规划、政府主管部门、建筑师、工程师、承建商、项目管理、产品供货商、测量师、消防、卫生、环保、金融、保险、法务、租售、运营、维护等几十类、成百上千家参与方和利益相关方。
2)数十年上百年项目生命周期:一个工程项目的典型生命周期包括规划和设计策划、设计、施工、项目交付和试运行、运营维护、拆除等阶段,时间跨度为几十年到一百年甚至更长。
3)上百种软件产品:一个工程项目整个生命周期内,所有项目参与方和利益相关方需要用到的各类应用软件有多少种呢?虽然到截至目前还没有看到这样的研究资料,但估计平均应该超过100种。有一个数据可以作为参考,美国服务于工程建设行业的软件产品超过1 000种,当然,一个项目不需要用到所有的软件产品。
至于BIM的使命我们可以来看美国BIM标准项目委员会对BIM的定义(中文是作者对原文的解释):
Building Information Modeling(BIM)is a digital representation of physical and functional characteristics of a facility.A BIM is a shared knowledge resource for information about a facility forming a reliable basis for decisions during its life-cycle;defined as existing from earliest conception to demolition.【BIM是一个设施物理和功能特性的数字化表达,一个BIM是一个设施有关信息的共享知识资源,从而为其生命周期的各种决策构成一个可靠的基础,这个生命周期定义为从早期的概念一直到拆除】
A basic premise of BIM is collaboration by different stakeholders at different phases of the life cycle of a facility to insert,extract,update ormodify information in the BIM to support and reflect the roles of that stakeholder.【BIM的一个基本前提是项目生命周期内不同阶段不同利益相关方的协同,包括在BIM中插入、获取、更新和修改信息以支持和反应该利益相关方的职责】
上面的内容可以简单地归纳为这样一句话:BIM要支持项目数十年上百年生命周期内的成百上千项目参与方使用上百种不同的软件产品一起协同工作,分别完成各自的职责:即优化项目性能和质量、降低项目成本、缩短项目周期、提高运营维护效率。
我们知道,把上述这些不同项目参与方和项目阶段联系起来的是基于建筑业法律法规和合同体系建立起来的业务流程,支持完成业务流程或业务活动的是各类专业应用软件,而连接不同业务流程之间和一个业务流程内不同任务或活动之间的纽带则是信息。
尽管工程项目的参与方众多,生命周期时间跨度大,使用的软件产品种类复杂,但是构成这些复杂的业务流程直至整个项目的基本单元-任务或者活动却有着同样的结构,如图1所示:
由此可知,组成整个BIM宏大使命的基本单元就是:每个任务的输入信息能够从上游的一个或多个任务输出信息中自动获取的应该自动获取,每个任务的输出信息能够自动成为下游一个或多个任务的部分或全部输入信息。有一句广为流传的话概括得更简单:合适的人在合适的时候获取合适的信息。
美国BIM标准把跟BIM有关的人员分成如下三类:
a)BIM用户:包括建筑信息创建人和使用人,他们决定支持业务所需要的信息,然后使用这些信息完成自己的业务功能,所有项目参与方都属于BIM用户。
b)BIM标准提供者:为建筑信息和建筑信息数据处理建立和维护标准。
c)BIM工具制造商:开发和实施软件及集成系统,提供技术和数据处理服务。
由于在执行层面所有项目成员都依靠不同的软件产品来完成属于自己职责范围内的信息输入、处理和输出工作,因此对于BIM用户来说BIM的使命可以简化为一个项目中使用的数十上百个软件之间信息的自由流动,其中上面文字所谓的“自动”就是指不需要人工干预(例如人工解释、人工录入等),机器能够自动识别。
要实施这个目的,本质上有下列三种方式:
1)开发一个超级软件支持所有项目成员完成项目生命周期不同阶段的所有任务:当这样的描述摆在业内人士面前的时候,几乎没有人会认为这件事情实际上可以实现。但是,在现实世界里,不知道是因为BIM资料介绍得不清楚还是有些同行理解有误,认为BIM可以解决所有问题的人还是有相当一部分的,另外一个常见的误区是所有项目信息都放在一个BIM模型里面,这一点本文后面还要介绍。
2)不同软件之间直接进行信息交换:图2大家都非常熟悉,既可以用来表现人与人之间的信息交换,也可以用来表现软件和软件之间的信息交换。如果涉及的软件数量比较少,这是一个非常有效的方式,但是当互相之间需要进行信息交换的软件数量达到一定程度以后(例如10个以上),这种方式的成本会成几何级数增加。只要有一个软件的数据模型由于版本升级等原因进行了改变,所有其他软件和该软件的接口都要进行更新。
3)开发一个所有软件都支持的中间文件(数据标准),软件之间的信息交换通过该中间文件来实现,如图3所示。需要说明的是,虽然这种方式最具有可行性,但开发这样一个能够支持所有项目参与方在项目不同阶段使用数以百计和数以千计应用软件完成各自项目职责的数据标准,其投入以及需要的人力、物力、时间也将是巨大的。
美国的一项研究资料表明,开发和维护20个软件之间直接进行信息交换所需要的成本,是开发和维护一个20个软件都支持的中间数据标准所需要成本的20倍。
这就是今天为BIM完成使命选择的办法,开发一个支持项目生命周期所有阶段、所有项目成员、所有软件产品之间自动进行信息交换的数据标准。因为需要支持的范围如此之广,所以必须是一个公开标准(相对于专用标准而言);又因为需要支持信息自动交换,所以必须是一个结构化的标准(相对于非结构化而言)。
IFC就是这样一个公开的、结构化的、基于对象的信息交换格式,市场上介绍IFC的资料已经有不少,但对于BIM用户来说这类资料理解起来大都比较困难,原因是大部分资料把三类BIM有关人员(BIM用户、BIM标准提供者、BIM工具制造商)的需求放在一起讲了。本文的内容针对BIM用户(建筑信息创建人和使用人)。
对于BIM用户来说,我建议无论IFC的英文全称“Industry Foundation Classes”还是中文名称“工业基础分类”都用不着去记,风马牛不相及,本来明白的人也会给搞糊涂了,只要知道IFC是BIM信息交换标准格式就行了。
先来看一段维基百科对IFC的定义:
The Industry Foundation Classes(IFC)data model is a neutral and open specification that is not controlled by a single vendor or group of vendors.It is an object oriented file formatwith a data model developed by buildingSMART(International Alliance for Interoperability,IAI) to facilitate interoperability in the building industry,and is a commonly used format for Building Information Modeling(BIM).【IFC 数据模型是一个不受某一个或某一组供应商控制的中性和公开标准,是一个由buildingSMART开发用来帮助工程建设行业数据互用的基于数据模型面向对象的文件格式,是一个BIM普遍使用的格式】
定义因为其精确,所以就比较难懂。下面我们站在BIM用户的角度从几个不同的侧面来看看IFC究竟是个什么东西。
IFC的使命是定义、推广和出版一个基于对象的用于共享信息的标准,这个标准能满足如图4中的要求:
图4 IFC的使命
简单说明如下:
a)IFC是一个描述BIM的标准格式的定义
b)IFC定义建设项目生命周期所有阶段的信息如何提供、如何存储
c)IFC细致到记录单个对象的属性
d)IFC可以从“非常小”的信息一直记录到“所有信息”
e)IFC可以容纳几何、计算、数量、设施管理、造价等数据,也可以为建筑、电气、暖通、结构、地形等许多不同的专业保留数据
一个对象代表在工程项目中要使用的某个“东西”的一个实例,IFC的发展目标是包含工程项目中要使用的所有“东西”,对象的范围包括:
a)实际构件或部件:例如门、窗、管道、阀门、量、灯具等
b)空间:例如房间、楼层、建筑、场地、其他外部空间等
c)在设计、施工和运营维护中进行的流程d)参与的人和组织
e)对象之间存在的关系
图5(图片来自于buildingSMART)是IFC对象的一些例子,可以给大家一个直观感觉:
对象、模型、分类、模式的关系可以简单地描述为:建立一个模型(设计)的过程就是从分类中选择对象的组装过程(不是制图过程,而CAD是制图过程),最后用IFC模式表达,成为公开标准格式供其他项目成员共享信息,如图6所示。
图6 IFC对象、模型、分类和模式之间的关系
最后要说明一点,IFC是给软件使用的,不是给人直接使用的,因此对于广大BIM用户(建筑信息创建者和使用者)来说,只要知道下面几件事情就可以了:
a)所有使用的BIM及相关软件除了各个软件专用的数据模型格式(文件格式)以外,还有一个基于对象的、标准的、公开的数据模型格式IFC;
b)当业务流程需要在不同软件之间进行信息交换或者信息需要长期保存的时候,如果两者的专用数据模型不能直接交换,那么两者之间通过IFC格式进行交换是其中的一个选择,如果考虑到需要这种交换的软件数量有几种、十几种、几十种甚至更多,那么IFC可能就会成为唯一的选择。
c)了解自己及其他项目成员正在使用的软件是否支持IFC以及支持的版本和程度。IFC对支持的软件有一个认证程序,图7是目前经过IFC认证的软件的一个清单(资料来源:buildingSMART),这个清单处于不断变化之中。
IDM的全称是Information Delivery Manual,信息交付手册。和IFC一样,我还是建议您就记住IDM得了,然后弄清楚什么是IDM,为什么要有IDM就够了。
绝大多数同行作为BIM用户(指建筑信息创建者和使用者,区别于BIM标准提供者和BIM工具制造商)来说,一到这儿就会觉得有点复杂,咱有了信息交换的标准格式IFC不就万事大吉了吗?怎么又弄出个IDM来呢?而且从文章的标题来看,还有一个IFD等着呢。
别急,咱们先说说IDM。
图7 IFC认证软件清单
前面我们说了,要实现BIM 的价值,就必须要做到不同项目成员之间、不同软件产品之间的信息交换,由于这种信息交换涉及的项目成员种类之繁多、项目阶段之复杂和项目生命周期时间跨度之大、以及应用软件产品数量之多,只有建立一个公开的信息交换标准格式,使得所有软件产品通过这个公开标准实现互相之间的信息交换,才能实现不同项目成员和不同应用软件之间的信息自由流动,这个基于对象的公开信息交换标准格式就是IFC。
由上面的描述我们知道,IFC可以(或者更准确地说IFC的目标是)满足工程建设行业所有项目类型、所有项目参与方、所有软件产品的信息交换,是整个工程建设行业进行所有设施设计、施工、运营所需要的信息总成,而真正的信息交换是针对某个具体项目中的某一个或几个工作流程、某一个或几个项目参与方、某一个或几个应用软件之间来进行的,既不需要也不可能每一个信息交换都把整个IFC所有的内容都搬出来。那么每一个这样的信息交换究竟需要哪些IFC里面的内容呢?这就是IDM要完成的事情。
打个比方,IFC相当于一个能满足所有病人、所有疾病什么药都有的药典大全,而IDM就是针对某个病人或者某种疾病去药铺里面取药的方子。
工程建设行业各个领域的专家通过对所有不同类型的工程项目、参与方、项目阶段需要完成的工作及其需要的信息的分析研究和集体努力,开发出了能包治百病的IFC(当然IFC本身也是在不断发展变化的);从事某一个具体项目、某个具体工作的参与方使用IDM定义他的工作所需要的信息交换内容,然后利用IFC标准格式进行实施。
除了项目参与方以外,BIM应用软件的开发商也需要IDM来定义某一个具体软件能够支持和实现的IFC部分 -称之为IFC的一个视图(View),因为我们在前文中已经介绍过,没有一个超级软件可以支持所有项目成员完成项目有关的所有工作。
例如HVAC设计师和建筑设计师之间的用户信息交换需求可以表示为图8:
图8 暖通空调工程师和建筑师的信息交换需求
相应地,满足这一需求的解决方案供应商需要实施的部分IFC内容(视图)如图9所示:
buildingSMART提供的图10很形象地说明了IFC和IDM之间的关系:
IFC的目的是支持所有项目阶段的所有业务需求,实际上就是项目成员之间需要交换或分享的所有信息的总和。但这不是项目信息通常提交的方法。
通常情况下要交换的信息是关于某一个特定的主题的(例如结构分析、HVAC、预算等),信息的详细等级也由特定的项目阶段决定,其目的是支持某一个或几个阶段的某一个业务需求,其主要任务是决定由哪些IFC的基本元素来满足这个业务要求。
IDM的目标如下:
a)定义建设项目生命周期内用户需要信息交换的所有流程
b)确定支持上述流程所需要的IFC功能
c)描述后续流程可以使用的该流程执行结果d)指定流程中发送和接收信息的角色
e)保证上述定义、明细和描述以IDM目标群体可以使用和容易理解的形式提供
IDM服务的目标群体可以用图11表示:
图11 IDM服务的目标群体
a)管理层用户
· 决策使用基于IFC的信息交换
· 知道相关的业务流程及其执行上的改进在业务层面的影响
· 不需要流程内信息使用的技术细节
· 不需要知道软件开发或者IFC模型
b)最终用户
· 在实际工作中使用IFC进行信息交换
· 需要准确了解可以得到什么信息以及如何在业务流程中使用这些信息
· 不需要知道软件开发或者IFC模型
c)软件供应商
· 开发具有IFC接口的应用软件
· 需要了解管理层用户和最终用户要从他们的软件产品中得到什么
· 需要具备IFC模型的详细技术知识
IDM的技术架构如图12所示:
图12 IDM技术架构
图13 流程图举例
IDM的技术架构由于同时涉及BIM用户和软件供应商,因此看起来比较复杂,基本上图的上部和BIM用户有关,图的下部和软件开发商有关。我们这里简单介绍一下跟BIM用户有关的部分(圆圈里面的内容):
a)参考流程(Reference Processes):构成流程图的基本单元(或者说一个活动),例如创建建筑BIM模型。
b)流程图(Process Map):流程图描述在某个特定主题(例如结构分析)边界条件下活动的流动顺序,其目的是理解构成流程图的活动配置、参与的角色、需要的信息、使用的信息和产生的信息。
c)交换需求(Exchange Requirements):在项目指定阶段支持一个特定的业务要求所需要交换的一组信息。
图13是一个包含上述内容的流程图例子:
IFD的全称是International Framework for Dictionaries,中文可以叫“国际字典框架”,和前两者IFC/IDM一样,作为BIM用户,能记住IFD的名字和记住IFD是字典就行了。
用BIM创建和管理信息,通过IFC和IDM实现信息在不同项目成员和不同软件产品之间的交换,从而使BIM价值最大化。这样一个过程干嘛要用字典呢?怎么又出来一个IFD呢?
前面我们介绍了IFC是一个包含各种建设项目设计、施工、运营各个阶段所需要的全部信息的一种基于对象的、公开的标准文件交换格式,我们简单地将其比喻为一个什么药都有的药典大全,甭管治什么病,药都能在这儿找到;而IDM则为某个特定项目的某一个或几个工作流程确定具体需要交换什么信息,我们也简单地把它比喻成一个针对某个病人或某种疾病取药的方子。
当然通过IDM开药方的就是项目不同阶段的各类项目成员,为了完成各自负责的与该项目有关的工作,需要从上游成员那儿借助IFC标准通过信息交换获取一组必须的信息作为输入,完成工作以后生成、修改、完善了一组新的信息作为输出,通过IFC进行信息交换为下游成员们的工作服务。
在全球化的今天,一个建设项目的参与方(业主、建筑师、工程师、总包、分包、预制商、供货商、运营、维护、更新、改建、扩建、拆除等)来自不同国家、不同地区、不同语言、不同文化背景的情况司空见惯,已经不算是什么特例了。
图14 英语和挪威语中“门”的对应关系
IFD的官方资料中有一个这样的例子,在普通的语言字典里面,挪威语的“dor”被翻译成英语里面的“door”,都是“门”的意思,这样做作为非技术的语言交流没有任何问题。但是实际上挪威语里的“dor”是“门框”的意思,应该对应英语的“door set”,而英语里面的“door”指的是“门扇”,对应挪威语的“dorblad”,如图14所示:
其实即使就在一个国家里面,使用同一种文字,也有这种问题存在,“天花”又叫“吊顶”,“榔头”也是“锤子”,“角钢”还作“角铁”,这就是自然语言的特点。
这个作为自然语言来说不是问题的问题,在使用软件进行建设项目信息交换(其他用途的信息交换也一样)的时候就成了一个大问题,就可能会出现您要的信息是“A”,结果通过交换您得到的信息是“B”的情况。
解决这个问题的答案就是IFD。
IFD采用了概念和名称或描述分开的做法,引入类似人类身份证号码的GUID(Global Unique I-dentifier全球唯一标识)来给每一个概念定义一个全球唯一的标识码,不同国家、地区、语言的名称和描述与这个GUID进行对应,保证每一个人通过信息交换得到的信息和他想要的那个信息一致。
IFD中的概念独立于时间和用途,例如我们以窗为例,从不同的信息来源研究窗的概念,我们发现每一个信息来源都只讲到有关窗的一部分信息,图15中我们用不同的色块表示窗的不同性质,有些性质在不同的信息来源中可以共享,有些则不一样:
FD记录和汇集所有不同信息来源关于窗的性质,从而形成了一个包含所有可能窗的性质的一个最一般意义上的“窗”的概念,同时记录每一种窗的性质的初始信息来源,一个跟窗有关的最完整的“字典”就形成了。
BIM价值的最大化实现需要依赖于不同项目成员和应用软件之间的信息自由流动,从而使每一位项目成员在他的专业工作需要的时候都能够从上游成员已经收集的信息中及时得到他需要的具有质量保证的信息,同时该项目成员收集或更新的信息也遵守所有上游成员同样的信息管理和共享规则,使其后的下游成员仍然能够在适当的时候得到适当的信息。
一个建设项目生命周期内的参与方和需要使用的软件产品数量从数十、数百到甚至更多,要支持这么多参与方、这么多应用软件在项目整个生命周期内的信息交换,必须借助于一个中立的、公开的信息交换标准,这个信息交换标准格式就是IFC。
图15 IFD以及在不同应用中“窗”的性质
IFC包含了所有建设项目整个生命周期内一切项目成员及其应用软件需要用到的信息,而在实际工作环境中每一个人面对的只是其中某一个特定的项目(例如一个城市综合体),每个项目成员只负责其中的某一项或几项工作(例如建筑设计),他需要通过信息交换得到完成他的工作所需要的信息,同时把他在工作中收集或更新的信息通过信息交换给其他需要的项目成员使用,这个用来定义某个指定项目以及项目阶段、某个特定项目成员、某个特定业务流程所需要交换的信息以及由该流程产生的信息的东西就是IDM。
谈到IDM,还有一个 IDM的孪生兄弟 MVD(Model View Definition模型视图定义)需要特别说明一下,因为MVD是为IFC标准和软件开发人员用来在IFC模式中实现IDM定义的信息交换要求的,作为BIM用户通常不需要涉及到这部分内容,因此在本系列文章中对MVD并没有做任何介绍,作为BIM用户来说,你只要知道MVD是研发人员把IDM的人类语言转化成IFC的机器语言加以实现的手段就行了。
由于自然语言的多样性和多义性,为了保证来自不同国家、地区、语言和文化背景的信息提供者和信息请求者对同一个概念有完全一致的理解,IFD给每一个概念和术语都赋予了一个全球唯一标识码GUID,这样可以使得IFC里面的每一个信息都有一个唯一的标识与之相连,只要提供了需要交换信息的GUID,得到的信息就是唯一的,至于不同背景的的项目成员用什么语言和名词描述或命名这个信息就变得无关紧要了。
IFC/IDM/IFD构成了建设项目信息交换的三个基本支撑,因此也就自然而然地成为了BIM价值得以最大化实现的三大支柱,如图16所示:
图16 BIM三大支柱-IFC/IDM/IFD
[1]www.buildsmartalliance.org