ifcopenshell.api.resource.add_resource_time#

Module Contents#

class ifcopenshell.api.resource.add_resource_time.Usecase(file, resource=None)#

Adds the time that a resource is used for

For labour and equipment resources, the total duration that the resource is used for may be stored. This may either be input manually or calculated parametrically. This is known as the resource time, and may be used to calculate other parameters like resource utilisation.

Parameters

resource (ifcopenshell.entity_instance.entity_instance) – The IfcConstructionResource to record time for.

Returns

The newly created IfcResourceTime

Return type

ifcopenshell.entity_instance.entity_instance

Example:

# Add our own crew
crew = ifcopenshell.api.run("resource.add_resource", model, ifc_class="IfcCrewResource")

# Add some labour to our crew.
labour = ifcopenshell.api.run("resource.add_resource", model,
    parent_resource=crew, ifc_class="IfcLaborResource")

# Labour resource is quantified in terms of time.
quantity = ifcopenshell.api.run("resource.add_resource_quantity", model,
    resource=labour, ifc_class="IfcQuantityTime")

# Store the unit time used in hours
ifcopenshell.api.run("resource.edit_resource_quantity", model,
    physical_quantity=quantity, attributes={"TimeValue": 8.0})

# Let's imagine we've used the resource for 2 days.
time = ifcopenshell.api.run("resource.add_resource_time", model, resource=labour)
ifcopenshell.api.run("resource.edit_resource_time", model,
    resource_time=time, attributes={"ScheduleWork": "PT16H"})
execute(self)#