Design real CAD parts
just by describing them.
PrintPal's AI CAD Modeler turns your ideas into precise, editable 3D models in seconds — no complex CAD software to learn. Adjust any dimension, preview instantly in your browser, and export production-ready files for printing, Fusion 360, SOLIDWORKS, and beyond.
Real parametric parts. Real OpenSCAD code.
Every model below is a working OpenSCAD script the agent has generated for real visitors. Open any one of them to keep iterating with chat, tweak the parameters, and export.
AIM-9 display model
Inert exterior scale replica — tapered seeker nose, canard + tail fin sets, rolleron tip housings, and surface detail down to the rivet bands. Every collar, band, and fin is a parameter.
Raspberry Pi 5 case
Vented enclosure sized to the Pi 5 board — standoffs on the 58 × 49 mm hole pattern, cutouts for USB / Ethernet / micro-HDMI / USB-C, and a slot vent bank. Resize the board, the case follows.
Spur gear
Real involute teeth via the BOSL2 part library — not a hand-modeled mesh, not a fake glamour-shot gear. One function call generates a manifold solid you can print.
Centrifugal impeller
Backward-curved impeller — 12 sinusoidally-tapered blades swept from hub to rim, with filleted roots and a through-bore. Pure function-driven geometry, no hand-modeled mesh.
Free in-browser rendering and export. AI generations metered as pay-as-you-go credits.
Not a mesh generator. A CAD agent.
Mesh AI is great for figurines. Parametric AI is what you need for parts that have to fit, mount, screw, or print to spec.
Mesh-style 3D generators
- Outputs a frozen mesh — change one dimension, regenerate from scratch
- No design contract, no review checklist, no parametric handles
- Geometry is faceted-only — no true CAD primitives or features
- Hard to constrain by dimensions, tolerances, or hole patterns
- Great for figurines, miniatures, character models, and display props
Try our 3D Generator — purpose-built for mesh-style models.
AI CAD Modeler
- Outputs editable OpenSCAD with stable
@featurehandles - Brief + checklist contract enforced and shown above every generation
- Real STEP AP214 export — opens cleanly in Fusion / SOLIDWORKS / Onshape
- OpenSCAD WASM in the browser — sub-second iteration loop
- Best for mechanical parts, mounts, fixtures, enclosures, printable parts
Drop a sketch. Drop a photo. Get the CAD.
The agent is vision-capable. Hand drawings on graph paper, screenshots from a Google search, photos of a broken bracket on your workbench — anything that shows the shape works.
Your reference
Live 3D preview
After every generation a 4-view technical sheet of your model goes back to the agent automatically — so on the next turn it can compare what it built against your reference and refine without you having to nudge it.
Everything an AI pair-programmer for CAD should have
The interface borrows what Cursor got right for code, then bends it around a 3D viewer and an OpenSCAD compiler.
Chat-driven generation
Plain-English prompts in, fully-parametric OpenSCAD code out. The agent maintains a design brief and a per-turn checklist so you can see what it intended to build.
Stable @feature references
Every named feature gets a // @feature: name tag in the code. Reference them in chat with @feature[name] or click the chip to highlight the geometry in 3D.
Live in-browser render
OpenSCAD compiled to WebAssembly. Every edit re-renders in milliseconds, with no server roundtrip — your code never leaves your machine until you press Generate.
Auto-fix & auto-iterate
Compile errors get silently re-prompted and repaired. When you attach a reference image, a self-critique pass compares the render to your image and refines.
Session history
Every project autosaves. Browse, search, rename, and reload any past session — chat, code, viewer settings, and the design contract all come back exactly as you left them.
Build mode + Code mode
Drag primitives onto a 3D canvas, OR drop into raw OpenSCAD. Switch freely — the agent picks up your hand-edits on the next turn without losing context.
Engineering-grade exports
STL and 3MF for slicers, STEP (real AP214 faceted BRep) for downstream CAD work, OFF for academic tools, and the raw .scad source for OpenSCAD users.
Vision-aware iteration
Drop a sketch, hand drawing, or photo. After each generation, a 4-view sheet of your model goes back to the agent so it can compare against your reference.
Sketch & photo input
Drop in a hand drawing, a photo of an existing part, or a napkin sketch — the vision-capable agent reads it, asks any clarifying questions, and writes the parametric code to match.
The agent iterates and checks its own work.
Tell it what to change. It generates, repairs compile errors silently, measures its output against the brief, and only stops when the part is actually printable. You see what it did, every step.
@feature[left_section], @feature[mid_section],
@feature[right_section], @feature[keyway], @feature[end_chamfers].
;) — repaired silently, regenerating. 1 retry
@feature[keyway] 2 mm deeper and shift it 5 mm toward the right end.@feature[keyway] — depth 3 → 5 mm, start X 40 → 45 mm. Other features unchanged.
Auto-fix on compile errors
If the generated OpenSCAD doesn't compile, the agent re-prompts itself with the failing program and the error, repairs it, and tries again — bounded loop so a chatty model can't spin forever.
Brief vs reality check
After every render the actual bounding box is compared against the envelope the agent committed to in the brief. You see the diff. The next turn knows about it.
Manifold & printability checks
Watertight check, manifold check, and a minimum wall thickness pass run on every render. Non-printable geometry surfaces as a warning the agent can address in the next turn.
Every generation comes with a design contract.
Before the agent writes a single line of code, it produces a design brief — units, origin, envelope, features, defaults adopted. Then it produces a checklist of what it'll build, item by item. Then it builds it.
After the render, the brief's committed envelope is compared against the actual bounding box. If you said "120 × 30 × 30 mm shaft" and the model came out 122 × 30.4 × 30, you'll see a mismatch warning — and the next turn knows about it.
- Brief and checklist render above the generation, never inside it
- Bounding-box contract check after every render
- Carries forward across follow-up turns automatically
- Units: mm; origin at left end center
- Envelope: 120 × 30 × 30 mm (X × Y × Z)
- Features: 3 stepped sections, 1 mm chamfers, top keyway
- Defaults adopted:
$fn = 96for smooth circular shaft
- Define envelope and X-axis frame
- Build left Ø20 mm section with chamfer
- Build middle Ø30 mm section
- Build right Ø20 mm section with chamfer
- Cut top keyway 40 × 6 × 3 mm
From idea to STEP file in three steps
No install, no CAD seat. Open a tab and start describing.
Describe the part
Type plain English ("M3 cable clip, 18 mm long, snap-fit"). Optionally drop a sketch or photo. The agent asks clarifying questions only when it has to.
Iterate in the chat
The agent generates editable OpenSCAD, renders it instantly, and shows you the brief + checklist. Refine in plain English ("make the clip 2 mm thicker, add a strain-relief").
Export to your workflow
One click downloads STL or 3MF for your slicer, STEP for Fusion / SOLIDWORKS / Onshape, or the raw SCAD source so you can keep iterating outside the browser.
Every export your downstream needs
Real files. Real schemas. Real STEP — not a renamed STL.
All exports run client-side via OpenSCAD WebAssembly. Hits no server, costs no credits.
The STEP exporter emits proper MANIFOLD_SOLID_BREP entities so files import cleanly into Fusion 360, SOLIDWORKS, Onshape, FreeCAD, NX, and Creo.
Built for parts that have to fit something
If the thing you're making has a hole that needs to clear a specific screw, a face that needs to mate with an existing part, or a slot you'll machine in aluminum next week — this is for you.
Mechanical engineers
Brackets, mounts, jigs, fixtures, sensor housings, motor adapters. Edit dimensions with a slider, then hand the STEP to a machinist or your CAD assembly.
3D printing makers
Parametric printable parts you can re-customize for every print. No more "generate a new STL from scratch every time the screw size changes."
Hardware startups
Skip the week-long CAD bring-up for v0 enclosures, breadboard mounts, and prototype housings. Get to the test fixture today, refine in CAD tomorrow.
Educators & makerspaces
Students describe what they want, see the OpenSCAD that generates it, and learn parametric thinking by tweaking code instead of fighting menus.
OpenSCAD power users
A pair-programmer that knows BOSL2 idioms, manifold backend quirks, and how to write code you'd actually be willing to commit. Auto-fix has your back on compile errors.
Print farms
Customer sends "I need a custom phone mount for X bike, with Y mounting holes" — turn it around in two chat turns and export print-ready 3MF.
Reference features by name. Click them in 3D.
Traditional CAD lets you click a face and address it directly. Mesh AI tools lose that — every edit is "regenerate the whole model from scratch." We bring it back, OpenSCAD-style.
The agent inserts // @feature: name comments above
named feature groups. Click the chip to highlight that
feature in bright orange in the 3D viewer. Type
@feature[name] in chat to reference it across turns
— even after the surrounding code has been rewritten.
- Features survive regenerations — the name is the contract
- Cursor-style autocomplete picker for
@feature,@param,@module,@hardware - Click a chip to isolate that feature in the 3D viewer
- Cmd-click to pin a highlight that persists across edits
Frequently asked questions
Mirrors the FAQPage JSON-LD above — both source from the same answers.
What's the difference between AI CAD and AI 3D mesh generators?
What file formats can I export?
Do I need to know OpenSCAD to use this?
Is this real STEP, or just an STL with a .step extension?
ADVANCED_FACE bounded by EDGE_CURVEs, wrapped
in a MANIFOLD_SOLID_BREP inside a CLOSED_SHELL.
The geometry is faceted (not parametric curves), so you won't be able to
edit a feature tree in your CAD tool, but you can use it for machining
drawings, assembly references, downstream CAD imports, and quoting work.
Fusion 360, SOLIDWORKS, Onshape, and FreeCAD all open it cleanly.
How do you bill for AI usage?
Does the 3D preview run on the server?
What's a feature reference (@feature)?
// @feature: snake_case_name comments
above named feature groups (a hole pattern, a boss, a chamfer, a bracket
arm). You can then type @feature[name] in the chat to refer
to it stably across turns ("make @feature[main_bore] 1 mm
wider") or click the matching chip above the chat composer to highlight
the feature in orange in the 3D viewer. It's the OpenSCAD equivalent of
clicking a face in a traditional CAD tool — but it survives across
regenerations.
What if the AI generates code that doesn't compile?
Can I attach reference images?
Are my designs saved automatically?
Who is this for?
Stop generating throwaway STLs.
Start designing parametric CAD.
Open the modeler, describe your part, and you'll have a printable file before you finish your coffee.
Free to render and export · Pay only for AI generations · Cancel any time