IFC属性及属性集

1.属性集

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

IFC属性及属性集_第1张图片

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

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

1.1.属性

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

IFC属性及属性集_第2张图片

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

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

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

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

1.2 静态属性集

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

静态属性集 适用的实体类型 
IfcDoorLining Properties 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文件中属性及属性集的描述进行分析,文件内容如下:

#172= IFCCOLUMN('1Gqp62BzHBLvjB0FoH647s',#41,'M_\X2\77E95F6267F1\X0\:475 x 610mm:203090',$,'475 x 610mm',#170,#163,'203090');
#181= IFCQUANTITYVOLUME('GrossVolume',$,$,0.869249999999998);
#182= IFCELEMENTQUANTITY('0f1sXTQiT2DfQM33wiTKTy',#41,'BaseQuantities',$,$,(#181));
#187= IFCRELDEFINESBYPROPERTIES('3R85DKTDrA7v4wJDVt45kl',#41,$,$,(#172),#182);
#191= IFCPROPERTYSINGLEVALUE('Reference',$,IFCIDENTIFIER('M_\X2\77E95F6267F1\X0\:475 x 610mm'),$);
#192= IFCPROPERTYSINGLEVALUE('LoadBearing',$,IFCBOOLEAN(.F.),$);
#193= IFCPROPERTYSINGLEVALUE('IsExternal',$,IFCBOOLEAN(.F.),$);
#194= IFCPROPERTYSET('3k2zVw6eD9AflMK8DfVVXl',#41,'Pset_ColumnCommon',$,(#191,#192,#193));
#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定义了'oadBearing',值类型是IFCBOOLEAN,值为False。

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

你可能感兴趣的:(IFC)