文学起点网
当前位置: 首页 文学百科

ifc 和ifs的区别(IFC技术连载9.IFC标准及实例介绍)

时间:2023-07-23 作者: 小编 阅读量: 3 栏目名: 文学百科

综合来看,IFC标准是当前最佳选择。IFC标准源于欧美,所以在这些地区应用也较多、较深。随着全球很多国家的广泛参与,IFC标准逐渐在更多地区得到应用和支持。由于建筑工程项目本身的复杂性,决定了基于IFC标准的软件开发也并不容易,这也是编写此系列文章的初衷所在。IFC标准推荐使用中性文件作为信息获取手段,交换工程信息。下面以梁的信息描述为例,逐步介绍IFC标准中工程信息的描述方法,以及EXPRESS语言的特点。

IFC ( Industry Foundation C lasses) 标 准是 Building Smart组织制定的建筑工程数据交换标准。这里重点说明一下 IFC标准的几个特性: 首先, IFC标准是公开的, 任何感兴趣的个人和团体都可以下载相关文档阅读; 其次,IFC标准是面向建筑工程领域的, 主要是工业与民用建筑, 也有科研团体在做着向其他领域扩展 IFC的努力, 例如桥梁工程; 最后, IFC是一个数据交换标准, 用于异构系统交换和共享数据。

在工程项目中, 当需要多个软件协同完成任务时, 不同系统之间就会出现数据交换和共享的需求。这时, 工程人员都希望能将工作成果 (这里就是工程数据 ), 从一个软件完整地导入到另外一个软件, 这个过程可能反复出现。如果涉及的软件系统很多, 这将是一个很复杂的技术问题。如果能有一个标准、公开的数据表达和存储方法, 每个软件都能导入、导出这种格式的工程数据, 问题将大大简化, 而 IFC就是这种标准、公开的数据表达和存储方法。

IFC相关问题

( 1)几种常用文件格式不能支持数据交换和共享吗? 还需要额外的标准格式吗?

目前确实有几种常见的文件格式用做建筑工程领域数据交换, 但它们都有这样或那样的明显缺点。例如有的文件格式虽然常用但却不是公开的标准格式 (例如 DWG ), 有的文件仅限于交换几何数据而缺少工程数据属性 (例如 IGES), 有的标准格式技术架构完整但过于庞大, 不适合建筑工程领域(例如 STEP )。综合来看, IFC 标准是当前最佳选择。

( 2) IFC标准应用范围很广吗?

IFC标准源于欧美, 所以在这些地区应用也较多、较深。随着全球很多国家 (特别是亚洲国家 )的广泛参与, IFC标准逐渐在更多地区得到应用和支持。我国科研工作者较早 ( 1998 年 )开始接触和研究 IFC标准, 逐步完成了技术积累, 正在深入探讨如何在我国广泛推广和应用 IFC标准。

( 3)基于 IFC标准的软件开发容易吗?

由于建筑工程项目本身的复杂性, 决定了基于IFC标准的软件开发也并不容易, 这也是编写此系列文章的初衷所在。基于 IFC标准的软件开发是一个整体的技术方案, 涉及到接口开发、集成策略等很多方面的技术问题, 在后续文章中将会逐一涉及。

通过实例介绍 IFC标准

IFC标准的核心技术内容分为两个部分, 一个是工程信息如何描述, 一个是工程信息如何获取。

IFC标准采用 EXPRESS语言描述建筑工程信息, 这里就有工程中的墙、梁、柱、门、窗等工程信息的描述。 IFC标准推荐使用中性文件作为信息获取手段, 交换工程信息。

IFC的信息描述

IFC标准的当前版本 ( IFC2x4)包含800多个实体定义,400 多个类型定义, 所以没有一个好的引导, 将会很快迷失其中而难于理解。

IFC标准整体的信息描述分为四个层次, 从下往上分别为资源层、核心层、共享层、领域层。每个层次又包含若干模块, 相关工程信息集中在一个模块里描述, 例如几何描述模块。在 IFC标准的定义中, 尽量避免下一层引用上一层的定义, 例如资源层的信息描述不会引用领域层的信息描述, 这样避免由于上层的改动影响整体结构。资源层里多是基础信息定义, 例如材料、几何、拓扑等; 核心层定义信息模型的整体框架, 例如工程对象之间的关系、工程对象的位置和几何形状等; 共享层定义跨专业交换的信息, 例如墙、梁、住、门、窗等; 领域层定义各自领域的信息, 例如暖通领域的锅炉、风扇、节气阀等。

下面以梁的信息描述为例, 逐步介绍 IFC标准中工程信息的描述方法, 以及 EXPRESS 语言的特点。如果想进一步了解 EXPRESS语言, 请参考 ISO10303 PART 11英文文本, 或者 GB 16656 第 11 部分中文文本。

