IFC 4.3.x development

8.8.3.5 IfcBooleanResult

Change log

IFC4

additionswhere_rulesFirstOperandClosed
additionswhere_rulesSameDim
additionswhere_rulesSecondOperandClosed
deletionswhere_rulesWR1

IFC4X1

additionswhere_rulesFirstOperandClosed
additionswhere_rulesSecondOperandClosed
deletionswhere_rulesFirstOperandClosed
deletionswhere_rulesSecondOperandClosed

IFC4X2

additionswhere_rulesFirstOperandClosed
additionswhere_rulesSecondOperandClosed
deletionswhere_rulesFirstOperandClosed
deletionswhere_rulesSecondOperandClosed

IFC4X3_RC3

additionswhere_rulesFirstOperandClosed
additionswhere_rulesSecondOperandClosed
deletionswhere_rulesFirstOperandClosed
deletionswhere_rulesSecondOperandClosed

8.8.3.5.1 Semantic definitions at the entity

The IfcBooleanResult is the result of applying a Boolean operation to two operands being solids.

EXAMPLE  If the first operand is a block and the second operand is a solid cylinder of suitable dimensions and location, the boolean result produced with the difference operator would be a block with a circular hole.

NOTE  Definition according to ISO/CD 10303-42:1992
A Boolean result is the result of a regularized operation on two solids to create a new solid. Valid operations are regularized union, regularized intersection, and regularized difference. For purpose of Boolean operations, a solid is considered to be a regularized set of points. The final Boolean result depends upon the operation and the two operands. In the case of the difference operator the order of the operands is also significant. The operator can be either union, intersection or difference. The effect of these operators is described below: > * Union on two solids is the new solid that is the regularization of the set of all points that are in either the first operand or the second operand or in both. * Intersection on two solids is the new solid that is the regularization of the set of all points that are in both the first operand and the second operand. * The result of the difference operation on two solids is the regularization of the set of all points which are in the first operand, but not in the second operand.

NOTE  Corresponding STEP type boolean_result defined in ISO 10303-42.

HISTORY  New entity in IFC1.5.1.

8.8.3.5.1 Attributes

# Attribute Type Description
IfcRepresentationItem
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.
IfcGeometricRepresentationItem
IfcBooleanResult
1 Operator IfcBooleanOperator The Boolean operator used in the operation to create the result.
2 FirstOperand IfcBooleanOperand The first operand to be operated upon by the Boolean operation.
3 SecondOperand IfcBooleanOperand The second operand specified for the operation.
Dim INVALID The space dimensionality of this entity. It is identical with the space dimensionality of the first operand. A where rule ensures that both operands have the same space dimensionality.

8.8.3.5.2 Entity inheritance

dot_inheritance IfcBooleanClippingResult IfcBooleanClippingResult IfcBooleanResult IfcBooleanResult IfcBooleanClippingResult->IfcBooleanResult IfcGeometricRepresentationItem IfcGeometricRepresentationItem IfcBooleanResult->IfcGeometricRepresentationItem IfcGeometricRepresentationItem_children 24 more... IfcGeometricRepresentationItem_children->IfcGeometricRepresentationItem IfcRepresentationItem IfcRepresentationItem IfcGeometricRepresentationItem->IfcRepresentationItem IfcRepresentationItem_children 3 more... IfcRepresentationItem_children->IfcRepresentationItem

8.8.3.5.3 Formal representations

ENTITY IfcBooleanResult
 SUPERTYPE OF (ONEOF
	(IfcBooleanClippingResult))
 SUBTYPE OF (IfcGeometricRepresentationItem);
	Operator : IfcBooleanOperator;
	FirstOperand : IfcBooleanOperand;
	SecondOperand : IfcBooleanOperand;
 DERIVE
	 Dim : IfcDimensionCount := FirstOperand.Dim;
 WHERE
	SameDim : FirstOperand.Dim = SecondOperand.Dim;
	FirstOperandClosed : NOT('IFC4X3_DEV_a1492713.IFCTESSELLATEDFACESET' IN TYPEOF(FirstOperand)) OR (EXISTS(FirstOperand.Closed) AND FirstOperand.Closed);
	SecondOperandClosed : NOT('IFC4X3_DEV_a1492713.IFCTESSELLATEDFACESET' IN TYPEOF(SecondOperand)) OR (EXISTS(SecondOperand.Closed) AND SecondOperand.Closed);
END_ENTITY;