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.

Monday, 11 February 2019

IFC4 : AECOSIM to Revit

I've been supporting some client and project workflows with an emphasis on translating Bentley AECOSIM models into Revit, particularly for some of the big Infrastructure projects under development and construction in Australia.

It's taken some time, and some trial and error approaches.  But the process now is really encouraging, and I'm seeking more users and test cases to try this approach.  Note that the development is being undertaken as "Just In Time", so that I'm not promising that it's perfect yet.  But I can say that if you try this approach and find issues, if you can share samples (I can advise how to isolate required elements) then I can use that to improve the tooling.

Here's some test files if you want to test for yourself.

Download the latest ggRevitIFC importers from the downloads page at www.geometrygym.com to test this workflow.

I've created a sample infrastructure tunnel model in AECOSIM.

I've then tried to approaches to export to IFC.  Ifc2x3 (which in the vast majority of cases has been implemented for coordination use cases, and uses a primitive faceted model which is typically adequate for coordination.  If you try to import or link this ifc2x3 file, you get faceted creases all over the objects, which isn't acceptable to most Revit uses.  The objects also typically behave as "second class" in terms of visibility and sectioning etc.  It would be nice if Revit would mask the creases as many ifc viewers do.

I also exported as IFC4 with the AECOSIM technology preview enabled for NURBS and advanced breps.  This allows each element geometry to be defined trimmed surfaces.  With my sample model, this actually generates an IFC4 model that works well with my importer for Revit, but I have seen on project models that in many more sophisticated shapes, this isn't the case and we will take some suggestions for improvements back to Bentley.  But big tick here already for Bentley as I believe they are really close.

But I've also enabled a hybrid approach.  You can export an IFC2x3 faceted file (note the file size is 1.7MB compared with an ifc4 file of size 0.3MB).  You can also script the creation of a STEP file for each element, and then if the filename ends with the AECOSIM elementID and is located in the same folder as the IFC2x3 file, the Geometry Gym Revit IFC importer will detect these and use these (where possible) to define the shape definition for Revit.  You can also "revise" the IFC2x3 file to IFC4 with the shapes adopted from the STEP files with an alternative button highlighted in the image below.

Note that AECOSIM uses features such as elliptical trims and cylindrical surfaces when it generates STEP that doesn't always seem to be the case in IFC, and this is a request that Bentley will hopefully consider as an improvement.  These work better with Revit import as Revit doesn't have as comprehensive NURBs capability it seems in comparison with other applications.

Please try with the sample files.  If you 'd like to discuss or learn more, please get in touch.