在“共享建筑元素”模块能找到如下梁的信息定义:

ENT ITY IfcBeam;

SUBTYPE OF ( IfcBuildingElement);

END_ENT ITY;

首先, 定义 IfcBean (梁 ) 是一个 ENT ITY (实体 ), 实体是最小的信息组织单位, 作为信息获取的中性文件就是由若干个实体数据 (也可以称之为实体实例 )组成的。假如一栋楼有 1423根梁, 在中性文件里就会有 1423个 IfcBeam 实例。其次, 通过这个定义知道 IfcBeam 是 IfcBuildingElement的 SUB-TYPE (子类型 ), 反过来说 IfcBuildingElem ent是 I-fcBeam的 SUPERTYPE (超类型 ), 这里应用了面向对象语言的特性) “继承 ”。 IfcBeam 继承了来自 I-fcBuildingE lement的内容 (属性、约束等 ), 按照这种继承机制去追述, 从顶层 IfcRoot一直到 IfcBeam一共形成了 7 层的继承关系, 而 IfcBeam 拥有从自身定义开始一直到 IfcRoot的所有内容。

ENT ITY IfcRoot;

GlobalId : IfcGloba llyUniqueId;

OwnerHistory : IfcOw erHistory;

Name: OPTIONAL IfcLabel;

Description : OPTIONAL IfcText;

ENTITY IfcObjectDefinition;

INVERSE

HasAssignments: SET OF IfcRelAssigns FOR

RelatedObjects;

IsDecomposedBy: SET OF IfcRelDecomposes

FOR R elatingObjec;t

Decomposes: SET [ 0: 1] OF IfcRelDecomposes FOR RelatedObjects;

HasAssociations: SET OF IfcRelAssociates

FOR RelatedObjects;

ENTITY IfcObjec;t

ObjectType : OPT IONAL IfcLabel;

INVERSE

IsDefinedBy: SET OF IfcRelDefines FOR RelatedObjects;

ENTITY IfcProduct;

ObjectPlacemen:t OPTIONAL IfcObjectPlacement;

Representation: OPTIONAL IfcProductRepresentation;

INVERSE

ReferencedBy: SET OF IfcRelAssignsToProduct FOR RelatingProduct;

ENTITY IfcElem ent;

Tag : OPTIONAL IfcIdentifier;

INVERSE

HasStructuralMember: SET OF IfcRelConnectsStructuralElement FOR

RelatingElement;

FillsVoids: SET [ 0: 1 ] OF IfcRelFillsElement FOR RelatedBuildingElement;

ConnectedTo: SET OF IfcRelConnectsElements FOR RelatingElement;

HasCoverings: SET OF IfcRelCoversBldgElements FOR RelatingBuildingElement;

HasProjections: SET OF IfcRelProjectsElement FOR RelatingElement;

ReferencedInStructures: SET OF IfcRelReferencedInSpatialStructure FOR RelatedElements;

HasPorts: SET OF IfcRelConnectsPortToElement FOR RelatedElement;

HasOpenings: SET OF IfcRelVoidsElement

FOR Re latingBuildingElement;

IsConnectionRealization: SET OF IfcRelConnectsWithRealizingElements FOR

RealizingElements;

ProvidesBoundaries: SET OF IfcRelSpaceBoundary FOR R elatedBuildingElement;

ConnectedFrom: SET OF IfcRelConnectsElements FOR RelatedE lement;

CotainedInStructure: SET [ 0: 1] OF IfcRelContainedInSpatia lStructure FOR RelatedE lements;

ENTITY IfcBuildingElement;

ENTITY IfcBeam;

按照面向对象方法, 通用的属性位于继承层次的上层 (这里, 继承树是一棵倒树 ), 而专用属性位于继承层次的下层。 IfcBeam 实体本身没有定义任何专有属性, 而从父类继承了 26个属性。 IfcBeam从 IfcRoot继承了四个属性: GlobalId属性的类型是IfcG loballyUN IQUEId, 是一个 22 位固定长度的字符串, 代表全球唯一码; OwnerHistory 属性的类型是IfcOwnerH istory, 而 IfcOwnerHistory本身是个 ENTITY, 这就是实体定义间的引用; Name属性的定义了增加了一个 OPTIONAL标示, 说明这个属性是可选的, 也就是可空, 反过来看, GlobalId和 OwnerHistory没有类似标示, 说明这两个属性必须赋值, 不能为空; Description属性是可选的字符串。 IfcBeam从 IfcObjectDefinition继承的 HasAssignments属性是集合SET, 用来定义实体间的一对多或多对多关系。

IfcBeam 一共有 26个属性, 其中 18个是反转属性。反转属性是 INVERSE关键字之后定义的属性用于明确定义实体实例之间“双向”的一对多或多对多关系。

