How does a cost item know that it is counting a controlled product?

A cost item may be controlling zero or more products. If the purpose of the cost item is to quantify the units of that product (e.g. count how many products there are), then the CostQuantities attribute should include an IfcPhysicalQuantity that reflects the count.

There are two options:

  1. Put a IfcQuantityCount in the CostQuantities manually, and fill in the CountValue manually. The problem is that this is manual. The software does not know that this actually reflects counting a set of items.
  2. Assign a IfcPhysicalQuantity that is part of a IfcElementQuantity of all of the products controlled by the IfcCostItem. The problem is that no standard quantity set (i.e. Qto_*) contains any count values. It would always be set to 1.

Thoughts? How does a software know that a cost item is counting the product it controls?

This is a transitive dependency problem. It is endemic and sometimes not easily solved. In any data structure, there should be enough information to allow software to navigate the relationships between objects and resolve calculations like this but for this to happen, the relationships must be specific.

@PaulBurrows agreed. So are you aware of any relationships in the spec which describe this?

I’m not but like you, I’m very interested to find out if there is!