Guide

AI CAD agent guide: text to CAD for 3D printable parts

The PrintPal CAD Agent is a text-to-CAD tool. You describe a part in plain words, it writes OpenSCAD code, and your browser renders the model in 3D. Then you adjust it with sliders or more chat, and export an STL or 3MF for your slicer.

9 min read Updated October 2026 Beginner Get started · 2 of 4
Quick answer
  1. Open /cad-agent and sign in.
  2. Describe the part, with sizes in millimetres if you know them. You can attach up to 4 images.
  3. Answer any quick questions the agent asks, then check the size it commits to.
  4. Fine-tune with the sliders in the Adjust tab, or ask for changes in chat.
  5. Open the File menu and export STL or 3MF.

What the AI CAD agent does

The agent writes a complete OpenSCAD program for each design. OpenSCAD is a code-based CAD language, so every size is a named number you can change later. The program compiles in your browser with OpenSCAD WebAssembly, and the BOSL2 and MCAD libraries load the first time the code uses them.

You never have to read the code. In the default Simple mode it stays hidden, and the numbers at the top of the program show up as sliders.

CAD AgentAI 3D Model Generator
OutputOpenSCAD code plus a rendered solidA mesh
Best forBrackets, boxes, mounts, gears, adaptersFigures, characters, sculptures
DimensionsExact, set by youApproximate, scale after
Editing laterSliders, chat or codeMesh tools
AI tool · free to tryAI 3D Model GeneratorMaking an organic shape like a figurine or a pet? The AI 3D Model Generator is the better fit.Open tool

Simple mode vs Advanced mode

The agent opens in Simple mode, a chat-first layout for people who have never used CAD. The Advanced switch in the top bar turns on the full editor. Your choice is remembered in this browser.

FeatureSimple (default)Advanced
Chat with the agent and 3D viewerYesYes
Sliders for the model's numbersAdjust tabParams tab (in Code mode)
OpenSCAD code editorHiddenCode mode
Build mode (place and combine shapes by hand)HiddenYes
@feature chips above the chat boxHiddenYes
Render button, View menu, Info tabHidden (renders automatically)Yes
ExportsSTL, 3MFSTL, 3MF, STEP (faceted), OFF, .scad

The Open in editor button on code blocks in these docs opens the agent in Advanced mode with that code loaded.

Your first text-to-CAD prompt

Say what the part is, how big it is and what it attaches to. Concrete numbers get you a finished part in one turn.

Wall bracket for a 25 mm diameter rod: 60 mm long arm, 30 mm wide, 5 mm thick, with a U-shaped cradle at the end and two countersunk holes for 4 mm wood screws in a 40 × 30 mm back plate.

"I need a bracket" also works, but the agent will ask about size and mounting before it builds.

The agent sorts every request into one of three cases:

  • Specific. You gave the key sizes, so it builds straight away.
  • Missing details with sensible defaults. It picks the defaults, lists them in its brief and builds.
  • Ambiguous. It asks 2–5 short questions with clickable answers, then builds.

Prompts can be up to 4,000 characters. For structure and templates, see how to prompt AI for CAD.

The design brief and checklist

Before it writes geometry, the agent posts a brief: units, where the origin is, the overall size (the envelope), the feature plan and any defaults it assumed. It follows with a checklist of 3–8 build steps and ticks them off in its reply.

Read the brief first. If the envelope is wrong, say so before you look at anything else. On later turns, a short update list shows what changed.

After each render, the app compares the model's real size with the envelope in the brief and shows a warning if they differ by more than 1 mm.

When you don't say, the agent assumes millimetres, a part centred on X and Y with its bottom at Z = 0, and a 220 × 220 × 250 mm bed. The design guide lists more of its printing defaults.

Adjust sizes with sliders

Each number at the top of the program, with a comment above it, becomes a labelled slider. In Simple mode they're in the Adjust tab. In Advanced mode they're in the Params tab while you're in Code mode.

  • Sliders don't call the AI. The model re-renders in your browser and no credits are used.
  • Direct parameter edits skip the AI too. If your whole message just sets existing parameters by name, such as set wall_thickness to 3, the change is applied directly.
  • Anything else goes to the agent. New features, new shapes and "make it look sturdier" need an AI turn.

Point at parts with @feature references

The agent tags each part of the model with a comment like // @feature: mounting_holes. These names stay the same when the code is rewritten, so you can aim an edit at one part.

// @feature: mounting_holes
module mounting_holes() {
  for (p = [[5, 5], [35, 5], [5, 25], [35, 25]])
    translate([p[0], p[1], -1])
      cylinder(h = 10, d = 3.4, $fn = 32);
}

In Advanced mode, the feature names appear as chips above the chat box. Clicking a chip highlights that part in the 3D view and adds @feature[mounting_holes] to your message. Typing @ opens a picker with four kinds of reference:

ReferencePoints atExample message
@feature[name]A tagged part of the modelmake @feature[mounting_holes] 4.5 mm
@param[name]A top-of-file numbertie @param[wall_thickness] to the lid lip
@module[name]A module or function in the codereuse @module[rounded_box] for the lid
@hardware[id]A part from the built-in hardware listadd four @hardware[iso4762_m3] screws

