Available · iteration 3

Arc tool

How to draw and precisely edit circular arcs in Cadivari.

Updated September 20265 min readCAD tools

Recommended test

This short sequence exercises the complete first Arc iteration.

  1. Press A, click a start point, then click an end point about 100 mm away.
  2. 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.
  3. Press V, select the arc, and drag its two solid endpoint handles and dashed centre handle.
  4. Enter exact X1, Y1, X2, Y2, R, and Sweep values. Confirm radius and length update together.
  5. Undo and redo the edits, then delete and undo the deletion.
  6. Draw a line, then snap an arc endpoint to the line endpoint. Select either entity and confirm both receive one continuous cyan path halo.
  7. 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.

Shift locks an exact semicircle

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 centre controls the bow

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.

Safe straight closure

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, horizontal
Y1Start point, vertical
X2End point, horizontal
Y2End point, vertical
RRadius; cannot be smaller than half the endpoint chord
SweepExact 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

AActivate Arc
ShiftLock centre placement or centre-handle editing to an exact 180° semicircle
Green checkCommit a valid centre preview
EnterCommit a valid centre preview
VActivate Select
EscCancel either drawing stage or an active handle edit
DeleteDelete selected arc
Ctrl + ZUndo creation, deletion, or edit
Ctrl + YRedo

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