Question

Simplify a solid

  • 16 April 2019
  • 1 reply
  • 26 views

I have a Revit file created by the design team. The model has a series of hugely detailed objects, hundreds of vertices detailing holes in walls, nuts and even a curved toilet seat. I want to reduce this detail and simplify the solids within the model to be able to import the file as an FBX into Unity where the detail is unnecessary.

Traditionally this has been a manual task but being a 2D FME user for many years it feels like there must be a way of achieving this repeatedly within FME. I've tried the usual tools such as generalizer which doesn't seem to alter the model at all, in fact it adds more vertices. Any ideas?


1 reply

Userlevel 1
Badge +11

Hi @har40428,

Thanks for your question! You can filter out small highly detailed objects like this by calculating the volume of individual objects and filtering out things that are smaller than a certain size.

In the section titled Reduce BIM Data Volumes of one of our webinars. Dean has a really great example of doing this where he's filtering out thousands of rivets/bolts in a bridge structure. You can do this by using a VolumeCalculator and setting the Geometry XQuery to something like This part Geometry Type = IFMEExtrusion to get the volume of the individual parts. Next, you can use a GeometryPartExtractor and set it to something like This part Geometry Trait '_volume' < 0.0005 with the Action set to Remove.

Please note that the first XQuery including the IFMEExtrusion works with IFC input, as it depends on geometry being a solid. If you are reading in your data as a Revit file, it will come in as surfaces and not a solid, so I would recommend exporting to IFC from Revit before starting in on the translation. You can also download the workspace from the webinar to take a look at, I believe it's named FilterIFCBolts.fmw.

Reply