Access and Feeds

Decoding IFC: What Lies Beneath BIM’s Universal Language

By Dick Weisinger

The Industry Foundation Classes (IFC) specification is the DNA of interoperable BIM—a structured language that lets architects, engineers, and contractors collaborate across software platforms. While most users interact with IFC through polished 3D viewers, its raw text format reveals the intricate machinery powering modern construction data exchange.

The Textual Backbone: IFC-SPF

IFC’s default format, IFC-SPF (STEP Physical File), is a human-readable text file where every building component is defined as a numbered entity. Think of it as a massive spreadsheet where walls, doors, and HVAC systems are rows, and their properties (dimensions, materials, relationships) are columns. Here’s a snippet from a hypothetical IFC-SPF file:

#42=IFCWALL('3q5fA2s9',#31,$,'Exterior Wall',#55,#60,#200);  
#55=IFCMATERIAL('Concrete_01','Concrete', .HighStrength);
#60=IFCPROPERTYSET('ThermalProps',#42,(#61,#62));
#61=IFCTHERMALRESISTANCE(2.5,'R-Value');
  • Entities: Each line (e.g., #42) defines an object like a wall (IFCWALL), with attributes like UUIDs, materials, and geometric references.
  • Relationships: The #55 and #60 entries link the wall to its concrete material and thermal properties, creating a web of dependencies.
  • Schema Rigor: IFC’s schema—a rulebook defining valid classes and attributes—ensures consistency. For example, an IFCWALL can’t host an IFCPIPE directly; it requires an intermediate IFCRELASSOCIATES entity.

This structure allows software to parse models programmatically, but it also exposes why BIM interoperability remains fraught: a Revit-exported wall might omit fire ratings if the schema version (e.g., IFC4 vs. IFC2x3) lacks compatible property definitions.

Binary Flavors: Efficiency at a Cost

While IFC-SPF’s transparency aids debugging, its verbosity (a stadium model can exceed 1GB) led to compressed alternatives:

  • IFCZIP: A ZIP archive containing the IFC-SPF file, trimming transfer sizes by 70% without altering content.
  • IFCXML: Represents the same data in XML syntax, enabling XPath queries but rarely used due to larger file sizes.
  • Emerging Formats: Experimental binary formats like HDF5 prioritize speed for real-time collaboration but sacrifice human readability.

Why Peek Under the Hood?

  1. Debugging Data Loss: When a door’s fire rating disappears in a software import, inspecting the raw IFC-SPF reveals whether the attribute was exported incorrectly or dropped during parsing.
  2. Schema Literacy: IFC’s class hierarchy—like IfcElement > IfcBuildingElement > IfcWall—teaches how BIM software categorizes components, aiding custom tool development.
  3. Interoperability Gaps: Seeing how software A exports IFCWINDOW geometry as SweptSolid while Software B uses Brep explains clash detection mismatches.

The Takeaway

IFC isn’t magic—it’s a meticulous framework of rules and references. Understanding its raw form demystifies why a “simple” model export can fail and empowers teams to diagnose issues, customize workflows, and advocate for schema updates. For BIM practitioners, fluency in IFC’s structure isn’t just technical trivia; it’s the key to unlocking true interoperability.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Leave a Reply

Your email address will not be published. Required fields are marked *

*