← All Projects
3D CAD + AI

ClawSCAD

OpenSCAD is the programmer's 3D modeler — precise, parametric, reproducible. ClawSCAD makes it AI-native: describe what you want, get a model, iterate in natural language.

It's an Electron app that wraps OpenSCAD with a Three.js PBR viewport, a Monaco code editor, an embedded Claude Code terminal, and a custom MCP server that gives Claude real tools — not just code generation, but the ability to render, validate, and inspect the model it's building.

Also available as SmartSCAD — a lighter fork that uses the Anthropic and OpenAI APIs directly instead of the Claude Code CLI.

Windows / macOS / Linux · Requires OpenSCAD installed · Claude Code CLI (for ClawSCAD) or Anthropic API key (for SmartSCAD)

The Problem it Solves

OpenSCAD is extremely powerful for parametric 3D design, but the iteration loop is slow: write code, hit F5, wait for render, look at model, go back to code. For complex shapes, you end up spending more time managing that cycle than actually designing.

ClawSCAD collapses the loop. Claude generates or modifies the .scad code via the embedded terminal, the MCP server validates and renders it, and the Three.js viewport updates — all without leaving the app. The immutable checkpoint system means you can explore freely without fear of losing a good state.

ClawSCAD Features

Live 3D Viewport

PBR rendering with Three.js, embedded directly in the Electron window. Every checkpoint renders the moment it's written — no switching to a separate OpenSCAD window, no manual re-rendering.

Immutable Checkpoints

Every .scad file Claude writes is a permanent, numbered checkpoint. Claude never overwrites previous work — it always creates a new file. This means you can freely branch from any point in design history.

Checkpoint Branching

See a version from 12 iterations ago that had better proportions? Click it in the timeline and continue from there. Every branch is independent — no merge conflicts, no lost work.

Monaco Editor

Full OpenSCAD syntax highlighting and editing using Monaco — the same engine as VS Code. Edit the generated code directly when you need fine control over parameters, then let Claude continue from your changes.

Embedded AI Terminal

Claude Code runs inside an xterm.js terminal embedded directly in the app. You describe what you want in plain language, Claude generates or modifies the .scad file, and the viewport updates — all within one window.

OpenSCAD MCP Server

A custom MCP server exposes render, validate, and analyze tools directly to Claude. Claude can programmatically check if the model is valid, trigger a render, and read back dimensions — not just generate code blindly.

SmartSCAD — What's Different

  • Uses the Anthropic SDK and OpenAI SDK directly instead of embedding the Claude Code CLI — lighter weight, no local CLI dependency.
  • Supports both Claude (claude-opus-4-6, sonnet, haiku) and GPT-4 / GPT-4o via a unified providers.js interface.
  • API-based: send a describe-what-you-want prompt, get back OpenSCAD code. Better for scripted workflows and embedding in other tools.
  • Trades the full agentic loop (tool use, multi-step iteration) for simpler request-response interaction with lower latency.

ClawSCAD Stack

ElectronNode.jsThree.jsxterm.jsMonaco EditorOpenSCADMCP ServerClaude Code

SmartSCAD Stack

ElectronNode.jsThree.js@anthropic-ai/sdkopenaiOpenSCAD