Skip to content

Design a printable product

Settle the printer, the sizes, the parts and what the object looks like before any modelling, then hand a build agent a brief it can model from, and check the fit before calling it printable.

Download

Paste it into Claude Code, Codex, Cursor or any agent. No account needed.

View prompt

Use the Benchy skill "Design a printable product". 1. Read https://benchy.world/skills/design-a-printable-product/files?path=SKILL.md and follow it. If you support skills, save it as one. 2. Save https://benchy.world/skills/design-a-printable-product/files?path=BENCHY.md as BENCHY.md at the root of my project, and keep it current as we work. 3. Then start on this: Use this skill to design a wall-mounted charger dock for my phone, for my printer. Ask me everything you need before you model anything.

Save in Studio ↗Guide ↗

What you’ll need

Work in either app

  • Blender
  • Autodesk Fusion

Your chosen app needs its own working agent connection.

  • A short product idea
  • Your printer's make and model

Agent skill · Version 0.2.0 · MIT license

What you can work toward

  • Read your saved printers first, then ask for the key size, the material and what moves in one round of multiple choice, with every default shown
  • Write a one-page brief that marks every value measured, given, assumed or open
  • Agree the shape from two to four concept images, then turn the chosen one into front, side, top and exploded views
  • Hand the build agent a modelling brief with units, parameters, one body per part and the checks to run
  • Re-run the brief's checks, and read the feature tree back, after the build and after every edit
  • Check each part against the printer's bed and give the source for each printing rule before saying it's printable

Skill files

The instructions your agent follows. Review them first: tools, connections and execution depend on your setup.

# Design a printable product

Most failed AI models fail before the first sketch. The agent is told
"make a 3D printable, parametric trebuchet" and has to guess the printer, the
size, the parts and what the thing looks like; it spends its reasoning on the
job instead of the design, stops halfway to ask, and builds on defaults nobody
chose. This skill does the thinking first, so the build is short and the result
is the product the person meant.

**Never start modelling until the brief is confirmed.** Everything in steps 1
to 4 happens before the first sketch, mesh or script.

## The seven steps

