ifcopenshell.api.cost.copy_cost_item_values#

Module Contents#

class ifcopenshell.api.cost.copy_cost_item_values.Usecase(file, source=None, destination=None)#

Copies all cost values from one cost item to another

Any previously existing values will be removed. The entire value is copied, including all components and formulas. However they are not parametrically linked, so if one value changes, the other will not.

Parameters
Returns

None

Return type

None

Example:

# Assume we have a schedule with multiple items in it
schedule = ifcopenshell.api.run("cost.add_cost_schedule", model)
item1 = ifcopenshell.api.run("cost.add_cost_item", model, cost_schedule=schedule)
item2 = ifcopenshell.api.run("cost.add_cost_item", model, cost_schedule=schedule)

# One of the items has a value
value = ifcopenshell.api.run("cost.add_cost_value", model, parent=item)
ifcopenshell.api.run("cost.edit_cost_value", model, cost_value=value,
    attributes={"AppliedValue": 5000.0})

# Let's copy the value from one item to another
ifcopenshell.api.run("cost.copy_cost_item_values", model, source=item1, destination=item2)
execute(self)#