传统工程数据往往零散且片段的储存在各个不同的地方,数据格式也有各种不同的形式互相搭配,最常见的有图形(施工图、大样图、断面图、流程图等)、文字(各种说明文件)、数字(各种统计、数量或价格数据),这些数据都随着工程进行而不断增加,而数据之间的关联性也随之更加复杂。

BIM的概念即是一个大型数据库,储存整个生命周期当中所有与建物有关系的数据,需要透过各种方式维持数据与数据之间的关联性。过去将数据电子化的过程中,储存空间是一个高成本的问题,而随着硬件储存技术的进步,现今数据储存空间已不再是一个太大的问题,问题反而是数据太多无法快速找到当下所需要的信息。为此,要将工程信息完整的储存运用势必面临两个关键问题:包括「如何正确且有效的储存各种BIM模型数据」以及「如何正确且快速的找到所需要的BIM信息」。

针对BIM模型数据如何有效整合并储存,以buildingSMART组织为首提出的Open BIM认证来解决这个问题,该认证由buildingSMART、 GRAPHISOFT、TEKLA、Trimble、NEMETSCHEK及DATA DESIGN SYSTEM共同发起,让所有信息基于一个开放的标准和流程进行协同设计、建筑实作和营运管理。Open BIM认证提供AEC软件供货商改进、测试和认证数据连接,帮助数据交换与其他Open BIM软件解决方案衔接。其主要数据交换及单元格式便是buildingSMART的前身IAI(International Alliance for Interoperability)于1997年所提出之IFC(Industry Foundation Class)数据标准。

IFC自1997年1月发布IFC1.0以来,已经历了六个主要的改版,其中IFC2x3是目前大多数市面上的BIM软件支持的版本,而2010年底所发表的IFC2x4被认为是最符合Open BIM协同设计概念跨时代的版本。IFC格式标准为了能够完整的描述工程所有对象,透过面向对象的特性,以继承、多型、封装、抽象、参照等各种不同的关系来描述数据间的关联性。IFC也包含三个ISO标准进行细部的数据描述,分别是透过ISO10303-11使用EXPRESS描述语言来定义IFC对象之属性;ISO10303-21的Part21实作方法建立编码及交换格式;以及ISO10303-28的XML表示方法。

为明确表达所有工程数据之关系,IFC目前已针对既有对象加以定义,以IFC2x4为例,在实体(Entity)定义方面已有766个、定义数据型态(Defined Types)上共有126种、列举数据型态(Enumeration Types)有206种、选择数据型态(Select Types)有59种,而内建函数(Functions)共有42个、内建规则(Rules)有2个、属性集(Property Sets)有408个、数量集(Quantity Sets)有91个、独立属性(Individual Properties)共有1691个,使用者尚可依照其规定自定义所需之对象,其组合可有效的描述记录所有工程信息。

目前市面上常见的BIM模型建立软件,如Autodesk Revit、Bentley AECOsim、TEKLA都已支持IFC格式汇入及汇出,GRAPHSOFT ArchiCAD甚至直接以IFC作为数据单元格式,所有档案都以IFC方式进行储存。因此,透过IFC文件格式使用BIM模型,可以不限定前一阶段使用的建模软件为何,只要支持IFC输出格式的数据,都可以汇入Open BIM系统。

转自:https://baijiahao.baidu.com/s?id=1632204432901262782&wfr=spider&for=pc

