IFClite TypeScript API
    Preparing search index...

    Interface AutoColorSpec

    Data source specification for automatic coloring.

    In auto-color mode, the engine iterates all entities, extracts the specified value, groups by distinct values, and assigns a unique color to each group. No manual rule authoring needed.

    interface AutoColorSpec {
        includeUnclassified?: boolean;
        propertyName?: string;
        psetName?: string;
        source:
            | "model"
            | "attribute"
            | "property"
            | "quantity"
            | "material"
            | "classification"
            | "ifcType"
            | "group";
    }
    Index
    includeUnclassified?: boolean

    Opt-in, source: "classification" only: give value-less entities a real legend entry instead of silently ghosting them (#unclassified-bucket).

    Two absence reasons are distinguished whenever psetName (the classification-system filter) is set, because they mean different things: "No classification" (zero classification references at all) vs. "Not in this system" (the entity has references, just none in the selected system). Collapsing them would hide that distinction behind one number. When psetName is unset there is no system to be "not in", so only "No classification" is emitted.

    Default false/unset preserves the pre-existing behaviour exactly: value-less entities are ghosted (GHOST_COLOR, no legend entry, no count). This is deliberately opt-in, not a new default — an existing saved lens (or a consumer relying on ghosted-and-invisible unclassified elements) must not change appearance on upgrade.

    Forward compatibility: this field is additive. An engine build that predates it does not read it, so an exported lens with includeUnclassified: true opened in an older build silently falls back to ghosting the absent entities — the pre-existing, safe behaviour — rather than doing anything wrong with a field it doesn't understand.

    propertyName?: string

    Attribute, property, or quantity name

    psetName?: string

    Property/quantity set name — for source "property" or "quantity". For source "classification" it acts as a classification-system filter (case-insensitive substring match), selecting which reference to key off.

    source:
        | "model"
        | "attribute"
        | "property"
        | "quantity"
        | "material"
        | "classification"
        | "ifcType"
        | "group"