Skip to content

Extract Elements from the IFC Model with IfcPatch

Extracting elements from the IFC model is both efficient and convenient when the number of elements that we we want to keep is resonably limited. It is also a an effective way to reduce the size of an IFC model that must be displayed on the screen.

IfcPatch is part of IfcOpenShell and let Extract elements

IfcPatch has many capabilities embodied in recipes. There is one called ExtractElements that let select the elements that we want to keep. For instance, we can give a list of Essential Elements with :

patch_arguments = ["IfcWall,IfcSlab,IfcBeam,IfcColumn,IfcWindow,IfcDoor,IfcSpace,IfcStair"] and get a corresponding IFC with the selected elements

BIMCollab display of Essential Elements of Duplex_A_20110907_optimized.ifc

BIMCollab display of 'Essential Elements' of Duplex_A_20110907_optimized.ifc

We can also focus on a specfic aspect as illustrated hereunder where we just extract Spaces and their Furnitures

patch_arguments = ["IfcSpace,IfcFurnishingElement"]

BIMCollab display of Spaces and Furnitures of Duplex_A_20110907_optimized.ifc

BIMCollab display of 'Spaces and Furnitures' of Duplex_A_20110907_optimized.ifc