Class Ifc4x3_rc1::IfcConstructionProductResource

Nested Relationships

This class is a nested type of Struct Ifc4x3_rc1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x3_rc1::IfcConstructionProductResource : public Ifc4x3_rc1::IfcConstructionResource

IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction.

HISTORY: New Entity in IFC Release 2.0. Renamed from IfcProductResource in IFC 2x. Base type and documentation extended in IFC2x4.

Occurrences of IfcConstructionProductResource are usage of products to assist the process of construction. More specifically, they are usage of products that result from some construction processes and that are then used as resources to facilitate further construction. For instance, formworks can be instantiated as products resulting from the process ‘constructing formwork’. However, they are used as resources in the process ‘pouring concrete’ in a later stage of the project. IfcConstructionProductResource occurrences are explicitly instances of IfcProduct and may be drawn from various of the subtypes, for instance IfcElementComponent, IfcElementAssembly, IfcProxy (for particular cases where more precise usage details are not available). The product that is used as a construction resource is referenced using the IfcRelAssignsToResource.RelatedObjects relationship.

Use definitions for composition, assignment, constraints, time series, and baselines are described at the base type IfcConstructionResource.

Type use definition IfcConstructionProductResource defines the occurrence of any product resource; common information about product resource types is handled by IfcConstructionProductResourceType. The IfcConstructionProductResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcConstructionProductResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

Assignment use definition In addition to assignments specified at the base class IfcConstructionResource, a construction product resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 185. Such relationship indicates the products used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned products may have their own task and resource assignments.

Figure 185 — Construction product resource assignment

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcConstructionProductResource.

::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const

Defines types of construction product resources. IFC2x4 New attribute

void setPredefinedType(::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcConstructionProductResource(IfcEntityInstanceData *e)
IfcConstructionProductResource(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, boost::optional<std::string> v6_Identification, boost::optional<std::string> v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime *v8_Usage, boost::optional<IfcTemplatedEntityList<::Ifc4x3_rc1::IfcAppliedValue>::ptr> v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity *v10_BaseQuantity, boost::optional<::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value> v11_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()