除了属性定义外, IfcBeam 定义中还包括 (通过继承 )其他定义: UNIQUE和 WHERE。UN IQUE定义属性的唯一性, 例如 IfcRoot中 / UR1 : G lobalId; 0说明 GlobalId属性值是唯一的。WHERE用来约束属性值, 例如 IfcObject中 / W R1 : S IZEOF( QUERY ( temp < * IsDefinedB y | 'IFCKERNEL.IFCRELDEFINESBYTYPE ' IN TYPEOF ( temp ) ) )< = 1; 0说明为 IfcObject的实例指定类型时最多只能指定一个。

最后, 说明一下梁的位置和几何形状如何表达。在 IfcProduct定义中, 属性 ObjectP lacem ent表示位置 (也可以说是定位 ), 属性 Representation表示外形 (这包括几何形状 ), 由于 IfcBeam是 IfcProduct的子类型 (尽管不是直接子类型 ), 所以 IfcBeam 也有了位置和形状信息。从这个定义可以看出, 所有IfcProduct的子类型都用相同方法定义位置和形状,而建筑工程中应用广泛的墙、梁、柱、门、窗等, 在IFC标准描述中都是 IfcProduct的子类型。

介绍到这里, 可以看出 EXPRESS语言的一些特点。它是一种数据描述语言, 其核心作用是描述数据及其关系, 所以包括了像 UNIQUE和 WHERE这样的语言要素。对比之下, C、C、Java等是实现语言, 它们包含更多的是计算机指令。这是他们的本质区别。

IFC的信息获取

从技术方法上分, IFC信息获取可以有两种手段, 一种是通过标准格式的文件交换信息, 另一种是通过标准格式的程序接口访问信息。在实际应用中, 第一种方法, 即通过文件交换是主流, 特别是中性文件格式, 目前 XML文件用得还很少。如果想进一步了解中性文件格式, 请参考 ISO 10303 PART21英文文本, 或者 GB 16656 第 21部分中文文本。

中性文件是一种纯文本文件格式, 用普通的文本编辑器就可以查看和编辑。文件以 / ISO-10303-21; 0开头, 以 / END-ISO-10303-21; 0结束, 中间包括两个部分: 一个文件头段和一个数据段。文件头段以 /HEADER; 0开始, 以 / ENDSEC; 0结束, 里面包含了有关中性文件本身的信息, 例如文件描述、使用的 IFC 标准版本等。数据段以 / DATA; 0开始, 以/ ENDSEC; 0结束, 里面包含了要交换的工程信息,要举例的 IfcBeam实例数据就包含在这里。

前文说过, 在 IfcBeam 的定义中一共包含 26个属性, 还有一些 UNIQUE和 WHERE属性约束描述,中性文件规定所有的反转属性和 UN IQUE、WHERE都不在中性文件里面表示, 中性文件只按照定义顺序表达一般属性, 具体的方法如图 2所示。图中将IfcBeam 的 8个一般属性压缩到一起用一个 ENTITY定义表示, 并将其与中性文件中的数据实例对应起来。

从图中不难看出 IfcBeam 定义与中性文件格式之间的对应关系。首先, /# 530是这个实例的实例名, 其他实例要引用这根梁时, 就用这个实例名, 不同 实 例 的 实 例 名 在 中 性 文 件 里 不 重 复。

/IFCBEAM 是实例关键字, 说明后面括号里的属性值是定义一根梁的。属性值之间用逗号隔开, 其出现顺序按照属性定义的顺序排列, IfcBeam 的顶层超类IfcRoo t定义了第一个属性 GlobalId, 其次是 OwnerH istory、Name、Description属性, 再往下是 IfcObjectDefinition定义的属性, 然后一直到 IfcBeam 自身定义的属性。如果某个属性没有赋值, 也就是为空,就用作为占位符, 对应这个例子, 这根梁的 Name、Description、ObjectType等几个属性没有赋值, 用代替。如果这个实例的 G loba lId属性也用代替, 就违反了 IFC 标准的定义, 因为这个属性不是可选的(没有用 OPTIONAL关键字修饰 )。

ObjectPlacement、Representation、OwnerHistory等属性引用了其他的实例, 所以对应位置上用实体名表达。

