Latest revision |
Your text |
Line 3: |
Line 3: |
| * IfcCostSchedule | | * IfcCostSchedule |
| * IfcCostItem | | * IfcCostItem |
− | * IfcCostValue
| |
| | | |
| == A cost schedule can exist == | | == A cost schedule can exist == |
Line 100: |
Line 99: |
| | | |
| Source: IfcCostSchedule | | Source: IfcCostSchedule |
− |
| |
− | == A cost schedule may contain cost items ==
| |
− |
| |
− | <!--
| |
− | digraph {
| |
− | node [ shape=rect, color="lightblue" ];
| |
− | edge [ fontsize=10 ];
| |
− | IfcRelAssignsToControl -> IfcCostSchedule [ label="RelatingControl" ];
| |
− | IfcRelAssignsToControl -> IfcCostItem [ label="RelatedObjects" ];
| |
− | IfcRelAssignsToControl [color="pink"]
| |
− | }
| |
− | -->
| |
− |
| |
− | [[File:Ifc-concept-cost-costschedule-costitem.png]]
| |
− |
| |
− | Cost schedules can contain a single summary cost item. An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. This summary cost item may then be broken down further into more cost items, but only one summary cost item is allowed.
| |
− |
| |
− | Source: IfcCostSchedule
| |
− |
| |
− | == A cost item may be assigned a classification reference ==
| |
− |
| |
− | <!--
| |
− | digraph {
| |
− | node [ shape=rect, color=lightblue ];
| |
− | edge [ fontsize=10 ];
| |
− | IfcRelAssociatesClassification [color=pink]
| |
− | IfcRelAssociatesClassification -> IfcCostItem [ label="RelatedObjects" ];
| |
− | IfcRelAssociatesClassification -> IfcClassificationReference [ label="RelatingClassification" ];
| |
− | }
| |
− | -->
| |
− |
| |
− | [[File:Ifc-concept-cost-costitem-classification.png]]
| |
− |
| |
− | Cost items may relate to an external classification system, where a variety of identification codes are used extensively to identify the meaning of the cost. Examples include project phase codes, CSI codes, takeoff sequence numbers, and cost accounts.
| |
− |
| |
− | Source: IfcCostItem
| |
− |
| |
− | == A cost item may nest cost items ==
| |
− |
| |
− | <!--
| |
− | digraph {
| |
− | node [ shape=rect, color=lightblue ];
| |
− | edge [ fontsize=10 ];
| |
− |
| |
− | IfcRelNests [color=pink]
| |
− | IfcRelNests -> IfcCostItem [label="RelatingObject"]
| |
− | IfcRelNests -> subitem [label="RelatedObjects"]
| |
− | subitem [label="IfcCostItem"]
| |
− | }
| |
− | -->
| |
− |
| |
− | [[File:Ifc-concept-cost-costitem-nest.png]]
| |
− |
| |
− | A cost item may have cost items nested within it, typically forming the hierarchy or breakdown of a cost schedule.
| |
− |
| |
− | Source: IfcCostItem
| |
− |
| |
− | == A cost item may include arbitrary quantities ==
| |
− |
| |
− | <!--
| |
− | digraph {
| |
− | node [ shape=rect, color="lightblue" ];
| |
− | edge [ fontsize=10 ];
| |
− | IfcCostItem -> IfcQuantityVolume [ label="CostQuantities[0]" ];
| |
− | IfcCostItem -> IfcQuantityVolume2 [ label="CostQuantities[1]" ];
| |
− | IfcQuantityVolume2 [label="IfcQuantityVolume"]
| |
− | IfcQuantityVolume -> 3 [label="VolumeValue"]
| |
− | IfcQuantityVolume2 -> 2 [label="VolumeValue"]
| |
− | 3 [shape=ellipse]
| |
− | 2 [shape=ellipse]
| |
− | }
| |
− | -->
| |
− |
| |
− | [[File:Ifc-concept-cost-costitem-costquantity.png]]
| |
− |
| |
− | A cost item may specify arbitrary quantities. These quantities are not linked to model elements. If multiple quantities are included for a single cost item, each individual quantity is a component which may be summed together to derive the total quantity. For example, this cost item has two components: one with volume of 3m2, another of 2m2. The total quantity is 3 + 2 = 5. All quantities must match the same measurement type (e.g. volume, area, count, etc).
| |
− |
| |
− | Source: IfcCostItem
| |
− |
| |
− | == A cost item may have a total monetary cost value ==
| |
− |
| |
− | <!--
| |
− | digraph {
| |
− | node [ shape=rect, color="lightblue" ];
| |
− | edge [ fontsize=10 ];
| |
− | IfcCostItem -> IfcCostValue [ label="CostValues" ];
| |
− | }
| |
− | -->
| |
− |
| |
− | [[File:Ifc-concept-cost-costitem-costvalue.png]]
| |
− |
| |
− | If a cost item has no cost quantities, this cost value represents the total cost of the cost item.
| |
− |
| |
− | Source: IfcCostItem
| |
− |
| |
− | == A cost item may have a total cost derived from a unit value and quantities ==
| |
− |
| |
− | <!--
| |
− | digraph {
| |
− | node [ shape=rect, color="lightblue" ];
| |
− | edge [ fontsize=10 ];
| |
− | IfcCostItem -> IfcQuantityVolume [ label="CostQuantities" ];
| |
− | IfcCostItem -> IfcCostValue [ label="CostValues" ];
| |
− | IfcQuantityVolume -> 3 [label="VolumeValue"]
| |
− | IfcCostValue -> 2 [label="AppliedValue"]
| |
− | 3 [shape=ellipse]
| |
− | 2 [shape=ellipse]
| |
− | }
| |
− | -->
| |
− |
| |
− | [[File:Ifc-concept-cost-costitem-costvalue-unit.png]]
| |
− |
| |
− | If a cost item has quantities, the cost value represents a unit cost of the cost item, which is "2" in this case. The total cost of the cost item is derived by multiplying the cost quantities and the unit cost, which is 3 x 2 = 6 in this example.
| |
− |
| |
− | Source: IfcCostItem
| |
− |
| |
− | == The value of a cost item may be broken down into categories ==
| |
− |
| |
− | <!--
| |
− | digraph {
| |
− | node [ shape=rect, color="lightblue" ];
| |
− | edge [ fontsize=10 ];
| |
− | IfcCostItem -> IfcCostValue [ label="CostValues[0]" ];
| |
− | IfcCostItem -> IfcCostValue2 [ label="CostValues[1]" ];
| |
− | IfcCostValue2 [label="IfcCostValue"]
| |
− | IfcCostValue -> 3 [label="AppliedValue"]
| |
− | IfcCostValue2 -> 2 [label="AppliedValue"]
| |
− | IfcCostValue -> Delivery [label="Category"]
| |
− | IfcCostValue2 -> Labour [label="Category"]
| |
− | 3 [shape=ellipse]
| |
− | 2 [shape=ellipse]
| |
− | Delivery [shape=ellipse]
| |
− | Labour [shape=ellipse]
| |
− | }
| |
− | -->
| |
− |
| |
− | [[File:Ifc-concept-cost-costitem-costvalue-category.png]]
| |
− |
| |
− | Cost values may be categorised to understand the cost breakdown. Example categories are delivery, labour, installation, overhead, material, storage, transportation, and more.
| |
− |
| |
− | Source: IfcCostItem, IfcCostValue
| |
− |
| |
− | == The value of a cost item may be calculated from the sum of its nested cost items ==
| |
− |
| |
− | <!--
| |
− | digraph {
| |
− | node [ shape=rect, color="lightblue" ];
| |
− | edge [ fontsize=10 ];
| |
− | IfcRelNests -> summary [label="RelatingObject"]
| |
− | IfcRelNests -> IfcCostItem [label="RelatedObjects[0]"]
| |
− | IfcRelNests [color="pink"]
| |
− |
| |
− | summary->costvalue [label="CostValues"]
| |
− | costvalue->sum [label="Category"]
| |
− | costvalue -> 32 [label="AppliedValue"]
| |
− | costvalue [ label="IfcCostValue"]
| |
− | summary[label="IfcCostItem"]
| |
− | sum [label="*", shape=ellipse]
| |
− | 32 [shape=ellipse]
| |
− |
| |
− | IfcCostItem -> IfcCostValue [ label="CostValues[0]" ];
| |
− | IfcCostItem -> IfcCostValue2 [ label="CostValues[1]" ];
| |
− | IfcCostValue2 [label="IfcCostValue"]
| |
− | IfcCostValue -> 3 [label="AppliedValue"]
| |
− | IfcCostValue2 -> 2 [label="AppliedValue"]
| |
− | IfcCostValue -> Delivery [label="Category"]
| |
− | IfcCostValue2 -> Labour [label="Category"]
| |
− | 3 [shape=ellipse]
| |
− | 2 [shape=ellipse]
| |
− | Delivery [shape=ellipse]
| |
− | Labour [shape=ellipse]
| |
− | IfcCostItem -> IfcQuantityArea [label="CostQuantities"]
| |
− | IfcQuantityArea -> 5 [label=AreaValue]
| |
− | 5 [shape=ellipse]
| |
− |
| |
− | IfcRelNests -> secondcostitem [label="RelatedObjects[1]"]
| |
− | secondcostitem -> secondcostvalue [label="CostValues"]
| |
− | secondcostvalue -> 7
| |
− | 7 [shape=ellipse]
| |
− | secondcostvalue [label="IfcCostValue"]
| |
− | secondcostitem [label="IfcCostItem"]
| |
− | }
| |
− | -->
| |
− |
| |
− | [[File:Ifc-concept-cost-costitem-costvalue-category-sum.png]]
| |
− |
| |
− | When the cost value has a special category of "*", this means that its value is calculated from the sum of the costs of all nested cost items.
| |
− |
| |
− | In this example, the parent cost item has a two nested child cost items. The first nested item has a total unit cost of 3 + 2 = 5, and a total quantity of 5. This gives a total cost of the nested child of 5 x 5 = 25. The second nested item has a total cost of 7. Therefore, the sum of all nested cost items is 25 + 7 = 32.
| |
− |
| |
− | Source: IfcCostItem
| |
− |
| |
− | == The value of a cost item may be calculated from the sum of its nested cost items, filtered by a category ==
| |
− |
| |
− | <!--
| |
− | digraph {
| |
− | node [ shape=rect, color="lightblue" ];
| |
− | edge [ fontsize=10 ];
| |
− | IfcRelNests -> summary [label="RelatingObject"]
| |
− | IfcRelNests -> IfcCostItem [label="RelatedObjects[0]"]
| |
− | IfcRelNests [color="pink"]
| |
− |
| |
− | summary->costvalue [label="CostValues"]
| |
− | costvalue->sum [label="Category"]
| |
− | costvalue -> 15 [label="AppliedValue"]
| |
− | costvalue [ label="IfcCostValue"]
| |
− | summary[label="IfcCostItem"]
| |
− | sum [label="Delivery", shape=ellipse]
| |
− | 15 [shape=ellipse]
| |
− |
| |
− | IfcCostItem -> IfcCostValue [ label="CostValues[0]" ];
| |
− | IfcCostItem -> IfcCostValue2 [ label="CostValues[1]" ];
| |
− | IfcCostValue2 [label="IfcCostValue"]
| |
− | IfcCostValue -> 3 [label="AppliedValue"]
| |
− | IfcCostValue2 -> 2 [label="AppliedValue"]
| |
− | IfcCostValue -> Delivery [label="Category"]
| |
− | IfcCostValue2 -> Labour [label="Category"]
| |
− | 3 [shape=ellipse]
| |
− | 2 [shape=ellipse]
| |
− | Delivery [shape=ellipse]
| |
− | Labour [shape=ellipse]
| |
− | IfcCostItem -> IfcQuantityArea [label="CostQuantities"]
| |
− | IfcQuantityArea -> 5 [label=AreaValue]
| |
− | 5 [shape=ellipse]
| |
− |
| |
− | IfcRelNests -> secondcostitem [label="RelatedObjects[1]"]
| |
− | secondcostitem -> secondcostvalue [label="CostValues"]
| |
− | secondcostvalue -> 7
| |
− | 7 [shape=ellipse]
| |
− | secondcostvalue [label="IfcCostValue"]
| |
− | secondcostitem [label="IfcCostItem"]
| |
− | }
| |
− | -->
| |
− |
| |
− | [[File:Ifc-concept-cost-costitem-costvalue-category-filter.png]]
| |
− |
| |
− | This is very similar to the concept of using the special "*" category to sum the total cost of all nested cost items. However, the difference in that this time, we do not sum the total costs, we only sum the costs that relate to the category specified in the category attribute.
| |
− |
| |
− | In this example, the first nested cost item has a unit Delivery cost of 3, and a quantity of 5. We don't count the unit Labour cost because it does not match our filter of "Delivery". This gives a total cost of 3 x 5 = 15. The second nested cost item also does not have any cost values belonging to a "Delivery" category. Therefore the final sum of all nested cost items that meet the "Delivery" filter is 15.
| |
− |
| |
− | This means that if you have a "Category" filled out for a cost value, its value will always be derived if you have nested cost items. If you do not have any cost items, then you are free to fill in a value.
| |
− |
| |
− | Source: IfcCostItem
| |
− |
| |
− | == A cost value may be calculated from a formula ==
| |
− |
| |
− | <!--
| |
− | digraph {
| |
− | node [ shape=rect, color="lightblue" ];
| |
− | edge [ fontsize=10 ];
| |
− | IfcCostValue -> one [label="Components[0]"]
| |
− | IfcCostValue -> two [label="Components[1]"]
| |
− | IfcCostValue -> MULTIPLY [label="ArithmeticOperator"]
| |
− | one -> 2 [label=AppliedValue]
| |
− | two -> 3 [label=AppliedValue]
| |
− | one [label="IfcCostValue"]
| |
− | two [label="IfcCostValue"]
| |
− | 2 [shape=ellipse]
| |
− | 3 [shape=ellipse]
| |
− | MULTIPLY [shape=ellipse]
| |
− | IfcCostValue -> 6 [label="AppliedValue"]
| |
− | 6 [shape=ellipse]
| |
− | }
| |
− | -->
| |
− |
| |
− | [[File:Ifc-concept-cost-costitem-costvalue-components.png]]
| |
− |
| |
− | A cost value may be calculated from a formula, like "3 x 2". The operands of this formula ("3" and "2") are known as components. The operator of the formula ("x") is known as t he arithmetic operator. This may be nested, or use summing or category filters to create complex formulas to derive the cost value.
| |
− |
| |
− | Source: IfcCostItem
| |