IFClite TypeScript API
    Preparing search index...

    Interface CostValueParams

    IfcCostValue.

    AppliedValue and Components are NOT interchangeable and this builder never derives one from the other: a value that carried a literal AppliedValue in the source is written with that literal and no Components, and a value that was the sum of its Components is written with Components and an absent AppliedValue. Normalising either way would change what the file says about where the number came from.

    interface CostValueParams {
        ApplicableDate?: string;
        AppliedValue?: CostTypedValue;
        AppliedValueRef?: number;
        ArithmeticOperator?: CostArithmeticOperator;
        Category?: string;
        Components?: number[];
        Condition?: string;
        Description?: string;
        FixedUntilDate?: string;
        Name?: string;
        UnitBasis?: number;
    }
    Index
    ApplicableDate?: string

    IfcDate.

    AppliedValue?: CostTypedValue

    Literal typed value, written as a named SELECT branch.

    AppliedValueRef?: number

    expressId of an IfcMeasureWithUnit, the entity branch of IfcAppliedValueSelect. Mutually exclusive with AppliedValue.

    ArithmeticOperator?: CostArithmeticOperator
    Category?: string
    Components?: number[]

    expressIds of the IfcAppliedValue / IfcCostValue entities this value is computed from, in order. Absent writes $; an empty array is rejected. Repeating an expressId shares that entity rather than copying it.

    Condition?: string
    Description?: string
    FixedUntilDate?: string

    IfcDate.

    Name?: string
    UnitBasis?: number

    expressId of an IfcMeasureWithUnit giving the basis this rate is quoted per — a rate "per 100 m²" has a UnitBasis of 100 SQUARE_METRE. It is a divisor, not a label: dropping or inventing it moves the amount by whole orders of magnitude.