6 Sep 2022

FAQ and Tips for IFC translation of Model Derivative API

Default blog image

 

More recently, more customers asked similar Model Derivative questions related to IFC. So, I tried collecting the IFC translation FAQ and tips I shared with the customers in this blog to help our IFC users better understand how to process their IFC models on Forge.

How does Forge Model Derivative process IFC models to svf/svf2?

All Forge IFC conversion methods use the same techniques as Navisworks does. So, on the other hand, the IFC translation from IFC to svf/svf2 will be processed with the Navisworks techniques, but with different user-chosen IFC conversion methods. Here are available options on Forge and their short descriptions. In addition, customers can see similar options on the Navisworks Options Editor.

  • legacy - the legacy IFC conversion method, which is under maintenance mode. It's the default IFC conversion method if you don't specify any when submitting the translation job via POST job.
  • modern & v3 - the Revit-based IFC conversion methods. They are based on the Revit techniques integrated with Navisworks.

Navisworks IFC Loaders

Which IFC conversion method is the right one for my IFC models on Forge?

This is the frequently asked question from our customers, but I would say it depends on what you need. Here is the comparison table for your reference:

Comparison/Conversion Methods Legacy Modern v3
Context Legacy Navisworks IFC conversion method Revit-based IFC conversion method that is based on the Revit techniques integrated with Navisworks. Similar to the Modern, but has some improvements and enhancements that Modern doesn't have.
Which service uses it as default? Model Derivative BIM360 Docs and Autodesk Docs before June 2022 BIM360 Docs, Autodesk Docs, and Navisworks 2023
File process speed Faster than modern Slower than legacy Quicker than Modern for large IFC models based on internal tests.
Default length & property units Native IFC file units Feet always, as Revit does Native IFC file units
IFC Schema support IFC 2x3 IF2x3 & IFC4 (see note. 4 for IFC4.x) Same as modern.
IFC GUID Field Name GLOBALID IfcGUID Same as modern.
IfcElementAssembly support No Yes Same as modern.
Model orientation No Maybe, it depends on the orientation data set in IfcProject. Same as modern.
Advanced IFC options support (buildingStoreys, spaces, and openingElements) No Yes Same as modern.
Skip axis presentation No Yes Same as modern.
Multiple IfcSite/IfcBuilding support Yes No Yes
Additional information It's under Maintainance mode so it won't get updates and bug fixes.   Recommended one if you want to use modern, but with native file unit support as the legacy does.

 

Notes.

  1. See also on Navisworks IFC User Guide from Navisworks perspective.
  2. For the model orientation-related issues, please check the IfcDirection values of the IfcProject's IfcGeometricRepresentationContext with my experience. Both modern & v3 conversion methods use Revit-based technology, so when IfcDirection values of the IfcProject's IfcGeometricRepresentationContext are not (1,0,0), (0,1,0) or (0,01), it will consider your model has rotation to true north, and change model orientation by the angle to true north.
    • Make the IFC model rotated by the angle to true north -  When your IFC model was exported from Revit, please ensure the coordinate base is either Survey Point, Project Base Point, or Share Coordinate during exporting.
    • Don't want the IFC model rotated by the angle to true north -  When your IFC model was exported from Revit, please ensure the coordinate base is internal origin during exporting. If you cannot reexport the model from the source RVT file for some reason, try to modify the IfcDirection values of the IfcProject's IfcGeometricRepresentationContext by text editor.
      • if the IfcDirection is a 3D vector (x,y,z) , please try to change it to (1,0,0), (0,1,0), or (0,01) for each direction accordingly.
      • if the IfcDirection is a 2D vector (x,y), please try to change it to (0,0).
  3. For elevation-related issues, if your model is exported from Revit, please ensure the coordinate base is Survey Point or Project Base Point during exporting. Using Share Coordinate, the elevation is always set to zero, according to our engineering team.
  4. Model Derivative API now has basic IFC4x3 support for translating IFC to SVF/SVF2 since March 2023. For other details of IFC4.X (e.g., IFC4.3, IFC4.4, not IFC4), please check the "Wich IFC format does Model Derivative API or Revit support" section in the blog post: Export IFC from RVT using Model Derivative API.
  5. For hiding the objects of the IFC class IfcDistributionPort, please check if the IFC schema version is IFC2x3. If yes, please re-export from the source model format to IFC4 (or, especially, IFC4 Reference View [BuildingService]). With my experience, IfcDistributionPort objects are only appearing with IFC2x3. However, unfortunately, we currently don’t support controlling the visibility of IfcDistributionPort objects in the translation.
  6. In some cases, the geometries will look strange (e.g. exploded, creepy edges and etc) after translating the IFC file with modern and v3, then probably, there are some large coordinates baked in the IFC geometries. To fix this issue, the Large coordinate removal tool for IFC files would be helpful in this case. This tool can help to remove the large coordinate values from the IFC geometries.
    • Note: This tool hasn't been tested with all types of IFC files and results may vary. It won't fix all files and could potentially cause undesirable results. Use it at your own risk, making sure a backup copy of the original is kept safe.

