Fillet
A 2D fillet rounds the corner where two sketch edges meet: the edges are trimmed back and a tangent arc fills the gap.
In the viewport
- Click Fillet on the sketch toolbar. The Fillet dialog opens docked on the right with a Selection slot and a Radius field.
- Click the two edges that share the corner — or every edge whose corners you want rounded. Picks accumulate as chips; click a picked edge again, or a chip's ✕, to drop it. The dialog counts what it found (4 corners will be filleted) and previews the arcs in blue.
- Type the Radius and click Apply.
The tool does not write a fillet() call. For each corner it writes a real arc() plus the constraints that make it a fillet: two coincident (the arc's ends onto the trimmed edges), two tangent, one radius dimension on the first arc and equal across the rest. The corner's old coincident is removed in the same edit, and the solver pulls the edge endpoints back to the tangent points. Everything about the fillet is therefore editable afterwards: drag the arc, change the radius label, or delete the arc and the corner closes again.

The code behind it
By hand the derived form is shorter: one fillet(radius, ...lines) call rounds every corner the listed lines share. It is written after the constraints, like every derived operation.
import { sketch, line, circle, fillet } from 'fluidcad/core';
import { coincident, horizontal, vertical, fix, distance, diameter } from 'fluidcad/constraints';
sketch("xy", () => {
// A mounting plate, 100 × 60, with two screw holes.
const b = line([0, 0], [100, 0]);
const r = line([100, 0], [100, 60]);
const t = line([100, 60], [0, 60]);
const l = line([0, 60], [0, 0]);
coincident(b.end(), r.start());
coincident(r.end(), t.start());
coincident(t.end(), l.start());
coincident(l.end(), b.start());
horizontal(b);
vertical(r);
horizontal(t);
vertical(l);
fix(b.start(), [0, 0]);
distance(b.start(), b.end(), 100);
distance(r.start(), r.end(), 60);
const h1 = circle([20, 30], 8);
const h2 = circle([80, 30], 8);
diameter(h1, 8);
diameter(h2, 8);
// The derived form: one call rounds every corner the listed lines share.
// The lines are trimmed and a tangent arc of radius 12 fills each corner.
fillet(12, b, r, t, l)
})
By hand
fillet(radius, l1, l2) // one corner
fillet(radius, l1, l2, l3, l4) // every corner the lines share
Outside a sketch, fillet() rounds the edges of solids — the 3D counterpart on the Fillet page.