IFC 4.3.2.20250327 (IFC4X3_ADD2) under development

8.8.3.4 IfcBooleanClippingResult

AbV ⓘ

8.8.3.4.1 Semantic definition

A clipping result is defined as a special subtype of the general IfcBooleanResult. It constrains the operands and the operator of the Boolean result.

A clipping result is the Boolean difference between a swept solid and a half space solid, or between the result of the Boolean difference and a half space solid. Hence more than one difference operation can be applied to achieve the final Boolean result.

8.8.3.4.2 Entity inheritance

8.8.3.4.3 Attributes

# Attribute Type Description
IfcRepresentationItem (2)
Click to show 2 hidden inherited attributes
IfcBooleanResult (4)
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 IfcDimensionCount

This attribute is formally derived.

FirstOperand.Dim

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.

Table 8.8.3.4.A

8.8.3.4.4 Formal propositions

Name Description
FirstOperandType

The first operand of the Boolean clipping operation shall be either an IfcSweptAreaSolid or (in case of more than one clipping) an IfcBooleanResult.

('IFC4X3_DEV_738df036.IFCSWEPTAREASOLID' IN TYPEOF(FirstOperand)) OR
('IFC4X3_DEV_738df036.IFCSWEPTDISCSOLID' IN TYPEOF(FirstOperand)) OR
('IFC4X3_DEV_738df036.IFCBOOLEANCLIPPINGRESULT' IN TYPEOF(FirstOperand))
OperatorType

The Boolean operator for clipping is always "Difference".

Operator = DIFFERENCE
SecondOperandType

The second operand of the Boolean clipping operation shall be an IfcHalfSpaceSolid.

('IFC4X3_DEV_738df036.IFCHALFSPACESOLID' IN TYPEOF(SecondOperand))
Table 8.8.3.4.B

8.8.3.4.5 Formal representation

ENTITY IfcBooleanClippingResult
SUBTYPE OF (IfcBooleanResult);
WHERE
FirstOperandType : ('IFC4X3_DEV_738df036.IFCSWEPTAREASOLID' IN TYPEOF(FirstOperand)) OR
('IFC4X3_DEV_738df036.IFCSWEPTDISCSOLID' IN TYPEOF(FirstOperand)) OR
('IFC4X3_DEV_738df036.IFCBOOLEANCLIPPINGRESULT' IN TYPEOF(FirstOperand));
OperatorType : Operator = DIFFERENCE;
SecondOperandType : ('IFC4X3_DEV_738df036.IFCHALFSPACESOLID' IN TYPEOF(SecondOperand));
END_ENTITY;

8.8.3.4.6 References

Edit on Github


Is this page difficult to understand? Let us know!

8.8.3.4.7 Changelog

8.8.3.4.7.1 IFC4

  • where rule, FirstOperandType
  • where rule, OperatorType
  • where rule, SecondOperandType
  • where rule, WR1
  • where rule, WR2
  • where rule, WR3