Single and double-sided faces in surface models are determined by IfcSurfaceStyle.
Based on IFC2x3
Initiator ISG Meeting-Prague
Effects Extended Coordination View
Date 2008 02 26
For IfcShallBasedSurfaceModel's based on IfcOpenShell or IfcClosedShell the following agreement is made for distinguishing the display of surfaces as single-sided or double-sided:
* if no IfcSurfaceStyle is assigned to the IfcShallBasedSurfaceModel, or the included IfcOpenShell or IfcClosedShell, then the surfaces default to double sided surfaces for visualization,
* if an IfcSurfaceStyle is assigned to the IfcShallBasedSurfaceModel, or the included IfcOpenShell or IfcClosedShell, then the surfaces are treated according to the value of IfcSurfaceStyle.Side. Values being .POSITIVE. or .NEGATIVE. determine a single-sided surface, the value.BOTH. determines a double-sided surface.
- NOTE 1: for correct visualization of single-sided surfaces the face orientation is essential. Single-sided surfaces shall only be exported, if the sending system can ensure correct orientation of faces.
- NOTE 2: it is illegal to export surfaces of an IfcOpenShell or an IfcClosedShell twice, one for each orientation inside or outside.
For IfcFacetedBrep's the face orientation always has to point away from the solid. Therefore face normals have to be correct and consistent for all faces of the IfcFacetedBrep.
This implementer agreement extends and clarifies the agreement CV-2x3-135.