Read From IFC

I found some Python IFC schema reading code and adapted it for use in Dynamo. It took a bit of work and isn’t perfect yet, but basically it just takes a path to an IFC file, and a schema definition, and attempts to unpack the information from the IFC file into lists.

The original code was set up to search by dictionary method (which would be faster), but I kept hitting some errors because the schema defines more attributes than are typically defined by a Revit IFC export. I have output these attribute discrepancies in the ‘attribute read status output’. In the end I made some ‘long lists’ which could be queried in various ways.

So the outputs are:

  • log – a log of the reading of the schema and the IFC file
  • attribute read status – comparison between schema and actual attributes in the IFC file
  • line Ids – the id of the line from the IFC text data
  • IFC name – the name of the line from the IFC text data
  • attributesFromSchema – the official attributes defined for that IFC name
  • attribute values – values from the line, as searched by the attributesFromSchema

Here are the basic outputs:




As the main lists are all matched with the amount of lines in the IFC, you can then do filtering and other operations:


I was also looking at making a Dynamo to BimServer connector, possibly adapting this code: I didn’t do that yet 🙂

This node will be available in Bakery package, in the IFC group.


3 thoughts on “Read From IFC

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.