Optimizing single object IFC models
A ‘single object IFC model’ is an IFC model containing only one object. Product manufacturers increasingly publish their products in IFC format with the intention that designers use these objects as part of their designs. This post is about optimizing these single object IFC models, i.e. how to reach the best possible IFC for this use case.
The example case in this post is a ‘2.5m Sentry’ fence object, courtesy of Jacksons Fencing Ltd. The size of the original IFC file was 8.5Mb and it had very few properties. The result is an 35Kb (0,035Mb) IFC file with all the relevant properties. This is more than 99.5% drop in file size and a huge improvement in value. Let’s go through the steps to see how this was achieved.
The starting point is an IFC model exported from SolidWorks, the application used by the manufacturer for designing the object. Typically there are three main problems with these IFC files; too much geometry, not enough properties and wrong data structures.
- The geometry is so detailed that the objects could almost be manufactured based on the model. In our example the posts had end-caps, all profiles were hollow with rounded corners and there was a detailed ‘comb’ on top.
- Modeling applications that are strong in geometry are not always strong with properties, and especially not in exporting properties to IFC. The only useful property in this IFC file was the Name of the object
- Getting the geometry into IFC is the main task and there is less attention on using the best objects and data structures. The fence object in this case was a IFC element assembly containing building element proxy objects
We discussed the geometry with the author and found a few easy ways to reduce the geometry. All profiles can be solid and the end-caps can left out without any real effect on the appearance. A simple rectangular solid profile consists of 6 faces and in comparison, one hollow, rounded profile with holes in one of the original models was 5 960 faces (see image), roughly 1 000 times more. The ‘comb’ on the top of the fence was responsible for 1.6Mb file size, but since it is a ‘distinguishing feature of Sentry fencing’ it was not so obvious if it should stay or go. Changes to the geometry were done in the authoring application, SolidWorks in this case.
In order to get the product information into the model we set up a simplebim® template (Excel file) with relevant manufacturers parameters. This definition also contained the mapping of each parameter to the IFC model. The same Excel file contained a sheet with the correct property values for each fence type (like the ‘2.5m Sentry’). The Name property, the only useful property in the original IFC files, was used as the link between the product data and the IFC files. Applying this Excel template to the original IFC file in simplebim® resulted in a new IFC file that had all the required properties, with correct values and using the correct IFC data structures.
For solving the issues with data structures we created a simplebim® add-on with some custom functionality. This add-on changes the object type from element assembly to railing (the closest there is for a fence in IFC), moves the geometries of the building element proxies contained by the element assembly directly to the railing, minimizes the containment hierarchy and sets relevant information to the file header and owner history.
The result is an IFC file that is radically smaller, which is really important when a lot of objects from different manufacturers are used in a design. The geometry is not quite as nice as the original but this is a trade-off we have to make or the objects will choke the designer’s models. Deciding what is a ‘distinguishing feature’ in each case remains a challenge. But most importantly, the result has all the relevant and reliable product information, which makes it a real BIM object. Also the IFC data is structured such that the designer’s application can use the object in the best possible way. A huge improvement from our starting point.Current limitations of IFC
The aim was to create the best possible single object IFC models within the limits of what can be achieved with IFC today. A perfect object would be parametric, i.e. the same object could represent a number of valid configurations of the same product. A perfect object would also have several levels of geometric detail (like coarse, normal and fine) that could be used in different contexts. Such capabilities are being added to IFC but are not available yet, which means that current single object IFC models are far from perfect. If a product had for example 10 valid configurations and 3 levels of detail, the current solution would be 30 separate IFC files, each containing one unique configuration + level of detail combination. How this relates to the simplebim® application
Simplebim® is an essential tool for optimizing single object IFC models. You can remove all unwanted properties from the model and add all relevant properties, if missing. You can further enrich the model by setting the property values for the relevant properties. For further optimization and re-structuring of the model it is possible to create add-ons that for example modify the owner history, file header information, containment structure or change objects types. The IFC model exported from simplebim® after these operations is optimized, relevant and reliable – a true BIM object. For a optimal workflow these operations can even be run as a batch process.