IFClite TypeScript API
    Preparing search index...

    Interface IDSBCFExportOptions

    Options for the BCF IDS export

    interface IDSBCFExportOptions {
        aspectRatio?: number;
        author?: string;
        entityBounds?: Map<string, EntityBoundsInput>;
        entitySnapshots?: Map<string, string>;
        failureColor?: string;
        failureTopicType?: string;
        includePassingEntities?: boolean;
        maxTopics?: number;
        passTopicType?: string;
        projectName?: string;
        topicGrouping?: "per-entity" | "per-specification" | "per-requirement";
        version?: "2.1" | "3.0";
    }
    Index
    aspectRatio?: number

    Viewport aspect ratio (width / height) for computed cameras.

    BCF 3.0's visinfo.xsd requires <AspectRatio> on every camera, and an IDS export is headless -- the camera is derived from entity bounds, so there is no viewport to read one from. Defaults to 16/9, the convention when no viewport exists; pass the real viewport ratio when the export runs beside one. 2.1 has no such element, so this changes nothing there.

    The viewer's own IDS export (apps/viewer/src/hooks/useIDS.ts, where it builds exportOptions for createBCFFromIDSReport) sets none today; it is the call site to wire Camera.getAspect() into if that dialog ever offers 3.0, which it currently does not.

    author?: string

    Author email for BCF topics (default: "ids-validator@ifc-lite")

    entityBounds?: Map<string, EntityBoundsInput>

    Entity bounds map for computing per-entity camera positions. Key: "modelId:expressId", Value: bounding box in viewer Y-up coordinates. When provided, viewpoints will include a perspective camera framing the entity.

    entitySnapshots?: Map<string, string>

    Entity snapshot map for attaching screenshots to viewpoints. Key: "modelId:expressId", Value: data URL (PNG). When provided, viewpoints will include the snapshot image.

    failureColor?: string

    ARGB hex color for failing elements in viewpoints (default: "FFFF3333" — red)

    failureTopicType?: string

    Topic type for failures (default: "Error")

    includePassingEntities?: boolean

    Include passing entities as Info topics (default: false)

    maxTopics?: number

    Maximum topics to create — safety valve for large models (default: 1000)

    passTopicType?: string

    Topic type for passes (default: "Info")

    projectName?: string

    Project name (default: IDS document title)

    topicGrouping?: "per-entity" | "per-specification" | "per-requirement"

    Topic grouping strategy:

    • "per-entity": One topic per failing entity, requirements as comments (default)
    • "per-specification": One topic per failing specification, entities as comments
    • "per-requirement": One topic per (specification, requirement, entity) — like IfcOpenShell
    version?: "2.1" | "3.0"

    BCF version (default: "2.1")