Circle
A full circle: bores, bosses, pins, and the guide circles other geometry is laid out on.
In the viewport
- Click Circle on the sketch toolbar.
- Click the centre. The X / Y pill places it exactly; a centre that snaps onto a vertex or the origin gets a coincident written for it.
- Move out and click the rim — or type the diameter in the pill.

The code behind it
plate.part.js
import { sketch, circle, origin } from 'fluidcad/core';
import { coincident, concentric, diameter } from "fluidcad/constraints";
sketch("xy", () => {
// A washer: an outer circle and the bore inside it. The inner loop
// becomes a hole when the sketch is extruded.
// circle(center, diameter) — the number is the diameter, not the radius.
const outer = circle([0, 0], 50);
const bore = circle([3, -2], 22);
// Centre the washer on the origin and put the bore on the same centre;
// the bore's guessed centre is off on purpose — the constraint fixes it.
coincident(outer.center(), origin());
concentric(bore, outer);
diameter(outer, 50);
diameter(bore, 22);
})
By hand
circle(center, diameter)
The number is the diameter, not the radius. The centre is a solver point; the diameter is a plain value until a diameter() or equal() constraint takes it over.
Accessors
| Accessor | Meaning |
|---|---|
c.center() | The centre point |
The circle itself is a target for tangent, equal, concentric, diameter, radius, distance (measured to the circumference) and coincident(p, c) (a point on the circle).
Modifiers
circle([0, 0], 100).guide() // construction circle — see Guides
circle([0, 0], 40).name('bore') // name it for the timeline
circle([0, 0], 40).reusable() // keep it after the sketch is consumed