Revit and IFC Geometry

From Wiki.OSArch

When Revit exports geometry to IFC, it may process it in a way that may lead to loss of information or inefficient data storage. Optimising geometry is highly advised to maintain quick workflows between OpenBIM and Revit.

Optimising geometry in Revit[edit]

Detecting complex geometry[edit]

Within Revit, the currently exported Element ID will be shown in the status bar on the bottom left during the export process. Watching this at export time and making a note of any Element IDs that take a particularly long time to export will help identify those with geometric issues that Revit is struggling with.

As an alternative, the Geometric detail MicroMVD may be used to audit the geometry. It checks by auditing the number of polygons physically present in the IFC definition of the geometry. This type of check is very fast, as it does not require the geometry to be computed.

Sometimes, it is also necessary to check the resultant polygon count, not just the IFC definition. This is useful if there are many parametric definitions that are computationally expensive to display. The BlenderBIM Add-on contains a "Select all high polygon meshes" operator, allowing you to select and visually inspect complex geometry. The IFC CSV tool may then be used to export these objects into a spreadsheet format.

Using IFC4[edit]

IFC4 contains much more efficient ways of storing both mesh and non mesh geometry. Whenever possible, it is advised to export IFC files in the IFC4 format. This can result in significant filesize reductions. As an example, an IFC produced from Revit of a single object resulted in a filesize of 16,098kB. The same object re-exported to IFC4 using the BlenderBIM Add-on reduced the object to 4,487kb with no loss in geometric detail.

This filesize reduction occurs due to two improvements in the IFC4 data format. The first is the new tesselated shape supports, which allow a much more efficient description of meshes compared to the IFC2X3 faceted BREPs. The second is due to the improved support in Revit of exporting parametric geometry in IFC.

Reducing curves in profiles that are swept, revolved, or blended[edit]

If possible, if you have a profile which has any curves in it (including filleted corners), it is advised to only create an Extrusion. If other forms are created, such as a Blend, Revolve, Sweep, or a Swept Blend, Revit is not able to efficiently translate this geometry into IFC due to limitations in the Revit software.

This may result in shapes that look relatively simple in Revit, but lead to slow model coordination, slow file exports, large filesizes, and increased bandwidth usage in CDEs.

A swept profile with a single fillet

As an example, consider the following swept profile. The profile has a single filleted corner. Without the filleted corner, the exported filesize is 10kb. With the filleted corner, the resulting IFC2X3 filesize increases to 270kb. This is an increase of 27 times the filesize.

An innocent looking door

This is especially relevant to the architectural discipline. A common example can be seen in door and window frames, hardware, and furniture. For example, the following door object. The door contains a frame which is a profile swept along a path. The profile contains multiple fillets.

A door with over 8,000 vertices

The BlenderBIM Add-on lets you inspect the details of how Revit generates shapes. In mesh edit mode, it is revealed that this door contains more than 8,000 vertices. Zooming into the door frame reveals the strange meshing artifacts that Revit has generated. You will notice that the artifacts do not occur in simple extrusions, such as in the door leaf.

It is not currently possible to modify the number of facets created in a curve. If it is necessary to do this, it is advised to switch to another software application.

Remodeling in other software[edit]

An object remodeled in Blender

In some scenarios, when it is not acceptable to reduce the geometric fidelity in Revit, it is necessary to switch to alternative software to generate IFCs, which either have improved mesh support, or improved ability to store parametric information in the IFC format.

In one example, a single object originally exported into a 16,098kB IFC file from Revit was remodeled in Blender, with a resulting IFC filesize when re-exported from the BlenderBIM Add-on of 455kb.