kapy academy

Snapping and Inference

6 min readUpdated Sep 2026

Snapping puts your click on the geometry you were aiming at and leaves a constraint behind, so the alignment survives the next edit. Draw normally and watch the cursor: the editor works out the target continuously and shows you what it will take before you commit the click.

That second half is what separates this from drawing on a grid. A point that merely landed on another point drifts apart the moment the sketch moves. A point that is coincident with it never does.

Straightening as you draw

Draw a segment within about five degrees of horizontal or vertical and it lands exactly on the axis, with a horizontal or vertical constraint to keep it there.

Drawn crooked, kept straightAimed a couple of degrees off, drawn dead level, and constrained level.

A dashed guide appears while the inference is live — the whole axis line through the point you started from, so you can see it happening before you commit the click. Aim further off the axis and it does not trigger. Five degrees is deliberate: wide enough to catch what you meant, narrow enough not to hijack a line you drew at ten.

Landing the far end on something does not cost you the constraint. Nothing may straighten an endpoint that a snap has already placed — that endpoint is where the target is — so there the inference stops shaping the segment and only recognises one that is already level, within half a degree. A vertical line ending on an existing corner is two facts, and the sketch keeps both.

Snapping to what exists

Bring the cursor near something snappable and the editor shows what it will take. Priority decides where the point lands, in a fixed order.

What the cursor will take, in order
Priority Target What the click leaves behind
1 An existing point The two share the point outright
2 The midpoint of a line or arc A midpoint constraint
3 A quadrant of a circle A point-on-curve constraint
4 Anywhere on a circle or arc A point-on-curve constraint
5 Anywhere along a line A point-on-line constraint
6 A vertex or edge of the host face A coincident constraint
7 A principal axis A point-on-axis constraint
8 A horizontal / vertical alignment guide Nothing — it only aims the cursor
Snapping to what is already thereStarting the next line on the end of the last: one point, not two.

Some of those entries snap to something that was never drawn. There is no point at the middle of a segment, but the editor offers it, and the constraint it leaves keeps your line at the middle when the segment changes length.

And to what it can work outHalfway along a line there is nothing to click, and it snaps anyway.

Priority decides the position, not the whole answer. Everything else that is true at that position is taken as well. A cursor in the corner where two lines cross is aiming at the corner, not at whichever of the two won the tie-break, and both constraints are written. The indicator draws a small badge for each of those extras, so you can count the links a click is about to leave behind before you make it, and the threshold for a second one is tighter than for the first: the first is what the cursor was near, the second is only what you aimed at.

Tangent, parallel and perpendicular

A position says where a point is and nothing about the angle a line arrives at, so the line tool reads two more relations off the direction you are drawing in.

Tangent. Leave the end of the chain within four degrees of a tangent direction to a circle, an arc or an ellipse and the segment is straightened onto it and given a tangent constraint. Land the far end on the point of contact itself and it gets a point-on-curve as well. Stop short of the curve and the line is still tangent, it just does not touch at that end. The guide is a dashed line along the whole tangent, with a circle-and-bar mark where the two meet. An arc refuses a contact point outside the stretch it actually sweeps, since that point belongs to the circle it was cut from and not to anything on screen.

Parallel and perpendicular. A segment within five degrees of an existing line's direction, or of its quarter turn, is straightened onto it and given a parallel or perpendicular constraint naming that line. The guide lights a stretch of the reference as well as the direction, because a direction on its own never says which line it came from. Construction, host and projected lines are all valid references. A reference that is itself horizontal or vertical is skipped: a segment parallel to a horizontal line is horizontal, and horizontal says it better and survives the other line being deleted.

They are offered in a fixed order behind the positional snap — horizontal and vertical first, then tangent, then parallel and perpendicular — because a tangent direction exists from almost any point to almost any curve, and a direction relation is true of a whole family of segments. The narrower claim goes first.

Drawing without any of it

Hold Ctrl or Alt and nothing snaps for as long as you hold it: no position, no straightening, no tangent, no parallel. Either key, on every platform. Press it without moving the mouse and the preview redraws, so you can see the override take before you click.

Reach for it for the point that has an attractor sitting right next to it, where no amount of aiming gets you in between. It is also the way out of the tangent the chain keeps after an arc.

Why the constraint matters more than the snap

Every snapped click shows up in the constraint list as a chip you can delete. Open the list after you draw, read what the editor decided, and remove anything you did not want.

Snap well and a sketch is often nearly defined before you have typed a single dimension, because each snap removed a degree of freedom.

See also

Discord