IFCELEMENTASSEMLBY and openings

From our software (CADMATIC Building) is it possible to export walls to the IFC model two different ways.

First one is where wall is represented as single IFCWALLSTANDARDCASE object and each material layers are connected to the wall through IFCRELASSOCIATESMATERIAL → IFCMATERIALLAYERSETUSAGE → IFCMATERIALLAYERSET → IFCMATERLAYER and possible openings are connected to the wall through IFCRELVOIDSELEMENT → IFCOPENINGELE-MENT.

But sometimes could be more informative if each of wall’s material layers are represent-ed as separate IFCWALLSTANDARDCASE objects and these objects are combined into one IFCELEMENTASSEMBLY. On this case openings are connected to IFCELEMENTASSEMBLY, but it seems that some of IFC viewers cannot handle this kind of situation and walls with openings are visualized without any openings. For an example Solibri can handle both cases but Trimble Connect cannot (Trimle connect visualize only first case correctly).

Is it somehow “illegal” to connect openings to IFCELEMENTASSEMBLY?

For certain element types, decomposing them into elements is quite well supported and recommended e.g Stair, Roof and also Wall(ElementedCase - deprecated, should just be IfcWall) See the template below and their relevant entities.

http://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/concepts/Object_Composition/Aggregation/Element_Decomposition/content.html

What I would recommend in your 2nd case is a IfcWall with a collection of IfcBuildingElementParts and associate the IfcOpening to the IfcWall. From my experience that is widely supported.

There’s actually a dedicated section of the docs describing how to cut out voids in an assembly using IfcVoidingFeature specifically about walls. http://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWall.htm#Figure-6.1.3.41.K-How-individual-parts-being-cut-may-be-expressed.

The element decomposition usage of a wall might also be useful: http://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWall.htm#Figure-6.1.3.41.J-A-wall-decomposed-into-parts.

Do vendors support it? Not sure :slight_smile: