ifcopenshell.api.cost.copy_cost_item_values

Module Contents

ifcopenshell.api.cost.copy_cost_item_values.copy_cost_item_values(file: ifcopenshell.file, source: ifcopenshell.entity_instance, destination: ifcopenshell.entity_instance) 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:
  • source (ifcopenshell.entity_instance) – The IfcCostItem to copy cost values from

  • destination (ifcopenshell.entity_instance) – The IfcCostItem to copy cost values from

Returns:

None

Return type:

None

Example:

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

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

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