Recommended test
Use this sequence to verify connected placement and geometry snapping.
- Draw a rectangle, then press L and move near one of its corners. Confirm the green Corner marker appears.
- Click the corner, then click three more points. Confirm each click commits a segment and starts the next one.
- While placing a segment, hold Shift and move around the start point. Confirm the preview locks to horizontal, vertical, and 45-degree increments, and that the click commits the same point shown.
- With Shift held, approach a compatible endpoint and confirm its green geometry snap remains available. Approach an incompatible target and confirm the angle lock wins.
- Click the green check beside the pointer, or press Enter, to finish the chain without placing another endpoint. Press L again and approach a line end until the green Endpoint marker appears.
- Press V, select a line, and drag one gold endpoint onto another endpoint. Release while the marker is visible.
- Undo and redo the endpoint move, then undo the created segments one at a time.
- Draw three snapped line segments, press V, and select the middle segment. Confirm the complete chain receives a cyan halo, two endpoint rings appear, and Properties reports Open, three segments, total length, and end gap.
- Add a final snapped line between the two open endpoints. Select any edge and confirm the complete loop highlights green and reports Closed. Undo should return it to Open.
- Add a third line at an existing junction to make a T shape. The component should report Branched and mark the ambiguous junction.
- Draw a four-line bow-tie loop. It should report Self-crossing and mark the crossing point.
- Draw an open chain of at least two segments, select one segment, and click Close with straight line. Confirm the new line is selected and the path reports Closed.
- Undo once to remove only the closing segment and restore the Open status. Redo once to close it again.
- Select a single isolated line. The close button should be disabled and explain that at least two connected segments are required.
- Draw an inward open spiral whose straight endpoint-to-endpoint closure would cross an existing segment. Confirm the close button stays disabled and explains why.
- Snap a circular arc to the end of a line, select either segment, and confirm both receive one continuous halo with their combined length.
- Snap a line to the first or last point of an unmirrored open spline. Selecting either entity should highlight the complete mixed path.
01 · CREATE
Build a connected chain
Activate Line from the left tool rail or press L. A gold circle and center dot show the exact endpoint while a small pointer stays offset from it. Click once to place the first endpoint. Every following click commits one segment and immediately begins the next segment from that exact point.
After the first endpoint, hold Shift to constrain the next segment to the nearest horizontal, vertical, or 45-degree direction. The live preview and committed click use the same constrained coordinate. Release Shift to return to free-angle drawing.
With Snap enabled, nearby line, arc, or open-spline endpoints and rectangle corners take priority over the configured grid, which uses 10 mm spacing by default. The point marker turns green and names the geometry target before you click. While Shift is held, a compatible exact target remains green; an incompatible target is cleared and the angle lock wins.
After the first segment is committed, a green check appears beside the pointer. Click it or press Enter to finish the chain without placing another endpoint. Press Esc to cancel the active preview; already committed segments remain in the document.
02 · CONNECT
Move and snap an endpoint
Press V and select a line. Drag either gold endpoint handle while the opposite endpoint stays fixed. Move near another line, arc, or open-spline endpoint or a rectangle corner, then release while the green marker is visible to connect exactly.
Each release records one undoable edit. The selected line itself is excluded from snap candidates while its endpoint is moving.
03 · ANALYZE
Read the complete connected path
In Select mode, choosing any usable line, circular arc, eligible open spline, or explicit rectangle edge follows every other supported segment whose endpoint matches exactly. The source geometry remains separate and editable; the connected path is derived whenever geometry changes.
A translucent canvas halo follows lines, circular arcs, smooth open splines, and a deliberately selected rectangle side. Open endpoints receive rings; ambiguous junctions and crossings receive problem markers. Properties reports segment count, combined length, and the straight end-to-end closing distance for open paths.
Only endpoints that genuinely coincide are connected. The analyzer does not pull nearby points together, merge entities, or enroll the other sides of a rectangle. Closing is a separate explicit command.
04 · CLOSE
Add one explicit closing segment
Select any supported segment in an unambiguous open path containing at least two segments. The Properties card shows Close with straight line when a direct connection between its two open endpoints is safe.
The command creates one normal line entity rather than changing or merging the existing geometry. The new line becomes selected, the derived path changes to Closed, and one undo removes only that line. Redo restores it.
The action stays disabled for an isolated segment and when the proposed straight segment would cross or overlap an existing line, arc, or open spline. Branched, self-crossing, and already-closed paths do not offer the action.
05 · PRECISION
Enter exact coordinates
The Properties panel exposes both mathematical endpoints in millimetres.
X1First endpoint, horizontalY1First endpoint, verticalX2Second endpoint, horizontalY2Second endpoint, verticalPress Enter or leave a field to commit. The inspector also reports calculated length and angle. A zero-length result is rejected.
3D PROFILES
Divide a sketch into closed regions
In one sketch, straight lines, rectangle edges, circles, circular arcs and unmirrored splines can combine to enclose several selectable areas. Each area becomes a separate selectable profile in 3D > Push/Pull, even though the lines themselves are open. You can give each region its own extrusion height, or use it for Join or Cut. The original rectangle and lines remain editable. To extrude several areas together, use Ctrl-click region selection in Push/Pull.
Endpoints must meet the boundary, or the lines must cross it; a real gap stays open. This region detection includes all rectangle edges automatically and is separate from selecting one edge for a connected path. See the five-region rectangle example and circle and arc regions for the workflow and supported edits.
To remove an overhanging end or a section between crossings, use Trim (X). Hover to preview the removal, then click. Trimming the middle leaves two editable lines. It uses lines, circles, arcs, rectangle edges and unmirrored splines as cutting boundaries.
REFERENCE
Controls
IMPLEMENTATION NOTE
Document model
A line is stored as two canonical millimetre points in the same Y-up document space used by rectangles.
{
"kind": "line",
"start": { "x": 0, "y": 0 },
"end": { "x": 120, "y": 40 }
}The topology analyzer builds one endpoint graph from usable lines, circular arcs, and unmirrored open splines, starts from the selected segment, isolates its connected component, orders unambiguous traversal, and calculates path diagnostics. Nothing new is stored in the document, so every source segment stays independently selectable and undoable.
CURRENT SCOPE
Mixed path topology
- Open line, arc, and spline chains can drive Open Contours after being stored as CAM path sources
- Unambiguous closed combinations can drive compensated Contours or a single-boundary general polygon pocket
- Close Path currently adds only a straight line; it does not smooth, trim, extend, group, or merge source entities
- Multiple arbitrary pocket islands remain the next pocket-engine iteration
- Midpoint, center, intersection, and tangent snapping are not available
- The Shift angle lock is a drawing aid; persistent geometric angle, horizontal, vertical, and length constraints are not stored yet