第三大支柱IFD - 确定交换的信息和你要的信息是同一个东西

IFD的全称是International Framework for Dictionaries,中文可以叫“国际字典框架”,和前两者IFC/IDM一样,作为BIM用户,能记住IFD的名字和记住IFD是字典就行了。

用BIM创建和管理信息,通过IFC和IDM实现信息在不同项目成员和不同软件产品之间的交换,从而使BIM价值最大化。这样一个过程干嘛要用字典呢?怎么又出来一个IFD呢?

1、IFD产生的背景

前面我们介绍了IFC是一个包含各种建设项目设计、施工、运营各个阶段所需要的全部信息的一种基于对象的、公开的标准文件交换格式,我们简单地将其比喻为一个什么药都有的药铺,甭管治什么病,药都在这儿;而IDM则为某个特定项目的某一个或几个工作流程确定具体需要交换什么信息,我们也简单地把它比喻成一个针对某个病人或某种疾病取药的方子。

当然通过IDM开药方的就是项目不同阶段的各类项目成员,为了完成各自负责的与该项目有关的工作,需要从上游成员那儿借助IFC标准通过信息交换获取一组必须的信息作为输入,完成工作以后生成、修改、完善了一组新的信息作为输出,通过IFC进行信息交换为下游成员们的工作服务。

在全球化的今天,一个建设项目的参与方(业主、建筑师、工程师、总包、分包、预制商、供货商、运营、维护、更新、改建、扩建、拆除等)来自不同国家、不同地区、不同语言、不同文化背景的情况司空见惯,已经不算是什么特例了。

IFD的官方资料有一个这样的例子,在普通的语言字典里面,挪威语的“dor”被翻译成英语里面的“door”,都是“门”的意思,这样做作为非技术的语言交流没有任何问题。但是实际上挪威语里的“dor”是“门框”的意思,应该对应英语的“door set”,而英语里面的“door”指的是“门扇”,对应挪威语的“dorblad”,如下图所示:

其实即使就在一个国家里面,使用同一种文字,也有这种问题存在,“天花”又叫“吊顶”,“榔头”也是“锤子”,“角钢”还作“角铁”,这就是自然语言的特点。

这个作为自然语言来说不是问题的问题,在进行建设项目信息交换(其他用途的信息交换也一样)的时候就成了一个大问题,就可能会出现您要的信息是“A”,结果通过交换您得到的信息是“B”的情况。

解决这个问题的答案就是IFD。

2、IFD如何解决这个问题

IFD采用了概念和名称或描述分开的做法,引入类似人类身份证号码的GUID(Global Unique Identifier 全球唯一标识)来给每一个概念定义一个全球唯一的标识码,不同国家、地区、语言的名称和描述与这个GUID进行对应,保证每一个人通过信息交换得到的信息和他想要的那个信息一致。

IFD中的概念独立于时间和用途,例如我们以窗为例,从不同的信息来源研究窗的概念,我们发现每一个信息来源都只讲到有关窗的一部分信息,下图中我们用不同的色块表示窗的不同性质,有些性质在不同的信息来源中可以共享,有些则不一样:

IFD记录和汇集所有不同信息来源关于窗的性质,从而形成了一个包含所有可能窗的性质的一个最一般意义上的“窗”的概念,同时记录每一种窗的性质的初始信息来源,一个跟窗有关的最完整的“字典”就形成了。

BIM和IFC、IDM、IFD三者之间的关系

BIM价值的最大化实现需要依赖于不同项目成员和应用软件之间的信息自由流动,从而使每一位项目成员在他的专业工作需要的时候都能够从上游成员已经收集的信息中及时得到他需要的具有质量保证的信息,同时该项目成员收集或更新的信息也遵守所有上游成员同样的信息管理和共享规则,使其后的下游成员仍然能够在适当的时候得到适当的信息。

一个建设项目生命周期内的参与方和需要使用的软件产品数量从数十、数百到甚至更多,要支持这么多参与方、这么多应用软件在项目整个生命周期内的信息交换,必须借助于一个中立的、公开的信息交换标准,这个信息交换标准格式就是IFC。

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价值得以最大化实现的三大支柱,如图所示:

