IFC是什么
IFC是用EXPRESS语言来描述的一种数据格式
IFC的物理文件
为了数据交换的目的,STEP标准Prat 21规定了正文文件的结构,认为一个STEP文件或一个Part 21文件包括两端:头段和数据段。
IFC文件砼STEP文件一样,也包括两段:
头段和数据段。
头段
头段给出关于文件的种类和作者的信息。在每一个IFC交换文件中头段必须出现。该段以关键字"HEADER"开始,并且以"ENDSEC"结束。
在每一个交换文件结构中要规定头段实体,并且每一个实体要求有一个实例出现。
头段实体有文件描述(file_desctiption)、文件名(file_name)、文件模式(file_schema),并且应该按这一顺序出现。
HEADER;
/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.02.0100.07 : 28 Aug 2013
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Thu Jan 05 17:42:05 2017
* Host: DESKTOP-OOLN4SQ
* Database: C:\Users\new\AppData\Local\Temp\{521BDB6B-99F8-4618-93B8-0BB3A41B594B}\ifc
* Database version: 5507
* Database creation date: Thu Jan 05 17:42:05 2017
* Schema: IFC2X3
* Model: DataRepository.ifc
* Model creation date: Thu Jan 05 17:42:05 2017
* Header model: DataRepository.ifc_HeaderModel
* Header model creation date: Thu Jan 05 17:42:05 2017
* EDMuser: sdai-user
* EDMgroup: sdai-group
* License ID and type: 5605 : Permanent license. Expiry date:
* EDMstepFileFactory options: 020000
******************************************************************************************/
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('\X2\987976EE7F1653F7\X0\','2017-01-05T17:42:05',(''),(''),'The EXPRESS Data Manager Version 5.02.0100.07 : 28 Aug 2013','20140606_1530(x64) - Exporter 2015.0.2014.0606 - Default UI','');
FILE_SCHEMA(('IFC2X3'));
ENDSEC;
数据段
数据段包括要被交换结构传送的产品数据。每一个IFC文件都应该有数据段。该段以关键字"DATA"开始,并且以"ENDSEC"结束。
实体实例表示成下列形式
#<integer value> = <entity name> (<attribute values>);
DATA;
#1= IFCORGANIZATION($,'Autodesk Revit 2015 (CHS)',$,$,$);
#5= IFCAPPLICATION(#1,'2015','Autodesk Revit 2015 (CHS)','Revit');
#6= IFCCARTESIANPOINT((0.,0.,0.));
#9= IFCCARTESIANPOINT((0.,0.));
.............
#1046= IFCRELDEFINESBYPROPERTIES('2ebMF7g_D7GROI1TdA8DIo',#41,$,$,(#119),#964);
#1049= IFCRELDEFINESBYPROPERTIES('0thicEHmb6igK7KW0kOvNB',#41,$,$,(#119),#966);
#1052= IFCRELCONNECTSPATHELEMENTS('1$n37kAC9D$f5LO0MCJ5ic',#41,$,$,$,#184,#705,(),(),.ATEND.,.ATSTART.);
#1057= IFCRELCONNECTSPATHELEMENTS('2EttXPvKn8qP4r_g1CWDVe',#41,$,$,$,#184,#776,(),(),.ATSTART.,.ATEND.);
#1077= IFCPRESENTATIONLAYERASSIGNMENT('A-WALL-____-OTLN',$,(#148,#177,#474,#494,#546,#566,#617,#639,#690,#701,#754,#772,#825,#843),$);
ENDSEC;
EXPRESS语言简介
EXPRESS语言是由STEP(Standard for the Exchange of Product Model Data)开发的概念性语言,STEP是计算机可读的用于交换和描述产品制造信息的标准,
正式代号为ISO 10303 EXPRESS是用于面向对象的信息描述语言,处于STEP中基础与核心的地位。它将IFC模型构描述为:规范的类,与类相关联的属性,类的约束,
以及类与其他约束之间的关系。然而,EXPRESS语言仅适合软件的读写,在人工读取上存在一定的困难。因此,EXPRESS-G视图以图表式的表达被发展起来,并得到了普遍应用。