The Smart Object Editor
You have cut the same captive-nut pocket into four brackets, and next month there is a fifth part that needs it. Drawing it again is where the tenths go wrong. A smart object is that piece of modelling saved once and replayed onto whatever part you are working on. Open your files and click New Smart Object to author one.
Creating an object is the Maker feature. On a free account the action answers with an upgrade prompt rather than a refusal you have to decode. Opening and editing one you already own needs only a sign-in.

The grip is chosen once and never changes
The dialog asks for a name, which is required, and for one of three grips.
| Grip | What the dialog says | What you author |
|---|---|---|
| No grip | A standalone model, inserted as its own body. |
An ordinary model. It lands as new bodies beside the host's and touches nothing |
| Grips a face | Built on a reference cube face; reshapes the host it is placed on. |
A sketch and a short list of steps, replayed against a flat face of the host. The default, and the kind that cuts pockets |
| Code | Authored in kpycode: your code builds the geometry from any inputs + params. |
A script, run against a region or a whole body the consumer picks |
The grip is fixed for the life of the object. Nothing converts one into another, so a wrong choice costs you the object rather than an edit. One question settles it: does the result change the host part, or sit beside it?
Inside, it is the editor you already know
Same viewport, same sketch tools, same features, same timeline. Four things differ.
The mode selector offers Design and Media only. There is no Print and no Analyze, because an object has no print set of its own and nothing to analyse until it is placed on something.
Your Active Setup chip is not there either. Calibration constants still resolve inside expressions; you cannot switch machines from this screen.
The header pill in the timeline bar reads Smart object and opens the object's identity: a Draft badge, Category, a description prompted with What does this smart object do?, and Tags. That description is what a consumer reads before deciding to place your object, so it earns a real sentence.
A Code object replaces the feature timeline entirely with a code pane. Objects Made of Code covers that layout.
Work is autosaved, and undo lives only as long as the tab does. An object built from features gets no checkpoints and no version history, so one you mangled and saved yesterday cannot be walked back today. A code object is the exception: its explicit save stamps a local version from its meta block, which Objects Made of Code covers.
The reference cube is scaffolding
An object that grips a face is authored against a cyan body named Reference cube, 50 mm to start. It stands in for the part your object will land on. It is not part of what you are making and it never reaches the consumer.
The cube resizes itself. After every rebuild it refits around the tools your features use: the footprint in X and Y symmetrical about the origin, the depth driven by your cuts, plus a margin. Depth is clamped between 10 and 100 mm, and an unbounded cut such as through-all adds at most 10 mm past the deepest bounded hole before becoming a through-hole.
You will watch this happen while you work, sometimes twice in a row, because each disagreement between the current cube and the computed one triggers another pass. Three passes is the ceiling. Nothing has gone wrong.
The popover surfaces the cube read-only as Reference cube (auto), with the help text Sized automatically to fit the smart object with a 1 cm margin. Hole depth grows the cube up to 10 cm; deeper holes become through-holes. Treat that 1 cm loosely: the margin is a fifth of the largest tight axis, so it reaches 10 mm only when that axis is 50 mm.
There is a modelling consequence, and the app enforces half of it for you. Nothing on the cube is selectable: its faces, its edges and its vertices are all excluded from picking, so you cannot sketch on a side face, fillet a cube edge or dimension to one. Build from the base sketch, the origin and your own reference geometry, and the resizing has nothing of yours to pull around.
The base sketch is the contract
Every face-gripping object has one sketch named Base sketch, on the cube's top face and seeded with the origin point. It is the plane that lands on the host's face, and the geometry you mark as exported inside it is the only geometry a consumer can grab. What an Object Exposes is about that sketch specifically. Later sketches can go anywhere; the base sketch is the one that means something outside this file.
Testing it means opening another document
There is no self-test mode. An object cannot place itself: it is filtered out of its own picker, and a genuine cycle is refused with A smart object cannot contain itself.
What works instead is a second document, and it works well because a placement of an unpublished local object tracks the draft, and a draft is fetched every time rather than cached. So:
- Open a test document in a second tab and place the object on a face.
- Edit in the object's tab and let autosave run.
- In the test document, click the placement's chip in the timeline and press
Refresh to latestin the popover. It pulls the save.
That row sits under Version and carries a ↻ glyph. It is offered on every placement of an object from your own library, and on a store object only while the pin is Latest or Draft: a pinned release is fixed on purpose.
Test on a host that is not the size of the reference cube, and at both ends of every parameter you expose. Most authoring bugs are an object that works at its default numbers on a 50 mm block and nowhere else.
Replay carries over less than the editor builds
Your feature list is not re-run in this editor when someone places the object. It is replayed against their body by a separate pass, and a few things that pass does not carry over. Learn them before you build thirty steps.
The dangerous ones are silent. Nothing goes red, nothing is logged, and the consumer's part is not the part you designed:
- A revolve or a sweep whose profile has a hole in it comes out solid. Replay hands those the outer loop only.
- A twisted extrude comes out straight.
- A text, SVG or gear cut-out inside a larger profile is dropped, and the surrounding shape extrudes over it.
A plain extruded profile with a hole drawn inside it is fine, which is worth saying because it is the case people expect to break. The hole survives.
Two things stop replay outright instead, and those you find out about:
- Booleans between bodies are not replayed. Keep the object to one thing acting on the host, and combine the bodies before you publish.
- A sketch built on a face of the object's own earlier geometry has to be found again on the consumer's body. When it cannot be, replay stops.
Planes are the part people get backwards. Any sketch whose plane came from the reference cube, the base sketch included, is swapped for the face the consumer clicked. Reference planes and axes are re-evaluated in the placement's own frame, so a sketch built on one lands where you meant: a long chain of your own reference geometry is safer than a single sketch on a face the object cut earlier.
Place early and place often rather than discovering any of this at step thirty.
When it fails
Failed to load smart object. The draft did not arrive. Reload the tab; nothing autosave had already written is lost.
The placement fails but the object is green here. The banner reads Smart-object replay failed and names nothing more specific. The two steps that stop replay are a boolean between bodies and a sketch on a face of the object's own geometry that could not be found on the host. Roll the object back a step at a time in a test document until the placement builds; the last step you removed is the one.
The placement builds and the geometry is wrong. Nothing failed, so nothing is reported. Work down the silent list above: a holed profile on a revolve or a sweep, a twist, or a text, SVG or gear cut-out inside a larger profile.
The cube will not stay the size you want. It is not yours to set. If you need a larger apparent host, add the geometry that justifies it, or accept the fit and test on a real part instead.
Undo stops at the start of the session. That is the design. Before a risky change, export the object to a file so there is something to come back to.
See also
- What an Object Exposes: the exported geometry and anchors a consumer can reach
- Choosing the Parameters You Expose: which numbers become controls
- Objects Made of Code: when a rule beats a list of steps
- What a Smart Object Is: the four kinds, seen from the consumer's side
