Myth Buster: Revit & IFC, Part 4 - A New Hope
After the first three IFC articles were published in AUGIWORLD in 2012 and 2013, I decided it was time to move on. Not so much with IFC, but I had the feeling everything that could be said at that point had been said. Now, almost a year later, a lot of my reservations with the IFC implementation in Autodesk® Revit® have been dealt with, or are definitely going in the right direction.
There is A New Hope.
Reservations? What reservations?
Wasn´t I the one going on and on about how awesome IFC is? I taught about it at RTC Europe, North America, and Autodesk University. Ranting online, tweeting, blogging… What reservations are we talking about?
Well, the people at Autodesk sure know what I’m talking about. I’ve given them hell about the limited implementation in Revit, on Export but mostly on Import. My main point: If I want a 100 percent right, absolutely perfect geometric export, I’ll use .SAT, .DWG, or whatever perfectly developed 3D geometry format there is. But IMHO the main reason for being anything worth the trouble one has to go through to use IFC is that IFC can transfer information—non-geometric information that is. This is something no other file format can do. That’s why I use IFC. So who cares that it cannot do free-form designs really well? I’ll export the model twice: one full-blown geometric detailed shape through 3D DWG for geometric clash detection and once in simplified geometric shape to transfer the Information.
However, sadly enough, the Autodesk developing team told me that geometry was their primary focus for the time being. And since I did not have the time or resources to take on the challenge of coding my own IFC exporter/importer, I put the whole IFC thing on a side-track for a while. Of course, I kept on moaning and nagging about it, but I really did not think the status quo was going to change for at least a few years.
So What changed?
I don’t really know what changed, but suddenly there’s a huge turnaround in the direction Autodesk development is taking IFC. Of course, geometry is still important. But lately the most important steps have been taken towards information exchange.
Naturally, I am assuming that they finally started to listen to me, since this kind of boosts my ego. But I don’t know really. However, I won’t be complaining about it either.
No Seriously: What Changed?
In order of “this is a huge freaking deal.” Here’s my top 5:
- Custom Property Sets
- Open Source Importer
- Support of IFC Types on import
- Export Linked Files
- IFC Links
And then there’s a whole bunch of other improvements that I won’t be talking about here due to lack of time, space, or just because I’m still working on getting my head wrapped around them myself.
So maybe there will be a part 5 and 6 due before the next “Star Wars” movie comes out. Just for the fun of it, we’re going through this like a pop chart, starting with the least impressive one.
#5: IFC Linking
From Revit 2015 onward, it is possible to choose between linking and importing an IFC. What’s the difference? Well, in the “old” days, opening an IFC in Revit meant importing it. And that meant clicking R > IFC > Import and then go on holiday, take an online origami course (I learned to do all Autodesk logos in the time it took to import a single IFC), or switch to your second worksystem and go do something useful.
And then the week after, when you received a new file, you had to start over again. I know people who literally spent 30 percent of their weekly time importing IFCs.
Figure 1: That’s a new button right there
With Linking, you don’t have to go through that anymore. Just as you can link in DWGs or other Revit files, you can also link in IFCs, with the same benefits:
- It’s about 80 percent faster
- It saves a lot of time navigating through the model
- They even made it so that all properties of the IFC components are at least there as text parameters
Just to be clear: That is impressive! A HUGE deal!
So why is it in 5th place then? Well, basically it’s only there for its potential. A sort of incentive award. The components are not Room Bounding, which of course renders it pretty much useless at this point.
Figure 2: ARGGGHHHH!
I have been told that this limitation is due to lack of time and will be fixed, but seriously Autodesk, stop publishing software that is not done yet.
On the bright side: at least we’re getting some parameter information from the IFC Link, even though it’s all text.
Commercial Break, Brought to You By the Autodesk OS Exporter Team
From this point forward these are all features brought to you by the Open Source IFC Exporter. If you don’t have it, and you’re still dabbling with the ootb (out of the box) exporter, shame on you! Google “IFC Revit Sourceforge,” go to the website, then download and install the OS Exporter. Your life will be so much better. If for nothing else, I am writing this article on the weekend and they still respond to my questions within a matter of hours. Try that with your regular Autodesk support!
# 4: Exporting Linked Files
Anyone working with IFC in projects containing linked files knows this: they won’t export. You need to open each and every linked file and export them manually. This isn’t that big of a deal when working with two linked files. However, with 20 of them, it becomes annoying. Having 20 of the same linked files copied around the project, you’re in some serious trouble because the linked file, when opened and exported separately, will revert back to its original location.
Figure 3: Sample project with linked files
Figure 4: Returns an separate IFC for the Linked Files
Figure 5: That merge together on their Host (!) location
As of now, the OS Exporter supports exporting links to separate IFCs that you can merge together later. Not only that, it will export the links based on their placement in the Host file.
Commercial Break, Brought to You By Open Source BIM Server By TNO
Pop quiz:
Is anyone able to name a single software product that can merge multiple IFCs into a single aggregate IFC model?
And no, the answer is NOT ArchiCAD BIM Server, nor any other commercially available tool.
# 3: IFC Types on Import
Improving (but not completely solving) one of the more annoying issues with importing IFC files—the ability to map Types. Two examples that stand out:
From the beginning of time, the ootb import mapping for IfcColumns (both architectural and structural) was Columns (Architectural) in Revit. This is, in my humble opinion, flat-out wrong. The importer can now distinguish between LoadBearing and non-LoadBearing types and send them to subsequently structural and architectural columns.
Another great improvement is the ability to export different IfcCoveringTypes for ceiling, flooring, and walls into different Revit categories instead of having to put them all in the same category.
Figure 6: R2014 import mapping table
Figure 7: R2015—new and improved
# 2: Open Source Importer
Autodesk, a marketing machine? Well, definitely not the part responsible for marketing their IFC-based ventures. The biggest thing since the Open Source Exporter, the Open Source Importer, was released a few months ago and nobody noticed. It is now possible to actually do something about that import tool yourself.
And Autodesk forgot to mention it.
For those of you who feel that Autodesk should support this out of the box, look at your Ribbon. Is there any extra tab there? And does the add-in tab have any of those extra thingies you can click on and do stuff?
If these questions are answered with a firm and solid “No,” well then, you’re missing out. A vast supply of add-ons is available to make your Revit-life a lot easier.
If you answered “Yes” to one of the questions, then stop whining about developing an improved IFC handling tool. You did the same (or at least someone did and you’re using it), and find that perfectly acceptable.
So go out and find someone to add your desired functionality to the OS Ex-/Importer. The beauty is you can then send it to Autodesk, and they will integrate, update, support, and expand on it.
# 1: Custom Property Sets
This article would become too short if I put this in places 1, 2, and 3. But it should be there. The Open Source Exporter has finally matured. You can now create your own custom property sets and have complete and utter control over which data you want to export.
Let’s look at our sample family again. Figure 8 shows that I added four custom parameters to the walls in the project. I want to export them all into IFC, except the one stating that these walls are bullet-proof. (That, I don’t want the interior decorator to know about).
Figure 8: Random set of custom properties
Previously, that could not be done. You’d either export everything (export Internal Revit PropertySets) or close to nothing (export IFC PropertySets).
If you installed the latest OS Exporter, you should also download these files: AdditionalExtendedFMHandoverViewFiles.zip. You can find them here: http://goo.gl/ZqjJsV
Once exported, extract and move the file “IFC2x3 Extended FM HandOver View.txt” to your IFC Exporter program directory. For Revit 2015 the path is C:\Program Files (x86)\Revit IFC 2015.
Rename the file to whatever suits you.
Figure 9: Setup custom Property Sets pt 1
Now go back to Revit. Hit R > Export and go to the Modify Setup screen. In here, create a new export setup.
Figure 10: Create new Exporter Setup
After setting this up, export the IFC with your custom PropertySet attached to it.
Figure 11: Custom Property Set in IFC with specified parameters
Conclusion
Like I said, a lot has changed—and and for the better. We have gotten more control over our models and the IFC exports we create from them. I, for one, am looking forward to the new features in upcoming releases.