IFC属性及属性集

1. 属性集

  属性集是属性的集合,属性集的分类如下:

  

  静态属性集以 IFC 实体的方式定义,其属性以IFC schema的方式静态的定义在属性集中,如 IfcDoorLiningProperties 、 IfcDoorPanelProperties 、IfcSoundProperties。

  动态属性集以 IfcPropertySet 实体表示。IfcPropertySet是一个装载属性的容器,具体的属性则由 IfcProperty 表示。动态属性集分为预定义属性集自定义属性集。IFC 规范中定义的动态属性集为预定义属性集,而用户根据自身需求定义的动态属性集为自定义属性集。

1.1. 属性

  属性是构成属性集的基本单位,可以分为简单属性和复杂属性两类。 

  

  IfcProperty是抽象类型,定义了可以通过属性集机制与IFC对象关联的所有属性的抽象。

  IfcComplexProperty定义由多种不同类型的属性构成的复杂属性,它可以包含另一个IfcComplexProperty属性,因此是嵌套的。

  IfcSimpleProperty是简单属性对象,根据所描述对象的特征分为如下类型:

类型 适用范围
IfcPropertySingleValue 定义单值属性
IfcPropertyEnumeratedValue 定义枚举型的属性
IfcPropertyBoundedValue 定义具有上下边界区间的属性
IfcPropertyTableValue 定义一个以表格结构存储数据的属性,该表格由两列相互对应的数据组成
IfcPropertyReferenceValue 定义将实体引用作为属性值的属性
IfcPropertyListValue 定义具有多个值的列表类型的属性

1.2 静态属性集

  静态属性集将属性集中的属性以实体属性的方式定义,特定的静态属性集只能应用于特定的实体。  

静态属性集
适用的实体类型 
IfcDoorLiningProperties IfcDoorStyle
IfcWindowPanelProperties  IfcWindowStyle
IfcElementQuantity 多个类型,例如 IfcBuilding、IfcSpace、IfcBeam 等
IfcSpaceThermalLoadProperties IfcSpace 

1.3 预定义属性集

  IFC规范针对不同领域预先定义的属性集,以Pset_作为名称前缀。

  属性集通过两张表格进行定义,包括属性集的名称、适用的实体类型、属性集说明以及属性的具体定义。

  Pset_CoveringFlooring 属性集的定义如下:

属性集名称 适用的实体 适用的类型值 定义
Pset_CoveringFlooring IfcCovering Flooring 用于描述 IfcCovering 实体实例的通用属性,适用于PredefinedType 为 FLOORING值的情况。

  Pset_CoveringFlooring 属性定义如下:

  

属性集名称 适用的实体 适用的类型值 定义
HasNonSkidSurface IfcPropertySingleValue

IfcBoolean

默认值:FALSE

表明表面是否抗滑

HasAntiStaticSurface IfcPropertySingleValue

IfcBoolean

默认值:FALSE

 表明表面是否抗静电

 

  

1.4 自定义属性集

  自定义属性集,用户对属性集的名称、适用范围以及属性的定义及涵义进行约定,从而满足信息交换与共享的需求。自定义属性集可以参考预定义属性集的格式描述。

2. IFC文件

  下面对IFC文件中属性及属性集的描述进行分析,文件内容如下:

1 #172= IFCCOLUMN('1Gqp62BzHBLvjB0FoH647s',#41,'M_\X2\77E95F6267F1\X0\:475 x 610mm:203090',$,'475 x 610mm',#170,#163,'203090');
2 #181= IFCQUANTITYVOLUME('GrossVolume',$,$,0.869249999999998);
3 #182= IFCELEMENTQUANTITY('0f1sXTQiT2DfQM33wiTKTy',#41,'BaseQuantities',$,$,(#181));
4 #187= IFCRELDEFINESBYPROPERTIES('3R85DKTDrA7v4wJDVt45kl',#41,$,$,(#172),#182);
5 #191= IFCPROPERTYSINGLEVALUE('Reference',$,IFCIDENTIFIER('M_\X2\77E95F6267F1\X0\:475 x 610mm'),$);
6 #192= IFCPROPERTYSINGLEVALUE('LoadBearing',$,IFCBOOLEAN(.F.),$);
7 #193= IFCPROPERTYSINGLEVALUE('IsExternal',$,IFCBOOLEAN(.F.),$);
8 #194= IFCPROPERTYSET('3k2zVw6eD9AflMK8DfVVXl',#41,'Pset_ColumnCommon',$,(#191,#192,#193));
9 #196= IFCRELDEFINESBYPROPERTIES('2kFLGDqi98reRe3Bpb7Cdg',#41,$,$,(#172),#194);

  #172是实体定义,表示一个柱子。

  #196将实体柱子(#172)与属性集(#194)关联起来了。

  #194是是属性集,里面包含了三个属性定义(#191,#192,#193)。

  #191,#192,#193都是是简单的单值属性,即IfcPropertySingleValue。

  #191定义了‘Reference',值类型是IFCIDENTIFIER,值为'M_\X2\77E95F6267F1\X0\:475 x 610mm'。

  #192定义了'LoadBearing',值类型是IFCBOOLEAN,值为False。

  #193定义了'IsExternal',值类型是IFCBOOLEAN,值为False。

posted @ 2022-08-19 14:16  Plus301  阅读(724)  评论(0编辑  收藏  举报