Monday, April 09, 2012

IFC Export from Revit: Reply

I’ve been monitoring the discussions in the Industry Foundation Classes (IFC) group on LinkedIn for some time now and recently saw a post criticizing IFC export from Revit 2012. I saw a few discrepancies in the methods described in the blog post, so I decided to run through the same tests myself.

To ensure I had the same setup as the original post author, I created a new project in Revit Architecture 2012 using the default template. I created three phases: Past, Present, and Future. Three desks and three walls were modeled and I added a floor slab under each wall/desk just for context. The first (left) wall/desk/floor is assigned to the Past phase and the wall + desk were demolished in the Present phase. The middle wall/desk/floor are on the Present phase and the right wall/desk/floor are on the Future phase. In the image below, the Phase Filter is set to None to show all three sets of objects.

(Click on any of the images in this post to see the enlarged version)


I was using Tekla BIMSight version 1.5 for all IFC viewing; loading all IFC exports into one project and using the visibility setting for each model to display the results (shown highlighted in each image). For consistency, all IFC exports from Revit were set to IFC 2x3 and Current View Only:


One of the first things I noticed in the original blog post was that the author was utilizing Temporary Hide-Isolate to change the visibility of some elements. In training and use of Revit through the years, I’ve always understood that this tool only made temporary changes to visibility (thus the name); therefore, it should not affect printing or exporting. I proceeded to test this by hiding two of the desks in a view:


When you attempt to export with Temporary Hide-Isolate activated, you get this warning:


I chose to “Leave the Temporary Hide/Isolate mode on and export” and got the same result as the original blog author. Note the warning, “Affected elements may be exported with unexpected visual characteristics.” The desks that were temporarily hidden did not export. My suggestion for users…don’t attempt to use Temporary Hide/Isolate for exporting or printing.


The next test was to test the Phase Filters. I set a 3D view to Phase: Future and Phase Filter: Show New:


In the resulting IFC export, you can see that the phase filter is not recognized even though we are supposedly exporting “Current View Only.” As you can see in the image below, even though the phase filter of the view is being ignored, the desk and wall that were demolished are not shown:


The next test was to examine the effect of hiding a category of objects. In this test, I created a 3D view with the Phase Filter set to None and the Walls category was turned off in Visibility/Graphic Overrides for the view:


This process seemed to work, but it still ignored the Phase Filter of the view:


I attempted one more experiment using the Present phase. Revit should not export anything that is in a ‘future’ phase, so we shouldn’t have a problem here:


Unfortunately, you can see below that even though the Revit view displayed only the Present phase – ALL phases were exported to IFC – even the Future phase:



To summarize my testing of IFC export from Revit Architecture 2012, here are my findings:

  • BAD: Don’t use Temporary Hide/Isolate to export or print
  • BAD: IFC export ignores the Phase Filter parameter of a view
  • GOOD/BAD: IFC honors the Phase Demolished parameter of model objects*
    • Except the fact that if you’re exporting the Past phase, the demolished elements appear in the Revit view, but are still omitted from the IFC
  • GOOD: IFC honors Visibility/Graphic Overrides of object categories

At HOK, we have experienced additional IFC export problems with curtain walls that have edited profiles and stacked walls. I’ll conduct some additional tests as well as conduct these same tests with Revit 2013 in a future post.

If you’d like to experiment with the files I used for this test, you can download them here.


  1. James,
    I'm the author of the orig. post on IFC export. I was surprised to see that in your case the Category Visibility was honored by the IFC export - I reran the tests one more time and in my case it does not honor the Category visibility - it still exports the walls even though the Category is off in VG. Odd.. Well, in any case I'm glad that all that has been fixed in Revit 2013 and Current View Only option works exactly the way it should...

    1. Hi Dima,

      I started some quick tests in 2013 and it seems to be 'almost' completely fixed. I'll write another post, but it seems that when you set the Phase Filter to None, the IFC export still honors the Phase of the view. In other words, if you want to see everything in your model, regardless of phase filtering, you can't get that out to IFC. I'm not sure how valuable that would be anyway.

      Thanks for replying.

  2. James,

    Thanks for sharing your interesting test results. I'm writing to you about your comment that the IFC exporter ignores the Phase Filter parameter. It's true that all phases are exported to IFC regardless of the parameter used. However, the phase information is actually stored in an exported IFC file.

    This information can be utilized in Tekla BIMsight by using the object browser (on the right side pane in Tekla BIMsight). With the object browser you can group objects by "Phase Created" and the objects will be sorted according to their phases, past, present and future. And after grouping them you can use visibility symbols to view the desired phases. Just wanted to share this workaround with you..


  3. Same seems to go for items that are turned off in a view. Example the braces still export with beams even though they are turned off in a view.