Jump to content

Re-create Type Objects

Scenario

You have an IFC model that contains type objects but the type objects in the model are not right. You need to get rid of  the existing type objects and create new ones based on other information in the model.

Simplebim solution

Problem

The IFC model can contain so called type objects that are practically groups of objects that share certain property values. The way objects should be grouped into type objects depends on the purpose of the IFC model. Because of this you will encounter IFC models that contain type objects but the type objects in the model are not what you need. At the same time the model often contains information that would allow you to create the ‘type object groups’ you need. 

Assumptions

In the solution below we assume that the type objects are for ‘Building Element Proxy’ and that the correct information can be found in the ‘Layer Assignment Name’ property. However, event thought the ‘Layer Assignment Name’ property contains the information you need, the values are polluted by unnecessary information. You may for example need the value ‘Chimney’ but the value in the model may be something like ‘Model Element:Chimney:12345’

Your scenario is probably different, but the same instructions apply for all object classes and all properties.

Solution

First we create a template that you can use for cleaning up the values in the ‘Layer Assignment Name’ property. Then we import the IFC model into Simplebim and apply the template. Finally we re-create the type objects for ‘Building Element Proxy’ and export a new IFC file with the correct type objects.

  1. Create a new Simplebim template and give it a meaningful name        
  2. In the ‘Find and Replace Text Property Values’ section on the Model sheet create the rules for cleaning up the values of the ‘Layer Assignment Name’ property

    • The row above reads like this: For all Building Element Proxy objects where the Layer Assignment Name property contains the value ‘Chimney’ (case insensitive), change the value of the Layer Assignment Name property to ‘Chimney. Our example value ‘Model Element:Chimney:12345’ of course contains ‘Chimney’ and the value will be changed to ‘Chimney’
  3. Import the IFC model into Simplebim using the General Purpose model view
  4. Apply the template you just created
  5. In the Objects palette, right click on the ‘Building Element Proxy’ object class and select ‘Delete all Building Element Proxy Types’
  6. In the Properties palette select the ‘Layer Assignment Name’ property and drag & drop it on the ‘Building Element Proxy’ object class in the Objects palette. This will create new type objects based on the values of the dropped property. All objects with the same ‘Layer Assignment Name’ will be grouped under the same type object and the name of the type object is the value of the property.
  7. Export the model into a new IFC file

In the same project you can re-use the template you made and extend it when you encounter new Building Element Proxy type objects. In the next project chances are that you have to start with a new template.