Defined in File Ifc4x1.h
IfcBuildingElementProxy: public Ifc4x1::IfcBuildingElement¶
Definition from IAI: The IfcBuildingElementProxy is a proxy definition that provides the same functionality as an IfcBuildingElement, but without having a predefined meaning of the special type of building element, it represents. Proxies can also be used as spatial place holders or provisions, that maybe later replaced by special types of elements. One use of the proxy object is a provision for voids, i.e. where a particular volume of space is requested by some engineering function that might later be accepted or rejected and if accepted potentially transformed into a void within a building element, like a wall opening, or a slab opening. The provision for voids is exchanged as an IfcBuildingElementProxy with the PredefinedType = ProvisionForVoid. Other usages of IfcBuildingElementProxy include:
The IfcBuildingElementProxy can be used to exchange special types of building elements for which the current IFC Release does not yet provide a semantic definition. The IfcBuildingElementProxy can also be used to represent building elements for which the participating applications can not provide additional semantic classification.
HISTORY New entity in IFC Release 2x. IFC2x4 CHANGE The attribute CompositionType has been replaced by PredefinedType, being a superset of the enumerators. Type Use Definition The IfcBuildingElementProxy defines the occuurence of any building element, common information about the types (or styles) is handled by IfcBuildingElementProxyType. The IfcBuildingElementProxyType (if present) may establish the common type name, usage (or predefined) type, common material, common set of properties and common shape representations (using IfcRepresentationMap). The IfcBuildingElementProxyType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.
NOTE The IfcBuildingElementProxyType can be used to share common information among many occurrences of the same proxy without establishing a particular semantic meaning of the type.
If no IfcBuildingElementProxyType is attached (i.e. if only occurrence information is given) the PredefinedType should be provided. If set to .USERDEFINED. a user defined value can be provided by the ObjectType attribute. Material Use Definition The material of the IfcBuildingElementProxy is defined by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Note It is illegal to assign an IfcMaterial to an IfcBuildingElementProxy with the PredefinedType = ProvisionForVoid. Material information can also be given at the IfcBuildingElementProxyType, defining the common attribute data for all occurrences of the same type.It is then accessible by the inverse IsTypedBy relationship pointing to IfcBuildingElementProxyType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterial. If both are given, then the material directly assigned to IfcBuildingElementProxy overrides the material assigned to IfcBuildingElementProxyType. Property Set Use Definition: The property sets relating to the IfcBuildingElementProxy are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcBuildingElementProxy are part of this IFC release:
Pset_BuildingElementProxyCommon: common property set for all occurrences of building element proxies. Pset_BuildingElementProxyProvisionForVoid: specific property set for all occurrences of building element proxy with the PredefinedType: PROVISIONFORVOID.
Property sets can also be given at the IfcBuildingElementProxyType, defining the common property data for all occurrences of the same type.It is then accessible by the inverse IsTypedBy relationship pointing to IfcBuildingElementProxyType.HasPropertySets. If both are given, then the properties directly assigned to IfcBuildingElementProxy overrides the properties assigned to IfcBuildingElementProxyType. Containment Use Definition The IfcBuildingElementProxy, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within anelement assembly.
The IfcBuildingElementProxy is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes ofIfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container. The IfcBuildingElementProxy may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcElementAssembly as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e.SELF\IfcElement.ContainedInStructure should be NIL.
Geometry Use Definition The geometric representation of IfcBuildingElementProxy is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are: Local Placement The local placement for any IfcBuildingElementProxy 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 can be given relativly.
The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement, which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that. If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Geometric Representation Currently, the ‘FootPrint’, ‘Body’, and ‘Box’ representations are supported. The ‘Box’ representation includes the representation type ‘BoundingBox’ and is explained at IfcBuildingElement. FootPrint Representation Any building element proxy may be represented by a geometric curve set, given by a collection of 2D points and curves. The foot pring geometric representation of IfcBuildingElementProxy is defined using the ‘FootPrint’ representation.
RepresentationIdentifier: ‘FootPrint’ RepresentationType: ‘GeometricCurveSet’, ‘Annotation2D’
Body Representation The body representation of IfcBuildingElementProxy can be represented using the representation types ‘GeometricSet’, ‘SweptSolid’, ‘CSG’ ‘SurfaceModel’, ‘Brep’, and ‘MappedRepresentation’. The representation types ‘SurfaceModel’, ‘Brep’, and ‘MappedRepresentation’ are explained at IfcBuildingElement. GeometricSet Representation Type Any building element proxy may be represented by a geometric set, given by a collection of 2D and 3D points, curves, and surfaces. It represents the body of the proxy object, when no topological structure is available. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier: ‘Body’ RepresentationType: ‘GeometricSet’
SweptSolid Representation Type Any building element proxy may be represented by swept solid geometry (either by extrusion or by revolution). The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier: ‘Body’ RepresentationType: ‘SweptSolid’
No further restrictions (e.g., for the profile or extrusion direction) are defined at this level. A single or multiple swept area solid(s) can be the Items of the IfcShapeRepresentation. CSG Representation Type Any building element proxy may be represented by a CSG primitive or CSG tree. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier: ‘Body’ RepresentationType: ‘CSG’
No further restrictions (e.g., for the depths of the CSG tree) are defined at this level.
Whether the optional attribute PredefinedType is defined for this IfcBuildingElementProxy.
IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value> v9_PredefinedType)¶