Editing IFC - Industry Foundation Classes

From Wiki.OSArch

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
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]]
  
IFC (Industry Foundation Classes), is an [[AEC_Open_Data_directory|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:
+
IFC (Industry Foundation Classes), is an [[List of open-data formats|open-data]] schema and set of formats used to store OpenBIM data. It is developed and maintained by [https://www.buildingsmart.org/ buildingSMART]. IFC data can digitally describe many concepts, including:
  
 
* Physical objects in our built environment (walls, slabs, columns, pipes)
 
* Physical objects in our built environment (walls, slabs, columns, pipes)
Line 14: Line 13:
 
* 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. 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]
+
The majority of BIM programs can read and write IFC data. However, the quality of vendor support for IFC data varies significantly between software.
<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 three commonly supported versions of IFC: IFC2X3, IFC4 and more recently IFC4x3.
+
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.
 
 
* 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 ==
  
IFC data is most commonly found in a plain text file format with the file extension <code>.ifc</code>. 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 data is most commonly found in a plain text file format with the file extension <code>.ifc</code>. This is one of many possible ways to store IFC data. Other methods include:
  
 
* <code>.ifc</code> IFC-SPF format, a commonly used plain text format based on STEP
 
* <code>.ifc</code> IFC-SPF format, a commonly used plain text format based on STEP
Line 54: Line 39:
  
 
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.
 
See also the sub page specific to [[IFC_-_Industry_Foundation_Classes/IFC_classes|IFC_classes]]
 
 
= 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 =
 
* [[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:File formats]]
 

Please note that all contributions to Wiki.OSArch are considered to be released under the Creative Commons Attribution-ShareAlike (see Wiki.OSArch:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Templates used on this page: