Skip to main content

Equal

equal gives two or more lines the same length, or two or more circles/arcs the same radius. One dimension on the first entity then sizes all of them.

In the viewport

  1. Click two or more lines, or two or more circles / arcs (all one kind, all distinct).
  2. Click Equal. Every entity gets an = badge.
The constraint bar with two circles picked and the Equal button highlighted
Two circles picked: Equal is enabled. Two or more lines enable it too.
BeforeBefore mode

Two holes drawn at two different sizes: ⌀20 and ⌀12.

AfterAfter modeequal(h1, h2)

The second hole takes the first one's size, so one diameter sizes both.

The code behind it

equal(h1, h2) equates the second hole to the first (1 DOF), so the single diameter(h1, 20) sizes both. With more entities — equal(c1, c2, c3, c4) on four corner rounds — every entity after the first follows it, and one radius sizes all four.

holes.part.js
import { sketch, circle, origin } from 'fluidcad/core';
import { equal, coincident, horizontal, distance, diameter } from "fluidcad/constraints";

sketch("xy", () => {
// Two holes drawn at two different sizes.
const h1 = circle([0, 0], 20);
const h2 = circle([50, 0], 12);
coincident(h1.center(), origin());
horizontal(h1.center(), h2.center());
distance(h1.center(), h2.center(), 50);
// One diameter, shared: the second hole takes the first one's size.
equal(h1, h2);
diameter(h1, 20);
})

In code

equal(l1, l2) // same length: 1 DOF
equal(c1, c2) // same radius: 1 DOF
equal(a, b, c, ...) // every entity after the first: 1 DOF each

Lines and round entities cannot be mixed in one statement, and a datum axis has no length to equate.

See also