Class Ifc2x3::IfcSubContractResource

Nested Relationships

This class is a nested type of Struct Ifc2x3.

Inheritance Relationships

Base Type

Class Documentation

class Ifc2x3::IfcSubContractResource : public Ifc2x3::IfcConstructionResource

IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor.

HISTORY: New Entity in IFC Release 2.0. Base type and documentation extended in IFC 2x4.

IFC2x4 CHANGE: The attribute SubContractor has been deleted; use IfcRelAssignsToResource to assign an IfcActor to fulfill the role as the subcontractor. The attribute JobDescription has been deleted; use LongDescription to describe the job.

An IfcSubContractResource can be used in cost estimating and work planning with or without specifying the subcontractor and contract agreement. The purpose of an IfcSubContractResource is to indicate work of a particular type that is that is to be engaged through the use of a sub-contract. It’s aim is to identify the description of the sub-contract work required. It can be used to identify the generic type of sub-contract resource that is required for a purpose without having to be specific about the actor (person or organization) providing the resource occurrence. It may be particularly useful when creating an overall plan for a process or processes. For instance, within maintenance or work planning there may be a known task that needs to be done which is planned to require an ‘insulation specialist’. A subcontract resource may be described at various stages and levels of detail through its assignments:

Subcontract resource designated for particular tasks Actors identified to request bids Cost schedules (bids) received from actors Project order (work order, change order, etc.) executed

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

Type use definition IfcSubContractResource defines the occurrence of any subcontract resource; common information about subcontract resource types is handled by IfcSubContractResourceType. The IfcSubContractResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcSubContractResourceType 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 subcontract resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcSubContractResource and RelatedObjects contains one or more IfcActor, IfcCostSchedule, and/or IfcWorkOrder objects as shown in Figure 195. An IfcActor indicates a specific organization to be considered to fulfill the resource or invited to bid on the resource. An IfcCostSchedule indicates a bid or price quote made on behalf of an organization. An IfcProjectOrder indicates a specific work order committed to fulfill the resource.

Figure 195 — Subcontract assignment use

Public Functions

bool hasSubContractor() const

Whether the optional attribute SubContractor is defined for this IfcSubContractResource.

::Ifc2x3::IfcActorSelect *SubContractor() const
void setSubContractor(::Ifc2x3::IfcActorSelect *v)
bool hasJobDescription() const

Whether the optional attribute JobDescription is defined for this IfcSubContractResource.

std::string JobDescription() const
void setJobDescription(std::string v)
const IfcParse::entity &declaration() const
IfcSubContractResource(IfcEntityInstanceData *e)
IfcSubContractResource(std::string v1_GlobalId, ::Ifc2x3::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_ResourceIdentifier, boost::optional<std::string> v7_ResourceGroup, boost::optional<::Ifc2x3::IfcResourceConsumptionEnum::Value> v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit *v9_BaseQuantity, ::Ifc2x3::IfcActorSelect *v10_SubContractor, boost::optional<std::string> v11_JobDescription)

Public Static Functions

const IfcParse::entity &Class()