Defined in File Ifc4x3_rc1.h
IfcFeatureElementSubtraction: public Ifc4x3_rc1::IfcFeatureElement¶
The IfcFeatureElementSubtraction is specialization of the general feature element, that represents an existence dependent elements which modifies the shape and appearance of the associated master element. The IfcFeatureElementSubtraction offers the ability to handle shape modifiers as semantic objects within the IFC object model that subtract from the shape of the master element.
A single subtraction feature such as the subtype IfcOpeningElement is assigned by a single subtraction relationship IfcRelVoidsElement to one occurrences of IfcElement. It establishes a 1:1 relationship between the opening and the element. An element may have several IfcRelVoidsElement relationships, enabling several voids.
The voiding relationship between a master element and a subtraction feature is geometrically resolved by a Boolean difference operation.
HISTORY New entity in Release IFC2x Edition 2.
Containment use definition The IfcFeatureElementSubtraction shall have no independent containment relationship to the spatial structure. See explanation at supertype IfcFeatureElement Geometry Use Definitions The geometric representation of IfcFeatureElementSubtraction is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Local Placement The local placement for IfcFeatureElementSubtraction is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations. The local placement is always defined in relation to the local placement of the building element from which the feature element substration is substracted:
Shape Representation The geometry use definitions for the shape representation of the IfcFeatureElementSubtraction is given at the level of its subtypes.
IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)¶