Eingerahmter Halbraum | |
Boxed Half Space |
Item | SPF | XML | Change | Description | IFC4 Addendum 1 |
---|---|---|---|---|
IfcBoxedHalfSpace | ||||
AgreementFlag | MODIFIED | Type changed from BOOLEAN to IfcBoolean. |
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 310 below.
Figure 310 — Boxed half space operands |
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).
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 311 shows the Enclosure box being sufficiently large to fully enclose the Boolean result. | |
Figure 311 — 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.
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
3 | Enclosure | IfcBoundingBox | [1:1] | The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. | X |
Rule | Description |
---|---|
UnboundedSurface | The BaseSurface defining the half space shall not be a bounded surface. |
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
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. | 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. | X | |
IfcGeometricRepresentationItem | |||||
IfcHalfSpaceSolid | |||||
1 | BaseSurface | IfcSurface | [1:1] | Surface defining side of half space. | X |
2 | AgreementFlag | IfcBoolean | [1:1] | 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 | [1:1] | The space dimensionality of this class, it is always 3 | X | |
IfcBoxedHalfSpace | |||||
3 | Enclosure | IfcBoundingBox | [1:1] | The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. | X |
<xs:element name="IfcBoxedHalfSpace" type="ifc:IfcBoxedHalfSpace" substitutionGroup="ifc:IfcHalfSpaceSolid" nillable="true"/>
<xs:complexType name="IfcBoxedHalfSpace">
<xs:complexContent>
<xs:extension base="ifc:IfcHalfSpaceSolid">
<xs:sequence>
<xs:element name="Enclosure" type="ifc:IfcBoundingBox" nillable="true"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ENTITY IfcBoxedHalfSpace
SUBTYPE OF (IfcHalfSpaceSolid);
Enclosure : IfcBoundingBox;
WHERE
UnboundedSurface : NOT ('IFCGEOMETRYRESOURCE.IFCCURVEBOUNDEDPLANE' IN TYPEOF(SELF\IfcHalfSpaceSolid.BaseSurface));
END_ENTITY;