File size: 1,652 Bytes
010bc6c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# 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

```bash
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

```bash
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

```python
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.