Navigation

IfcCost

Definition from IAI: An IfcCost is a cost with context information. It represents goods, services, or the execution of works of a described elemental nature in given conditions. This entity also has the capability of nesting other costs of the same type through its relationships to IfcRelNests. The relationship to IfcObject through IfcRelCostsObjects specifies the objects to be costed by IfcCost instances.

Cost Element

The IfcRelNests provides a model mechanism to allow IfcCost to contain other items of the same type. It provides the relationships between the nesting IfcCost and nested IfcCost(s).

The figure shows how cost elements can be grouped into one cost, represented by costs being nested within another cost (using the IfcRelNests relationship).

nested costs
HISTORY New Entity in IFC Release 2.0
ISSUES: None so far.

Use Definitions

Instances of IfcCost are used for cost estimates, budgets, etc., 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, cost accounts, etc.

The IFC model allows for all classes that are ultimately subtypes of IfcObject to inherit the ability to have one or more instances of IfcClassificationNotation to be assigned.

Where identification codes are required, the generic IFC classification facility should be used.

EXPRESS specification:

ENTITY IfcCost
SUBTYPE OF ( IfcControl);
ContextDescription  :  IfcLabel;
ElementCost  :  OPTIONAL IfcCostValue;
ExtensionCost  :  OPTIONAL IfcCostValue;
CostUse  :  IfcCostUseEnum;
PreparedOn  :  OPTIONAL IfcCalendarDate;
Quantities  :  OPTIONAL LIST [1:?] OF UNIQUE IfcCostQuantity;
CostType  :  IfcLabel;
INVERSE
CostSchedule  :  IfcCostSchedule FOR CostElements;
WHERE
WR1  :  SIZEOF(QUERY(temp <* SELF\IfcControl.Controls | NOT('IFCSHAREDMGMTELEMENTS.IFCRELCOSTSOBJECTS' IN TYPEOF(temp)))) = 0;
END_ENTITY;

Attribute definitions:

ContextDescription  :  The contextual information of the cost such as purchase cost, installation cost, consulting cost, etc.
ElementCost  :  The cost of a single item of each 'Quantity'. It can be either a unit cost or an item cost depending on the context of the cost element.
ExtensionCost  :  The summarized the cost of this cost element.
CostUse  :  Indicates how the value of the ElementCost and ExtensionCost is provided and thus how they should be used.
PreparedOn  :  The date that the cost is provided.
Quantities  :  Indicates the quantities of the items referenced by the cost.
CostType  :  A type of cost that is expressed.
CostSchedule  :  A reference to the cost schedule to which the cost element belongs.

References (2):

Name Type Referred through Express-G
IfcControl Entity
Subtype
Diagram 1
IfcCostSchedule Entity
Attribute 'CostElements'
Diagram 3

Inheritance graph

ENTITY IfcCost;
ENTITY IfcRoot;
GlobalId  :  IfcGloballyUniqueId;
OwnerHistory  :  IfcOwnerHistory;
Name  :  OPTIONAL IfcLabel;
Description  :  OPTIONAL IfcText;
ENTITY IfcObject;
ObjectType  :  OPTIONAL IfcLabel;
INVERSE
IsDefinedBy  :  SET OF IfcRelDefines FOR RelatedObjects;
HasAssociations  :  SET OF IfcRelAssociates FOR RelatedObjects;
HasAssignments  :  SET OF IfcRelAssigns FOR RelatedObjects;
Decomposes  :  SET OF IfcRelDecomposes FOR RelatedObjects;
IsDecomposedBy  :  SET [0:1] OF IfcRelDecomposes FOR RelatingObject;
ENTITY IfcControl;
INVERSE
Controls  :  SET OF IfcRelAssignsToControl FOR RelatingControl;
ENTITY IfcCost;
ContextDescription  :  IfcLabel;
ElementCost  :  OPTIONAL IfcCostValue;
ExtensionCost  :  OPTIONAL IfcCostValue;
CostUse  :  IfcCostUseEnum;
PreparedOn  :  OPTIONAL IfcCalendarDate;
Quantities  :  OPTIONAL LIST [1:?] OF UNIQUE IfcCostQuantity;
CostType  :  IfcLabel;
INVERSE
CostSchedule  :  IfcCostSchedule FOR CostElements;
END_ENTITY;