Introducing Smart Objects: the parts you place instead of modelling
A threaded hole that cuts a real ISO thread. A heat-set insert pocket sized to the insert you own. A texture that wraps a face. Smart Objects are parametric components you drop onto a part and keep tuning afterwards — and the engine behind them is now open to everyone, in beta.

Every printed part has a few features you didn't really design. The hole for an M3 screw. The hexagonal pocket the nut drops into. The pattern that stops a handle being slippery. You model them again in every project, from memory, and you get the clearance slightly wrong roughly half the time.
Smart Objects are those features, made into components. You place one on a face, it carves itself into your part, and it stays editable for as long as the part exists. The engine behind them is out of the gate today — no invitation, no feature flag, in beta for everyone.
What a Smart Object actually is
Not a mesh you paste in, and not a snippet you have to clean up afterwards. A Smart Object is a small parametric document with a grip.
The most useful kind grips a face. It's authored inside a reference cube — a stand-in block that represents "whatever you'll eventually place me on". When you place it, that cube resolves to your body and the object's base plane resolves to the face you picked. Everything the object does then happens to your part: what was an added feature becomes a boss, what was a subtracted one becomes a pocket, a bore, a thread.
Other kinds don't grip a face at all: whole models that come in as new bodies, and code-driven objects that run on a face region — that's what surface textures are — or on a whole body.
Placing one
Smart Objects live in their own tool window, top right of the viewport, in model mode. Open it, and you get a search box, category tabs and a grid of live 3D tiles.
Click a tile and the object becomes a ghost on your cursor. It sticks to the planar face under the pointer, so you aim by pointing at the surface you want it in. The mouse wheel spins it in 45° steps. A click commits it. Hold Shift as you click and you stay in placement, dropping a second and third copy without reopening anything — the copies share one timeline step, so retuning them later is one edit, not three.
Textures behave differently, because they have nothing to aim: pick the face or sketch region and they fill it. Whole-model objects can also just be dropped on the build plane.
Placed the object slightly off? There's a move/rotate gizmo on it afterwards (Shift snaps rotation to 45°), and objects that carry docking anchors snap to each other by proximity.
It stays parametric — that's the whole point
The placement lands in your timeline as a normal step. Open its popover and you get the object's own parameters: numbers, checkboxes, size selectors. Change the screw size on a threaded hole and the drill diameter, the thread and the head seat all move together, because those relationships live inside the object.
Two things make this deeper than a preset:
- The overrides are themselves expressions. A parameter doesn't have to be a
number — it can be a formula, or a reference to a parameter of your
document. Drive an object's bore from your part's
shaftDiaand it tracks every time you change it. - It re-solves against the host. Edit the wall the pocket sits in and the object regenerates against the new shape; a through-cut recomputes its real depth from the current body rather than a baked number. When a reference can't be rebound after a drastic edit, that instance is flagged as failed on its own, in the popover — it doesn't silently produce wrong geometry.
Fits that come from your printer
This is where Smart Objects and Workbench meet. Your active print set publishes calibrated constants — the clearance for a sliding fit, a friction fit, a press fit, your hole and pin compensation — into the same expression scope the objects evaluate in.
So an object authored with boreDia = shaftDia + FIT_SLIDE isn't sized for a
generic printer. It's sized for the machine and filament you selected, and if you
recalibrate, every placed instance recomputes. Worth being precise about the
limit: this works when the object's author wired that parameter to a formula and
left it internal. A parameter exposed for you to type into is captured as a plain
number when you place it — as it should be, since you're the one setting it.

Where the objects come from
Here's the honest state of things on day one. There is no built-in catalogue baked into the app — deliberately. Smart Objects are documents, and they travel the way documents do:
- The catalogue. Browse what's published, open one, and Add to my library. It's free, and it lands in your tool window in the editor. The first batch is live now — threaded screw holes, heat-set insert pockets and nine surface textures.
- Your own. Create a Smart Object from the file manager, pick its grip once, and author it like any other document. That one is a Maker feature.
So the honest summary: using Smart Objects is free and open to everyone as of today; authoring them is part of Maker. The catalogue is small on purpose — it grows from here, and the 23 categories are waiting.
What's next
More objects, and more ways to get them: this catalogue is the seed, not the shape of the thing. The parts of the engine still marked "not yet" are honest about it — placing on an edge, or between two faces, is typed but not implemented, and a code-on-body object can't yet be moved to a different body without replacing it.
But the core is here and it's open. Go and stop modelling M3 holes.
Written by
Sergio
Building Kapy CAD — parametric 3D modelling for 3D printing, in the browser.


