Tuesday, 5 March 2019

Faceted Brep Conversion for IFC

In Ifc2x3 data exchange, only a primitive model is required as the vast majority of implementations are developed with the use case of coordination in mind.   If a shape representation isn't an extrusion, then commonly it's meshed into faceted faces with 3 or 4 edges.  I'd really like to see revolutions used more commonly as the impact on many file sizes would be dramatic.

But a faceted brep can have any number of edges, and nominate internal bounds for openings.
Refer to this image and this description

We've been recently working pretty hard on ensuring that we can generate compact and efficient faceted breps from the accurate physical nurbs geometry in Rhino/Grasshopper so that a Building Information Model can also be provided within the IFC2x3 model schema.  We've decimated file sizes from the order of 200MB (when using the rhino mesher) to 30MB.  If IFC4 models could be used, there is an even more efficient polygonal faced representation or advanced breps could define the objects as IfcAdvancedBrep with nurbs faces and trims that could be roundtripped to Rhino.

Here's a grasshopper test case of the conversion.  You can access this if you update to the latest ggRhinoIFC plugins from the downloads page at www.geometrygym.com/

If you test on your own models and have any feedback, would be great to hear it.