Assign Resource To Task
Overview
This functional part describes how construction resources are defined and how they are then assigned to tasks.
Within the IFC schema, a construction resource is considered to be something that is used to assist completion of a process or something that is consumed within a process. There are six separate subtypes of construction resource identified and these are:
- Construction Equipment Resource
Construction equipment represents resources that may be used to assist in the act of construction and that are wholly or partially occupied (i.e. used) in the performance of construction. Typically, it may be a resource such as a piece of machinery that is used in carrying out a particular process. It might be a piece of earth moving equipment used to form the site prior to construction or a pipe bending machine or special heavy duty drilling or piling equipment. The resource in this case may need to be specifically allocated to a task and, where a schedule time resource indicates start and finish times, the time for which the equipment is allocated may be known. - Construction Material Resource
A construction material resource represents a general resource that is made available for use on a project without necessarily being specific as to how it is used. However, when it is used for a task, some indication may need to be given as to approximately how much is used.
Care should be taken to distinguish the usage of construction material resources and occurrences of IfcMaterial. A construction material resource can have a material assigned. For instance, stone chippings may be a construction material resource but flint might be the material designation.
Care should also be taken in making a distinction between material and product resources. - Construction Product Resource
Generally, a construction product resource is a product that may have been constructed as part of the project work but whose primary purpose is to support, be used in or be consumed by a task. For instance, formwork used in concrete work may have been the subject of a prior task 'construct formwork. In the 'pour concrete' task, the formwork will then be used as a construction product to assist the shaping of the concrete and may be left in place or removed after completion of the task. - Crew Resource
A crew resource may be used as an aggregation of other resources into a single resource. For instance, it may be applied where an equipment resource is used in conjunction with specific labor and/or sub-contract resources. - Labor Resource
A labor resource may be used to identify a particular skill or craft capability that needs to be applied. In this sense, it may be considered to apply to multiple actors that may assist in the performance of a task. A labor resource is not the same thing as an actor although an actor may be considered as being able to fulfil the requirements of a required labor resource. - Sub-Contract Resource
Represents the requirement for sub-contracted resources (a sub-contractor being an organization with whom a contractual relationship is defined rather than defining the relationship with specific actors.
For each type of resource to be used, the following information may need to be determined:
? A name for the resource used.
? The identity of the resource which may be a code or article number used for the purposes of buying
? Specification of the resource type (carpenter, foreman, electrician etc.). This is equivalent to the use of actor role in relation to an actor.
? How the resource is used or consumed within a task
? The base quantity used for measuring the resource (if appropriate); this may also be identified using element quantities.
Once the resources have been defined, they can be assigned to the task in which they will be used or consumed.
Reference to a specific construction resource concept should be by declaring it as a parameter to the functional part e.g. fp_assign_construction_resource_to_tak (IfcLaborResource)
Results
- Construction resources are identified and assigned to the task in which they will be used.
Suggested modifications to IFC model and documentation
* IfcResourceConsumptionEnum has a USERDEFINED value. However, the attribute name is IfcConstructionResource.ResourceConsumption which does not have a specific pointer to an entity/attribute that can hold a user defined value. It is recommended that an optional attribute 'UserDefinedResourceConsumption' is added.
| Description | Entity/Pset/Functional Part | MAN | REC | OPT |
|---|---|---|---|---|
| For all construction resources, general attributes should be asserted In the description below, the entity is shown as_IfcConstructionResource[subtype]. For normal usage, this should be replaced with the actual entity being used e.g. IfcConstructionEquuipmentResource. |
||||
Assert the identity of the construction resource |
IfcConstructionResource[subtype].GlobalId::IfcGloballyUniqueId | |
||
Assert the owner history of the construction resource |
IfcConstructionResource[subtype].OwnerHistory::fp_apply_owner_history | |
||
Specify a name of the construction resource This should be a generally useful name in human identification of the type and specific reference for the resource e.g. screwing machine #3. |
IfcConstructionResource[subtype].Name::IfcLabel | |
||
Specify a description of the construction resource. A description should be asserted to give as much information as possible about the object in question. |
IfcConstructionResource[subtype].Description::IfcLabel | |
||
Specify the object type for the resource |
IfcConstructionResource[subtype].ObjectType::IfcLabel | |
||
| Concept of Construction Equipment Resource. Subtype is IfcConstructionEquipmentResource |
||||
Identify the construction resource Identification may be in the form of a code or ID used as a general indicator for ordering or buying purposes. This may be an article number, RFID tag etc. For a construction equipment resource, it is anticipated that the identification will be in the form of a suppliers marking or RFID tag. |
IfcConstructionEquipmentResource. ResourceIdentifier::IfcIdentifier | |
||
Identify the resource group For construction equipment, this value may be plant hire, rental or some other form of grouping reference. |
IfcConstructionEquipmentResource.ResourceGroup::IfcLabel | |
||
Identify the resource consumption. This should be selected from the predefined enumeration list which includes *CONSUMED *PARTIALLYCONSUMED *NOTCONSUMED *OCCUPIED *PARTIALLYOCCUPIED *NOTOCCUPIED *USERDEFINED *NOTDEFINED_ For equipment, the values OCCUPIED, PARTIALLYOCCUPIED or NOTOCCUPIED should b e used. Consumption values should not be used |
IfcConstructionEquipmentResource. ResourceConsumption::IfcResourceConsumptionEnum | |
||
| Set the base quantity _This is the default, or recommended unit that should be used for measuring the volume (or amount) of the resource and the basic quantity of the resource fully or partially consumed. Generally, for equipment, the base quantity may be omitted as equipment will be measured in'counted' units._ |
IfcConstructionEquipmentResource.BaseQuantity::fp_measure_with_unit | |
||
| Concept of Construction Material Resource. Subtype is IfcConstructionMaterialResource |
||||
Identify the construction resource Identification is expected to be in the form of an article number or buying code for a material resource. |
IfcConstructionMaterialResource.ResourceIdentifier::IfcIdentifier | |
||
Identify the resource group For construction material, this value may be sand, gravel etc. |
IfcConstructionMaterialResource.ResourceGroup::IfcLabel | |
||
Identify the resource consumption. _*See predefined list above For material, the values CONSUMED, PARTIALLY CONSUMED or NOTCONSUMED should b e used. Occupied values should not be used |
IfcConstructionMaterialResource. ResourceConsumption::IfcResourceConsumptionEnum | |
||
Set the base quantity |
IfcConstructionMaterialResource.BaseQuantity::fp_measure_with_unit | |
||
| Concept of Construction Product Resource. Subtype is IfcConstructionProductResource |
||||
|
IfcConstructionProductResource.ResourceIdentifier::IfcIdentifier | |
||
|
IfcConstructionProductResource.ResourceGroup::IfcLabel | |
||
|
IfcConstructionProductResource.ResourceConsumption::IfcResourceConsumptionEnum | |||
|
IfcConstructionProductResource.BaseQuantity::fp_measure_with_unit | |
||
| Concept of Labor Resource. Subtype is IfcLaborResource |
||||
Identify the construction resource Identification may be in the form of a reference number used for human resource, payroll or social security purposes. |
IfcLaborResource.ResourceIdentifier::IfcIdentifier | |
||
Identify the resource group For a labor resource, this value may be equivalent to a personal role (but applied in general terms)such as carpenter, foreman, electrician etc |
IfcLaborResource.ResourceGroup::IfcLabel | |
||
Identify the resource consumption. |
IfcLaborResource.ResourceConsumption::IfcResourceConsumptionEnum | |
||
Set the base quantity _This is the default, or recommended unit that should be used for measuring the volume (or amount) of the resource and the basic quantity of the resource fully or partially consumed. Generally, for labor, the base quantity may be omitted._ |
IfcLaborResource.BaseQuantity::fp_measure_with_unit | |
||
Specify the skillset _This provides an indication of the skill por craft possessed by the labor resource and which may be used to determine the potential to perform a particular task which is otherwise constraint in terms of the skills required. _ |
IfcLaborResource.Skillset:: | |
||
| Concept of Subcontract Resource. Subtype is IfcSubcontractResource |
||||
|
IfcSubcontractResource.ResourceIdentifier::IfcIdentifier | |||
|
IfcSubcontractResource.ResourceGroup::IfcLabel | |||
|
IfcSubcontractResource.ResourceConsumption::IfcResourceConsumptionEnum | |||
|
IfcSubcontractResource.BaseQuantity::fp_measure_with_unit | |||
|
IfcSubcontractResource.SubContractor::fp_select_actor | |||
|
IfcSubcontractResource.JobDescription::IfcText | |||
| Concept of Crew Resource. Subtype is IfcCrewResource |
||||
|
IfcCrewResource.ResourceIdentifier::IfcIdentifier | |||
|
IfcCrewResource.ResourceGroup::IfcLabel | |||
|
IfcCrewResource.ResourceConsumption::IfcResourceConsumptionEnum | |||
|
IfcCrewResource.BaseQuantity::fp_measure_with_unit | |||
|
fp_aggregates | |||
| Specify the task to which the construction resource(s) are to be assigned Note that details of the attribute settings for tasks is given in other functional parts notably fp_control_maintenance_plan and fp_control_maintenance_schedule. Specific information on setting of attributes is not given in this functional part |
IfcRelAssignsToProcess.RelatingProcess::IfcTask | |||
|
IfcRelAssignsToProcess.RelatedObjects::IfcConstructionResource | |||
|
IfcRelAssignsToProcess.QuantityInProcessIfcMeasureWithUnit | X | X | X |
|
IfcRelAssignsToProcess.GlobalId::IfcGloballyUniqueId | |||
|
IfcRelAssignsToProcess.OwnerHistory::fp_apply_owner_history | |||
|
IfcRelAssignsToProcess.Name::IfcLabel | |||
|
IfcRelAssignsToProcess.Description::IfcLabel |
IFC Entities Required
? IfcConstructionResource
? IfcConstructionEquipmentResource
? IfcConstructionMaterialResource
? IfcConstructionProductResource
? IfcCrewResource
? IfcLaborResource
? IfcObject
? IfcObjectDefinition
? IfcProcess
? IfcRelationship
? IfcRelAssigns
? IfcRelAssignsToProcess
? IfcResource
? IfcRoot
? IfcSubcontractResource
? IfcTask
IFC Datatypes Required
? IfcGloballyUniqueId
? IfcIdentifier
? IfcLabel
? IfcObjectTypeEnum
? IfcRatioMeasure
? IfcResourceConsumptionEnum
? IfcText
IFC Functions Required
? -
IFC Property Sets Required
? -
IDM Functional Parts Required
? fp_aggregates
? fp_apply_owner_history
? fp_define_by_properties
? fp_measure_with_unit
? fp_select_actor
EXPRESS-G
EXPRESS Schema
SCHEMA FP_ASSIGN_CONSTRUCTION_RESOURCE_TO_TASK;
TYPE IfcGloballyUniqueId = STRING (22) FIXED;
END_TYPE;
TYPE IfcIdentifier = STRING;
END_TYPE;
TYPE IfcLabel = STRING;
END_TYPE;
TYPE IfcRatioMeasure = REAL;
END_TYPE;
TYPE IfcText = STRING;
END_TYPE;
TYPE IfcObjectTypeEnum = ENUMERATION OF
(PRODUCT,
PROCESS,
CONTROL,
RESOURCE,
ACTOR,
GROUP,
PROJECT,
NOTDEFINED);
END_TYPE;
TYPE IfcResourceConsumptionEnum = ENUMERATION OF
(CONSUMED,
PARTIALLYCONSUMED,
NOTCONSUMED,
OCCUPIED,
PARTIALLYOCCUPIED,
NOTOCCUPIED,
USERDEFINED,
NOTDEFINED);
END_TYPE;
ENTITY IfcObject
ABSTRACT SUPERTYPE OF (ONEOF(IfcProcess, IfcResource))
SUBTYPE OF(IfcObjectDefinition);
ObjectType : OPTIONAL IfcLabel;
WHERE
WR1 : SIZEOF(QUERY(temp <* IsDefinedBy | 'IFC2X2_FINAL.IFCRELDEFINESBYTYPE' IN TYPEOF(temp))) <= 1;
END_ENTITY;
ENTITY IfcRoot
ABSTRACT SUPERTYPE OF (ONEOF(IfcRelationship, IfcObjectDefinition));
GlobalId : IfcGloballyUniqueId;
Name : OPTIONAL IfcLabel;
Description : OPTIONAL IfcText;
OwnerHistory : fp_apply_owner_history;
UNIQUE
UR1 : GlobalId;
END_ENTITY;
ENTITY IfcRelationship
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcRoot);
END_ENTITY;
ENTITY IfcRelAssigns
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcRelationship);
RelatedObjects : SET [1:?] OF IfcObject;
RelatedObjectsType : OPTIONAL IfcObjectTypeEnum;
WHERE
WR1 : IfcCorrectObjectAssignment(RelatedObjectsType, RelatedObjects);
END_ENTITY;
ENTITY IfcProcess
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcObject);
END_ENTITY;
ENTITY IfcTask
SUBTYPE OF(IfcProcess);
TaskId : IfcIdentifier;
Status : OPTIONAL IfcLabel;
WorkMethod : OPTIONAL IfcLabel;
IsMilestone : BOOLEAN;
Priority : OPTIONAL INTEGER;
WHERE
WR1 : SIZEOF(QUERY(temp <* SELF\IfcObject.Decomposes | NOT('IFC2X2_FINAL.IFCRELNESTS' IN TYPEOF(temp)))) = 0;
WR2 : SIZEOF(QUERY(temp <* SELF\IfcObject.IsDecomposedBy | NOT('IFC2X2_FINAL.IFCRELNESTS' IN TYPEOF(temp)))) = 0;
WR3 : EXISTS(SELF\IfcRoot.Name);
END_ENTITY;
ENTITY IfcResource
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcObject);
END_ENTITY;
ENTITY IfcConstructionResource
ABSTRACT SUPERTYPE OF (ONEOF(IfcConstructionEquipmentResource, IfcConstructionMaterialResource, IfcConstructionProductResource, IfcCrewResource, IfcLaborResource, IfcSubContractResource))
SUBTYPE OF(IfcResource);
ResourceIdentifier : OPTIONAL IfcIdentifier;
ResourceGroup : OPTIONAL IfcLabel;
ResourceConsumption : OPTIONAL IfcResourceConsumptionEnum;
BaseQuantity : fp_measure_with_unit;
END_ENTITY;
ENTITY IfcConstructionEquipmentResource
SUBTYPE OF(IfcConstructionResource);
END_ENTITY;
ENTITY IfcConstructionMaterialResource
SUBTYPE OF(IfcConstructionResource);
UsageRatio : OPTIONAL IfcRatioMeasure;
Suppliers : OPTIONAL SET [1:?] OF fp_select_actor;
WHERE
WR1 : SIZEOF(SELF\IfcResource.ResourceOf) <=1;
WR2 : NOT(EXISTS(SELF\IfcResource.ResourceOf[1])) OR
(SELF\IfcResource.ResourceOf[1].RelatedObjectsType = IfcObjectTypeEnum.PRODUCT);
END_ENTITY;
ENTITY IfcConstructionProductResource
SUBTYPE OF(IfcConstructionResource);
WHERE
WR1 : SIZEOF(SELF\IfcResource.ResourceOf) <=1;
WR2 : NOT(EXISTS(SELF\IfcResource.ResourceOf[1])) OR
(SELF\IfcResource.ResourceOf[1].RelatedObjectsType = IfcObjectTypeEnum.PRODUCT);
END_ENTITY;
ENTITY IfcCrewResource
SUBTYPE OF(IfcConstructionResource);
END_ENTITY;
ENTITY IfcLaborResource
SUBTYPE OF(IfcConstructionResource);
SkillSet : OPTIONAL IfcText;
END_ENTITY;
ENTITY IfcSubContractResource
SUBTYPE OF(IfcConstructionResource);
JobDescription : OPTIONAL IfcText;
SubContractor : OPTIONAL fp_select_actor;
END_ENTITY;
ENTITY IfcRelAssignsToProcess
SUBTYPE OF(IfcRelAssigns);
RelatingProcess : IfcProcess;
QuantityInProcess : fp_measure_with_unit;
WHERE
WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingProcess :=: Temp)) = 0;
END_ENTITY;
ENTITY IfcObjectDefinition
SUBTYPE OF(IfcRoot);
INVERSE
HasAssignments : SET OF IfcRelAssigns FOR RelatedObjects;
END_ENTITY;
ENTITY fp_aggregates;
END_ENTITY;
ENTITY fp_apply_owner_history;
END_ENTITY;
ENTITY fp_define_by_properties;
END_ENTITY;
ENTITY fp_measure_with_unit;
END_ENTITY;
ENTITY fp_select_actor;
END_ENTITY;
END_SCHEMA;