1. **Intake** ([step 1](#1-intake)). One round of questions, multiple choice
   where you can. The printer comes first: from it you know the bed, the nozzle
   and the materials, and without it every size is a guess. Stop when you know
   enough to design; don't ask about everything.
2. **Brief** ([step 2](#2-the-brief)). One page: what it does, the constraints
   (each marked measured, given, assumed or open), the parts and mechanisms, the
   print orientation and the checks that decide it's done. Show every assumption
   so the person can change it at a glance. The person confirms the brief.
3. **Concept images** ([step 3](#3-concept-images)). Two to four images of the
   object, with an exploded view and a close-up of the key part when it has
   parts; the person picks one. Tell them to judge the shape, not the lighting
   or the material.
4. **Engineering views** ([step 4](#4-engineering-views)). The chosen image goes
   back into the image model for a multi-angle sheet: front, side, top,
   three-quarter, an exploded view and close-ups of the parts that move. One
   sheet per subassembly when the product has many parts or materials.
5. **Modelling brief** ([Blender](#5-modelling-brief-blender) or
   [Autodesk Fusion](#6-modelling-brief-autodesk-fusion)). The brief, the chosen
   image and the sheets, plus rules for a clean model: units, names, parameters,
   one body per part, a budget for sketches or modifiers, and the checks to run
   before saying it's done.
6. **Build, then check** ([section 7](#7-checks-and-edits)). Run the brief's checks
   after the build and again after every edit. Ask for changes by saying what to
   change and what to protect.
7. **Fit and sources** ([section 8](#8-before-you-call-it-printable)). Before
   anyone says "printable": check every part against the printer's bed, and
   give the source for each printing rule the design leans on.

If the product is for sale, add [time and cost](#9-time-and-cost) before the
build: print time, material and cost per unit, and whether there's demand.

## Rules

- Ask all the questions at the start, together. A question asked mid-build
  stalls the agent and costs a context reread.
- Don't over-ask. The printer, one key dimension, the material, what moves: yes.
  Every fillet radius: no. Decide small things yourself and list them as
  assumptions.
- Never invent a printer's bed, nozzle or materials. Read them from the
  person's saved printers, or ask for the make and model.
- Never invent a measurement that must mate with something real. Write it into
  the brief as open and ask for a caliper reading.
- Images are references for geometry, not specifications. Proportions and parts
  come from the images; dimensions come from the brief.
- "Printable" is a result, not a hope. Say it only after the fit check and the
  sourced rules in section 8.
- Keep the person's words in the brief's first line, so every later step can be
  checked against what they asked for.
- If a failure could hurt someone (load-bearing, food contact, heat, children),
  say so plainly and recommend a qualified review. This skill does not certify
  safety.

## What to hand back

- The confirmed brief (a page in the project, or in BENCHY.md if it's the
  project's main product).
- The chosen concept image and the engineering sheets.
- The modelling brief the build agent used.
- After the build: the editable source (`.blend`, or the Autodesk Fusion
  design and a STEP export), a print file (`.3mf`, or `.stl` with units noted),
  and the check results.
- The fit result for each part on the chosen printer, and the sources behind
  the printing rules the design relies on.

## With Benchy

The skill works with any agent and no account. Connected to Benchy, two tools
replace guessing:

- `printers_list` returns the printers saved in the workspace: name, model,
  build volume in millimetres, nozzle, materials and notes. Call it before the
  first question. Given a part's three overall sizes as `part`, it also says
  whether the part fits each printer: flat, diagonal (turned across the bed, at
  an angle it gives), standing, or not at all, with the room left on each axis.
- `printing_knowledge_search` searches Benchy's printing knowledge base:
  overhangs, bridging, tolerances, orientation, materials, printer
  specifications. Each passage comes with its source.

People add their printers once, under **Printers** in the workspace menu
([Printers](https://benchy.world/docs/printers)). A connected agent can also
start from the `design_printable_product` prompt, which carries the same rules.

Benchy's own chat in Studio follows these steps. Ask it to "design a
support-free phone stand for my printer": it reads the workspace's printers,
asks one round of questions with its assumptions shown, makes concept images
when you approve them, turns the one you choose into an engineering sheet, then
checks the fit and cites the rules.

## Works with

- [Plan a print project](https://benchy.world/skills/plan-a-print-project)
  writes the same one-page plan; this skill adds the concept images,
  engineering views and modelling brief around it.
- [Print prep](https://benchy.world/skills/print-prep) takes the finished print
  file to the slicer.

## 1. Intake

One round, before anything else. Ask as multiple choice where the answers are
predictable, as short questions where they aren't. Offer a sensible default for
every question, so "use the defaults" is a real answer, and show what each
default is.

### The printer first

Find the printer before you ask anything else.

- Connected to Benchy: call `printers_list`. With one printer saved, use it and
  say so, with its bed, nozzle and materials. With several, make the printer the
  first multiple-choice question, one option per saved printer. With none, ask
  for the make and model, and say they can save it under **Printers** so the
  next chat starts from it.
- Not connected: use the printer in the project's BENCHY.md if there is one,
  otherwise ask for the make and model.

Take the bed size, nozzle and materials from the printer. If a profile leaves
one out, ask for that one value or mark it assumed in the brief. Never fill in
a specification from memory and present it as theirs.

### Ask

| Question                                                                        | Why                                                                                                   | Default to offer                                                                  |
| ------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| What is it, in one sentence, and what must it do?                               | The brief's first line; every check traces back to it                                                 | — (always ask)                                                                    |
| Who is it for: you, a gift, or to sell?                                         | Selling adds cost, time and demand (step 8)                                                           | You                                                                               |
| Which printer?                                                                  | Gives the bed size, nozzle, enclosure, multi-material                                                 | The saved printer (`printers_list`), or the one in the project's BENCHY.md        |
| One key size, in millimetres                                                    | Sets the scale; everything else is proportion                                                         | A size from the concept images, marked assumed                                    |
| Does anything have to fit something real (a phone, a screw, a shelf, a hand)?   | Mating dimensions must be measured, never guessed                                                     | No                                                                                |
| Does anything move (hinges, latches, gears, sliders, springs)?                  | Moving parts need clearances and print-in-place decisions                                             | No                                                                                |
| Material, if they have one in mind                                              | Stiffness, heat, outdoor use                                                                          | PLA indoors, PETG outdoors or warm                                                |
| Blender or Autodesk Fusion?                                                     | Autodesk Fusion for parts that must fit and change by dimension; Blender for sculpted, organic shapes | Choose from the answers: fits and mechanisms → Autodesk Fusion; organic → Blender |
| How finished should it look: a working prototype, or something to show or sell? | Decides how much detail is worth modelling                                                            | Working prototype                                                                 |

### Don't ask

Fillet radii, wall thickness, infill, layer height, exact tolerances, colours of
hidden parts. Decide them from the printer and material, and list them in the
brief as assumptions.

### Multiple-choice version

Number the questions and letter the options, with the default first and marked.
Offer the printer as the saved printers plus "another printer", the material as
the printer's own materials, the tool as Blender / Autodesk Fusion / you choose,
and the finish as prototype / show piece. Free text only for the one-sentence
description and the measurements. Four to six questions is enough.

> 1. Printer: **a) Workshop P1S** (256 × 256 × 256 mm, 0.4 mm nozzle, PLA and
>    PETG, from your saved printers) · b) another printer
> 2. Phone: **a) about 78 × 160 × 10 mm with a case** (assumed) · b) I'll
>    measure mine
> 3. Viewing: **a) portrait** · b) landscape · c) both
> 4. Material: **a) PLA** · b) PETG
>
> Reply with the letters, for example "1a 2b 3c 4a", or say "defaults" to take
> the options in bold.

Every default is an assumption the person can see and change. An answer of
"defaults" confirms them; it never hides them.

### When to stop

As soon as you can write the brief without guessing anything that has to fit.
Unknown but unimportant details become assumptions; unknown mating dimensions
become open questions in the brief.

## 2. The brief

One page the person confirms before any modelling. Short enough to reread.

### Template

**What it is.** The person's own sentence, then one paragraph: the object, its
job, who uses it.

**Constraints.**

| Item                       | Value                                                           | Source          |
| -------------------------- | --------------------------------------------------------------- | --------------- |
| Printer                    | e.g. Bambu Lab P1S: 256 × 256 × 256 mm, 0.4 mm nozzle, enclosed | given           |
| Key size                   | e.g. 120 mm tall                                                | given           |
| Fits                       | e.g. phone 78 mm wide, 9 mm thick with case                     | measured / open |
| Material                   | e.g. PETG                                                       | assumed         |
| Wall thickness             | 1.6 mm (4 perimeters at 0.4 mm)                                 | assumed         |
| Clearance for moving parts | 0.3 mm per side                                                 | assumed         |

Mark every row **measured**, **given**, **assumed** or **open**. Open rows block
the build only if they're mating dimensions.

**Parts.** A numbered list: name, what it does, how it joins the others. Split a
part when it's bigger than the bed, when splitting removes most of the supports,
or when the load would run across layers.

**Mechanisms.** Each moving joint: type (hinge, slider, snap, thread), range of
motion, clearance, and whether it prints in place or assembles.

**Print orientation.** For each part, which face sits on the plate and where
supports are likely.

**Done when.** The checks that decide completion: fits the bed, every part is one
closed printable body, the clearances hold, the joints reach their range, the
key size within ±0.5 mm, and the person's sentence is true of the result.

### Confirm

Show the brief and ask for one answer: confirm, or change these rows. Save the
confirmed brief to the project. If something is settled for good (the printer,
the material), add it to BENCHY.md so the next chat starts from it.

## 3. Concept images

Before modelling, agree on what the object looks like. A model built from a
picture the person chose is the one they meant; a model built from words is the
agent's guess.

### Make two to four options

On a canvas in Benchy Studio, choose **Generate** and then an image — for
example GPT Image 2.5, or Nano Banana 2.1 — or use the image tool the agent
already has. One prompt per option, varying the idea, not just the colour:

> A product photograph of [the person's sentence], [the material and colour from
> the brief], as a 3D-printed object with visible fine layer lines, on a plain
> light-grey surface, soft studio light, three-quarter view, the whole object in
> frame, no text, no hands.

Put the options side by side on the canvas, named 1 to 4.

When the product has more than one part, or a part that does the real work (a
hinge, a latch, a cable slot), ask for those views now, so the person agrees to
how it works and not only to how it looks:

> An exploded view of the same object: every part pulled apart along its
> assembly axis, each part complete, plain light-grey background, no text.

> A magnified close-up of the [hinge], showing how the two parts meet, plain
> light-grey background, no text.

### Ask for one

"Which is closest? Judge the shape and the parts, not the lighting or the
material: those are the image model's, not the design's." Take the pick plus any
one-line change ("2, but with a wider base"). Make at most one more round.
Don't go on to the engineering views until the person has chosen.

### Tell the person

The images are references for shape, not a promise of the finish. Lighting,
colour and surface will differ in the print; dimensions come from the brief.
This stops less experienced users spending their time on details the model
won't reproduce.

## 4. Engineering views

A single beauty shot hides the back, the underside and how the parts meet. Give
the build agent the object from every side.

### From the chosen image

Send the chosen image back to the image model as the reference (an edit, not a
new generation), with:

> Using the attached product as the exact reference, make an engineering view
> sheet of the same object on a plain white background: front, side, top and
> three-quarter views in a 2 × 2 grid, the same proportions in every view, flat
> even light, no shadows on the background, no text, no dimensions.

Then, if anything moves or joins:

> Using the attached product as the exact reference, make an exploded view: the
> same parts pulled apart along their assembly axis, each part complete, on a
> plain white background, no text.

And close-ups of each mechanism (the hinge, the latch, the snap):

> A close-up of the [hinge] of the attached product, from the side, showing how
> the parts meet, plain white background, no text.

### Complex products

When there are many interlocking parts or several materials, make one set per
subassembly instead of one for everything: its own concept image, sheet,
exploded view and close-ups. Name the sets by the brief's part list.

### From a real model

When a model already exists (a previous version, an imported part), render the
views from the model itself instead of generating them: Benchy Desktop drives
Blender through a plugin, so the agent can import the file and render front,
side, top and three-quarter views under the same light. Those views are exact,
so prefer them over generated ones for anything that must fit.

### What the build agent gets

The brief, the chosen image, the sheets and the close-ups, named so the brief's
parts list points at them ("part 3, see exploded view and close-up 2").

## 5. Modelling brief: Blender

For organic or sculpted products, built by an agent through Benchy Desktop,
which drives Blender through a plugin, or by any agent that can run Blender
Python itself.

Give the agent the confirmed brief, the images and this:

### Set up

- Units: metric, millimetres (unit scale 0.001), so 1 unit is 1 mm.
- One object per printed part, named as in the brief's parts list.
- Keep the build as a Python script that makes the scene from nothing, so any
  change is a re-run, not a repair. Save the script next to the `.blend`.

### Build

- Block out the proportions from the front and side views first, at the brief's
  key size. Check the silhouette against the sheet before adding detail.
- Prefer modifiers you can change (Solidify for walls, Bevel, Mirror, Array) over
  baked geometry until the shape is agreed.
- Walls at least the brief's wall thickness; nothing thinner than two nozzle
  widths.
- Moving or joining parts get the brief's clearance on every mating face.

### Before saying it's done

- Apply modifiers on a copy, then check each part: manifold (no holes or
  non-manifold edges), no inverted normals, no zero-thickness faces, no
  intersecting shells inside one part.
- Every part fits the printer's bed in its print orientation.
- Export a `.3mf` (or `.stl` per part with units noted) and keep the `.blend` and
  the script.
- Report the checks from [step 7](#7-checks-and-edits).

## 6. Modelling brief: Autodesk Fusion

For parts that must fit, move or be changed by dimension.

Autodesk Fusion hosts an MCP server of its own (Preferences → General → API).
That server is the only way an agent drives it: the agent attaches to it on the
person's own machine, with whatever the person has enabled there. Benchy does
not drive Autodesk Fusion — Benchy's side of this is files in and out, so the
brief, the images and the exports travel through the project while the modelling
happens in the agent's own session with Fusion's server.

Give that agent the confirmed brief, the images and this:

### Parameters first

Create user parameters for every dimension in the brief before the first
sketch: the key size, the mating sizes, wall thickness, clearance. Name them
plainly (`phone_width`, `wall`, `clearance`). Every later sketch dimension refers
to a parameter or to geometry, never a typed number for something the brief
names.

### One component per part

One component per part in the brief's parts list, named the same. Each component
holds exactly one solid body when finished. Joints between components, not
fused bodies, unless the brief says the parts are printed as one.

### Sketches

- Fully constrained: no blue (under-defined) geometry left.
- A budget: about one sketch per distinct profile. A simple container is three or
  four sketches, not thirteen. Reuse a sketch for several features instead of
  redrawing it.
- Sketch on the origin planes or on model faces; avoid stacks of offset planes.

### Features

- Build the main forms first, then holes and cuts, then fillets and chamfers
  last, so changing a size never breaks a fillet.
- Group the timeline per part so it reads as the parts list.

### The feature tree, checked

Read the tree back before reporting, and again after every edit:

- Sketches: the count is within the budget, and none is under-defined.
- Parameters: every dimension the brief names is a named parameter, and the
  sketches use the parameters, not typed numbers.
- Bodies: one per component, each named as in the parts list.
- Features: everything the brief asked for is present (the fillets, the slot,
  the lip), and nothing was left suppressed or failed.

### Before saying it's done

- Each component has one body; the requested fillets and features exist.
- Change the key-size parameter by 10 % and back: the model rebuilds without
  errors.
- Export a STEP of the assembly and a `.3mf` (or one `.stl` per part, units
  noted).
- Report the checks from [step 7](#7-checks-and-edits).

## 7. Checks and edits

### After the build

Run the brief's "Done when" list and report each line as passed, failed or not
checked:

- Fits the printer's bed in its print orientation.
- Each part is one closed, printable body.
- Mating sizes and clearances match the brief within ±0.1 mm.
- Moving parts reach their range without collisions.
- The key size is within ±0.5 mm.
- The person's sentence is true of the result.

Show the result from the same angles as the engineering sheet, so the person can
compare like for like.

### Asking for changes

A good change request says what to change and what to protect:

> Make the hinge pin 0.3 mm looser for printing. Keep the arm lengths, the base
> and every other clearance exactly as they are.

"Fix the hinge" gives the agent nothing to hold on to. Write the change into the
brief too, so the next chat knows.

### After every edit

Run the checks again, and read the feature tree again (section 6) or the object
list in Blender. Edits are where working parts break: a body goes missing from a
component, a requested fillet disappears, two parts fuse, a sketch loses a
constraint. The edit isn't done until the checks pass again.

## 8. Before you call it printable

Two things stand between a finished model and the word "printable": it fits the
printer, and the rules it relies on are real.

### Fit

For each part, take its three overall sizes in millimetres as it will sit on the
plate.

- Connected to Benchy: call `printers_list` with those sizes as `part`. Report
  what it returns for the chosen printer: flat, diagonal (with the angle),
  standing (with the height), or none, and the room left on each axis. Don't
  work the bed geometry out yourself; a long part often fits turned across the
  bed when it looks too long.
- Not connected: compare the sizes with the printer's build volume from the
  brief, and say plainly that you compared the bounding box only.

A part that doesn't fit goes back to the brief: split it, turn it or resize it,
then check again.

### Sources

List the printing rules the design leans on: the steepest overhang, the longest
bridge, the thinnest wall, the clearance on moving parts, the material's limits.

- Connected to Benchy: search `printing_knowledge_search` for each rule in the
  design's own terms ("support-free overhang angle", "bridge span PLA",
  "clearance print-in-place hinge"), keeping the printer and material in the
  query. Next to each rule, give the source's title, publisher and link, and
  keep its numbers and conditions.
- Anything no passage supports, mark "(general practice, no source)" so the
  person knows which numbers are yours.

### Say it

Call the design printable on that printer only when every part fits and every
rule is either sourced or marked. Then give the result in one place: the
printer, each part's fit and margins, the orientation, the rules with their
sources, and what a first test print should confirm.

## 9. Time and cost

Only when the product is for sale. Skip this for a one-off or a gift.

### Before the build

- **Demand.** Search the public web for similar products, what they sell for and
  what buyers complain about. Report what you found with links; never claim
  demand you didn't find.
- **Target price.** From those listings, the price range people pay.

### After the first print file exists

- **Print time and material** from the slicer for the person's printer and
  material: hours per unit and grams per unit.
- **Cost per unit:** filament (grams × price per gram), electricity (hours ×
  the printer's average watts × the local price), a share of failed prints (say
  10 %), packaging and the marketplace's fees.
- **Margin** at the target price, and how many units a week the printer can make.

Put the numbers in the brief so the decision to make a batch is written down.