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”
@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.
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.
You can set the IfcCoveringType.PredefinedType to USERDEFINED, and then set the inherited IfcCoveringType.ElementType to whatever you want.
You can use element composition and combine it as part of an element assembly.
You can use assignment to a spatial container to help describe it further.
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".