brepjs API Reference
    Preparing search index...

    Class BrepkitAdapter

    KernelAdapter backed by brepkit's WASM kernel.

    All methods are composed from per-domain factories at construction time. To find a method's implementation, grep for function <name> in src/kernel/brepkit/*Ops.ts.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Methods

    addCurveToBBox2d addHolesInFace adjacentFaces affinityTransform2d applyComposedTransformWithHistory approximateCurve2dAsBSpline approximatePoints approximateSurfaceLspia area booleanPipeline? boundingBox bsplineSurface buildCurves3d buildEdgeOnSurface buildExtrusionLaw buildSolidFromFaces buildTriFace centerOfMass chamfer chamferDistAngle chamferWithHistory checkBoolean checkpoint checkpointCount circularPattern classifyPointOnFace classifyPointRobust classifyPointWinding composeTransform copyCurve2d createAffinityGTrsf2d createAxis1 createAxis2 createAxis2d createAxis3 createBoundingBox2d createCurve2dAdaptor createCurveAdaptor createDirection2d createDirection3d createDistanceQuery createIdentityGTrsf2d createMirrorGTrsf2d createPoint2d createPoint3d createRotationGTrsf2d createScaleGTrsf2d createTranslationGTrsf2d createVector2d createVector3d createXCAFDocument curveDegreeElevate curveIsClosed curveIsPeriodic curveKnotInsert curveKnotRemove curveParameters curvePeriod curvePointAtParam curveSplit curveTangent curveType cut cutAll cutWithHistory decomposeBSpline2dToBeziers defeature deserializeCurve2d detectSmallFeatures discardCheckpoint dispose distance distanceBetweenCurves2d downcast draft draftPrism draftWithHistory edgeToFaceMap evaluateCurve2d evaluateCurve2dD1 executeBatch export3MF exportGLB exportIGES exportOBJ exportPLY exportSTEP exportSTEPAssembly exportSTEPConfigured exportSTL extractCurve2dFromEdge extractSurfaceFromFace extrude extrudeBatch? fillet filletBatch? filletVariable filletWithHistory fillSurface fixFaceOrientations fixSelfIntersection fixShape fixWireOnFace fromBREP fuse fuseAll fuseWithHistory generalTransform generalTransformNonOrthogonal generalTransformWithHistory getBBox2dBounds getBezierPenultimatePole getCurve2dBezierDegree getCurve2dBezierPoles getCurve2dBounds getCurve2dBSplineData getCurve2dCircleData getCurve2dEllipseData getCurve2dType getNurbsCurveData? getNurbsSurfaceData? getSurfaceCylinderData gridPattern? hashCode hasTriangulation healFace healSolid healWire helicalSweep hull hullFromPoints import3MF importGLB importIGES importOBJ importSTEP importSTL interpolatePoints intersect intersectCurves2d intersectWithHistory isBBox2dOut isBBox2dOutPoint isEqual isNull isSame isValid isValidStrict? iterShapeList iterShapes length liftCurve2dToPlane linearCenterOfMass linearPattern loft loftAdvanced loftBatch? makeArc2dTangent makeArc2dThreePoints makeArcEdge makeBezier2d makeBezierEdge makeBox makeBoxFromCorners makeBSpline2d makeCircle2d makeCircleArc makeCircleEdge makeCompound makeCone makeCylinder makeEdge makeEllipse2d makeEllipseArc makeEllipseArc2d makeEllipseEdge makeEllipsoid makeFace makeFaceOnSurface makeHelixWire makeLine2d makeLineEdge makeNonPlanarFace makeRectangle makeSphere makeTangentArc makeTorus makeVertex makeWire makeWireFromMixed measureBulk mergeBBox2d mergeCoincidentVertices mesh meshBoolean meshEdges meshShape mirror mirrorCurve2dAcrossAxis mirrorCurve2dAtPoint mirrorWithHistory multiplyGTrsf2d offset offsetCurve2d offsetWire2D offsetWithHistory outerWire pointOnSurface positionOnCurve projectEdges projectPointOnCurve2d projectPointOnFace recognizeFeatures removeDegenerateEdges removeHolesFromFace restoreCheckpoint reverseCurve2d reverseShape reverseSurfaceU revolve revolveVec rotate rotateCurve2d rotateWithHistory scale scaleCurve2d scaleWithHistory section serializeCurve2d setGTrsf2dTranslationPart sew sewAndSolidify shapeOrientation shapeType sharedEdges shell shellBatch? shellWithHistory simplePipe simplify sketchAddArc sketchAddConstraint sketchAddPoint sketchDof sketchNew sketchSolve solidFromShell split splitCurve2d surfaceCenterOfMass surfaceCurvature surfaceNormal surfaceType sweep sweepPipeShell sweepWithOptions thicken thickenWithHistory toBREP transform transformBatch transformCurve2dGeneral translate translateCurve2d translateWithHistory triangulatedSurface trimCurve2d untrimFace uvBounds uvFromPoint validationDetails vertexPosition volume wrapCurve2dHandle writeXCAFToSTEP

    Constructors

    Properties

    kernelId: "brepkit" = 'brepkit'
    oc: any

    Methods

    • Parameters

      • bbox: any
      • curve: any
      • tolerance: number

      Returns void

    • Add hole wires to an existing face.

      Parameters

      • face: any
      • holeWires: any[]

      Returns any

    • Get faces adjacent to a given face within a shape.

      Parameters

      • shape: any
      • face: any

      Returns any[]

    • Parameters

      • curve: any
      • axisOriginX: number
      • axisOriginY: number
      • axisDirX: number
      • axisDirY: number
      • ratio: number

      Returns any

    • Apply a composed transform to a shape with history tracking.

      Parameters

      • shape: any
      • transformHandle: any
      • inputFaceHashes: number[]
      • hashUpperBound: number

      Returns OperationResult

    • Parameters

      • curve: any
      • tolerance: number
      • continuity: "C0" | "C1" | "C2" | "C3"
      • maxSegments: number

      Returns any

    • Parameters

      • points: [number, number, number][]
      • Optionaloptions: {
            degMax?: number;
            degMin?: number;
            smoothing?: [number, number, number] | null;
            tolerance?: number;
        }

      Returns any

    • Approximate a surface via LSPIA.

      Parameters

      • coords: number[]
      • rows: number
      • cols: number
      • degreeU: number
      • degreeV: number
      • numCpsU: number
      • numCpsV: number
      • tolerance: number
      • maxIterations: number

      Returns any

    • Execute a chained boolean pipeline in a single WASM call (optional).

      Parameters

      • base: any
      • steps: readonly { op: "fuse" | "cut" | "intersect"; tool: any }[]
      • Optionaloptions: { fuzzyValue?: number; glueMode?: number }

      Returns any

    • Parameters

      • shape: any

      Returns { max: [number, number, number]; min: [number, number, number] }

    • Fit a B-spline surface through a grid of Z-heights.

      Parameters

      • points: [number, number, number][]
      • rows: number
      • cols: number

      Returns any

    • Parameters

      • curve: any
      • surface: any

      Returns any

    • Build an extrusion scaling law (s-curve or linear).

      Parameters

      • profile: "linear" | "s-curve"
      • length: number
      • endFactor: number

      Returns any

    • Parameters

      • points: { x: number; y: number; z: number }[]
      • faces: (readonly [number, number, number])[]
      • tolerance: number

      Returns any

    • Build a triangular face from 3 points. Returns null if degenerate. Used by importers, hull, roof, and surface builders.

      Parameters

      • a: [number, number, number]
      • b: [number, number, number]
      • c: [number, number, number]

      Returns any

    • Parameters

      • shape: any

      Returns [number, number, number]

    • Parameters

      • shape: any
      • edges: any[]
      • distance: number | [number, number] | ((edge: any) => number | [number, number])

      Returns any

    • Parameters

      • shape: any
      • edges: any[]
      • distance: number
      • angleDeg: number

      Returns any

    • Parameters

      • shape: any
      • edges: any[]
      • distance: number | [number, number] | ((edge: any) => number | [number, number])
      • inputFaceHashes: number[]
      • hashUpperBound: number

      Returns OperationResult

    • Create an arena checkpoint. Returns checkpoint index.

      Returns number

    • Get the current number of active checkpoints.

      Returns number

    • Generate a circular pattern of shapes.

      Parameters

      • shape: any
      • center: [number, number, number]
      • axis: [number, number, number]
      • angleStep: number
      • count: number

      Returns any[]

    • Parameters

      • face: any
      • u: number
      • v: number
      • Optionaltolerance: number

      Returns "in" | "on" | "out"

    • Classify a point using robust dual-method.

      Parameters

      • shape: any
      • point: [number, number, number]
      • tolerance: number

      Returns string

    • Classify a point using winding numbers.

      Parameters

      • shape: any
      • point: [number, number, number]
      • tolerance: number

      Returns string

    • Create a composed transform from a sequence of translate/rotate operations. Returns an opaque handle.

      Parameters

      • ops: (
            | { type: "translate"; x: number; y: number; z: number }
            | {
                angle: number;
                axis?: readonly [number, number, number];
                center?: readonly [number, number, number];
                type: "rotate";
            }
        )[]

      Returns { dispose: () => void; handle: any }

    • Create a gp_GTrsf2d with affinity along an axis. Caller must dispose.

      Parameters

      • originX: number
      • originY: number
      • dirX: number
      • dirY: number
      • ratio: number

      Returns any

    • Parameters

      • cx: number
      • cy: number
      • cz: number
      • dx: number
      • dy: number
      • dz: number

      Returns any

    • Parameters

      • ox: number
      • oy: number
      • oz: number
      • zx: number
      • zy: number
      • zz: number
      • Optionalxx: number
      • Optionalxy: number
      • Optionalxz: number

      Returns any

    • Parameters

      • px: number
      • py: number
      • dx: number
      • dy: number

      Returns any

    • Parameters

      • ox: number
      • oy: number
      • oz: number
      • zx: number
      • zy: number
      • zz: number
      • Optionalxx: number
      • Optionalxy: number
      • Optionalxz: number

      Returns any

    • Create a Geom2dAdaptor_Curve for algorithmic queries. Caller must delete.

      Parameters

      • handle: any

      Returns any

    • Create a BRepAdaptor for curve evaluation (CompCurve for wires, Curve for edges).

      Parameters

      • shape: any

      Returns any

    • Parameters

      • x: number
      • y: number

      Returns any

    • Parameters

      • x: number
      • y: number
      • z: number

      Returns any

    • Create a persistent distance query tool for repeated measurements.

      Parameters

      • referenceShape: any

      Returns {
          dispose(): void;
          distanceTo(
              shape: any,
          ): {
              point1: [number, number, number];
              point2: [number, number, number];
              value: number;
          };
      }

    • Create an identity gp_GTrsf2d. Caller must dispose.

      Returns any

    • Create a gp_GTrsf2d from a point or axis mirror. Caller must dispose.

      Parameters

      • cx: number
      • cy: number
      • mode: "point" | "axis"
      • OptionaloriginX: number
      • OptionaloriginY: number
      • OptionaldirX: number
      • OptionaldirY: number

      Returns any

    • Parameters

      • x: number
      • y: number

      Returns any

    • Create a gp_GTrsf2d from a rotation. Caller must dispose.

      Parameters

      • angle: number
      • cx: number
      • cy: number

      Returns any

    • Create a gp_GTrsf2d from a uniform scale. Caller must dispose.

      Parameters

      • factor: number
      • cx: number
      • cy: number

      Returns any

    • Create a gp_GTrsf2d from a translation. Caller must dispose.

      Parameters

      • dx: number
      • dy: number

      Returns any

    • Parameters

      • x: number
      • y: number

      Returns any

    • Create an XCAF document with named, colored shape nodes. Caller must delete the returned handle.

      Parameters

      • shapes: { color?: [number, number, number, number]; name: string; shape: any }[]

      Returns any

    • Elevate the degree of a NURBS edge curve.

      Parameters

      • edge: any
      • elevateBy: number

      Returns any

    • Check if a curve is closed.

      Parameters

      • shape: any

      Returns boolean

    • Check if a curve is periodic.

      Parameters

      • shape: any

      Returns boolean

    • Insert a knot into a NURBS edge curve.

      Parameters

      • edge: any
      • knot: number
      • times: number

      Returns any

    • Remove a knot from a NURBS edge curve.

      Parameters

      • edge: any
      • knot: number
      • tolerance: number

      Returns any

    • Parameters

      • shape: any

      Returns [number, number]

    • Get the period of a periodic curve.

      Parameters

      • shape: any

      Returns number

    • Evaluate a point at a raw parameter value on a curve.

      Parameters

      • shape: any
      • param: number

      Returns [number, number, number]

    • Split a NURBS edge curve at a parameter. Returns two edges.

      Parameters

      • edge: any
      • param: number

      Returns [any, any]

    • Parameters

      • shape: any
      • param: number

      Returns { point: [number, number, number]; tangent: [number, number, number] }

    • Get the geometric curve type (LINE, CIRCLE, BSPLINE, etc.).

      Parameters

      • shape: any

      Returns string

    • Parameters

      • shape: any
      • tool: any
      • inputFaceHashes: number[]
      • hashUpperBound: number
      • Optionaloptions: BooleanOptions

      Returns DiagnosticOperationResult

    • Parameters

      • curve: any

      Returns any[]

    • Remove faces from a solid (defeaturing).

      Parameters

      • shape: any
      • faces: any[]

      Returns any

    • Parameters

      • data: string

      Returns any

    • Detect small features (faces below area threshold). Returns face shapes.

      Parameters

      • shape: any
      • areaThreshold: number
      • tolerance: number

      Returns any[]

    • Discard a checkpoint without restoring (keep all handles).

      Parameters

      • cp: number

      Returns void

    • Dispose a kernel handle, releasing its resources.

      Parameters

      • handle: { delete(): void }

      Returns void

    • Minimum distance between two shapes with witness points.

      Parameters

      • shape1: any
      • shape2: any

      Returns DistanceResult

    • Parameters

      • c1: any
      • c2: any
      • p1Start: number
      • p1End: number
      • p2Start: number
      • p2End: number

      Returns number

    • Draft (taper) faces of a solid along a pull direction about a neutral plane.

      The neutral plane is the surface where material is neither added nor removed. Angle is in degrees; positive tapers outward from the pull direction.

      Parameters

      • shape: any
      • faces: any[]
      • pullDirection: [number, number, number]
      • neutralPlane: [number, number, number]
      • angleDeg: number | ((face: any) => number)

        Uniform angle, or per-face callback returning degrees (null to skip).

      Returns any

    • Create a draft prism (tapered extrusion with draft angle).

      Parameters

      • shape: any
      • face: any
      • baseFace: any
      • height: number | null
      • angleDeg: number
      • fuse: boolean

      Returns any

    • Parameters

      • shape: any
      • faces: any[]
      • pullDirection: [number, number, number]
      • neutralPlane: [number, number, number]
      • angleDeg: number | ((face: any) => number)
      • inputFaceHashes: number[]
      • hashUpperBound: number

      Returns OperationResult

    • Get edge-to-face adjacency map as JSON.

      Parameters

      • shape: any

      Returns string

    • Parameters

      • curve: any
      • param: number

      Returns [number, number]

    • Parameters

      • curve: any
      • param: number

      Returns { point: [number, number]; tangent: [number, number] }

    • Execute a batch of kernel operations from JSON. Returns JSON result.

      Parameters

      • json: string

      Returns string

    • Export shape to 3MF format. Returns binary data.

      Parameters

      • shape: any
      • tolerance: number

      Returns ArrayBuffer

    • Export shape to GLB format. Returns binary data.

      Parameters

      • shape: any
      • tolerance: number

      Returns ArrayBuffer

    • Export shape to OBJ format. Returns binary data.

      Parameters

      • shape: any
      • tolerance: number

      Returns ArrayBuffer

    • Export shape to PLY format (binary). Returns binary data.

      Parameters

      • shape: any
      • tolerance: number

      Returns ArrayBuffer

    • Parameters

      • parts: StepAssemblyPart[]
      • Optionaloptions: { unit?: string }

      Returns string

    • Export shapes to STEP with full configuration (units, assembly mode).

      Parameters

      • shapes: { color?: [number, number, number, number]; name?: string; shape: any }[]
      • Optionaloptions: { modelUnit?: string; schema?: number; unit?: string }

      Returns string

    • Parameters

      • shape: any
      • Optionalbinary: boolean

      Returns string | ArrayBuffer

    • Parameters

      • edge: any
      • face: any

      Returns any

    • Parameters

      • face: any

      Returns any

    • Parameters

      • face: any
      • direction: [number, number, number]
      • length: number

      Returns any

    • Batch extrude: build N independent extrusions in a single WASM call.

      Parameters

      • entries: readonly { direction: [number, number, number]; face: any; length: number }[]

      Returns any[]

    • Parameters

      • shape: any
      • edges: any[]
      • radius: number | [number, number] | ((edge: any) => number | [number, number])

      Returns any

    • Batch fillet: round edges on N solids in a single WASM call.

      Parameters

      • entries: readonly {
            edges: readonly { edge: any; r2?: number; radius: number }[];
            shape: any;
        }[]

      Returns any[]

    • Variable-radius fillet. Each entry specifies edges and radii per edge.

      Parameters

      • shape: any
      • spec: string

      Returns any

    • Parameters

      • shape: any
      • edges: any[]
      • radius: number | [number, number] | ((edge: any) => number | [number, number])
      • inputFaceHashes: number[]
      • hashUpperBound: number

      Returns OperationResult

    • Parameters

      • wires: any[]
      • Optionaloptions: {
            maxDeg?: number;
            maxSeg?: number;
            nbIter?: number;
            nbPtsOnCur?: number;
            order?: number;
            tol2d?: number;
            tol3d?: number;
        }

      Returns any

    • Fix face orientations for consistent normals. Returns fix count.

      Parameters

      • shape: any

      Returns number

    • Fix self-intersections in a wire.

      Parameters

      • wire: any

      Returns any

    • Run ShapeFix_Shape on a shape (fixes orientation, etc.).

      Parameters

      • shape: any

      Returns any

    • Parameters

      • wire: any
      • face: any
      • tolerance: number

      Returns any

    • Parameters

      • shape: any
      • tool: any
      • inputFaceHashes: number[]
      • hashUpperBound: number
      • Optionaloptions: BooleanOptions

      Returns DiagnosticOperationResult

    • Parameters

      • shape: any
      • linear: readonly [
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
        ]
      • translation: readonly [number, number, number]
      • isOrthogonal: boolean

      Returns any

    • Apply a non-orthogonal general transform (gp_GTrsf path for shear / non-uniform scale).

      Parameters

      • shape: any
      • linear: readonly [
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
        ]
      • translation: readonly [number, number, number]

      Returns any

    • Parameters

      • shape: any
      • linear: readonly [
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
        ]
      • translation: readonly [number, number, number]
      • isOrthogonal: boolean
      • inputFaceHashes: number[]
      • hashUpperBound: number

      Returns OperationResult

    • Parameters

      • bbox: any

      Returns { xMax: number; xMin: number; yMax: number; yMin: number }

    • Get the second-to-last Bezier control pole of a 3D edge curve.

      Parameters

      • edge: any

      Returns [number, number, number] | null

    • Parameters

      • curve: any

      Returns number | null

    • Parameters

      • curve: any

      Returns [number, number][] | null

    • Parameters

      • curve: any

      Returns { first: number; last: number }

    • Parameters

      • curve: any

      Returns
          | {
              degree: number;
              isPeriodic: boolean;
              knots: number[];
              multiplicities: number[];
              poles: [number, number][];
          }
          | null

    • Parameters

      • curve: any

      Returns { cx: number; cy: number; isDirect: boolean; radius: number } | null

    • Parameters

      • curve: any

      Returns
          | {
              isDirect: boolean;
              majorRadius: number;
              minorRadius: number;
              xAxisAngle: number;
          }
          | null

    • Parameters

      • curve: any

      Returns string

    • Extract cylinder data from a surface handle. Returns null if not a cylinder.

      Parameters

      • surface: any

      Returns { isDirect: boolean; radius: number } | null

    • Generate a 2D grid pattern (brepkit-native). Returns a compound.

      Parameters

      • shape: any
      • directionX: [number, number, number]
      • directionY: [number, number, number]
      • spacingX: number
      • spacingY: number
      • countX: number
      • countY: number

      Returns any

    • Compute a hash code for a shape (used for face tracking).

      Parameters

      • shape: any
      • upperBound: number

      Returns number

    • Check if a shape already has triangulation data.

      Parameters

      • shape: any

      Returns boolean

    • Helical sweep of a profile around an axis.

      Parameters

      • profile: any
      • axisOrigin: [number, number, number]
      • axisDirection: [number, number, number]
      • radius: number
      • pitch: number
      • turns: number

      Returns any

    • Parameters

      • points: { x: number; y: number; z: number }[]
      • tolerance: number

      Returns any

    • Import from 3MF format. Returns solid shapes.

      Parameters

      • data: ArrayBuffer

      Returns any[]

    • Import from GLB format. Returns a solid shape.

      Parameters

      • data: ArrayBuffer

      Returns any

    • Parameters

      • data: string | ArrayBuffer

      Returns any[]

    • Import from OBJ format. Returns a solid shape.

      Parameters

      • data: ArrayBuffer

      Returns any

    • Parameters

      • data: string | ArrayBuffer

      Returns any[]

    • Parameters

      • data: string | ArrayBuffer

      Returns any

    • Parameters

      • points: [number, number, number][]
      • Optionaloptions: { periodic?: boolean; tolerance?: number }

      Returns any

    • Parameters

      • c1: any
      • c2: any
      • tolerance: number

      Returns { points: [number, number][]; segments: any[] }

    • Parameters

      • shape: any
      • tool: any
      • inputFaceHashes: number[]
      • hashUpperBound: number
      • Optionaloptions: BooleanOptions

      Returns DiagnosticOperationResult

    • Parameters

      • a: any
      • b: any

      Returns boolean

    • Parameters

      • bbox: any
      • x: number
      • y: number

      Returns boolean

    • Test if two shapes are geometrically equal (same location + orientation).

      Parameters

      • a: any
      • b: any

      Returns boolean

    • Test if two shapes are the same topological entity.

      Parameters

      • a: any
      • b: any

      Returns boolean

    • Check if a shape is topologically and geometrically valid.

      Uses relaxed validation when available — accepts NURBS approximation tolerances that strict mode would flag.

      Cross-kernel note: OCCT uses BRepCheck_Analyzer (no relaxed variant). brepkit uses validateSolidRelaxed().

      Parameters

      • shape: any

      Returns boolean

    • Strict validation — fails on any geometric or topological issue, including NURBS approximation gaps.

      Cross-kernel note: OCCT's BRepCheck_Analyzer is inherently strict, so this is identical to isValid. brepkit uses validateSolid() (strict).

      Parameters

      • shape: any

      Returns boolean

    • Iterate a TopTools_ListOfShape, calling a callback for each item.

      Parameters

      • list: any
      • callback: (item: any) => void

      Returns void

    • Parameters

      • curve: any
      • planeOrigin: [number, number, number]
      • planeZ: [number, number, number]
      • planeX: [number, number, number]

      Returns any

    • Parameters

      • shape: any

      Returns [number, number, number]

    • Generate a linear pattern of shapes with pooled transforms for performance.

      Parameters

      • shape: any
      • direction: [number, number, number]
      • spacing: number
      • count: number

      Returns any[]

    • Parameters

      • wires: any[]
      • Optionalruled: boolean
      • OptionalstartShape: any
      • OptionalendShape: any

      Returns any

    • Loft through wires with options for shell mode, ruled surface, and vertex caps.

      Parameters

      • wires: any[]
      • Optionaloptions: {
            endVertex?: any;
            ruled?: boolean;
            solid?: boolean;
            startVertex?: any;
            tolerance?: number;
        }

      Returns any

    • Batch loft: build N independent lofts in a single WASM call.

      Parameters

      • entries: readonly {
            endVertex?: any;
            ruled?: boolean;
            solid?: boolean;
            startVertex?: any;
            tolerance?: number;
            wires: any[];
        }[]

      Returns any[]

    • Parameters

      • startX: number
      • startY: number
      • tangentX: number
      • tangentY: number
      • endX: number
      • endY: number

      Returns any

    • Parameters

      • x1: number
      • y1: number
      • xm: number
      • ym: number
      • x2: number
      • y2: number

      Returns any

    • Parameters

      • p1: [number, number, number]
      • p2: [number, number, number]
      • p3: [number, number, number]

      Returns any

    • Parameters

      • points: [number, number][]

      Returns any

    • Parameters

      • points: [number, number, number][]

      Returns any

    • Parameters

      • width: number
      • height: number
      • depth: number

      Returns any

    • Parameters

      • p1: [number, number, number]
      • p2: [number, number, number]

      Returns any

    • Parameters

      • points: [number, number][]
      • Optionaloptions: {
            continuity?: "C0" | "C1" | "C2" | "C3";
            degMax?: number;
            degMin?: number;
            smoothing?: [number, number, number] | null;
            tolerance?: number;
        }

      Returns any

    • Parameters

      • cx: number
      • cy: number
      • radius: number
      • Optionalsense: boolean

      Returns any

    • Parameters

      • center: [number, number, number]
      • normal: [number, number, number]
      • radius: number
      • startAngle: number
      • endAngle: number

      Returns any

    • Parameters

      • center: [number, number, number]
      • normal: [number, number, number]
      • radius: number

      Returns any

    • Parameters

      • radius1: number
      • radius2: number
      • height: number
      • Optionalcenter: [number, number, number]
      • Optionaldirection: [number, number, number]

      Returns any

    • Parameters

      • radius: number
      • height: number
      • Optionalcenter: [number, number, number]
      • Optionaldirection: [number, number, number]

      Returns any

    • Parameters

      • curve: any
      • Optionalstart: number
      • Optionalend: number

      Returns any

    • Parameters

      • cx: number
      • cy: number
      • majorRadius: number
      • minorRadius: number
      • OptionalxDirX: number
      • OptionalxDirY: number
      • Optionalsense: boolean

      Returns any

    • Parameters

      • center: [number, number, number]
      • normal: [number, number, number]
      • majorRadius: number
      • minorRadius: number
      • startAngle: number
      • endAngle: number
      • OptionalxDir: [number, number, number]

      Returns any

    • Parameters

      • cx: number
      • cy: number
      • majorRadius: number
      • minorRadius: number
      • startAngle: number
      • endAngle: number
      • OptionalxDirX: number
      • OptionalxDirY: number
      • Optionalsense: boolean

      Returns any

    • Parameters

      • center: [number, number, number]
      • normal: [number, number, number]
      • majorRadius: number
      • minorRadius: number
      • OptionalxDir: [number, number, number]

      Returns any

    • Build an ellipsoid solid with the given axis half-lengths.

      Parameters

      • aLength: number
      • bLength: number
      • cLength: number

      Returns any

    • Build a face on an existing surface bounded by a wire.

      Parameters

      • surface: any
      • wire: any

      Returns any

    • Parameters

      • pitch: number
      • height: number
      • radius: number
      • Optionalcenter: [number, number, number]
      • Optionaldirection: [number, number, number]
      • OptionalleftHanded: boolean

      Returns any

    • Parameters

      • x1: number
      • y1: number
      • x2: number
      • y2: number

      Returns any

    • Parameters

      • p1: [number, number, number]
      • p2: [number, number, number]

      Returns any

    • Build a non-planar face by filling a wire's boundary.

      Parameters

      • wire: any

      Returns any

    • Parameters

      • radius: number
      • Optionalcenter: [number, number, number]

      Returns any

    • Parameters

      • startPoint: [number, number, number]
      • startTangent: [number, number, number]
      • endPoint: [number, number, number]

      Returns any

    • Parameters

      • majorRadius: number
      • minorRadius: number
      • Optionalcenter: [number, number, number]
      • Optionaldirection: [number, number, number]

      Returns any

    • Build a wire from a mix of edges and wires (uses Add_1 for edges, Add_2 for wires).

      Parameters

      • items: any[]

      Returns any

    • Compute volume, area, length, center-of-mass, and bounding box in one call.

      Parameters

      • shape: any
      • OptionalincludeLinear: boolean

      Returns BulkMeasurement

    • Parameters

      • target: any
      • other: any

      Returns void

    • Merge coincident vertices within tolerance. Returns merge count.

      Parameters

      • shape: any
      • tolerance: number

      Returns number

    • Parameters

      • shape: any
      • options: MeshOptions

      Returns KernelMeshResult

    • Boolean operation on raw triangle data. Returns merged mesh.

      Cross-kernel note: Only brepkit supports mesh booleans natively. OCCT adapter throws.

      Parameters

      • positionsA: number[]
      • indicesA: number[]
      • positionsB: number[]
      • indicesB: number[]
      • op: string
      • tolerance: number

      Returns KernelMeshResult

    • Tessellate edges for wireframe display.

      Cross-kernel note: brepkit only supports linear deflection; angularTolerance is ignored (a one-time warning is emitted).

      Parameters

      • shape: any
      • tolerance: number
      • angularTolerance: number

      Returns KernelEdgeMeshResult

    • Pre-compute mesh data for a shape (incremental meshing).

      Cross-kernel note: brepkit only supports linear deflection; angularTolerance is ignored.

      Parameters

      • shape: any
      • tolerance: number
      • angularTolerance: number

      Returns void

    • Parameters

      • shape: any
      • origin: readonly [number, number, number]
      • normal: readonly [number, number, number]

      Returns any

    • Parameters

      • curve: any
      • originX: number
      • originY: number
      • dirX: number
      • dirY: number

      Returns any

    • Parameters

      • curve: any
      • cx: number
      • cy: number

      Returns any

    • Parameters

      • shape: any
      • origin: readonly [number, number, number]
      • normal: readonly [number, number, number]
      • inputFaceHashes: number[]
      • hashUpperBound: number

      Returns OperationResult

    • Multiply base by other in-place: base = base * other.

      Parameters

      • base: any
      • other: any

      Returns void

    • Parameters

      • shape: any
      • distance: number
      • Optionaltolerance: number

      Returns any

    • Parameters

      • curve: any
      • offset: number

      Returns any

    • 2D offset for wires on a plane.

      Parameters

      • wire: any
      • offset: number
      • OptionaljoinType: number | "arc" | "intersection" | "tangent"

      Returns any

    • Parameters

      • shape: any
      • distance: number
      • inputFaceHashes: number[]
      • hashUpperBound: number
      • Optionaltolerance: number

      Returns OperationResult

    • Parameters

      • face: any
      • u: number
      • v: number

      Returns [number, number, number]

    • Position a shape at a parameter along a spine curve (Frenet frame transform).

      Parameters

      • shape: any
      • spine: any
      • param: number

      Returns any

    • Project 3D edges onto a 2D plane (hidden line removal).

      Parameters

      • shape: any
      • cameraOrigin: [number, number, number]
      • cameraDirection: [number, number, number]
      • OptionalcameraXAxis: [number, number, number]

      Returns {
          hidden: { outline: any; sharp: any; smooth: any };
          visible: { outline: any; sharp: any; smooth: any };
      }

    • Parameters

      • curve: any
      • x: number
      • y: number

      Returns { distance: number; param: number } | null

    • Parameters

      • face: any
      • point: [number, number, number]

      Returns [number, number, number]

    • Recognize geometric features. Returns JSON description.

      Parameters

      • shape: any
      • tolerance: number

      Returns string

    • Remove zero-length (degenerate) edges. Returns removal count.

      Parameters

      • shape: any
      • tolerance: number

      Returns number

    • Remove all inner wires (holes) from a face. Returns a new face with only the outer boundary.

      Parameters

      • face: any

      Returns any

    • Restore arena to a checkpoint, freeing all handles created after it.

      Parameters

      • cp: number

      Returns void

    • Return a copy of the shape with reversed orientation.

      Parameters

      • shape: any

      Returns any

    • Reverse the U direction of a surface. Returns a new surface handle.

      Parameters

      • surface: any

      Returns any

    • Parameters

      • shape: any
      • axis: any
      • angle: number

      Returns any

    • Revolve a shape around an axis defined by center+direction (Vec3s, not KernelType axis).

      Parameters

      • shape: any
      • center: [number, number, number]
      • direction: [number, number, number]
      • angle: number

      Returns any

    • Parameters

      • shape: any
      • angle: number
      • Optionalaxis: readonly [number, number, number]
      • Optionalcenter: readonly [number, number, number]

      Returns any

    • Parameters

      • curve: any
      • angle: number
      • cx: number
      • cy: number

      Returns any

    • Parameters

      • shape: any
      • angle: number
      • inputFaceHashes: number[]
      • hashUpperBound: number
      • Optionalaxis: readonly [number, number, number]
      • Optionalcenter: readonly [number, number, number]

      Returns OperationResult

    • Parameters

      • shape: any
      • center: readonly [number, number, number]
      • factor: number

      Returns any

    • Parameters

      • curve: any
      • factor: number
      • cx: number
      • cy: number

      Returns any

    • Parameters

      • shape: any
      • center: readonly [number, number, number]
      • factor: number
      • inputFaceHashes: number[]
      • hashUpperBound: number

      Returns OperationResult

    • Cross-section: intersect shape with a plane.

      Parameters

      • shape: any
      • plane: any
      • Optionalapproximation: boolean

      Returns any

    • Parameters

      • curve: any

      Returns string

    • Set the translation part of a gp_GTrsf2d (mutates).

      Parameters

      • gtrsf: any
      • dx: number
      • dy: number

      Returns void

    • Sew shapes together at shared edges.

      Parameters

      • shapes: any[]
      • Optionaltolerance: number

      Returns any

    • Sew triangular faces into a shell and convert to solid.

      Parameters

      • faces: any[]
      • tolerance: number

      Returns any

    • Get shared edges between two faces.

      Parameters

      • faceA: any
      • faceB: any

      Returns any[]

    • Parameters

      • shape: any
      • faces: any[]
      • thickness: number
      • Optionaltolerance: number

      Returns any

    • Batch shell: hollow N solids in a single WASM call.

      Parameters

      • entries: readonly { faces: any[]; shape: any; thickness: number; tolerance?: number }[]

      Returns any[]

    • Parameters

      • shape: any
      • faces: any[]
      • thickness: number
      • inputFaceHashes: number[]
      • hashUpperBound: number
      • Optionaltolerance: number

      Returns OperationResult

    • Simplify a shape by merging same-domain faces and edges.

      Parameters

      • shape: any

      Returns any

    • Add an arc entity to a constraint sketch. Returns the arc index.

      Parameters

      • sketch: number
      • centerIdx: number
      • startIdx: number
      • endIdx: number

      Returns number

    • Solve sketch constraints. Returns a JSON result with solved point positions.

      Parameters

      • sketch: number
      • maxIterations: number
      • tolerance: number

      Returns string

    • Split shape by tool shapes.

      Parameters

      • shape: any
      • tools: any[]

      Returns any

    • Parameters

      • curve: any
      • params: number[]

      Returns any[]

    • Surface-based center of mass (uses surface properties, not volume).

      Parameters

      • face: any

      Returns [number, number, number]

    • Compute surface curvature at a UV point on a face.

      Parameters

      • face: any
      • u: number
      • v: number

      Returns {
          gaussian: number;
          max: number;
          maxDirection: [number, number, number];
          mean: number;
          min: number;
          minDirection: [number, number, number];
      }

    • Parameters

      • face: any
      • u: number
      • v: number

      Returns [number, number, number]

    • Parameters

      • wire: any
      • spine: any
      • Optionaloptions: { transitionMode?: number }

      Returns any

    • Sweep a profile along a spine with advanced options (transition mode, auxiliary spine, law).

      Parameters

      • profile: any
      • spine: any
      • Optionaloptions: {
            angularTolerance?: number;
            auxiliary?: any;
            boundTolerance?: number;
            contact?: boolean;
            correction?: boolean;
            frenet?: boolean;
            law?: any;
            maxDegree?: number;
            maxSegments?: number;
            shellMode?: boolean;
            support?: any;
            tolerance?: number;
            transitionMode?: "transformed" | "round" | "right";
        }

      Returns any

    • Sweep with options (contact mode, scale law, segments).

      Parameters

      • profile: any
      • pathEdge: any
      • contactMode: string
      • scaleValues: number[]
      • segments: number

      Returns any

    • Parameters

      • shape: any
      • thickness: number
      • inputFaceHashes: number[]
      • hashUpperBound: number

      Returns OperationResult

    • Serialize a shape to a string format for persistence.

      Cross-kernel warning: The serialization format is kernel-specific. OCCT uses its native BREP text format; brepkit proxies to STEP. Data produced by one kernel cannot be deserialized by the other.

      Parameters

      • shape: any

      Returns string

    • Apply N transforms in a single call.

      Parameters

      • entries: TransformEntry[]

      Returns any[]

    • Apply a general 2D transform to a curve via GeomLib.GTransform.

      Parameters

      • curve: any
      • gtrsf: any

      Returns any

    • Parameters

      • shape: any
      • x: number
      • y: number
      • z: number

      Returns any

    • Parameters

      • curve: any
      • dx: number
      • dy: number

      Returns any

    • Parameters

      • shape: any
      • x: number
      • y: number
      • z: number
      • inputFaceHashes: number[]
      • hashUpperBound: number

      Returns OperationResult

    • Build a triangulated surface from a height grid.

      Parameters

      • points: [number, number, number][]
      • rows: number
      • cols: number

      Returns any

    • Parameters

      • curve: any
      • start: number
      • end: number

      Returns any

    • Untrim a NURBS face to its full surface domain.

      Parameters

      • face: any
      • samplesPerCurve: number
      • interiorSamples: number

      Returns any

    • Parameters

      • face: any

      Returns { uMax: number; uMin: number; vMax: number; vMin: number }

    • Parameters

      • face: any
      • point: [number, number, number]

      Returns [number, number] | null

    • Parameters

      • vertex: any

      Returns [number, number, number]

    • Wrap a raw Geom2d_Curve in a Handle_Geom2d_Curve.

      Parameters

      • handle: any

      Returns any

    • Write an XCAF document to STEP format and return the string.

      Parameters

      • doc: any
      • Optionaloptions: { modelUnit?: string; unit?: string }

      Returns string