ArticleslgStudy

computer science

Industry Foundation Classes

Industry Foundation Classes is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Industry Foundation Classes rather than just read about it. In short: The Industry Foundation Classes (IFC) is a CAD data exchange data schema intended for description of architectural, building and construction industry data (ABCII). The IFC file format is based on ISO 10303-21 standard and definitions of ABCII are documented by using underlying EXPRESS.

Key takeaways

  • Industry Foundation Classes belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Industry Foundation Classes to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Industry Foundation Classes from memory before moving on to harder problems.

Reference excerpt

The Industry Foundation Classes (IFC) is a CAD data exchange data schema intended for description of architectural, building and construction industry data (ABCII). The IFC file format is based on ISO 10303-21 standard and definitions of ABCII are documented by using underlying EXPRESS. It is a platform-neutral, open data schema specification that is not controlled by a single vendor or group of vendors. It is an object-based data schema with a data model developed by buildingSMART (formerly the International Alliance for Interoperability, IAI) to facilitate interoperability in the architecture, engineering and construction (AEC) industry, and is a commonly used collaboration format in Building information modeling (BIM) based projects. The IFC model specification is open and available. It is registered by ISO and is an official International Standard ISO 16739-1:2024. Because of its focus on interoperability the Danish government in 2010 made the use of IFC format(s) compulsory for publicly aided building projects. In 2017 the Finnish state-owned facility management company Senate Properties started to demand use of IFC compatible software and BIM in all their projects. Also the Norwegian Government, Health and Defense client organisations require use of IFC BIM in all projects as well as many municipalities, private clients, contractors and designers have integrated IFC BIM in their business. The popularity of the IFC data schema in construction has continued to grow, primarily for the purpose of exchanging geometry.

History

The IFC initiative began in 1994, when Autodesk formed an industry consortium to advise the company on the development of a set of C++ classes that could support integrated application development. Twelve US companies joined the consortium. These companies included AT&T, HOK Architects, Honeywell, Carrier, Tishman and Butler Manufacturing. Initially named the Industry Alliance for Interoperability, the Alliance opened membership to all interested parties in September, 1995 and changed its name in 1997 to the International Alliance for Interoperability. The new Alliance was reconstituted as a non-profit industry-led organization, with the goal of publishing the Industry Foundation Class (IFC) as a neutral AEC product model responding to the AEC building lifecycle. A further name change occurred in 2005, and the IFC specification is now developed and maintained by buildingSMART.

IFC specifications The following IFC specification versions are available:

IFC4.3 Add2 (2024) IFC4.2 (2019-04): withdrawn IFC4.1 (2018-86): withdrawn IFC4 Add2 TC1 (2017) IFC4 Add2 (2016) IFC4 Add1 (2015) IFC4 (March 2013) ifcXML2x3 (June 2007) IFC2x3 (February 2006) ifcXML2 for IFC2x2 add1 (RC2) IFC2x2 Addendum 1 (July 2004) ifcXML2 for IFC2x2 (RC1) IFC 2x2 IFC 2x Addendum 1 ifcXML1 for IFC2x and IFC2x Addendum 1 IFC 2x IFC 2.0 (March 1999) IFC 1.5.1 (September 1998) IFC 1.5 (November 1997) IFC 1.0 (June 1996)

File formats

IFC defines multiple file formats that may be used, supporting various encodings of the same underlying data.

IFC-SPF is a text format defined by ISO 10303-21 ("STEP-File"), where each line typically consists of a single object record, and having file extension ".ifc". This is the most widely used IFC format, having the advantage of compact size yet readable text. IFC-XML is an XML format defined by ISO 10303-28 ("STEP-XML"), having file extension ".ifcXML". This format is suitable for interoperability with XML tools and exchanging partial building models. Due to the large size of typical building models, this format is less common in practice. IFC-ZIP is a ZIP compressed format consisting of an embedded IFC-SPF file or IFC-XML file and having file extension ".ifcZIP". IFC-Turtle (Terse RDF Triple Language) is a textual semantic data format that uses RDF and is expressed in the ifcOWL ontology. IFC-RDF is a XML-based semantic data format that uses RDF and is expressed in the ifcOWL ontology. ifcJSON uses JSON, a modern format often used by web applications. ifcHDF uses HDF and is based on the ISO 10303-26 standard for STEP data representation in HDF. IFC-SPF is in ASCII format which, while human-readable, suffers from common ASCII file issues, in that file-sizes are bloated, files must be read sequentially from start to finish, mid-file extraction is not possible, files are slow to parse, and definitions are non-hierarchical. In addition to ifcXML and ifcZIP, modern data formats include RDF/XML or Turtle (using the ifcOWL ontology), ifcJSON (JavaScript Object Notation, broadly available) and ifcHDF5 (Hierarchical Data Format v5, binary). In 2020, buildingSmart had two JSON projects underway: ifcJSON v4 (a direct mapping from EXPRESS-based IFC v4) and ifcJSON v5, plus a research project experimenting with turning IFC into a binary format.

Architecture IFC defines an EXPRESS based entity-relationship model consisting of several hundred entities organized into an object-based inheritance hierarchy. Examples of entities include building elements such as IfcWall, geometry such as IfcExtrudedAreaSolid, and basic constructs such as IfcCartesianPoint. At the most abstract level, IFC divides all entities into rooted and non-rooted entities. Rooted entities derive from IfcRoot and have a concept of identity (having a GUID), along with attributes for name, description, and revision control. Non-rooted entities do not have identity and instances only exist if referenced from a rooted instance directly or indirectly. IfcRoot is subdivided into three abstract concepts: object definitions, relationships, and property sets:

IfcObjectDefinition captures tangible object occurrences and types IfcRelationship captures relationships among objects IfcPropertyDefinition captures dynamically extensible properties about objects.

IfcObjectDefinition IfcObjectDefinition is split into object occurrences and object types. IfcObject captures object occurrences such as a product installation having serial number and physical placement. IfcTypeObject captures type definitions (or templates) such as a product type having a particular model number and common shape. Occurrences and types are further subdivided into six fundamental concepts: actors ("who"), controls ("why"), groups ("what"), products ("where"), processes ("when"), and resources ("how").

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Industry Foundation Classes

Start with the simplest possible case. Write down what Industry Foundation Classes claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Industry Foundation Classes before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Industry Foundation Classes ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Industry Foundation Classes

In research
Industry Foundation Classes appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Industry Foundation Classes in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Industry Foundation Classes is common in secondary-school and first-year university syllabi. It links to neighbouring topics Building, Building information modeling, Industrial computing, so understanding it makes those chapters shorter.
In everyday life
Look for Industry Foundation Classes outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Industry Foundation Classes in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Industry Foundation Classes means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Industry Foundation Classes out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Industry Foundation Classes in simple terms?

The Industry Foundation Classes (IFC) is a CAD data exchange data schema intended for description of architectural, building and construction industry data (ABCII). The IFC file format is based on ISO 10303-21 standard and definitions of ABCII are documented by using underlying EXPRESS.

Why does Industry Foundation Classes matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Industry Foundation Classes?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Industry Foundation Classes.

Tags

  • Building
  • Building information modeling
  • Industrial computing

Keep exploring