noahlee1234
Initial NaturalCAD MVP
010bc6c

build123d Live Visualizer Prototype

This prototype pairs a lightweight Express runner with a Vite + React front-end that streams runner logs and renders generated STL files inside a browser-based viewport.

Prerequisites

  • Node.js 18+
  • Access to the existing build123d Python environment at /Users/noahk/.openclaw/workspace/skills/build123d-cad/.venv/bin/python (automatically used by the server).

Getting Started

npm install
npm run dev

The shortcut above launches both the Express runner (http://localhost:4000) and the Vite dev server (http://localhost:5173).

Manual split

npm run dev:server # terminal 1
npm run dev:client # terminal 2

The front-end proxies /api and /artifacts calls to the Express server when running in dev mode.

Using the Prototype

  1. Paste or edit build123d code inside the left panel. Ensure your geometry is assigned to a variable called result.
  2. Click Run & Stream. The server writes your code to a scratch file, executes it inside the configured build123d virtualenv, and exports STL and STEP artifacts into ./artifacts.
  3. Logs and errors stream into the right-hand panel. When the export succeeds, the STL is loaded into the three.js viewport and download links become available for both STL and STEP.

Sample Snippet

from build123d import *

with BuildPart() as bp:
    with BuildSketch(Plane.XY) as base:
        Rectangle(40, 20)
        Locations((0, 0))
        Circle(6)
    extrude(amount=12)

result = bp.part

All exported artifacts live inside the artifacts/ folder, which is served statically for browser fetching.