ifc是干什么的,看下图
ifc架构图
下文转自:http://www.bimcn.org/cjwt/201506053789.html
IFC目前是国际通用的BIM标准,现在很多BIM软件都采用其作为数据交换的标准,之前笔者也介绍过相关文章,今天笔者要给大家介绍的是BIM标准IFC的四个层级介绍。
1. 资源层
资源层为IFC 架构之最低层级。资源层所定义的类别(classes),为一般性的低阶观念与对象,可以不依赖其他类别而独立存在。在IFC Release2.0 中所制定的资源层纲目包含测量资料(measure)、辅助资料(utility)、几何资料(geometry)、对象性质(property)、以及对象性质型别(property type)。在Release 2.0 中,则针对 Release 1.5 的内容进行部份的重组,并进行部分扩充。
2. 核心层
核心层为IFC 架构的第二层级。核心层所定义的类别可被界面层与领域/应用层的所有类别所参照(referenced)与特殊化(specialized)。核心层提供了IFC 对象模型的基本结构并且定义了大部分的抽象观念。核心层本身包含了两阶抽象内容:基本核心(The Kernel)和核心延伸(Core Extensions):
(1)基本核心
基本核心提供了IFC 对象模型所需的所有基本观念,并且定义了对象模型的结构与组成成分。基本核心所定义的抽象观念为高层级所必须用到的。基本核心并且包含了关于对象关系、型别定义、属性及规则的基本观念。
(2)核心延伸
核心延伸的内容包含基本核心的延伸观念或特殊观念,提供营建/设施管理相关产业使用所需。每一个核心延伸为基本核心所定义类别之特殊化。
3. 界面层
界面层定义了不同的领域/应用层模型之间所共享的观念或对象模块。接口层的纲目类别包含了共享建筑组件(shared building elements)以及共享建筑服务组件(shared building service elements)。
4. 领域/应用层
领域/应用层为IFC架构的最高层级,提供了营建和设施管理领域所需要的对象模型。目前IFC所定义的领域模型(Domain Models)包含建筑Architecture)、设施管理(Facility Management)、估价(Cost Estimating)、以及机电设备(HVAC)。
IFC之架构遵循阶梯原则(ladder principle):每一个层级的类别可参照(reference)同一层级或较低层级的其他类别,但不能参照较高层级的类别。阶梯原则的内容如下:
1. 资源类别(Resource Classes) 只能参照或使用其他资源类别。
2. 核心类别(Core Classes)能参照其他核心类别,以及无限制地参照或使用(use)资源层的资源类别。核心类别不能参照或使用接口层或领域/应用层的类别。
3. 核心层本身亦遵循阶梯原则。因此,基本核心类别(Kernel Classes)能被核心延伸的类别所参照或使用,反之则否。基本核心类别不能参照核心延伸类别。
4. 接口层的类别能参照任何核心层或资源层的类别,但不能参照领域/应用层的类别。
5. 领域/应用层的类别能够参照界面层、核心层以及资源层的任何类别。
关于BIM标准IFC的四个层级介绍笔者就说这么多,由于目前国内的BIM标准还在编制当中,发布日期尚不明确,所以现在还是都以IFC等国际标准为主,但是就我国建筑业的特性,这些国际标准在国内应用时经常出现水土不服的现象,所以适合我国国情的BIM标准的推出,将会对推动BIM发展起到即为重要的作用。
注:
1、IFC官方文档 http://www.buildingsmart-tech.org/ifc/IFC2x3/TC1/html/
2、IFC解析库 IFC-SDK官网 https://joinup.ec.europa.eu/software/ifc-sdk/description
3、IFCplusplus 另一个IFC解析库与OSG集合 http://ifcplusplus.com/
IFC SDK
有着详细的示例代码
库相对来说比较轻量级(足够满足项目需要)
IfcPlusPlus
相对比较笨重与OGS结合的比较深(附加功能太多) 不过其中的从IFC解析数据用OSG渲染的例子可以参考
感谢:今晚打老虎 的整理
四川某学校的论文:
IFC架构及模型构成分析
1) IFC 标准资源层( IFC-Resource Layer) :作为整个体系 的基本层,IFC 任意层都可引用资源层中的实体。该层主要定义了工程项目的通用信息,这些信息独立于具体建筑,没有整体结构,是分散的基础信息。该层核心内容主要包括属 性资源( Property Resource) 、表现资源( Representation Resource) 、结构资源( Structure Resource) 。这些实体资源主要用于上层实体资源的定义,以显示上层实体的属性。
2) IFC 标准核心层( IFC-Core Layer) : 该层之中主要定 义了产品、过程、控制等相关信息,主要作用是将下层分散的 基础信息组织起来,形成 IFC 模型的基本结构,然后用以描 述现实世界中的实物以及抽象的流程。在整个体系之中起 到了承上启下的作用。该层提炼定义了适用于整个建筑行等: IFC 架构及模型构成分析业的抽象概念,比如 IFCProduct 实体可以描述建筑项目的建 筑场地、建筑空间、建筑构件等。
3) IFC 标准共享层( IFC-Interoperability Layer) : 共享层 主要是服务于领域层,使各个领域间的信息能够交互,同时 细化系统的组成元素,具体的建筑构件如板( IFCSlab) 、柱 ( IFCColumn) 、梁( IFCBeam) 均在这一层被定义。
4) IFC 标准领域层( IFC-Domain Layer) : 作为 IFC 体系 架构的顶层,该层主要定义了面向各个专业领域的实体类 型。这些实体都面向各个专业领域具有特定的概念。比如 暖通领域( HVAC Domain) 的锅炉、管道等。
有个:何关培谈BIM的个人BBS可以看一下
http://blog.fang.com/25866228/10602651/articledetail.htm
里面提到ifc能支持的对象有:
一个对象代表在工程项目中要使用的某个“东西”的一个实例,IFC的发展目标是包含工程项目中要使用的所有“东西”,对象的范围包括:
a)实际构件或部件:例如门、窗、管道、阀门、量、灯具等
b)空间:例如房间、楼层、建筑、场地、其他外部空间等
c)在设计、施工和运营维护中进行的流程
d)参与的人和组织
e)对象之间存在的关系
下面几张图(图片来自于buildingSMART)是IFC对象的一些例子,可以给大家一个直观感觉:
最后要说明一点,IFC是给软件使用的,不是给人直接使用的,因此对于广大BIM用户(建筑信息创建者和使用者)来说,只要知道下面几件事情就可以了:
a)所有使用的BIM及相关软件除了各个软件专用的数据模型格式(文件格式)以外,还有一个基于对象的、公开的数据模型格式IFC;
b)当业务流程需要在不同软件之间进行信息交换或者信息需要长期保存的时候,如果两者的专用数据模型不能直接交换,那么两者之间通过IFC格式进行交换是其中的一个选择,如果考虑到需要这种交换的软件数量有几种、十几种、几十种甚至更多,那么IFC可能就会成为唯一的选择。
c)了解自己及其他项目成员正在使用的软件是否支持IFC以及支持的版本和程度。IFC对支持的软件有一个认证程序,下面是经过IFC认证的软件的一个清单(资料来源:buildingSMART)。