Recommended test
Use this short sequence after every rectangle iteration.
- Press R, click the first corner, then click the opposite corner to create a snapped 100 × 50 mm rectangle.
- Press V, select it, and drag its north-east corner.
- Enter 120 for W and 60 for H in Properties.
- Undo twice, then redo twice. The shape should follow each committed state.
- Turn Snap off and confirm fractional values can be drawn and entered.
- Select the rectangle, then click its top side. Confirm only that side receives a cyan halo and Properties reports one Open segment.
- Choose Right, Bottom, and Left using the Path edge buttons. Confirm the halo and reported length follow each side.
- Resize the rectangle while an edge is selected. The semantic side and its measurements should follow the edited rectangle.
- Press Esc or Delete once. Edge selection should clear without deleting or splitting the rectangle.
01 · CREATE
Draw a rectangle
Open Draw in the left tool rail and choose Rectangle, or press R. The gold circle and center dot show the exact coordinate while a small pointer stays offset so it cannot cover the point. Click once to place the first corner, move the pointer to preview the dimensions, then click the opposite corner to commit the rectangle.
When Snap is enabled, both corners are rounded to the configured grid spacing, which is 10 mm by default. The fixed first corner remains marked during the preview, and the live width and height labels show the result before the second click.
02 · RESIZE
Drag a corner
Press V and select a rectangle. Four gold handles appear. Drag any handle while its opposite corner stays fixed. Release once to add one resize command to history.
Press Esc before release to discard an active resize.
03 · PATH REFERENCE
Select one side without breaking the rectangle
First select the rectangle as normal. Then click its top, right, bottom, or left outline, or use the four Path edge buttons in Properties. The chosen side receives the connected-path halo, endpoint rings, exact length, and an explicit semantic reference.
The four sides are not converted into line objects. A reference such as rectangle-edge:rectangle-id:north continues to mean the top side after X, Y, width, height, corner-drag, undo, or redo changes.
Only the chosen side enters the connected-path graph. The other three rectangle sides are not silently included. Lines, arcs, or eligible open splines snapped to either endpoint can join the selected side.
Press Esc or Delete once, click the rectangle interior, or choose Return to whole rectangle to leave edge selection. These actions do not delete the owner rectangle.
04 · PRECISION
Enter exact values
The Properties panel exposes four millimetre fields for a selected rectangle.
XLeft edge positionYBottom edge positionWWidth; must be positiveHHeight; must be positivePress Enter or leave the field to commit. Invalid values are rejected. Each accepted field change creates one undo step. An active semantic edge follows the resulting rectangle automatically.
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.
SKETCH CLEANUP
Remove part of a rectangle side
Choose Trim (X) and hover over a side. Click to remove the highlighted section between crossings or a corner. With no internal crossing, the whole-side preview removes only that side.
The remaining outline becomes ordinary editable lines. Untouched sides keep their exact positions, and the original rectangle width/height controls are replaced by Line editing. You can keep trimming the result without switching tools. One Undo restores the complete rectangle.
Regions update immediately. Saved solid features that reference the original rectangle retain their definitions but report a rebuild issue after the conversion; undo or recreate them using the intended current region. Rectangle edges also remain cutting boundaries when trimming other lines, circles, arcs and unmirrored splines.
REFERENCE
Controls
IMPLEMENTATION NOTE
Document model
A rectangle is stored independently from the SVG renderer. All measurements are canonical millimetres in mathematical Y-up coordinates.
{
"kind": "rectangle",
"x": 10,
"y": 20,
"width": 120,
"height": 60
}Edge selection stores a lightweight semantic reference containing the rectangle ID and one of north, east, south, or west. It does not alter the document entity. This representation can later drive SVG, DXF, and CAM paths without reading coordinates back from the screen.
CURRENT SCOPE
Not implemented yet
- CAM operations sourced directly from a selected edge or mixed path
- Moving a rectangle by dragging its body
- Edge-only resize handles
- Deleting or separating one side from its rectangle
- Rotation and rotated rectangles
- Rounded corners and corner radii
- Persistent project save/open
- Constraints between shapes