IFClite TypeScript API
    Preparing search index...

    Interface SectionPlaneConfig

    @ifc-lite/drawing-2d

    2D architectural drawing generation from IFC models. Generates section cuts, floor plans, and elevations with:

    • Cut lines (geometry intersected by section plane)
    • Projection lines (visible geometry beyond cut)
    • Hidden lines (occluded geometry, dashed)
    • Silhouettes and feature edges
    • Hatching (material-based fill patterns by IFC type)
    • Vector output (SVG)
    interface SectionPlaneConfig {
        axis: SectionAxis;
        customPlane?: {
            bitangent: Vec3;
            distance: number;
            normal: Vec3;
            origin: Vec3;
            tangent: Vec3;
        };
        flipped: boolean;
        position: number;
    }
    Index

    Axis perpendicular to the section plane

    customPlane?: {
        bitangent: Vec3;
        distance: number;
        normal: Vec3;
        origin: Vec3;
        tangent: Vec3;
    }

    Optional arbitrary-normal override (issue #243). When supplied, the cutter uses this plane verbatim (dot(p, normal) = distance) and projects intersection points to 2D via (dot(p − origin, tangent), dot(p − origin, bitangent)). The cardinal axis / position / flipped fields are then only used by downstream code that pre-dates arbitrary planes (e.g. legacy SVG export); the geometry produced by the cutter itself is correct for the explicit plane.

    tangent and bitangent MUST be the same basis the cap renderer uses (planeBasis(normal) from @ifc-lite/renderer) so the round- trip 3D→2D→3D in the cap pipeline stays exact.

    Type Declaration

    • bitangent: Vec3
    • distance: number

      Plane offset: dot(pointOnPlane, normal).

    • normal: Vec3
    • origin: Vec3

      Origin = the projected pick point on the plane (basis origin).

    • tangent: Vec3
    flipped: boolean

    Whether to flip the view direction

    position: number

    Position along the axis in world units