IFC 4.3.x development IfcBoxedHalfSpace

Change log








deletionswhere_rulesUnboundedSurface Semantic definitions at the entity

The IfcBoxedHalfSpace is used (as its supertype IfcHalfSpaceSolid) only within Boolean operations. It divides the domain into exactly two subsets, where the domain in question is that of the attribute Enclosure.

The purpose of the attribute Enclosure is to provide a search box for the other operand in the Boolean operation. It shall be sufficiently large to fully enclose the resulting solid after the Boolean operation with the half space. It however does not alter the final result. The result of the Boolean operation would be the same, as if executed by the supertype IfcHalfSpaceSolid. See Figure 1 below.

"correct use of enclosure"

The IfcBoundingBox that provides the enclosure is given for the convenience of the receiving application to enable the use of size box comparison for efficiency (for example, to check first whether size boxes intersect, if not no calculations has to be done to check whether the solids of the entities intersect).

boxed half space The Enclosure therefore helps to prevent dealing with infinite-size related issues. The enclosure box is positioned within the object coordinate system, established by the ObjectPlacement of the element represented (for example, by IfcLocalPlacement). Figure 2 shows the Enclosure box being sufficiently large to fully enclose the Boolean result.

Figure 2 — Boxed half space geometry



NOTE  Definition according to ISO/CD 10303-42:1992
This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system.
The purpose of the box is to facilitate CSG computations by producing a solid of finite size.

NOTE  Entity adapted from boxed_half_space defined in ISO 10303-42.

HISTORY  New entity in IFC1.5.1

IFC4 CHANGE  Usage correct, position coordinate system for Enclosure is the object coordinate system. Attributes

# Attribute Type Description
LayerAssignmentSET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItemsAssignment 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.
StyledByItem SET [0:1] OF IfcStyledItem FOR Item 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.
1 BaseSurface IfcSurface Surface defining side of half space.
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.
Dim INVALID The space dimensionality of this class, it is always 3
3 Enclosure IfcBoundingBox The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. Entity inheritance

dot_inheritance IfcBoxedHalfSpace IfcBoxedHalfSpace IfcHalfSpaceSolid IfcHalfSpaceSolid IfcBoxedHalfSpace->IfcHalfSpaceSolid IfcPolygonalBoundedHalfSpace IfcPolygonalBoundedHalfSpace IfcPolygonalBoundedHalfSpace->IfcHalfSpaceSolid IfcGeometricRepresentationItem IfcGeometricRepresentationItem IfcHalfSpaceSolid->IfcGeometricRepresentationItem IfcGeometricRepresentationItem_children 24 more... IfcGeometricRepresentationItem_children->IfcGeometricRepresentationItem IfcRepresentationItem IfcRepresentationItem IfcGeometricRepresentationItem->IfcRepresentationItem IfcRepresentationItem_children 3 more... IfcRepresentationItem_children->IfcRepresentationItem Formal representations

ENTITY IfcBoxedHalfSpace
 SUBTYPE OF (IfcHalfSpaceSolid);
	Enclosure : IfcBoundingBox;
	UnboundedSurface : NOT ('IFC4X3_DEV_a1492713.IFCCURVEBOUNDEDPLANE' IN TYPEOF(SELF\IfcHalfSpaceSolid.BaseSurface));