Table of Contents

Class IfcCostItem

Namespace
IfcIO.Model.Cost
Assembly
IfcIO.dll

An individual cost line item or cost breakdown structure node within a cost schedule. Conforms to buildingSMART standard IFCCOSTITEM.

public sealed class IfcCostItem

Inheritance

Inherited Members

Constructors

IfcCostItem()

public IfcCostItem()

IfcCostItem(string, string?, double?, double?, string?)

public IfcCostItem(string name, string? costCode = null, double? unitRate = null, double? quantity = null, string? unitBasis = null)

Parameters

name string
costCode string?
unitRate double?
quantity double?
unitBasis string?

Properties

AssignedElements

Building elements assigned to this cost item via IFCRELASSIGNSTOCONTROL.

public List<IfcElement> AssignedElements { get; }

Property Value

List<IfcElement>

AssignedQuantities

Physical quantities linked to this cost item for automated rate-based takeoffs.

public List<IfcPhysicalQuantity> AssignedQuantities { get; }

Property Value

List<IfcPhysicalQuantity>

CostCode

Cost Breakdown Structure (CBS) code or MasterFormat / UniFormat code (e.g. "03.30.00").

public string? CostCode { get; set; }

Property Value

string?

CostValues

Discrete applied values and cost components (Labor, Material, etc.).

public List<IfcCostValue> CostValues { get; }

Property Value

List<IfcCostValue>

Description

public string? Description { get; set; }

Property Value

string?

GlobalId

public string GlobalId { get; set; }

Property Value

string

Name

public string Name { get; set; }

Property Value

string

Quantity

Total quantified volume, area, length, or count.

public double? Quantity { get; set; }

Property Value

double?

SubCostItems

Hierarchical sub-cost items subordinate to this cost node.

public List<IfcCostItem> SubCostItems { get; }

Property Value

List<IfcCostItem>

TotalCost

Gets the calculated total cost for this item, either explicitly via cost values, computed from UnitRate * Quantity, or aggregated from sub-items.

public double TotalCost { get; }

Property Value

double

UnitBasis

Measurement unit string (e.g. "m3", "m2", "m", "pcs", "kg").

public string? UnitBasis { get; set; }

Property Value

string?

UnitRate

Unit rate per quantity unit (e.g. $150 per m3 of concrete).

public double? UnitRate { get; set; }

Property Value

double?

Methods

AddCostValue(double, string, string?, string?)

Adds a discrete cost value breakdown component.

public void AddCostValue(double amount, string currency = "USD", string? category = null, string? name = null)

Parameters

amount double
currency string
category string?
name string?

AddSubItem(string, string?, double?, double?, string?)

Adds a nested sub-cost item to this node.

public IfcCostItem AddSubItem(string name, string? costCode = null, double? unitRate = null, double? quantity = null, string? unitBasis = null)

Parameters

name string
costCode string?
unitRate double?
quantity double?
unitBasis string?

Returns

IfcCostItem

AssignElement(IfcElement)

Assigns an element to this cost item.

public void AssignElement(IfcElement element)

Parameters

element IfcElement

AssignQuantity(IfcPhysicalQuantity)

Assigns a physical quantity to this cost item.

public void AssignQuantity(IfcPhysicalQuantity quantity)

Parameters

quantity IfcPhysicalQuantity