buildingSMART Forums

Insulation in IFC 4



with IFC 2x3 I used to classify the insulation as “IfcCovering” with predefined type “INSULATION”.
Since in IFC 4 the predefined type / enumeration type “INSULATION” is depprecated how do you classify the Insulation?

  • still as IfcCovering, but with PT “USERDEFINED” or maybe
  • as IfcWall / IfcSlab (depending what kind of component it covers) with the PT “USERDEFINED”

or any other ideas?

Thank you!


Did you read the Ifc Version 4 final? Because in the current version 4x1 and 4x2 it is not deprecated any longer:


Please refer to the (current) newest version of the standard (IFC4 add2 TC1) here:


Thank you for your quick answers!

I checked up the IFC 4 final enumeration type and there it is deprecated…


@ugogreco you are looking at the IFC4 spec. This is not the most up to date specification (although I do notice that it does come up higher in search rankings, which can be a cause for confusion).

Look at @stefan.markic’s link, which links to IFC4 Add2 (addendum 2) which is the most up to date, where insulation is not deprecated.

1 Like

Okay, thank you!

as a subsequent question, how should the insulation (insulation under baseslab, ceiling insulation, facade insulation, etc.) be further subdivided, with a specially created attribute or by name / type?


My understanding is that there are a few approaches.

  1. You can set the IfcCoveringType.PredefinedType to USERDEFINED, and then set the inherited IfcCoveringType.ElementType to whatever you want.
  2. You can use element composition and combine it as part of an element assembly.
  3. You can use assignment to a spatial container to help describe it further.
  4. You can use a classification reference to further specify the type of insulation.

These may be overkill. Remember that your IfcCovering should have an isTypedBy relationship with an IfcCoveringType. So in one you can have IfcCoveringType.Name=INS01 and IfcCoveringType.Description="Underslab insulation", and in another you can have IfcCoveringType.Name=INS02 and IfcCoveringType.Description="Facade insulation".


Thank you Moult for the explanation and approaches!