Sunday, July 28, 2013

Custom IFC export from Revit ... easier then I thought !

After RTCNA 2013, 3 weeks in hotel rooms and Air Canada lost my luggage twice, here is my post on custom export from Revit to IFC.

For those of you who don't know what is IFC, to make a short story, Industry foundation Classes (IFC) is data schema that makes possible data exchange between different proprietary software applications. The data schema comprises information covering the many disciplines that contribute to a building throughout its lifecycle. The current release is IFC4  but most software currently use IFC2x3. If you're a fanatic of Revit like me you should know that IFC4 export is available through the 2014 release with UR1 
(as pointed out by Angel in the post comments below)

First I would like to explain why I feel the need to customize the export from Revit to IFC. If you go on the building smart website, you will find here the "IFC entities" schema which is the equivalent of the "Revit Category". You will notice that Revit doesn't have a category "Pile" however if you want it to exchange the information properly to a software that have that specific object classification, you will need to customize the export.




Figure 1 - IFCSupertype                                             Figure 2 - Revit pile

Figure 3 - Revit pile category


































Figure 4 - IFC export using out of the box Revit settings openned in Solibri viewer.
To map a family to an IFC entity
  1. Downlaod the following shared parameter file : IFC Export Shared Parameter
Add the shared parameters to the family
  1. In the Family Editor, click Create tab/Properties panel/ (Family Types).
  2. In the Family Types dialog, for Name, select a family type.
  3. Under Parameters, click Add.
  4. In the Parameter Properties dialog, under Parameter Type, click Shared parameter, and click Select.
  5. Navigate to the shared parameters file downloaded above and open the file.
  6. In the Shared Parameters dialog, under Parameters, select IFCExportAs, and click OK.
  7. In the Parameter Properties dialog, under Parameter Data, for Group parameter under, select IFC Parameters.
  8. Make sure that Type is selected, and click OK.
    In the Family Types dialog, IFCExportAs displays in the parameter list.
  9. Under Parameters, click Add.
  10. In the Parameter Properties dialog, under Parameter Type, click Shared parameter, and click Select.
  11. In the Shared Parameters dialog, under Parameters, select IFCExportType, and click OK.
  12. In the Parameter Properties dialog, under Parameter Data, for Group parameter under, select IFC Parameters.
  13. Make sure that Type is selected, and click OK.
    In the Family Types dialog, IFCExportType appears in the parameter list.
Specify values for IFCExportAs and IFCExportType
When you add the shared parameters to one family type, Revit automatically adds them to all types in that family. Next, you can specify values for each parameter in each family type.
  1. In the Family Types dialog:
    1. For Name, select a family type.
    2. For IFCExportAs, specify the desired IFC class.
    3. For IFCExportType, specify the desired IFC type.
    4. Click Apply.
  2. Repeat Step 16 for each of the remaining types in this family.
  3. When you have defined values for all family types, click OK.
  4. Save changes to the family.
  5. If you want to load the updated family into a project, open the project. Then return to the Family Editor, and click Create tab/Family Editor panel/ (Load into Project).





































Figure 5 - IFC export using the above method openned in Solibri viewer.

You can also export a single object in Revit into different IFC object categories using nested shared families and different values for the IFCExportAs parameter.









































Figure 6 - Resulting IFC export of a single Revit element into different IFC subtypes.

An other method to customize IFC export is to use subcategories. By assigning a custom sub-category such as "Pile" to geometries you can control it individually in the Revit IFC export settings.
























Figure 7 - Sub-category assigned in the Revit family editor



























Figure 8 - Revit IFC export settings and custom value for sub-categories.


You will also like this extension here that replace the out of the box export to IFC in Revit.

Alternate IFC export Revit 2014
After installing the first extension you will notice nothing in the interface but the data in the resulting IFC export will be improved.

Alternate user interface Revit 2014
The IFC Alternate UI provide you a custom dialog to choose the export settings.

With all that stuff interoperability have never been so easy !!! ;-) To read more about IFC and building structures click here.

8 comments:

  1. Hi Carl,

    Thanks for your post about customizing the IFC exporter for Revit - it always helps to get the word out! I did want to make one small update: as of last week, Revit can now export IFC4 (also known as IFC2x4 - IFC4 is the "official" name) files from Revit 2014 with UR1 installed. It is only a "basic" export - we don't use a lot of the new IFC4 features - but it is definitely a start. We'll be supporting IFC2x3 for some time, as it is still the most common format used by far.

    ReplyDelete
    Replies
    1. Awesome ! Thank you for pointing this out. I will update the original article to avoid misinformation. I am downloading the 2014 UR1 while I am writing this, I can't wait to give it a try !

      Delete
  2. Hi,

    Where can i i find that IFC menu you have to the left at the top of the article?

    ReplyDelete
    Replies
    1. This is a screenshot of the IFC schemas you can find it here: http://www.buildingsmart-tech.org/ifc/IFC4/final/html/index.htm

      Delete
  3. Hi,

    Can you please explain how to apply the enumerations of IfcBeamType to a revit family? i.e. export a beam as a JOIST or LINTEL for example? Not having much luck !

    Thanks

    ReplyDelete
    Replies
    1. Hi, first thank you for the comment. I would like to understand why you want to export a beam type i.e. L100x100x6.4 as a structural usage i.e. joist, lintel etc.?

      Cheers,

      Delete
    2. Hi
      I'd like to apply custom categories if possible to framing members. i.e. purlins, girts, bridging, beams, transfer beams, rafters, struts etc. This would allow simpler and more valuable grouping in IFC viewers and potentially more unseen benefits.

      Thanks

      Delete
  4. This blog post contains content adapted from the Autodesk® Revit® Help, available under a Creative Commons Attribution-NonCommercial-Share Alike license. Copyright © Autodesk, Inc.
    http://help.autodesk.com/view/RVT/2015/ENU/

    ReplyDelete

Ask you comment or question here ...