Difference between revisions of "IFC - Industry Foundation Classes"

From Wiki.OSArch
(added IFC video)
 
(26 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{IFC_Documentation}}
 
[[File:Freecad-ifc-viewer.png|thumb|right|An IFC file being viewed in FreeCAD]]
 
[[File:Freecad-ifc-viewer.png|thumb|right|An IFC file being viewed in FreeCAD]]
  
Line 13: Line 14:
 
* Analytical models for structural analysis, energy analysis, and light analysis
 
* Analytical models for structural analysis, energy analysis, and light analysis
  
The majority of BIM programs can read and write IFC data. However, the quality of vendor support for IFC data varies significantly between software.
+
The majority of BIM programs can read and write IFC data. However, the quality of vendor support for IFC data varies significantly between software. There are a lot of myths about IFC - so [[BuildingSMART International]] made a video series to address this: [https://www.buildingsmart.org/resources/myth-busters/leon-van-berlo/ IFC Myth Busters]
 
<div style="float: right; margin: 30px;"><youtube>https://www.youtube.com/watch?v=kMpzrUJY7LU</youtube></div>
 
<div style="float: right; margin: 30px;"><youtube>https://www.youtube.com/watch?v=kMpzrUJY7LU</youtube></div>
 +
 +
==Subpages==
 +
{{Subpages}}
  
 
== IFC versions ==
 
== IFC versions ==
  
There are currently two commonly supported versions of IFC: IFC2X3 and IFC4. IFC4 contains many new features compared to IFC2X3, such as improved geometry representations, geolocation support, and more element categories. However, IFC4 support is less prominent than IFC2X3, though this is changing. IFC2X3 has been an ISO standard since 2005, and IFC4 has been an ISO standard since 2013.
+
There are currently three commonly supported versions of IFC: IFC2X3, IFC4 and more recently IFC4x3.
 +
 
 +
* IFC2x3 (typically as Coordination View 2.0 or "CV 2.0") is typically what many BIM authors are used to using to export and exchange models. IFC2X3 has been an ISO standard since 2005.
 +
 
 +
* IFC4 has been very slowly implemented in BIM authoring software despite being an ISO standard since 2013. IFC4x contains many new features compared to IFC2X3, such as improved geometry representations, geolocation support, and more element categories.  
 +
 
 +
* IFC4x3 became an ISO standard in March 2022 and extends IFC4 to be better suited for linear infrastructure (Roads, Railways, Bridges, Earthworks, Geotechnics, Ports & Waterways)
 +
 
 +
Officially released [https://standards.buildingsmart.org/IFC/RELEASE/ documentation is available from buildingSMART international].
 +
 
 +
For IFC 4x3 it is also possible for you to improve the documentation by visiting the [http://ifc43-docs.standards.buildingsmart.org/ automatically generated version].
  
 
== IFC formats ==
 
== IFC formats ==
Line 41: Line 55:
 
Classes can inherit from other classes, building up a hierarchy of classes. If a class inherits from another class, it inherits all of its attributes and relationships. For example, the <code>IfcProduct</code> class has a <code>Representation</code> attribute, which can store 3D geometry that represents that class. Because the <code>IfcWall</code> class inherits from the <code>IfcProduct</code> class, it also has a <code>Representation</code> attribute to store 3D geometry. However, the <code>IfcPerson</code> class does ''not'' inherit from the <code>IfcProduct</code> class, and so it does ''not'' have a <code>Representation</code> attribute.
 
Classes can inherit from other classes, building up a hierarchy of classes. If a class inherits from another class, it inherits all of its attributes and relationships. For example, the <code>IfcProduct</code> class has a <code>Representation</code> attribute, which can store 3D geometry that represents that class. Because the <code>IfcWall</code> class inherits from the <code>IfcProduct</code> class, it also has a <code>Representation</code> attribute to store 3D geometry. However, the <code>IfcPerson</code> class does ''not'' inherit from the <code>IfcProduct</code> class, and so it does ''not'' have a <code>Representation</code> attribute.
  
= Resources =
+
See also the sub page specific to [[IFC_-_Industry_Foundation_Classes/IFC_classes|IFC_classes]]
* The [[Revit Setup]] page has extensive information on producing good IFC files.
+
 
 +
= See also =
 +
* Our [[AEC Open Data directory]] has links to sample IFC files
 +
* Our [[:Category:Autodesk Revit]] links to pages on using IFC in [[Autodesk Revit]]
 +
* Our [[:Category:Graphisoft_Archicad]] links to pages on using IFC in [[ArchiCAD]]
 +
* [[XbimXplorer]] is a Windows-only viewer capable of loading IFC2x3 and IFC4 models based on the [https://docs.xbim.net/index.html xbim toolkit] project
 +
* [https://view.ifcopenshell.org/ IFC Pipeline] is an open source self-hosted IFC processing and visualization pipeline powered by [[IfcOpenShell]]
 +
* [https://3dviewer.net/index.html Online3DViewer] is a free and open source (MIT license) web solution to visualize and explore 3D models right in your browser.
 +
* There is an [https://github.com/brunopostle/ifcmerge IFC Merge git project] which uses git to [https://community.osarch.org/discussion/comment/12598/#Comment_12598 store and manage IFC data in git] making incremental changes and revision management possible (project proposal 2022)
 +
* Our friends at [[BlenderBIM Add-on]] have a site to help you [https://blenderbim.org/search-ifc-class.html choose the correct IFC Class] for your physical objects.
  
 
= External Resources =
 
= External Resources =
* buildingSMART Denmark have written an [https://anvisninger.molio.dk/Gratis-vaerktojer/buildingSMART/IFC_Export_Guide_EN IFC Export Guide for Revit and ArchiCAD]
+
* [[BuildingSMART_International]] Denmark have written an [https://anvisninger.molio.dk/Gratis-vaerktojer/buildingSMART/IFC_Export_Guide_EN IFC Export Guide for Revit and ArchiCAD]
 +
* [[BuildingSMART_International]] International Modeling Support Group have written an [https://standards.buildingsmart.org/documents/Implementation/IFC2x_Model_Implementation_Guide_V2-0b.pdf IFC 2x Edition 3 Model Implementation Guide] (PDF file)
 +
* [https://publications.cms.bgu.tum.de/books/bim_2018/06_IFC_07.pdf Industry Foundation Classes – A standardized data model for the vendor-neutral exchange of digital building models] (PDF file)
 +
* [https://www.buildingsmart.org/resources/myth-busters/leon-van-berlo/ IFC Myth Busters]
 +
* Open Source online IFC viewer: https://alliance-batiment.ciqo.eu/
  
 +
[[Category:BuildingSMART_International]]
 
[[Category:Industry Foundation Classes (IFC)]]
 
[[Category:Industry Foundation Classes (IFC)]]
 
[[Category:File formats]]
 
[[Category:File formats]]

Latest revision as of 17:48, 14 February 2023

IFC bsi icon.png This page is relevant to understanding Industry Foundation Classes (IFC). The Industry Foundation Classes (IFC) Category includes all pages related to Industry Foundation Classes (IFC).
An IFC file being viewed in FreeCAD

IFC (Industry Foundation Classes), is an Open Data schema and set of formats used to store OpenBIM data. It is developed and maintained by BuildingSMART International. IFC data can digitally describe many concepts, including:

  • Physical objects in our built environment (walls, slabs, columns, pipes)
  • 2D and 3D geometry that represents objects or annotate objects
  • A diverse set of properties and attributes spanning many domains
  • Materials attributes and display colours
  • Construction planning, resource allocation, and scheduling
  • Quantification of elements
  • Roles and responsibilities of organisations and individuals
  • Design strategies and legal constraints
  • Analytical models for structural analysis, energy analysis, and light analysis

The majority of BIM programs can read and write IFC data. However, the quality of vendor support for IFC data varies significantly between software. There are a lot of myths about IFC - so BuildingSMART International made a video series to address this: IFC Myth Busters

Subpages[edit]


IFC versions[edit]

There are currently three commonly supported versions of IFC: IFC2X3, IFC4 and more recently IFC4x3.

  • IFC2x3 (typically as Coordination View 2.0 or "CV 2.0") is typically what many BIM authors are used to using to export and exchange models. IFC2X3 has been an ISO standard since 2005.
  • IFC4 has been very slowly implemented in BIM authoring software despite being an ISO standard since 2013. IFC4x contains many new features compared to IFC2X3, such as improved geometry representations, geolocation support, and more element categories.
  • IFC4x3 became an ISO standard in March 2022 and extends IFC4 to be better suited for linear infrastructure (Roads, Railways, Bridges, Earthworks, Geotechnics, Ports & Waterways)

Officially released documentation is available from buildingSMART international.

For IFC 4x3 it is also possible for you to improve the documentation by visiting the automatically generated version.

IFC formats[edit]

IFC data is most commonly found in a plain text file format with the file extension .ifc. A common misconception is that IFC is only a intermediate file format. Instead, IFC is a schema, with a full file being only one of many possible ways to store or transfer OpenBIM data. It is possible to transfer portions of OpenBIM data, or full models, using a variety of serialisations. Other serialisations include:

  • .ifc IFC-SPF format, a commonly used plain text format based on STEP
  • .ifczip IfcZIP format, where a single .ifc file is compressed into a ZIP package
  • .ifcxml IfcXML format, a plain text format
  • .json JSON format, a plain text format
  • .hdf HDF5 format, a binary format
  • .sqlite SQLite format, a binary format

In reality, currently only .ifc and .ifczip sees common usage.

IFC classes[edit]

In IFC, a single concept is known as an IFC class. There are hundreds of IFC classes. Examples of IFC classes are IfcWall, IfcBuilding, and IfcTask. Classes can have attributes, for instance, the IfcWall can have a Name attribute. Classes can also have relationships to other classes, for example an IfcWall can be related to an IfcBuilding by being spatially contained within the IfcBuilding.

An example hierarchy of IFC classes

Classes can inherit from other classes, building up a hierarchy of classes. If a class inherits from another class, it inherits all of its attributes and relationships. For example, the IfcProduct class has a Representation attribute, which can store 3D geometry that represents that class. Because the IfcWall class inherits from the IfcProduct class, it also has a Representation attribute to store 3D geometry. However, the IfcPerson class does not inherit from the IfcProduct class, and so it does not have a Representation attribute.

See also the sub page specific to IFC_classes

See also[edit]

External Resources[edit]