用集合 Set、列表 List、数组 Array表达的组合类型属性, 在中性文件中一律用括号加上属性列的形式表达。例如# 37实例, 它的第三个属性是个集合,里面包含了对另外两个实例# 36、# 52的引用。

    推荐阅读
  • 苏州旅游攻略景点必去(苏州旅游必去景点有哪些)

    位于苏州市东北街一百七十八号,始建于明朝正德年间。虎丘是AAAAA级景区及全国文明单位,首批十佳文明风景旅游区示范点。中午,周庄最为欢闹,游人穿梭熙熙攘攘,船儿来回摇摇荡荡,各地的游客与热情的商铺融为一体,热闹非凡,安静的古镇着实多了些欢闹的气息。狮子林为苏州四大名园之一,位于苏州市市城东北园林路。

  • 买的玉米种子是瘪的(去年买的玉米种子剩了很多)

    去年买的陈玉米种子建议不要用针对去年的陈玉米种子,大多情况下不建议再次使用,会影响到玉米后期的生长和产量情况。陈年的因为保管的问题,可能会出现很多因素影响玉米的出苗率或者后期的生长。陈玉米种子隔了一年后再种植,种子自身水分含量降低,水分降低严重的情况下,影响播种的效率和玉米的后期生长,由于活性降低,即使能出芽,也不一定能出苗。

  • 173.2亿!国庆消费火爆 国庆消费市场

    今年国庆、重阳两节叠加,全省消费市场呈现平衡较快增长态势,服装、家电、汽车等商品消费亮点突出,大众餐饮、旅行休闲、文体娱乐等主要服务消费备受青睐。根据商务部业务统一平台生存必需品监测系统显示,国庆黄金周期间,全省生存必需品市场供应充沛,价格总体平衡。除了买买买,国庆还是婚庆、团圆、会友高峰,各地亲友聚餐、婚寿宴等大众化餐饮生意兴隆。

  • 吴承恩是怎么写出的西游记(吴承恩怎么写出的西游记)

    吴承恩怎么写出的西游记诸葛长青:吴承恩写西游记诸葛长青:吴承恩怎么写出的《西游记》西游记,广泛流传西游记,作者吴承恩西游记,包含了儒释道大智慧那么,吴承恩是怎么写出的《西游记》呢?诸葛长青把自己对吴承恩写《西游记》,研究成。

  • 李逵扮演者(大家一起来看看吧)

    我们一起去了解并探讨一下这个问题吧!李逵扮演者赵小锐的李逵应该算是很多人印象当中的经典所在了,他的李逵也是很粗犷,但是这种粗犷当中却带着细腻,也是因为这个角色,他开始受到了不少的观众的关注和喜爱。其实之前的他也有出演过一些电视剧的,但是可惜的是一直都没能够真正的红起来,是李逵这个角色,让他一夜成名爆火了。

  • 汽车空间大小怎么看轴距(什么因素会影响车内空间)

    大众速腾,长度4655mm,轴距2651mm。看外观就明白了,因为宝马320i是后驱车,发动机采用纵置布局;而大众速腾是前驱车,发动机采用横置布局。而且由于发动机纵置,后驱设计,对于车内空间侵占较为严重,所以宝马320的长轴距实际上对于空间的帮助是“虚高”的。前面我们就提到了,宝马3系采用了后驱,大众速腾采用了前驱。回到我们的主题,通常来说,麦弗逊与扭力梁对于车辆空间的侵占是最小的,而多连杆和双叉臂对于车辆空间侵占是要更大的。

  • 湖南省医保局2015年工作思路与安排 湖南省医疗保障局领导班子组成人员

    督促指导各统筹地区核实提高缴费基数,强化保险费足额征收。继续加强工伤认定参与,把好工伤入口关。认真核实、积极处理群众举报问题,始终保持高压态势。加强生育医疗服务管理,规范生育津贴发放。二是启动实施工伤保险信息系统改造升级,改进工伤职工异地就医联网结算,方便工伤职工救治。三是加强财务、业务数据清理,提高数据质量;通报全省“三险”基金运行分析,指导市州加强基金运行风险管控。

  • 民国最渣四大渣男(民国著名4大渣男)

    当时很多文人在接受自由恋爱的思想时,家中已经有了父母为之安排的妻子。郁达夫一生有过三位妻子,一位同居情人。郁达夫后来还是和王映霞离婚,1940年在新加坡认识了比他小20岁的播音员李莜英,两人很快就同居了。第二任妻子佐藤富子,是个日本女人,为了和郭沫若在一起,不仅改名为“郭安娜”,还和父母断绝了关系。1937年,郭沫若抛弃妻子回国,和女明星于立群同居,两人于2年后再重庆结婚。

  • 电脑怎么连打印机教程(教会你快速学会电脑如何连接打印机的安装使用方法)

    最近很多网友都在私信给小编,小编也无法一一回复,有些问题也无法简约介绍,所以只能在头条文章内与大家共享。

  • 爱吃鸡蛋的注意了这3种鸡蛋不能买(这些鸡蛋没你想的那么好)

    营养均衡的孩子没必要补这种元素;真正缺乏硒,靠富硒蛋补,根本起不了多大作用。这类蛋再好,也别给孩子吃那就是全生或半熟的蛋,比如溏心蛋。一般溏心蛋的加热时间短,不能完全杀死细菌,生蛋液根本没有处理细菌,对于抵抗力低、易感染的宝宝来说,非常容易被细菌感染。