kapy academy

Positioning a Placed Object

6 min readUpdated Aug 2026

Open a placed object from the timeline and it becomes editable again: the popover appears and the object turns back into a ghost you can move. Grab it to slide it across faces, turn it with the ring, and type into a dimension when you want it held at a number rather than left where you dropped it.

Moving one after it has landedThe object is dragged across the face it sits on. It stays on that face instead of floating off it, and the two dimensions to the nearest edges recount themselves as it moves.

What holds an object in place

A placed object is not stored as a point in space. It is stored as a reference plus an offset from it, and the reference is one of three things:

  • A host face, when you dropped the object onto one. The object follows that face through later edits, which is what you want for a pocket or a boss.
  • The world, when you dropped an object into empty space. There is nothing to follow, so the frame's origin is the position of record.
  • A mate to another object, when it docked. That is Docking Objects Together.

On top of the reference sit two in-plane distances, a spin about the face normal, and the dimensions you add.

Moving it

Reopen the item and the ghost sits still, exactly where you left it, until you grab it. That is deliberate: opening a placement is not meant to move it. Once you drag, it goes back to being magnetic and snaps flat onto faces as it passes over them.

A reposition ignores Escape. Escape cancels a placement you are making for the first time, not one you are adjusting. To abandon an adjustment, undo it.

To turn the object, use the rotation ring. Drag it for a free angle, or hold Shift to snap in 45° steps, which is what you want for anything that has to line up with an edge. The ring turns the object about the normal of the face it is on and about nothing else, so an object whose own geometry arrived at an angle stays at that angle: nothing here levels it.

Dimensioning it to the host

Faces have edges, and the dimensions drawn from the object's anchor to the nearest of those edges are how you say "10 mm in from that side" instead of "roughly there".

Each dimension has two controls. The value button opens a full expression editor, with autocomplete over your document's parameters, so a position can be wall + 2 rather than a number you will have to recompute. The link toggle switches between Link — drive the position with this dimension and Unlink — stop driving the position.

  • A measured dimension is grey. It reports where the object happens to be. Move the object and the number changes.
  • A driving dimension is drawn in the accent colour, with an fx badge when its value is a formula. It decides where the object is. Move the object and it refuses to leave.

Typing a value is itself the instruction to constrain, so a dimension you type into links automatically; you do not have to press the toggle first. Going the other way, unlinking keeps the number you had as a plain literal and gives you the drag back.

What the drag can still do depends on how many dimensions you have linked.

How much freedom is left
Driving dimensions What you can still do
None Drag anywhere, across any face
One Drag along a rail: the linked distance is fixed, the other is free
Two Nothing. The position is fully pinned

While any driving dimension exists the object cannot move to another face. It is constrained to the face those edges belong to. Unlink before you re-host it.

Locking a dimension also freezes which edge it measures from and which side of that edge the object is on, because a distance carries no sign. Without that, a solve could satisfy "8 mm from this edge" by putting the object 8 mm the wrong way.

Three controls that are not there

Three things behave less completely than the model behind them suggests.

There is no flip. An object records whether it is flipped, but nothing writes that value and no control exposes it. If an object points into your part when you wanted it to point out, place it against the face that looks the other way rather than trying to reverse it in place.

There is no offset field. A standoff along the face normal is recorded when the object commits, but nothing lets you edit it afterwards. If an object needs to sit a millimetre proud of its host, that gap has to be part of the object's own geometry or of the host's.

There is no Advanced positioning button. The timeline describes such a button as the route into the placement sketch editor, and that button does not exist. The editor does still open for a placement that has nothing in it yet, an empty slot waiting for you to choose an object. As soon as the placement carries one, which is true of every placement you make from the picker, opening the item gives you the ghost instead and that editor is out of reach. Everything on this page is done with the ghost, the ring and the dimensions.

When it fails

The object landed in mid-air and does not follow the part. The commonest accident on this page is missing the face by a pixel. An object with no face under the pointer takes a free drop onto the world XY plane instead of refusing the click, and it looks close enough to right that you carry on. It is not hosted, so it stays where it is while the part moves under it through every later edit. Reopen the item and drag the ghost onto the face itself, and do that before you link any dimension: a driving dimension holds the object where it is, and nothing in the popover re-points a placement at a different reference.

The object will not move to the face you want. Look for an accent-coloured dimension. One driving dimension keeps it on a rail, two pin it, and either keeps it on its current face. Unlink and try again.

A dimension jumps to the wrong side after an edit. The lock froze a side sign against an edge that has since changed. Unlink it, put the object where you meant, and link it again.

Typing a number moves the object rather than reporting it. That is the design: typing a value links the dimension. If you only wanted to note a distance, unlink it afterwards and the number stays as a literal.

See also

Discord