IFCSPF是Industry Foundation Classes (IFC)的标准文件格式,它被用于存储建筑、工程、建设和工业设备等信息。IFCSPF形式的文件可以用于在3D/BIM/GIS行业中提供数据交换和协同工作的标准文件格式。
IFCSPF文件采用文本格式,以UTF-8编码,以“*.ifc”作为扩展名。该文件包含了许多实体(Entity),每个实体都描述了一些具体的属性值。IFCSPF文件主要包含以下两个部分:
IFCSPF的Schema定义了实体和其属性,以及实体之间的关系。Schema是用于描述IFC信息的元数据,每个实体都有一组标准属性和关系。Schema还包含了定义IFC信息集的方式。
IFCSPF的Data是真正描述建筑、工程、建设和工业设备等信息的部分,它由实体(Entity)组成。实体是存储IFC数据的基本单位。每个实体描述了相关属性的值以及其他实体之间的关系。
IFCSPF文件的数据部分根据其实体的类型,将数据划分为多个逻辑组件。每个逻辑组件由一个或多个相关实体构成,它们描述了特定建筑或制造过程的相关信息。
IFCSPF是以ISO 10303标准规范为基础的,该标准包括了基于集成状态机技术的产品数据表示和交换。IFCSPF也支持ISO 15926、ISO 12006和ISO 13567等标准。
此外,IFCSPF还与BIM Collaboration Format (BCF)规范紧密关联,BCF用于描述建筑信息中的缺陷、问题、冲突和结构变化等内容。
以下是对一个简单墙体物件的IFCSPF文件的示例:
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'), ('2;1'));
FILE_NAME('SimpleWall.ifc', '2022-01-01T12:00:00', ('unknown'), ('unknown'), 'IFC Entity visualization', 'IFCSPF');
DATA;
#1= IFCCARTESIANPOINT((0.0, 0.0, 0.0));
#2= IFCCARTESIANPOINT((0.0, 3.0, 0.0));
#3= IFCCARTESIANPOINT((4.0, 0.0, 0.0));
#4= IFCCARTESIANPOINT((4.0, 3.0, 0.0));
#5= IFCEXTRUDEDAREASOLID(#6, #7);
#6= IFCRECTANGLEPROFILEDEF(.AREA.,$,#8);
#7= IFCAXIS2PLACEMENT3D(#9,#10,#11);
#8= IFCCARTESIANPOINT((0.0, 0.0));
#9= IFCCARTESIANPOINT((0.0, 0.0, 0.0));
#10= IFCDIRECTION((1.0, 0.0, 0.0));
#11= IFCDIRECTION((0.0, 1.0, 0.0));
#12= IFCMATERIAL('brick');
#13= IFCSLAB(#14, $, $, $, $, $, $, $, $, #12);
#14= IFCCARTESIANPOINT((2.0, 1.5, 0.0));
#15= IFCCARTESIANTRANSFORMATIONOPERATOR3D(#9,#10,#11, #16);
#16= IFCCARTESIANPOINT((0.0, 0.0, 2.4));
#17= IFCELEMENTARYSURFACE(#18, #5);
#18= IFCSWEPTAREASOLID(#19);
#19= IFCCONTOURBOUNDARY(#20, $, .AREA., 0);
#20= IFCPOLYLINE((#1, #2, #4, #3, #1));
#21= IFCRELCOVERSSURFACES(#22, #13, $);
#22= IFCRELASSOCIATESMATERIAL(#23, #12, $);
#23= IFCPROJECT('Simple Wall');
ENDSEC;
这个IFCSPF文件描述了一个有高度的墙体物件。这个物件以IFCSLAB的形式表示,并且由IFCELEMENTARYSURFACE引用。IFCCONTOURBOUNDARY定义了墙体物件的形状,IFCMATERIAL定义了所使用的材质。IFCRELCOVERSSURFACES表示IFCSLAB和IFCELEMENTARYSURFACE之间的覆盖关系。IFCRELASSOCIATESMATERIAL表示材料和IFC实体之间的关系。