IFC 格式文件:Industry Foundation Classes (IFC)

介绍

来自百度百科:

buildingSMART是一个中立化、国际性、独立的服务于BIM全生命周期的非营利组织,旨在促进在建筑工程全生命周期过程中,各参与方间的信息交流与协同合作。
buildingSMART的前身是国际数据互用联盟(IAI-International Alliance of Interoperability),成立于1994年。自成立以来,buildingSMART国际联合多家建筑、工程、产品、软件等领域的全世界知名企业和单位,在北美、欧洲、澳大利亚、亚洲及中东地区的许多国家均已设立分部。
buildingSMART国际组织对全球BIM技术研发的主要贡献包括:
(1)IFC标准。自从BIM技术在建筑行业的优势开始受到广泛认同以来,许多软件厂商开始相继研发基于BIM技术的设计软件和协作平台。不同文件格式之间的沟通转换需要统一的数据接口。IFC标准为这种数据接口的开发提供技术依据和准则,为设计文件在众多不同软件和平台之间传输和读取提供便利。
(2)OpenBIM。这是基于开放的标准和透明的工作流程的一种工作模式,旨在促进设计环节各专业各部门间的协同合作。
(3)此外,buildingSMART还积极举行各种国际交流活动,以拉近商业软件公司与工程实践用户之间的距离,提高BIM技术研发创新的效率。
buildingSMART北美分部即buildingSMART联盟,是美国第一部BIM标准(NBIMS)的主要制定者。

IFC 标准数据库 - IFC Specifications Database

IFC 是 buildingSMART 这个组织维护的。
IFC Specifications Database
下面是官方发布的 IFC 标准,这些组件分别有 HTML, EXPRESS, XSD/XML 和 OWL 的文档以及格式。

Official releases of the IFC specification are listed here, as well as
their components including HTML, EXPRESS, XSD/XML, and OWL
documentation and formats.
IFC 格式文件:Industry Foundation Classes (IFC)_第1张图片

可以使用普通的文本编辑器打开下载的文件,就可以看到 IFC 标准的内容了。以 IFC4x1.xsd 为例子,找到和 ifcWall 相关的内容:

	<xs:element name="IfcWall" type="ifc:IfcWall" substitutionGroup="ifc:IfcBuildingElement" nillable="true"/>
	<xs:complexType name="IfcWall">
		<xs:complexContent>
			<xs:extension base="ifc:IfcBuildingElement">
				<xs:attribute name="PredefinedType" type="ifc:IfcWallTypeEnum" use="optional"/>
			xs:extension>
		xs:complexContent>
	xs:complexType>
	<xs:element name="IfcWallElementedCase" type="ifc:IfcWallElementedCase" substitutionGroup="ifc:IfcWall" nillable="true"/>
	<xs:complexType name="IfcWallElementedCase">
		<xs:complexContent>
			<xs:extension base="ifc:IfcWall"/>
		xs:complexContent>
	xs:complexType>
	<xs:element name="IfcWallStandardCase" type="ifc:IfcWallStandardCase" substitutionGroup="ifc:IfcWall" nillable="true"/>
	<xs:complexType name="IfcWallStandardCase">
		<xs:complexContent>
			<xs:extension base="ifc:IfcWall"/>
		xs:complexContent>
	xs:complexType>
	<xs:element name="IfcWallType" type="ifc:IfcWallType" substitutionGroup="ifc:IfcBuildingElementType" nillable="true"/>
	<xs:complexType name="IfcWallType">
		<xs:complexContent>
			<xs:extension base="ifc:IfcBuildingElementType">
				<xs:attribute name="PredefinedType" type="ifc:IfcWallTypeEnum" use="optional"/>
			xs:extension>
		xs:complexContent>
	xs:complexType>

从第一行可以看到 :substitutionGroup="ifc:IfcBuildingElement
在文档里面没有找到它的定义,但是从帮助文档里面可以看到:
IFC 格式文件:Industry Foundation Classes (IFC)_第2张图片
这种层次结构和面向对象编程十分相似,姑且就按照面向对象编程中的继承关系来理解。

ifcElement 对于 geometry 的支持

看着还是和编程十分类似,一个 ifcElement 可以 0 到 1 个的 Representation
IFC 格式文件:Industry Foundation Classes (IFC)_第3张图片

ifcOWL

除了 xsd 格式以外,还有 RDF 或者说是 OWL 格式,也可以说是 ifcOWL 格式。具体格式列表,参考这里。

What is ifcOWL?

ifcOWL provides a Web Ontology Language (OWL) representation of the Industry Foundation Classes (IFC) schema. IFC is the open standard for representing building and construction data (see BuildingSMART). The ifcOWL ontology has the same status as the EXPRESS and XSD schemas of IFC.

IFC Express 和 ifcOWL 的转换

The ifcOWL ontologies are generated directly from the IFC EXPRESS schemas. The recommended conversion procedure is entirely open and documented in an LDWG recommandation. The procedure follows the principles displayed in the below schema.
IFC 格式文件:Industry Foundation Classes (IFC)_第4张图片

上述过程用到的软件:
buildingSMART IfcDoc tool
UGent – Aalto IFC-to-RDF converter
Walter Terkaj EXPRESS-to-OWL converter

Revit 导出 IFC

作为一个开放的标准,Revit 除了有对应的导出 IFC 功能以外。还开放了导出相关的源代码:https://github.com/Autodesk/revit-ifc
可以参考 Revit 导出墙:https://github.com/Autodesk/revit-ifc/blob/master/Source/Revit.IFC.Export/Exporter/WallExporter.cs

你可能感兴趣的:(BIM,行业相关)