A fast, precise, GPU-accelerated CSG modeler with OpenSCAD-compatible syntax.
ChiselCAD is an open-source 3D CAD modeler for engineers and makers who prefer
code-driven design. It reads OpenSCAD-syntax .scad files and renders them with
a modern Vulkan renderer — giving you a dramatically faster and better-looking
result than legacy OpenGL-based tools.
It is not a drop-in OpenSCAD replacement. It targets the core CSG workflow — primitives, booleans, and transforms — and does that subset extremely well.
difference() {
cube([50, 35, 7]);
translate([25, 17.5, -1])
cylinder(h = 9, r = 5.5);
translate([6, 6, -1])
cylinder(h = 9, r = 2.8);
}ChiselCAD vs OpenSCAD at a glance
OpenSCAD ChiselCAD Renderer Legacy OpenGL + OpenCSG Vulkan, PBR shading, SSAO Boolean backend CGAL (slow) / Manifold (experimental) Manifold (always on) UI responsiveness Blocks on F6 render Async — UI never freezes Editor Embedded QScintilla VS Code + LSP + file watch AI assistance None Claude integration (planned) Language coverage Full OpenSCAD Core CSG subset (v1)
- Vulkan renderer with PBR shading and SSAO — models look like real objects
- Async dual-phase preview — instant primitive display while booleans evaluate in the background
- Manifold boolean backend — 100–1000× faster than CGAL
- OpenSCAD-syntax compatible —
.scadfiles work as-is for the supported subset - VS Code integration — edit in VS Code, ChiselCAD hot-reloads on save with live error feedback
- ImGui interface — lightweight, dockable, fast
- Cross-platform — Windows and Linux (macOS planned)
- C++20 throughout
| Category | Supported |
|---|---|
| Primitives | cube, sphere, cylinder |
| Booleans | union(), difference(), intersection() |
| Transforms | translate(), rotate(), scale(), mirror() |
| Quality | $fn, $fs, $fa |
| Export | Binary STL |
- CMake 3.25+
- Vulkan SDK 1.3+
- vcpkg
- A C++20 compiler (MSVC 2022, GCC 12+, or Clang 15+)
git clone https://github.com/particlesector/chiselcad.git
cd chiselcad
git submodule update --init --recursive
cmake -B build -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake
cmake --build build --config ReleaseThe binary will be at build/chiselcad (Linux) or build/Release/chiselcad.exe (Windows).
All resolved via vcpkg:
| Library | Purpose |
|---|---|
| Vulkan + VMA | GPU rendering |
| GLFW | Window + input |
| ImGui (docking) | UI |
| Manifold | CSG boolean operations |
| GLM | Math |
| spdlog | Logging |
| nlohmann-json | Config |
| ImGuiColorTextEdit | Embedded code editor |
- Open a
.scadfile in VS Code - Launch ChiselCAD and click File → Watch File (or pass the path as an argument)
- ChiselCAD monitors the file — every save triggers an instant re-evaluation
- Errors appear in ChiselCAD's diagnostics panel with file/line/column — click to jump
A full LSP extension for VS Code is planned (see docs/roadmap.md).
| Document | Description |
|---|---|
| docs/architecture.md | Full system architecture, subsystem design, and key decisions |
| docs/roadmap.md | Planned features and future direction |
| CONTRIBUTING.md | How to contribute |
ChiselCAD is in early development. The architecture is designed, the test model is ready, and the build scaffold is in place. Core subsystems are being implemented.
If you want to follow along or contribute, see CONTRIBUTING.md.
MIT — see LICENSE.
ChiselCAD uses Manifold (Apache 2.0), Dear ImGui (MIT), and other open-source libraries. See docs/architecture.md for the full dependency list.