What?
Autodesk has just announced the release of the IFC (Industry Foundation Classes) Exporter for Revit to Open Source under the LGPL 2.1 license. The source code, latest builds and user/technical documentation will be available at the following site. This is the follow up to the STL Exporter that was contributed to the open source community in June. The STL Exporter blog post is also the best place to get more general information on the open source projects and the reasoning behind them.
In case you are wondering how much was actually released, the simple answer is all of the API code that assists in exporting IFC files from Revit. This is the feature that is already available to Revit users and now the source code is available to anyone. The feature has been working through the Revit 2012 API as an Add-In (accessible through the Export command) since the product release in April 2011 and now the source code for the feature has been made available to the Revit and IFC Community.
Continued future development on the IFC Export for Revit by Autodesk and other contributors will be contributed back to the Open Source project.
The IFC import feature is not being released because that feature is not built on top of the API.
Why?
So why would Autodesk do this? The answer is quite simple and probably best stated by Jim Lynch, Vice President, Building and Strategic Technology Group, Architecture, Engineering and Construction Solutions, Autodesk:
“For several years now, our customers have been asking for greater flexibility with the Revit IFC file format output. The decision to release the Revit IFC exporter code as open source furthers our ongoing commitment to support the IFC standard, and marks the latest demonstration of the Autodesk drive to encourage full data exchange within a BIM workflow.”
By making the IFC Exporter code available as open source software, we are providing users of Autodesk Revit 2012 products with greater flexibility to customize their Revit IFC file output to better meet the needs of specific project, client or government IFC file requirements. It also helps developers improve their import of IFC files from Revit because now they have full access to the code used to generate those files.
As stated with the STL Exporter project, we have no intention of abandoning our commitment to IFC and its support in Revit. In fact, this clearly demonstrates that commitment by showing that the value of IFC interoperability lies in making sure the highest level of fidelity is retained, as data is transferred between products. We believe this release will spur innovation within the Building Information Modeling (BIM) user community, encouraging AEC professionals to pursue development to the IFC file format deemed most valuable, based on their individual requirements.
The feedback has been quite positive and our goal to help improve interoperability has resonated with our customers.
“Along with the fast growing Revit user community, we are experiencing an increasing need of interoperability in the building life cycle process with BIM. Interdisciplinary teams are realizing workflows with up- and downstream solutions and IFC is an important platform to realize this integration. With Autodesk’s decision to make the Revit IFC Exporter code open source, they are again part of the leading edge to drive this interoperability to a next level. This will help us in our role as a reseller to provide the Nordic market with excellent tools to create, analyze and use data models,” said Rolf Kjærnsli CEO Cad-Q.
Thank yous:
A large number of people have been working on this project for quite some time including developers, business leaders, marketing and legal teams. The level of enthusiasm for the project was been quite electric at times. I wanted to thank them all for their very hard work and commitment to this project.
I want to thank all the Revit users who continue to support our product and teach us what is important to them and their business.
Last but not least, I want to thank the Open Source Committee members who helped guide these open source projects.
Thank you to one and all!
Questions:
I am quite sure at this point you have a lot of questions and comments. I tried to answer some of them but I am certain there are more. I will consolidate them and try to answer most of them in a subsequent post.
Now let the questions and comments begin . Oh and don’t forget to check out the project site.
I'm going to eat a milestone celebration cake this evening.
This is good news, and I hope and think this will accelerate development of apps that take care of this feature.
Posted by: Nordlenningen | September 13, 2011 at 10:40 AM
I agree, this should open the doors for 3rd party app devs to create some streamline exporting apps for vertical specific purposes.
Posted by: Steve Germano | September 13, 2011 at 11:59 AM
What about the import!?!?! Surely we need both import and export???
Posted by: James Blood | September 15, 2011 at 05:04 AM
Emile,
an API, as far as I know, is a code interface to a program whose methods you can call from your own program to build the functionality you want. If the IFC exporter is an API, then you can build a program that call the IFC exporter methods using different parameter values, for example. This way, you can customize the result of the model export. Right?
Now, what developers are supposed to do with this open source API? Add methods? Remove methods? Modify existing methods? Maybe I'm not getting it, but changing an API doesn't make sense to me. In fact, it seems quite dangerous in this case as you'll end up with many, possibly ill-documented ways to export a Revit model through IFC.
On the practical side, yesterday I've downloaded the MSI file from SourceForge. After the execution of the installer, I've got the license in a RTF file and a DLL. A DLL is compiled executable code, so where's the source code to be open sourced?
I apologize if I've misunderstood the whole Autodesk initiative. I'm a Java developer and I'm not used to Revit's development environment. I would really thank you if you could shed some light on this.
Best regards,
Cristina
Posted by: Cristina Belderrain | September 15, 2011 at 08:52 PM
Folks - thank you so much for your comments.
Posts from Nordlenningen and Steve G - thank you so much for your enthusiasm. It is much appreciated.
Post from James B - Import is important but our users have made it very clear that they want us to work on Export first. We have not and will not forget about Import, its just not working through the API so we can not release it.
Post from Cristina - What was released is the source code that uses the Revit API to generate the IFC output. We are not releasing the Revit API as open source. We are releasing the code that uses the API to generate the IFC file. What you downloaded is the installable compiled version of the exporter. On the same site you can get access to the full source code. Its all there for you to see and download. I hope you can give it a look and try it out. As for being a Java developer. We have feedback that Java developers have learned C# with little effort and have not had much difficulty getting started on Revit.
Posted by: Emile (Blog Author) | September 19, 2011 at 09:59 AM