Angle
angle holds the angle between two lines, in degrees. Against a sketch axis it sets a line's absolute slope; between two sketched lines it sets their relative opening.
In the viewport
- Click two lines.
- Click Angle. An arc appears in the sector between the lines; move the cursor to choose which of the four sectors to dimension, then click.
- Type the value in degrees and press Enter.


The ramp is drawn at 45° to the flat.

angle(flat, ramp, 30)The ramp held at 30° from the flat.
The code behind it
angle(flat, ramp, 30) measures counter-clockwise from flat to ramp (1 DOF). The distance on the ramp sets its length; the two share a start through coincident.
import { sketch, line } from 'fluidcad/core';
import { coincident, horizontal, fix, distance, angle } from "fluidcad/constraints";
sketch("xy", () => {
const flat = line([0, 0], [100, 0]);
const ramp = line([0, 0], [60, 60]);
coincident(flat.start(), ramp.start());
horizontal(flat);
fix(flat.start());
distance(flat.start(), flat.end(), 100);
angle(flat, ramp, 30);
distance(ramp.start(), ramp.end(), 90);
})
In code
angle(a, b, 30) // counter-clockwise from a to b, 0 ≤ deg < 360: 1 DOF
angle(xAxis(), ramp, 30) // against the horizontal
angle(l1, l2.start(), 45) // orient l2 toward its start instead of its end
Each argument is a line, optionally pointed at one of its ends with .start() / .end(); a bare line points at its end. There are no negative angles — a clockwise angle is the counter-clockwise angle of the swapped pair, angle(b, a, 30). The UI picks the arguments and their orientation from the sector you clicked, so the written statement always carries a positive value.
See also
- Perpendicular — 90° without a number
- Parallel