[BIM]BIM中IFD介绍的更多相关文章

  1. [BIM]BIM中IDM介绍

    参考:http://blog.fang.com/25866228/10613454/articledetail.htm IDM的全称是Information Delivery Manual,信息交付手 ...

  2. ios中框架介绍

    ios中框架介绍 参考博客: 参考文章:框架介绍 框架介绍 框架就是一个目录,一个目录包含了共享库,访问共享库里面的代码的头文件,和其他的图片和声音的资源文件.一个共享库定义的方法和函数可以被应用程序 ...

  3. Burp Suite Intruder中爆破模式介绍

    Burp Suite Intruder中爆破模式介绍 - Introduction to Burst Mode in Burp Suite Intruder 1.sniper模式  使用单一的Payl ...

  4. Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM)

    Django中ORM介绍和字段及字段参数   Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简 ...

  5. [转]C# 互操作性入门系列(一):C#中互操作性介绍

    传送门 C#互操作系列文章: C# 互操作性入门系列(一):C#中互操作性介绍 C# 互操作性入门系列(二):使用平台调用调用Win32 函数 C# 互操作性入门系列(三):平台调用中的数据封送处理 ...

  6. 6月20日 Django中ORM介绍和字段、字段参数、相关操作

    一.Django中ORM介绍和字段及字段参数 二.Django ORM 常用字段和参数 三.Django ORM执行原生SQL.在Python脚本中调用Django环境.Django终端打印SQL语句 ...

  7. [BIM]BIM中IFC介绍

    ifc是干什么的,看下图 ifc架构图 下文转自:http://www.bimcn.org/cjwt/201506053789.html IFC目前是国际通用的BIM标准,现在很多BIM软件都采用其作 ...

  8. BIM数据格式中IFC的标准及格式

    传统工程数据往往零散且片段的储存在各个不同的地方,数据格式也有各种不同的形式互相搭配,最常见的有图形(施工图.大样图.断面图.流程图等).文字(各种说明文件).数字(各种统计.数量或价格数据),这些数 ...

  9. bim模型中所有IfcWallStandardCase构件

    ifc中的IfcWallStandardCase构件 //执行吊装 void startHoisting() { osg::Vec3f vec3f1 = index_node1->getBoun ...

随机推荐

  1. Visual Studio 编译纯 C 项目的方法

    项目属性 -> 配置属性 -> C/C++ -> 高级 -> 编译为 -> 选择 `编译为C代码(/TC)` 参考资料: http://stackoverflow.com ...

  2. SWIFT 闭包的简单使用二

    import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: ...

  3. 关于伪类元素:before和:after

    关于伪类元素:before和:after   CSS中存在一些比较特殊的属性,称之为伪类,它们之中最常用的就是定义链接的伪 :link:未被访问状态 :visited:已被访问状态 :hover:鼠标 ...

  4. Java基础之一组有用的类——Observable和Observer对象(Horrific)

    控制台程序. Obserable类提供了一个有趣的机制,可以把类对象中发生的改变通知给许多其他类对象. 对于可以观察的对象来说,类定义中需要使用java.util.Observable类.只需要简单地 ...

  5. java.util.concurrent包

    在JavaSE5中,JUC(java.util.concurrent)包出现了 在java.util.concurrent包及其子包中,有了很多好玩的新东西: 1.执行器的概念和线程池的实现.Exec ...

  6. https协议

  7. For嵌套输出图形

    /*输出此图形    *   * *  * * * * * * ** * * * *  * * * *   * * *   * *     *解析:可以把此图形看成两部分----*---* *--* ...

  8. SLF4J环境变量配置

    因部分程序需要,需要把SLF4J加入到环境变量中. 添加位置:CLASSPATH 添加信息如下: C:\slf4j-1.7.19\slf4j-nop-1.7.19.jar;

  9. [转]Apache Maven 入门篇 ( 上 )

    原文地址:Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这 ...

  10. C++之路进阶——codevs1204(寻找子串位置)

    1204 寻找子串位置  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 青铜 Bronze     题目描述 Description 给出字符串a和字符串b,保证b是a的一个子 ...