The hardware list covers M2 to M5 socket-head screws, M3 and M4 hex nuts, an M3 captive-nut pocket, an M3 heat-set insert, an M3 washer, M3 brass standoffs, and 608ZZ and 625ZZ bearings.

Iterate in small steps

One change per message is easier to check and cheaper to fix. A typical run:

  1. Base part. "Wall bracket for a 25 mm rod, 60 mm arm…"
  2. Strength. "Add a 5 mm gusset under the arm."
  3. Hardware. "Make the holes countersunk for 4 mm wood screws."
  4. Printability. "Add a 0.5 mm chamfer to all bottom edges."
  5. Fit. "Make the cradle 0.4 mm wider, my rod is 25.3 mm."

When there's already a model, each message also sends the agent your current code, its measured size and a labelled four-view picture of the render. So it sees your hand edits and slider changes.

Auto-fix and auto-iterate

  • Auto-fix. If code the agent wrote fails to compile, the app sends the error back and asks for a corrected program. It tries up to 2 times, then asks you to adjust the prompt. It never fires on code you typed yourself.
  • Auto-iterate. After a successful render, the agent can check its own work against a picture of the model. It runs when you attached a reference image, when the design has mating parts like threads, gears or snap fits, or when the size is more than 2 mm off the brief. It stops early once the model matches. Turn it off with the Auto-iterate button under the chat box.

Heads up: each auto-fix and auto-iterate round is another AI call and uses credits. Turn auto-iterate off for quick drafts.

Reference images

Attach sketches, photos or screenshots with the image button under the chat box, or paste them straight into it. You can send PNG, JPEG, GIF or WebP, up to 4 per message. Each image is scaled so its longest side is 1024 px before sending.

On follow-up turns, the picture of your current render takes one of those four places, so attach up to three new images then. For the full workflow, see image to CAD.

Save, share and publish

  • History. Sessions autosave to your account once you start working. The History button reopens any past session with its chat and code.
  • Share. Creates a public link. People who open it can remix their own private copy.
  • Publish. Lists the design in the PrintPal gallery as a customizable model, with your sliders on its page.
  • Order Print. Where available, sends the model to a print service for a quote.
  • Project files. The File menu also saves and opens projects as .json and opens .scad files.

Export formats

Exports come from the File menu and run in your browser.

FormatModeUse it for
STL (binary)BothAny slicer: Bambu Studio, PrusaSlicer, OrcaSlicer, Cura
3MFBothSlicers that prefer 3MF. Exported as a single mesh in millimetres.
STEP (faceted)AdvancedOpening in Fusion, SOLIDWORKS, Onshape or FreeCAD for measuring and assemblies. Curves arrive as flat facets, not editable cylinders or fillets.
OFFAdvancedA plain-text mesh format for research and geometry tools
.scadAdvancedThe full parametric source for desktop OpenSCAD

What uses credits

Using the agent requires a signed-in PrintPal account. Each AI turn uses credits based on its actual usage, and you need a small minimum balance to start one.

Uses creditsFree
Chat messages that go to the agentRendering and viewing
Auto-fix roundsSliders and direct parameter edits
Auto-iterate roundsEditing the code yourself
Exports, history, sharing

Keyboard shortcuts

ShortcutAction
EnterSend the chat message
Shift + EnterNew line in the chat box
@Open the reference picker
Ctrl/⌘ + EnterRender now
Ctrl/⌘ + SSave the project as .json
Ctrl/⌘ + EExport STL
1 2 3 4Isometric, top, front and right views (when not typing)
FFit the model in view
B / MBuild mode / Code mode (Advanced only)

Check yourself

Which of these uses no credits?

  1. Asking the agent to add a chamfer to the bottom edges
  2. Dragging the wall thickness slider in the Adjust tab
  3. An auto-iterate round after a render

Sliders change a number in the code and re-render in your browser, with no AI call. Chat requests and auto-iterate rounds both call the AI.

Frequently asked questions

Does the AI CAD agent cost anything to use?

You need to be signed in, and each AI turn uses credits from your PrintPal account based on actual usage, including automatic fix and self-check rounds. Rendering, slider changes, your own code edits and exports run in your browser and use no credits.

What file formats can the AI CAD agent export?

STL and 3MF in both modes. Advanced mode adds a faceted STEP file, OFF and the OpenSCAD .scad source. Use STL or 3MF for slicing, and the .scad file if you want to keep the model fully editable.

Can I open the STEP export in Fusion or SolidWorks and edit it?

You can open it, but it is a faceted STEP file. Curved surfaces arrive as many flat faces, so there are no true cylinders or fillets to select and edit. It works for measuring, assemblies and reference geometry. To change the design, edit the parameters or the .scad source.

Can I edit the OpenSCAD code the agent writes?

Yes. Turn on Advanced mode and switch to Code. Your edits render as you type, and the agent receives the current code with your next message, so it works from your version rather than its own.

How is the CAD Agent different from the AI 3D Model Generator?

The CAD Agent writes parametric OpenSCAD code, so it suits functional parts with exact dimensions that you can change later. The AI 3D Model Generator produces a mesh from text or a photo, which suits organic shapes like figures, characters and sculptures.

Sources

Describe your first part

Start in Simple mode. Switch to Advanced when you want the code.

Open the CAD Agent