Documentation
Render3D CAD Visualizer
A CAD project visualizer inspired by ForgeCAD: orbit, zoom, and pan a 3D viewport, upload meshes, edit transforms, and generate new geometry from natural-language prompts via GPT-5.5 Pro.
What changed today
Render3D now has a more complete electronics-to-CAD workflow: source parts, wire them, generate real mounting fixtures, draw routes between objects, and inspect AI cost usage by project, person, prompt, tokens, or calls.
Visual workflows
Line tool to route geometry
Line tool
click object A
↓
click bend / midpoint(s)
↓
click object B
↓
Enter / double-click → @path-1
↓
Draw prompt: "create wire loops along this path"
Component fixture prompt
@component:arduino_nano_r4
@component:adafruit_858_stepper_motor_5vdc
↓
component_specs + measured bounds
↓
deterministic fixture generator
↓
mount plate + board pocket + motor posts
↓
component meshes moved into the mounts
AI cost analytics
Range filter: 7d / 30d / 90d / year
View filter: mine / shared / individual
Metric: cost / tokens / prompts / calls
Chart: bars / line / area / user / project / prompts
Prompt chart: "compare project token usage last 90 days"
Wiring validation
Stepper motor requested
↓
validator checks coils + current path
↓
Arduino pins must feed driver inputs
↓
ULN2003 / driver outputs feed motor coils
↓
simulation animates actuator when valid
Prompt examples — using skills
Enable skills on the Skills Library page, then reference them in Studio prompts.
Active skills appear as @skill:cad chips; you can also name the skill in plain language.
Blueprint Vision turns on automatically when you attach an image to a prompt.
CAD — parametric block with holes
Use the CAD skill to generate a parametric STEP model.
Create a 100mm x 60mm x 20mm rectangular block with four 8mm vertical through-holes. Add a 2mm chamfer only on the top outer perimeter.
Output:
- STEP file
- STL file
- Preview in CAD Viewer
Blueprint Vision — schematic to CAD model
Attach a schematic, blueprint, or concept drawing image to the prompt. Blueprint Vision enables automatically; also enable CAD to generate geometry.
Use the Blueprint Vision skill to analyze this schematic, then model it with the CAD skill.
Extract all dimensions and labels from the image text. Produce the full 7-stage analysis
(understanding, dimensions, components, relationships, reconstruction plan, model tree),
then generate a parametric STEP assembly.
Example target: countertop automated cooking appliance, 420×360×520 mm envelope,
bowl, support columns, bridge, motor, mixing shaft, hopper, spice dispensers, control panel.
Output:
- Structured analysis summary
- STEP assembly
- STL meshes
- Preview in CAD Viewer
Mesh Checkup — repair and smooth a selected region
Use the ◈ Checkup tool in the Direct modeling panel (Tools tab). Pick a face (F) or lasso a region (L) first to scope smoothing; repair runs on the whole mesh.
1. Upload or load an STL/GLB mesh with rough or noisy geometry.
2. Press F and click a bumpy face, or press L and lasso the area to smooth.
3. Open Tools → ◈ Checkup.
4. Click Check — review topology report (non-manifold edges, open boundaries, degenerate triangles).
5. Enable Repair topology + Smooth selection.
Method: Taubin (shape-preserving) · Iterations: 8
6. Click Apply cleanup.
Optional AI prompt (after cleanup) for further edits on the same region:
At @face-1 fillet the outer edge 2mm and keep the smoothed surface unchanged.
Wiring Simulator — breadboard schematic from prompt or photo
Switch workspace to ⎍ Wiring Simulator. Drag components, drag wires pin-to-pin on the grid, or describe the circuit in the left Wiring AI panel. Attach a breadboard photo to match an existing build. Click Example to load a filled blink-LED circuit with color-coded wires.
Arduino Uno blink LED on pin 13:
- Half breadboard centered on canvas
- 220Ω resistor between D13 row and LED anode
- LED cathode to GND rail
- 5V and GND from Arduino to breadboard power rails
Use red for 5V, gray for GND, blue for D13 signal.
Then prompt edits:
Move the LED one column right and add a second red LED on pin 12 with its own 220Ω resistor.
Component-aware fixture — real parts, real mounts
Drag components from the project browser into the prompt or copy their @component
reference. Render3D measures the current mesh, uses known part profiles when available,
and can place the component models into deterministic mounting geometry.
@component:adafruit_858_stepper_motor_5vdc
@component:arduino_nano_r4
Generate a flat open breadboard-style test fixture.
Mount the Arduino Nano in a pocket with corner holes and USB clearance.
Hold the stepper motor by its bracket ears with two posts and a body clearance opening.
Move the referenced STEP/GLB components into the generated mounts.
Draw mode — selected-face hole pattern
Switch prompt mode to Draw, press F, pick a face, then describe the local edit. Draw mode now separates hole count, diameter, pattern, and blind depth.
put 5 holes in a circle evenly apart 4 mm 3mm deep
Result:
- 5 blind holes
- 4 mm diameter
- 3 mm deep
- evenly spaced around the selected face center
Draw mode — ducts and wire loops from the Line tool
Press N or click Line, click path points between objects, then
double-click or press Enter to finish. The path becomes an @path-N reference
that Draw mode can turn into route geometry.
create a 6mm wire duct along this path
make 2mm wire loops 10mm high along this path
add wire clips between these two objects using @path-1
Features
- 3D viewer — Orbit, pan, zoom; grid toggle; fit-to-view
- Edit timeline — Fusion-style history; drag the slider or click steps to restore earlier states
- Geometric references — Pick corners, faces, edges, lasso regions, and line paths; insert
@corner-1or@path-1chips into prompts - Reference-aware AI — e.g. “at @corner-1 drill a 3mm hole through the part”
- File import — STL, OBJ, GLB/GLTF, PLY, OFF, and 3MF upload with timeline history
- Gizmo edit — Transform controls with server-side save
- AI CAD prompting — GPT-5.5 Pro builds and modifies geometry via Trimesh
- Stop generating — cancel an in-flight OpenAI/Claude generation to avoid wasting time and tokens
- Project prompt drafts — prompt text and references are saved per project when you switch away and restored when you return
- Object visibility — right-click a component in the workspace browser and choose Hide object / Show object
- Color tool — select an object or face and apply a color from the Create/viewport controls
- Component profiles — source imported parts, store datasheets/pinouts/specs, and feed verified dimensions to wiring and CAD generation
- Driver-aware wiring — motors and steppers are validated through driver boards such as ULN2003 instead of wiring Arduino pins directly to coils
- Code + simulation — wiring designs can generate Arduino-style code, open an editable code tab, and run visual actuator simulations when wiring validates
- AI cost analytics — compare cost, tokens, prompt counts, and AI calls by time range, user, project, or recent prompt
Draw mode local edits
| Reference | Prompt | Result |
|---|---|---|
| Selected face | put a 4 mm hole in the middle of this face | Through-hole at selected face center |
| Selected face | put 5 holes in a circle evenly apart 4 mm 3mm deep | Blind circular hole pattern |
| Line path | create a wire duct along this path | Raised duct/conduit along @path-N |
| Line path | make wire loops along this path | Repeated hoop clips following @path-N |
Component and wiring workflow
- Drag to prompt — drag a component from the workspace browser into the AI prompt to create a component reference chip.
- Drag to Wiring Simulator — drop a component into the wiring viewport to create a recognized wiring part with pins.
- Profile / source — right-click a component and choose Profile / source to identify an imported STEP/GLB part, collect specs, and seed datasheets or pinout data.
- Driver picker — if a motor needs a driver, the simulator can prompt for a compatible driver board and import/source the supporting STEP file.
- Validation — stepper coil inputs, Arduino control pins, power rails, and driver outputs are checked before simulation.
AI cost analytics
Open the account/profile menu and choose View analytics. The popup is wide enough for chart comparison and includes quick buttons plus a prompt-style chart builder.
| Control | Options |
|---|---|
| Range | Last 7, 14, 30, 60, 90, 180, or 365 days |
| View | Mine + shared, mine only, shared only, or a specific shared-key user |
| Metric | Cost, tokens, prompt count, AI calls |
| Chart | Stacked bars, line, area, by person, by project, recent prompts |
| Prompt chart | compare project token usage last 90 days |
Quick start
cd Render3D
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# Edit .env and set OPENAI_API_KEY
python run.py
Open http://127.0.0.1:8001 (default port; set PORT in .env if needed).
Viewer controls
| Input | Action |
|---|---|
| LMB | Orbit |
| RMB | Pan |
| Scroll | Zoom |
| C / F / E | Pick corner / face / edge |
| L | Lasso a surface region for scoped cleanup or references |
| N | Line / path tool for ducts, wire loops, and route references |
| G | Toggle gizmo |
| W | Toggle wireframe |
| Right-click component | Open, attach to wiring, profile/source, hide/show, export, rename, delete |
| Esc | Return to orbit mode |
Configuration
| Variable | Default | Description |
|---|---|---|
OPENAI_API_KEY | — | Required for AI prompts |
OPENAI_MODEL | gpt-5.5 | Fast OpenAI model id |
OPENAI_MODEL_QUALITY | gpt-5.5-pro | Quality model for slower prompts |
HOST | 127.0.0.1 | Bind address |
PORT | 8000 | HTTP port |
Skills Library
Render3D ships agent skills from
text-to-cad
under backend/skills/. Enable skills on the
Skills Library page; active skills appear as
@skill:cad chips in Studio and are sent with each prompt.
GET /api/skills— List installed skills (tools, references, provenance)GET /api/skills/{id}— Full SKILL.md contentGET /api/skills/{id}/tools— Python CLI tools for a skill
API
GET /api/health— Status and modelGET /api/projects— List saved projectsPOST /api/projects— Create projectPOST /api/projects/{id}/upload— Upload CAD filePOST /api/projects/{id}/prompt— AI generate geometryPOST /api/projects/{id}/generation/cancel— Stop an in-flight generationPOST /api/projects/{id}/files/{name}/transform— Apply transformPOST /api/projects/{id}/files/{name}/paint— Paint an object or selected facePOST /api/projects/{id}/files/{name}/draw-hole— Draw selected-face holes and hole patternsPOST /api/projects/{id}/files/{name}/draw-route— Draw ducts or wire loops along a line-tool pathPOST /api/projects/{id}/files/{name}/mesh-cleanup— Topology checkup, repair, and selection smoothingGET /api/projects/{id}/timeline— Edit history timelineGET /api/projects/{id}/prompt-history— Past promptsGET /api/user/ai-costs— Cost, token, project, user, and prompt analytics
Security
Never commit .env or API keys. If a key was shared in chat or logs, rotate it in the OpenAI dashboard.