BIM数据格式中IFC的标准及格式的更多相关文章

  1. 标准 DateTime 格式字符串

    标准 DateTime 格式字符串 MSDN 标准 DateTime 格式字符串包含一个标准 DateTime 格式说明符字符,该字符表示自定义 DateTime 格式字符串.格式字符串最终定义由格式 ...

  2. js 将long日期格式 转换为标准日期格式方法

    我们经常在操作的时候会发现从后台传递到view层的json中datetime类型变成了long型,当然你也可以从后台先转为string类型,但是如果是从和数据库对应的object中封装的话,就不能再去 ...

  3. JSON(二)——JavaScript中js对象与JSON格式字符串的相互转换

    首先我们来看一下js中JSON格式的字符串 var JSONStr1 = "{\"name\" : \"张三\"}"; 注意以下的写法不是j ...

  4. java中Date与DateFormat的格式输出

    一.DateFormat java.text.DateFormat 使用 getDateInstance 来获取该国家/地区的标准日期格式.另外还提供了一些其他静态工厂方法.使用 getTimeIns ...

  5. 标准JSON格式定义与解析注意点

    标准JSON格式定义与解析注意点 在JS.IOS.Android中都内置了JSON的序列化.反序列化SDK.JEE中也可以使用第三方的JSON解析库,如GSON.虽然在JSON格式被定义出来的时候并没 ...

  6. (转)sscanf() - 从一个字符串中读进与指定格式相符的数据

    (转)sscanf() - 从一个字符串中读进与指定格式相符的数据 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( string str, stri ...

  7. NET中的规范标准注释(一) -- XML注释标签讲解

    一.摘要 .Net允许开发人员在源代码中插入XML注释,这在多人协作开发的时候显得特别有用. C#解析器可以把代码文件中的这些XML标记提取出来,并作进一步的处理为外部文档. 这篇文章将展示如何使用这 ...

  8. Echarts-地图扩展-标准geoJson格式扩展地图-例子

    本人菜鸟一枚,最近搞echarts地图.看到官方给的“标准geoJson格式扩展地图-全国主要城市”的例子,瞬间就蒙逼了.不怪人官网的例子不好,实在是我看不懂它是怎么弄得.最后折腾了一晚上,最后终于弄 ...

  9. myeclipse中java文件头注释格式设置

    转载:http://www.blogjava.net/yxhxj2006/archive/2014/01/14/408940.html myeclipse中java文件头注释格式设置  windows ...

随机推荐

  1. Ubuntu安装Gitlab Runner

    第一步: 添加GitLab的官方存储库:    curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runne ...

  2. PHP中的分支及循环语句

    这次实践的都是PHP7的语法. 感觉是以前的5差别不是那么大,只是希望越来越快吧. <?php $looking = isset($_GET['title']) || isset($_GET[' ...

  3. idea 使用在java 包下的ftl、xml 文件编译问题

    问题 使用ftl 时报错出现ftl 文件找不到,后发现idea未编译java 下的ftl文件 解决方法一 手动编译,复制ftl的文件夹在classes下应该在的地方 解决方法二 pom.xml中加入 ...

  4. Centos7-新增硬盘挂载

    查看现有硬盘情况 df -h fdisk -l 查看新硬盘 ls /dev/sdb 具体操作 fdisk /dev/sdb m n #添加一个新的分区 p #创建主分区 w #保存并退出 partpr ...

  5. danci5

    foss community 自由软体社区 可理解为开源 program 英 ['prəʊɡræm] 美 ['proɡræm] n. 程序:计划:大纲 vt. 用程序指令:为…制订计划:为…安排节目 ...

  6. easyui 自己写的一些小东西

    1设置combobox,当我们只需要显示一个commbobox的时候,并且默认选择第一项 function Getcombobox(comboId, value, groupNo) { $('#' + ...

  7. 如何让VS像CB一样使用

    之前用VS,先是完成了GLUT库下的opengl使用: 然后得知GLUT有些过时,又按照教程接触了GLFW库下,反正对我来说是有些复杂. 今天正式试一试用VS来写ACM的题目,发现不能定义string ...

  8. mongodb 简单使用说明

    首先安装  mongodb软件地址 https://www.mongodb.org/downloads#production: 然后在 mongodb安装目录下找到bin 文件夹进去 在它的位置上按下 ...

  9. Web API design

    Web API design 28 minutes to read Most modern web applications expose APIs that clients can use to i ...

  10. dinoql 试用

    dinoql 前面有过介绍,详细的参考文档即可,这篇主要是简单使用 注意目前dinoql 直接通过node 运行会有window 的问题,有好几种解决方法,后边会说明 环境准备 项目初始化 yarn ...