brepjs API Reference
    Preparing search index...

    Class OcctWasmAdapter

    brepjs — Public API

    Implements

    Index

    Constructors

    Properties

    Methods

    addCurveToBBox2d addHolesInFace adjacentFaces affinityTransform2d applyComposedTransformWithHistory approximateCurve2dAsBSpline approximatePoints approximateSurfaceLspia area boundingBox bsplineSurface buildCurves3d buildEdgeOnSurface buildExtrusionLaw buildSolidFromFaces buildTriFace centerOfMass chamfer chamferDistAngle chamferWithHistory checkBoolean checkpoint checkpointCount circularPattern classifyPointOnFace classifyPointRobust classifyPointWinding composeTransform configureStepUnits configureStepWriter 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 fillet filletVariable filletWithHistory fillSurface fixFaceOrientations fixSelfIntersection fixShape fixWireOnFace fromBREP fuse fuseAll fuseWithHistory generalTransform generalTransformNonOrthogonal generalTransformWithHistory getBBox2dBounds getBezierPenultimatePole getCurve2dBezierDegree getCurve2dBezierPoles getCurve2dBounds getCurve2dBSplineData getCurve2dCircleData getCurve2dEllipseData getCurve2dType getNurbsCurveData getSurfaceCylinderData hashCode hasTriangulation healFace healSolid healWire helicalSweep hull hullFromPoints import3MF importGLB importIGES importOBJ importSTEP importSTL interpolatePoints intersect intersectCurves2d intersectWithHistory isBBox2dOut isBBox2dOutPoint isEqual isNull isSame isValid iterShapeList iterShapes length liftCurve2dToPlane linearCenterOfMass linearPattern loft loftAdvanced 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 shellWithHistory simplePipe simplify solidFromShell split splitCurve2d surfaceCenterOfMass surfaceCurvature surfaceNormal surfaceType sweep sweepPipeShell sweepWithOptions thicken thickenWithHistory toBREP transform transformBatch transformCurve2dGeneral translate translateCurve2d translateWithHistory triangulatedSurface trimCurve2d untrimFace uvBounds uvFromPoint vertexPosition volume wrapColor wrapCurve2dHandle wrapString writeXCAFToSTEP

    Constructors

    Properties

    kernelId: "occt-wasm" = 'occt-wasm'

    Unique string identifying this kernel implementation. Used to prevent mixing shapes from different kernels.

    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

    • 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

    • 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
      • 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

    • 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
      • Optional_tolerance: 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 }

    • Configure STEP writer unit settings.

      Parameters

      • _unit: string | undefined
      • _modelUnit: string | undefined

      Returns void

    • Configure STEP writer standard settings (color, layer, name, schema).

      Parameters

      • _writer: any

      Returns void

    • 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

    • 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 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

    • 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

    • 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

    • 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

    • 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
      • Optional_options: BooleanOptions

      Returns DiagnosticOperationResult

    • Remove faces from a solid (defeaturing).

      Parameters

      • shape: any
      • faces: any[]

      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

      • h: { 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

    • 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[]
      • Optional_options: { 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 }[]
      • Optional_options: { modelUnit?: string; schema?: number; unit?: string }

      Returns string

    • Parameters

      • shape: any
      • Optionalbinary: boolean

      Returns string | ArrayBuffer

    • Parameters

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

      Returns any

    • Parameters

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

      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[]
      • Optional_options: {
            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

    • Parameters

      • shape: any
      • tool: any
      • inputFaceHashes: number[]
      • hashUpperBound: number
      • Optional_options: 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, 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

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

      Parameters

      • _surface: any

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

    • 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

    • Import from OBJ format. Returns a solid shape.

      Parameters

      • _data: 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
      • Optional_options: BooleanOptions

      Returns DiagnosticOperationResult

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

      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

    • 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

    • 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[]
      • Optional_ruled: boolean
      • Optional_startShape: any
      • Optional_endShape: 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

    • 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

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

      Returns any

    • Parameters

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

      Returns any

    • Parameters

      • points: [number, number][]
      • Optional_options: {
            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
      • Optional_start: number
      • Optional_end: 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
      • Optional_xDir: [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
      • Optional_xDir: [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]
      • Optional_leftHanded: 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

    • Merge coincident vertices within tolerance. Returns merge count.

      Parameters

      • _shape: any
      • _tolerance: number

      Returns number

    • 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
      • Optional_tolerance: 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
      • Optional_tolerance: 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

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

      Parameters

      • _surface: any

      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
      • Optional_approximation: boolean

      Returns any

    • 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
      • Optional_tolerance: number

      Returns any

    • Parameters

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

      Returns OperationResult

    • 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
      • 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

    • 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

    • Create a kernel color from RGB 0-255 and alpha 0-1.

      Parameters

      • _red: number
      • _green: number
      • _blue: number
      • _alpha: number

      Returns any

    • 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
      • Optional_options: { modelUnit?: string; unit?: string }

      Returns string