|Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact|
|Full name||Industry Foundation Classes (IFC) for data sharing in the construction and facility management industries - clear text family|
IFC (Industry Foundation Classes) is an openly documented standard for the exchange of data about a building or facility and its construction or maintenance, data structured as a building information model (BIM). A BIM model may have details of building structures, elements, spaces, schedules, and many other aspects of a construction project. IFC specifies a representation of the contents of a BIM database in a plain text form suitable for exchange. This IFC variant is sometimes known as IFC-SPF and this name is used on this website when the distinction between the clear text and other variants of IFC is important. See Notes below for more about building information modeling. To summarize, a building information model captures building information and manages it in a database, making it available for use and reuse at every other point in a building project. Drawings and 3-D renderings are views into the database. The conceptual schema for IFC is defined using the EXPRESS data specification language (ISO 10303-11). The standard exchange file format for exchanging and sharing data according to the conceptual schema is using the "clear" text encoding of the exchange structure. Alternative exchange file formats can be used if they conform to the conceptual schema. This description focuses on the version with clear text encoding, with occasional mention of alternative forms in use, which include an XML-based form and the use of ZIP for combining and compressing IFC-SPF files.
The IFC specification is standardized through ISO 16739-1:2018 Industry Foundation Classes (IFC) for data sharing in the construction and facility management industries — Part 1: Data schema and maintained by the Model Support Group (MSG) of buildingSMART International (bSI). See History Notes below for information about chronological versions. The most widely implemented version as of early 2017 is IFC2x3 (extension 3 to IFC2). IFC4 was published by bSI in March 2013 and also approved as ISO 16379:2013. See Summary of IFC Releases for online access to IFC specifications and an indication of plans for IFC5. In 2017, the latest specification was for the IFC4 Add2 Release, which incorporates changes in Addendum 1 and Addendum 2. Additional versions of the specification have been published since then with 4.4.0 in development in 2023. See the Summary of IFC Releases. The compilers of this resource will aim to update this page with more detailed information about recent versions as time permits. The information described in this document focuses mainly on versions up to to IFC4 Add2 Release.
The introduction to the IFC4 specification describes the schema architecture for the IFC data model. The architecture has four layers, with each subschema belonging in one of the layers:
An IFC file will typically incorporate elements from at least one schema from the three upper layers (in addition to the kernel schema) and from many of the schemas in the Resource layer. Conceptually, an IFC file may contain 3D and 2D shapes, properties of components (including geospatial positions), connectivity among components, quantities, materials, costs, schedule details, and more.
Important to the implementation of IFC is the concept of a Model View Definition (MVD). An MVD is a subset of the IFC schema intended to support data exchange with a particular purpose. An MVD may focus on a particular design domain (e.g. buildings as opposed to bridges) and/or a particular exchange purpose (for example, for review or reference as opposed to for active design collaboration). In practice, CAD software is likely to support particular MVDs rather than the entire IFC standard and certification by BuildingSMART is based on MVDs. See Notes below for more detail on existing MVDs.
|Production phase||Primarily a middle-state format used to transfer design details among parties engaged in designing, building, and maintaining buildings and other structures including architects, builders, engineers, and component suppliers.|
|Relationship to other formats|
|Subtype of||STEP_file, STEP-file, ISO 10303-21|
|Has subtype||IFC4, also published as ISO 16739:2013, and subsequently supplemented by Addendum 1 and Addendum 2. Not described separately on this website at this time.|
|Has subtype||IFC2x3, the most widely supported version as of early 2017. Not described separately on this website at this time.|
|Has subtype||IFC_V2x, ISO/PAS 16739:2005, not described separately on this website at this time.|
|Has subtype||Earlier versions not described separately on this website at this time: IFC1.5.1, IFC2.0.|
|Equivalent to||ifcXML (based on STEPxml), not described separately on this website at this time.|
|Defined via||EXPRESS, EXPRESS data modeling language, ISO 10303-11|
|LC experience or existing holdings||The Library of Congress has a small number of IFC files in its collections.|
|LC preference||The Library of Congress Recommended Formats Statement (RFS) includes IFC as an acceptable format for 2D and 3D Computer Aided Design vector images. The RFS does not specify a version of IFC.|
Openly documented international standard through ISO and maintained by the IFC Release Teams (previously the Model Support Group of buildingSMART International (bSI), a worldwide alliance of organizations committed to interoperability for building information model data.
As of 2023, the latest release of the specification for IFC is version 4.3.x which, along with all other versions of the documents, is available through buildingSmart at IFC Specifications Database. Through buildingSmart, the standards documentation is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International License.
Current support for IFC in most CAD software is based on IFC2x3. Support for IFC is one of the columns in the tabular Comparison of computer-aided design editors on Wikipedia. BuildingSMART operates a software certification process and has published a list of Participants in the official buildingSMART IFC2x3 certification process based on the MVD known as Coordination View Version 2.0. Link via Internet Archive.
AutoDesk supports IFC4 and earlier versions in Revit; see About IFC and Revit from Revit help. In late 2015, IFC export was added to AutoDesk Inventor. AutoDesk has also released IFC for Revit: ifcExporter as open source. BIM Interoperability from AutoDesk lists 14 AutoDesk 2016 products that support IFC. A document called BIM specifications from the founders of OpeningDesign discusses details that need to be checked for fidelity of transfers using IFC4 and IFC support in FreeCAD.
BricsCAD BIM V17 is certified for IFC export at IFC2x3 Coordination View V2.0 level. Export to IFC2x2 or IFC2x3 to .ifc, .ifczip, and .ifcxml formats is supported by Vectorworks 2016. Vectorworks has also published a white paper, Sharing Your Model with IFC: An Introduction. ArchiCAD, release 16 (from 2012; link via Internet Archive) supported IFC2x3; support for IFC4 was added with ArchiCAD, release 20 (in 2016). Bentley Architecture and related products support IFC2x3; see Bentley Communities page on IFC, which also highlights shortcomings of the IFC2x3 Extended Coordination View. Trimble Connect (link via Internet Archive), a collaboration platform supports IFC2x3. Digital Project: a Quick Start Guide implies that the software supports IFC.
Free or inexpensive IFC viewers, analyzers, and checkers include: BIMvision (IFC2x3); IfcQuery from IfcPlusPlus (IFC4); Autodesk Viewer, online viewer from AutoDesk; Solibri Model Viewer (IFC2x3); BIMsight from Tekla (IFC2x3); SimpleBIM from Datacubist (IFC2x3); IFC File Analyzer from NIST.
|Licensing and patents||No issues relating to use of IFC schemas or models.|
|Transparency||The clear text IFC-SPF (.ifc) format is easily viewed using basic text editing tools. However, entity names in the file consist of digits (preceded by "#") rather than using human-readable tags and parent-child relationships between entities are not obvious. To understand the content, a viewer that can relate the file to the IFC schema or relevant model view definition (MVD, a commonly understood subset of the IFC schema) is more effective. Effective viewing of 3D content requires an appropriate viewer.|
|Self-documentation||The IFC specifications, particularly IFC4, incorporate many optional elements that could provide context for a design or project, but these elements largely relate to the project during its active stages and what information is relevant to those actively involved in the design or construction.|
|External dependencies||None beyond software that can interpret and render IFC files, with 3D rendering capability particularly important.|
|Technical protection considerations||The IFC documentation does not mention encryption. However, in order to protect intellectual property, it is quite likely that IFC files are often transmitted in encrypted form, using generic encryption tools that can be applied to any file. Comments welcome.|
|Normal rendering||Good support for 2D drawings. Not suitable for raster images.|
|Clarity (high image resolution)||Scalable|
|Color maintenance||Colors in 3D design models can serve at least two functions: realistic colors for surfaces and category-based coloring for element types (e.g., yellow for windows and red for wiring). Color management on the basis of ICC profiles is not applicable. See Notes for some discussion of interoperability problems wrt. colors in IFC.|
|Support for vector graphics, including graphic effects and typography||Excellent support for vector graphics|
|Support for multispectral bands||Not applicable.|
|Functionality beyond normal rendering||Support for 3D models as well as 2D drawings. Support for geospatial positioning.|
|Normal rendering||A "document" in the IFC-SPF format is not a general text document. It is a plain text file using a defined special-purpose syntax.|
|Functionality beyond normal rendering||The function of a document in the IFC-SPF format language is to be a clear text exchange format for an instance of a data structure conforming to a specific IFC model. The intended area of application is the representation of building information model data for the purpose of exchange among computer systems.|
|Support for CAD/CAM/CAE||The IFC format was designed specifically to support CAD/CAM/CAE data. The scope section of the IFC4 specification begins, "The Industry Foundation Classes, IFC, are an open international standard for Building Information Model (BIM) data that are exchanged and shared among software applications used by the various participants in the construction or facility management industry sector. The standard includes definitions that cover data required for buildings over their life cycle. This release, and upcoming releases, extend the scope to include data definitions for infrastructure assets over their life cycle as well."|
||The extension for the "clear" text version of IFC described here, based on ISO 10303-21, is .ifc. IFC permits two equivalent formats. An XML representation uses extension .ifcxml; the extension .ifczip is used when IFC data, either in plain text or XML, is compressed using ZIP. See IFC Overview summary from buildingSMART International.|
||See http://www.nationalarchives.gov.uk/PRONOM/fmt/700 for IFC4 (PUID fmt/700)|
||See http://www.nationalarchives.gov.uk/PRONOM/fmt/699 for IFC2x3 (PUID fmt/699).|
||See http://www.nationalarchives.gov.uk/PRONOM/fmt/659 for IFC2x2 (PUID fmt/659).|
|Wikidata Title ID||See note.||See https://www.wikidata.org/wiki/Q979630 for Title ID for entire IFC family of file formats.|
Building Information Modeling (BIM): A helpful description is in a 2002 white paper from AutoDesk, entitled Building Information Modeling, which states, "Building information modeling applications start with the idea of capturing and managing information about the building, and then present that information back as conventional illustrations or in any other appropriate way. A building information model captures building information at the moment of creation, stores and manages it in a building information database, and makes it available for use and reuse at every other point in the project. Drawings become a view into the database that describes the building itself." The paper emphasizes that drawings are not the only view into the database; "presentations of the information—drawings, schedules, cost estimates, other conventional presentations of the building information—are all views into the same information model."
In 2005, a paper entitled "Building Information Modeling Two Years Later – Huge Potential, Some Success and Several Limitations" discussed progress toward the BIM vision, "The International Alliance for Interoperability (IAI) pioneered an international technical effort across 19 countries to define a single building model as one authoritative semantic definition of building elements, their properties and interrelationships. This work has largely been successful with its IFC (Industry Foundation Class) Model now endorsed as a draft ISO (International Standards Organization) standard. However, in the absence of a single model from day one, software vendors aspiring to gain commercial advantage forged ahead with different competing BIM implementations." IFC4 became a full ISO standard in 2013; buildingSMART does not have a certification process for compliance with IFC4 as of early 2017, but plans are in place.
Model View Definitions associated with IFC: A Model View Definition (MVD) defines a subset of the IFC schema that is needed to satisfy one or many exchange requirements of the AEC (Architecture, Engineering, and Construction) industry. For an MVD, in addition to the IFC schema subset, a set of implementation instructions and validation rules, called MVD Concepts, are published. See Model View Definition Summary (link via Internet Archive). Two MVDs have been developed for IFC4: IFC4 Reference View Objective (link via Internet Archive) to support workflows that do not require modification of geometry; and IFC4 Design Transfer View Objective (link via Internet Archive), which extends the Reference View to support workflows where building information models may be edited using design software platforms. The principal MVD for IFC2x3 was known as the Coordination View, published originally in 2007 and updated in 2010.
The Bentley position paper on IFC points out that the IFC2x3 Coordination Views were not intended to support round-tripping of data between different CAD applications and that such round-tripping is an unreasonable expectation because of the importance of protecting proprietary models and application data. It is likely that this statement could also be true in relation to the newer IFC4 MVDs. For the IFC4 Reference View, it is explicit that round-tripping is not an objective.
Colors in IFC: Colors can be specified in IFCusing the ifcColourSpecification entity, which derives its definition from the definition of colour_specification in ISO 10303-46:1994 p. 138. "A colour specification contains a colour definition which refers directly to a specific colour space." The default color space is RGB, with the value range for each RGB component being a real number between 0 and 1 that represents the intensity of that component. Other color spaces can be declared using the label attribute of ifcColourSpecification. An example in the IFC specification is RAL, a color matching system used in Europe for paints and other coatings. Another mechanism for specifying colors was introduced in IFC4 to handle indexed colors; each indexed color is specified via RGB.
Color representation in design models, and hence in IFC, is complex because coloring can support different functionalities, including classification of design elements or layers (e.g., highlighting doors and windows or distinguishing plumbing and wiring layers), surface representations for more realistic views of a design, and colors selected for the final product in an industry color classification such as RAL, mentioned above. If the assumptions about coloring intent are different in different applications, there can be interoperability problems. A November 2015 question at SketchUp Community about a color interoperability problem yields the response, "Solibri and BIMSight display the IFC model using a colour scheme of their own based on the classification of the parts. Material information or textures aren't included into the IFC." Perhaps confirming this approach, Solibri Model Viewer Help | Importing an IFC model indicates that the application can change the color for any component type. An October 2014 BIM blog entry from Bond Bryan Architects (link via Internet Archive) discusses some interoperability problems with color in exchanges between ArchiCAD and other CAD applications. Resolving the problems required fixes in both the application generating the IFC file and the receiving application, which made different assumptions about color representation in models.
According to General understanding of the IFC Specification FAQ (link via Internet Archive), there were five principal releases of the IFC between 1996 and 2005: IFC1.5.1, IFC2.0, IFC2x, IFC2x2 and IFC2x3.
Version 2x3 of IFC was submitted to ISO and published in 2008 by ISO as ISO/PAS 16739:2005. PAS stands for "Publicly Available Standard;" in ISO, this term is used for "A normative document representing the consensus within a working group. ... After six years, a PAS shall either be converted into an International Standard or be withdrawn." In March 2013, Version 4 of IFC was approved as a full international standard (ISO 16739:2013).
Since initial publication, IFC Version 4 has been revised through two addenda published by buildingSMART International in July 2015 and July 2016. According to the IFC4 Add2 Release page (link via Internet Archive), a new edition of ISO 16739 and certification for IFC4 will be based on the Add2 release. Certification will use "model view definitions" specified as IFC4 Design Transfer View V1.1 and IFC4 Reference View V1.1.
As indicated in Summary of IFC Releases, IFC5 is expected to include full support for various infrastructure domains and more parametric capabilities.