Recommended test
This short sequence exercises the complete first Arc iteration.
- Press A, click a start point, then click an end point about 100 mm away.
- Move perpendicular to the endpoint chord. Hold Shift and confirm the preview locks to an exact 180° semicircle on the chosen side, then click to finish.
- Press V, select the arc, and drag its two solid endpoint handles and dashed centre handle.
- Enter exact X1, Y1, X2, Y2, R, and Sweep values. Confirm radius and length update together.
- Undo and redo the edits, then delete and undo the deletion.
- Draw a line, then snap an arc endpoint to the line endpoint. Select either entity and confirm both receive one continuous cyan path halo.
- Complete a D-shaped loop with one line and one semicircular arc. Select either segment and confirm Properties reports Closed and shows their combined length.
01 · CREATE
Place endpoints and centre
Activate Arc from the tool rail or press A. Click once for the start point. Move and click again for the end point. The second preview stage shows a circular arc and two dashed radius guides; move the pointer to position the centre, then click a third time to commit. Once the centre produces a valid arc, the green check beside the pointer or Enter commits that same preview without placing another point.
During centre placement, hold Shift to snap the sweep to exactly 180°. Cadivari remembers which side of the chord the centre approached from, so the semicircle stays on the intended side instead of flipping as it reaches 180°.
The arc curves away from its centre. Moving the centre farther from the endpoints increases the radius and makes the curve shallower; moving it closer approaches a semicircle.
02 · TRUE CIRCULAR GEOMETRY
The centre is intentionally constrained
A valid circular arc needs both endpoints to be the same distance from its centre. Cadivari therefore projects the centre marker onto the perpendicular bisector of the endpoint chord. The high-contrast marker shows the actual constrained coordinate while the small offset cursor remains out of the way.
This follows the useful AutoStrek interaction while ensuring the document stores a mathematically valid centre rather than a visual approximation.
03 · DIRECT EDITING
Reshape with three handles
Press V and select an arc. The two solid handles move its start and end points. The dashed handle moves its constrained centre. Hold Shift while moving the centre handle to lock the existing arc to 180°. Dashed construction radii remain visible so the relationship is always clear.
Arc endpoints participate in the reusable geometry snap system. They can connect exactly to line or arc endpoints and rectangle corners. Each completed handle drag creates one undoable edit.
04 · MIXED PATHS
Combine straight and curved segments
Selecting an arc now follows every usable line, arc, or eligible open spline attached through an exactly matching endpoint. The complete component receives one status-colored halo and the same Open, Closed, Branched, or Self-crossing diagnostics available from any selected segment.
Path length uses exact line and circular-arc lengths plus the spline model’s bounded approximation. The safety analysis checks intersections between every supported pairing and detects self-crossing open splines.
An unambiguous open path with at least two segments can use Close with straight line. The action remains disabled if that proposed line would cross any curved or straight source segment.
05 · PRECISION
Enter exact endpoints or radius or sweep
X1Start point, horizontalY1Start point, verticalX2End point, horizontalY2End point, verticalRRadius; cannot be smaller than half the endpoint chordSweepExact included angle, greater than 0° and no more than 180°Changing R or Sweep keeps both endpoints fixed and moves the centre along its valid constraint line. The other value and exact arc length update automatically. Invalid values are rejected, and every accepted field change enters command history.
Trim (X) removes a section of an ordinary arc between supported intersections or an endpoint. Remaining pieces stay circular. An arc with an active fillet relationship must be released before trimming; see Fillet editing.
REFERENCE
Controls
IMPLEMENTATION NOTE
Document model
The renderer-independent entity stores two endpoints and one canonical centre in millimetres. Radius, sweep, midpoint, and length are derived values.
{
"kind": "arc",
"start": { "x": 0, "y": 0 },
"end": { "x": 100, "y": 0 },
"center": { "x": 50, "y": 0 },
"sweepDirection": -1
}The optional direction value removes the otherwise unavoidable ambiguity between the two exact semicircles when the centre equals the chord midpoint. Ordinary arcs remain compatible and continue to derive their direction directly from their centre. The tool uses the shortest sweep between the endpoints, up to 180°.
CURRENT SCOPE
Not implemented yet
- Arcs with a sweep greater than 180°
- Three-points-on-curve construction
- Tangent and concentric constraints
- Continuous chained arc creation
- Dragging an entire arc by its stroke