- NPM package:
brep-io-kernelhttps://www.npmjs.com/package/brep-io-kernel - Live API examples https://BREP.io/apiExamples/index.html
- Developer Discord https://discord.gg/R5KNAKrQ
BREP.io is a browser-based CAD application and JavaScript kernel for feature-based solid modeling.
At its core is a BREP-style modeler with explicit geometry/topology objects such as Solid, Face, Edge, and Vertex, paired with an editable feature-history pipeline.
It also includes sketch workflows powered by a standalone 2D constraint solver, plus robust manifold booleans (manifold-3d), mesh repair/import tooling, assembly constraints, PMI annotations, and embeddable CAD/sketcher APIs.
This project is in active development and APIs may continue to evolve.
General:
- Getting Started
- Developer Docs Index
- Bug Reporting and Repro Test Cases
- Highlights
- What's New
- API Examples
Core APIs:
- BREP API Export Map
- BREP Kernel Reference
- Solid Methods
- Part History
- 2D Sketch Solver
- Embeddable CAD (
CadEmbed) - Embeddable Sketcher (
Sketcher2DEmbed)
System docs:
- History Systems
- Input Params Schema
- File Formats: Import and Export
- Plugins and Examples
- Inspector
- Inspector Improvements
Mode guides:
Feature index:
Primitives and setup:
- Primitive Cube
- Primitive Cylinder
- Primitive Cone
- Primitive Sphere
- Primitive Torus
- Primitive Pyramid
- Plane
- Datum
- Datium
- Sketch
- Spline
- Helix
Solid operations:
Pattern, import, and generation:
- Pattern (Legacy Combined)
- Pattern Linear
- Pattern Radial
- Import 3D Model
- Image Heightmap Solid
- Image to Face
- Text to Face
Assembly and sheet metal:
Additional implemented features in the codebase include collapse edge, edge smooth, offset face, overlap cleanup, sheet metal hem, and sheet metal cutout.
- PMI Annotations Index
- Linear Dimension
- Radial Dimension
- Angle Dimension
- Leader
- Note
- Hole Callout
- Explode Body
Prerequisites:
- Node.js 18+
pnpm
Install and run locally:
pnpm install
pnpm devThen open the Vite URL shown in your terminal.
- Main app shell:
/index.html - Direct CAD workspace:
/cad.html
| Command | Purpose |
|---|---|
pnpm dev |
Prepares fonts, builds the kernel bundle, then runs the Vite dev server. |
pnpm build |
Production build of the app into dist/ (includes kernel build step). |
pnpm build:kernel |
Builds the ESM kernel bundle into dist-kernel/ and syncs assets. |
pnpm test |
Runs the Node test suite (src/tests/tests.js), writing artifacts to tests/results/. |
pnpm liveTesting |
Watches src/ and tests/ and reruns tests on change. |
pnpm capture |
Captures docs/dialog screenshots. |
pnpm generateLicenses |
Regenerates dependency and bundled-font license summaries. |
Build outputs:
dist/: static web app (ready for CDN/web hosting)dist-kernel/: published kernel bundle artifacts
Package name: brep-io-kernel (ESM-only).
Install:
pnpm add brep-io-kernelMain imports:
import {
BREP,
PartHistory,
AssemblyConstraintHistory,
AssemblyConstraintRegistry,
CadEmbed,
Sketcher2DEmbed
} from "brep-io-kernel";Subpath imports:
import { BREP } from "brep-io-kernel/BREP";
import { PartHistory } from "brep-io-kernel/PartHistory";
import { CadEmbed } from "brep-io-kernel/CAD";
import { Sketcher2DEmbed } from "brep-io-kernel/Sketcher2D";
import { ConstraintSolver, ConstraintEngine, constraints } from "brep-io-kernel/SketchSolver2D";Node examples:
CLI helper:
npx brep-io-kernel
npx brep-io-kernel --host 127.0.0.1 --port 4173
npx brep-io-kernel --helpLicense helper APIs:
import { getPackageLicenseInfoString, getAllLicensesInfoString } from "brep-io-kernel";
console.log(getPackageLicenseInfoString()); // package license info
console.log(getAllLicensesInfoString()); // package + production dependenciesCommonJS note:
const { BREP } = await import("brep-io-kernel");src/BREP: core solid/kernel implementationsrc/features: feature implementations and dialogssrc/assemblyConstraints: assembly solver and constraintssrc/UI: CAD/sketcher UI and embedding bridgesdocs/: markdown docs and screenshotsapiExamples/: standalone browser API demostests/andsrc/tests/: test assets and test runner
See CONTRIBUTING.md.
See LICENSE.md. This project uses a dual-licensing strategy managed by Autodrop3d LLC.






