(4) IFC属性及属性集 (Industry Foundation Class)

IFC属性及属性集_万里归来少年心-CSDN博客_ifc属性https://blog.csdn.net/liyazhen2011/article/details/81359232?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164299636016780271510617%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164299636016780271510617&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-4-81359232.pc_search_insert_ulrmf&utm_term=IFC&spm=1018.2226.3001.4449

1. 属性集

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

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

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

1.1 属性

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

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

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

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

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

IfcPropertyResource(属性资源) – 西北逍遥 – 博客园 (cnblogs.com)https://www.cnblogs.com/herd/p/12196769.html

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');
//----#172是实体定义,表示一个柱子。


#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.),$);
//----#191,#192,#193都是是简单的单值属性,即IfcPropertySingleValue。
//----#191定义了‘Reference',值类型是IFCIDENTIFIER,值为'M_\\X2\\77E95F6267F1\\X0\\:475 x 610mm'。
//----#192定义了'oadBearing',值类型是IFCBOOLEAN,值为False。
//----#193定义了'IsExternal',值类型是IFCBOOLEAN,值为False。

#194= IFCPROPERTYSET('3k2zVw6eD9AflMK8DfVVXl',#41,'Pset_ColumnCommon',$,(#191,#192,#193));

#196= IFCRELDEFINESBYPROPERTIES('2kFLGDqi98reRe3Bpb7Cdg',#41,$,$,(#172),#194);
//----#196将实体柱子(#172)与属性集(#194)关联起来了。

 同上:

#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。

© 版权声明
THE END
喜欢就支持一下吧
点赞634 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容