Georeferencing in IFC

We also get some customers asking why the georeference data in IFC is incorrect after translating with Forge and how to convert CRS (coordinate reference system) from WSG84 to others. So, here are the notes we need to be awarded in the IFC file from our engineering team before processing the IFC files with Forge:

  • In IFC2x3, there is no good support for georeference except by using the site longitude, latitude, elevation, and true north set in IfcSite. In addition, the longitude and latitude are assumed to be WGS84.
  • In IFC4, BuidingSmart introduced IfcMapConversion and IfcProjectedCRS. The georeference data can be defined in a pair of these two entities. Revit read EPSG code from IfcProjectedCRS, and then get Easting, Northing, Elevation, and X-axis orientation from IfcMapConversion for georeferencing.

Troubleshooting locally

Before uploading to Forge for translation, we can also do local tests to see what the final translation result of Forge Model Derivative would look like.

Autodesk techniques

As mentioned above, Model Derivative uses the same techniques as Navisworks does to process IFC models on Forge so that we can test our IFC files locally with Navisworks and Revit.

Testing with Navisworks

When you find some unexpected results after translating IFC files with Forge, it's a good idea to test it with Navisworks locally. Before starting the tests, please ensure you have installed the latest Navisworks, service packs, and Revit IFC Addins (from Appstore or GitHub). Afterward, here are the test steps:

  1. Open your IFC files using Navisworks with either IFC conversion method. (If you don't change the settings in the Options Editor > File Reader, Navisworks 2023 uses v3 by default.)
  2. Wait for the file loading to be completed.
  3. Check if unexpected results appear in Navisworks as well.
    • If yes, check if any error message appears in the log file besides the IFC file, like the below one. For example:
      Navisworks IFC processing log file
      Navisworks IFC processing log content
    • If not, go to step 4.
  4. Change the IFC conversion method to others in the Options Editor > File Reader, and then go back and repeat step1 - step3  to see if unexpected results appear as well.
  5. After testing all conversion methods, share the test results, your findings, and reproducible models with us via our support channels for further investigations. Note. You don't need to share the whole model. Partial model contents that can reproduce the issue should be acceptable.
Testing with Revit

When the IFC issues can be reproduced with the modern or v3 IFC conversion method, it's good to test further with Revit to help narrow down the issue. Before starting the tests, please ensure you have installed the latest Revit, service packs, and Revit IFC Addins (from Appstore or GitHub). Afterward, here are the test steps:

  1. Both modern and v3 IFC conversion methods use a similar feature as Revit Link IFC does. So, the first step is to create a new Revit project (RVT) from the template.
  2. Use Revit's Link IFC to open your IFC models and link them to the host RVT.
  3. Wait for the file loading to be completed.
  4. Check if unexpected results appear in Revit as well, and check if any error message appears in the log file besides the IFC file like step 3 of Testing with Navisworks.
  5. After testing, share the test results, your findings, and reproducible models with us via our support channels for further investigations. Note. You don't need to share the whole model. Partial model contents that can reproduce the issue should be acceptable.

3rd-party IFC viewers

Besides Navisworks and Revit, we can also use 3rd-party IFC viewers to help narrow down the issue. We can find suggested 3rd-party IFC viewers from the Revit IFC Manual Version 2.0. Here I choose FZKViewer, for example, which often helps me investigate IFC model problems. Here is what its UI looks like.

FZKViewer

Show All Presentations

Turning on "Presentations > Show All" is an excellent idea to help investigate the graphic problem. For example, last year, there was a Forge issue that some IFC objects would be far away from the origin while fitting to view the object (logged as NWLMV-199). After turning on "Presentations > Show All", I can see the problem objects have an axis far away from the actual geometry, which most 3rd-party IFC viewers skip, but Autodesk techniques respect the data so that the axis will be included in the final result. After releasing the fix of NWLMV-199, the axis presentations in the IFC object will be ignored when using modern and v3.

FZKViewer all presentations

 

 

That's all. I hope this blog helps you better in handling IFC files on Forge!

Related Article