Halbraum  eingeschränkter Gültigkeitsbereich  
Polygonal Bounded Half Space 
Item  SPF  XML  Change  Description 

4.0.1.0  
IfcPolygonalBoundedHalfSpace  
AgreementFlag  MODIFIED  Type changed from BOOLEAN to IfcBoolean. 
The polygonal bounded half space is a special subtype of a half space solid, where the material of the half space used in Boolean expressions is bounded by a polygonal boundary. The base surface of the half space is positioned by its normal relative to the object coordinate system (as defined at the supertype IfcHalfSpaceSolid), and its polygonal (with or without arc segments) boundary is defined in the XY plane of the position coordinate system established by the Position attribute, the subtraction body is extruded perpendicular to the XY plane of the position coordinate system, that is, into the direction of the positive Z axis defined by the Position attribute.
The boundary is defined by a 2 dimensional polyline (or 2 dimensional composite curve, consisting of straight segments and circular arc segments) within the XY plane of the position coordinate system. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into.
NOTE A polygonal bounded half space is not a subtype of IfcSolidModel, half space solids are only useful as operands in Boolean expressions.
Figure 360 illustrates a polygonal bounded half space.


Figure 360 — Polygonal half space geometry 
The polygonal bounded half space is used to limit the volume of the half space in Boolean difference expressions. Only the part that is defined by a theoretical intersection between the half space solid and an extruded area solid, defined by extruding the polygonal boundary, is used for Boolean expressions.
The PolygonalBoundary defines the 2D polyline which bounds the effectiveness of the half space in Boolean expressions. The BaseSurface is defined by a plane, and the normal of the plane together with the AgreementFlag defines the side of the material of the half space.
HISTORY New entity in IFC2x.
Informal Propositions:
#  Attribute  Type  Cardinality  Description  G 

3  Position  IfcAxis2Placement3D 
Definition of the position coordinate system for the bounding polyline  X  
4  PolygonalBoundary  IfcBoundedCurve 
Twodimensional IFC2x3 CHANGE The attribute type has been changed from IfcPolyline to its supertype IfcBoundedCurve with upward compatibility for file based exchange.  X 
Rule  Description 

BoundaryDim  The bounding polyline should have the dimensionality of 2. 
BoundaryType  Only bounded curves of type IfcCompositeCurve, or IfcPolyline are valid boundaries. 
#  Attribute  Type  Cardinality  Description  G 

IfcRepresentationItem  
LayerAssignment  IfcPresentationLayerAssignment @AssignedItems  S[0:1]  Assignment of the representation item to a single or multiple layer(s). The LayerAssignments can override a LayerAssignments of the IfcRepresentation it is used within the list of Items.
IFC2x3 CHANGE The inverse attribute LayerAssignments has been added. IFC4 CHANGE The inverse attribute LayerAssignment has been restricted to max 1. Upward compatibility for file based exchange is guaranteed.  X  
StyledByItem  IfcStyledItem @Item  S[0:1]  Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve.
IFC2x3 CHANGE The inverse attribute StyledByItem has been added.  X  
IfcGeometricRepresentationItem  
IfcHalfSpaceSolid  
1  BaseSurface  IfcSurface  Surface defining side of half space.  X  
2  AgreementFlag  IfcBoolean  The agreement flag is TRUE if the normal to the BaseSurface points away from the material of the IfcHalfSpaceSolid. Otherwise it is FALSE.  X  
Dim :=3  IfcDimensionCount  The space dimensionality of this class, it is always 3  X  
IfcPolygonalBoundedHalfSpace  
3  Position  IfcAxis2Placement3D 
Definition of the position coordinate system for the bounding polyline  X  
4  PolygonalBoundary  IfcBoundedCurve 
Twodimensional IFC2x3 CHANGE The attribute type has been changed from IfcPolyline to its supertype IfcBoundedCurve with upward compatibility for file based exchange.  X 
<xs:element name="IfcPolygonalBoundedHalfSpace" type="ifc:IfcPolygonalBoundedHalfSpace" substitutionGroup="ifc:IfcHalfSpaceSolid" nillable="true"/>
<xs:complexType name="IfcPolygonalBoundedHalfSpace">
<xs:complexContent>
<xs:extension base="ifc:IfcHalfSpaceSolid">
<xs:sequence>
<xs:element name="Position" type="ifc:IfcAxis2Placement3D" nillable="true"/>
<xs:element name="PolygonalBoundary" type="ifc:IfcBoundedCurve" nillable="true"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ENTITY IfcPolygonalBoundedHalfSpace
SUBTYPE OF (IfcHalfSpaceSolid);
Position : IfcAxis2Placement3D;
PolygonalBoundary : IfcBoundedCurve;
WHERE
BoundaryDim : PolygonalBoundary.Dim = 2;
BoundaryType : SIZEOF(TYPEOF(PolygonalBoundary) * [
'IFCGEOMETRYRESOURCE.IfcPolyline',
'IFCGEOMETRYRESOURCE.IfcCompositeCurve']
) = 1;
END_ENTITY;