Add 'Arcs and curved wires' (Arc tool, PR #1202); drop the merged #1200 notice

New page drawing_arcs, linked from the sidebar, mouse modifiers, the
shapes file format, keyboard control and drawing faster. Every mention
of the Arc tool carries a pending notice for PR #1202. The wire-hops
notice on conductors comes out: PR #1200 merged today.
ispyisail
2026-10-01 22:53:07 +13:00
parent aed5f2b889
commit 98945b3dd0
9 changed files with 142 additions and 8 deletions
+2
@@ -46,6 +46,8 @@
**[Pictures on a folio](pictures)** — labels, crop, transparency, what they cost in the file
**[Arcs and curved wires](drawing_arcs)** — the Arc tool, pulling an arc in or out, dashed arcs for lighting layouts
**[Grouping items](grouping_items)** — select, move and copy several items as one
**[Finding your place on a folio](navigating_folios)** — go to a cell like B13 or 4-B7, keep the headers in sight, show the cell limits, zoom and pan
-6
@@ -293,12 +293,6 @@ Both are per project, and both are toggles you can leave off.
## 9. Hops where wires cross
> **Status: pending.** This section describes
> [PR #1200](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1200),
> not yet merged. Nothing here works until that lands — check the PR before
> trying any of this against your own build. This notice will come out once
> it merges.
Where two wires cross without being connected, a project can draw a small
arc — a **hop** — on one of them, so the crossing cannot be read as a
connection. Until now the only way to show this was to insert a jump symbol
+6
@@ -15,6 +15,12 @@ attribute : none
* closed -- for polygons
* z -- stacking order
* is_movable -- `1` / `0`
* inside an `Ellipse` shape that is cut down to an arc, an `<arc>` child:
* startAngle -- where the arc starts, in degrees, anticlockwise from three o'clock
* spanAngle -- how far it runs; negative runs clockwise
* closure -- `chord` or `pie` when the arc is closed; absent when it is open
A whole ellipse has no `<arc>` child. See [Arcs and curved wires](drawing_arcs).
These are diagram shapes and are **not** the same as the element drawing
primitives documented under [description](elements_child_description), even
+126
@@ -0,0 +1,126 @@
# Arcs and curved wires
Lighting and house-wiring layouts often draw the wire from a switch to a lamp
as a curve rather than a straight line, so it stands apart from walls and
furniture on the plan. QElectroTech draws these as **arcs**: free drawing on
the folio, like lines and rectangles, not conductors. An arc is not connected
to anything — it does not appear in the wiring list, the parts list or any
export that follows wires.
There are two ways to get one: the **Arc** tool, which draws a half arc in two
clicks and gives it a handle to pull in or out, and the older way of cutting
an ellipse down with its end handles.
---
## 1. The Arc tool
> **Status: pending.** This section describes
> [PR #1202](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1202),
> not yet merged. Nothing here works until that lands — check the PR before
> trying any of this against your own build. This notice will come out once
> it merges.
![The drawing toolbar: line, rectangle, ellipse, the new arc button, polyline](https://raw.githubusercontent.com/wiki/qelectrotech/qelectrotech-source-mirror/images/drawing-arc-toolbar.png)
The **Ajouter un arc** (*add an arc*) button sits on the drawing toolbar
between the ellipse and the polyline. It is also in **Édition → Ajouter**, and
in the command search (`Ctrl+Shift+M`, type `arc`).
1. Click where one end of the arc should be.
2. Move to the other end, and up or down to the height the arc should reach.
The arc follows the cursor.
3. Click again. Right-click instead to cancel.
The result is always a **half arc**: its two ends sit on one horizontal line,
and it bulges up if you finished above the first click, down if you finished
below it.
| Hold | Result |
|---|---|
| *nothing* | both clicks snapped to the grid |
| **Shift** | a true half circle — the height is half the distance between the ends |
| **Ctrl** | off the grid |
A new arc takes the line colour, thickness and style of the last shape you
drew, but **never its fill**: a filled arc would close into a half disc. The
tool stays active, so you can draw the next arc straight away; clicking the
selection arrow, or the Arc button again, ends it, and Enter starts it again
later
(see [Drawing faster](drawing_faster)).
### Pulling an arc in or out
![Left: a half arc as drawn, with its middle handle at the top. Centre: the handle pulled in, the arc flatter. Right: the handle pulled past the ends, the arc now bulging downwards. The two end handles do not move in any of the three.](https://raw.githubusercontent.com/wiki/qelectrotech/qelectrotech-source-mirror/images/drawing-arc-handle.png)
Select a half arc and it shows a turquoise handle in the **middle of the
curve**, as well as one at each end.
- Drag the middle handle **away from the ends** to make the arc deeper.
- Drag it **towards the ends** to make it flatter.
- Drag it **past the line between the ends** and the arc turns over to the
other side.
The two ends do not move while you do this, so an arc drawn between a switch
and a lamp stays connected to both by eye. Ctrl frees the handle from the
grid. One drag is one undo step.
The middle handle is only there on a **half arc** — every arc the Arc tool
draws, also after you rotate it, and an ellipse cut down to exactly a half
along its width or height (section 2, with Shift). Drag one of the end handles and the arc stops being a half arc:
the middle handle disappears, and the end handles work as in section 2. Drag
the end back to make a half arc again and the middle handle returns.
---
## 2. Cutting an ellipse down to an arc
Any ellipse can be turned into an arc. Select it, and drag one of the two
turquoise handles on its outline: that end of the curve follows the cursor
round the ellipse. Hold **Shift** to move in 15° steps. Drag one end all the
way round onto the other and the ellipse closes again.
This gives arcs of any length, not only halves, but each end moves round the
ellipse rather than staying where you put it, which makes it slow to fit an
arc between two fixed points. For that, use the Arc tool.
---
## 3. A dashed arc
Select the arc, open **Propriétés de la sélection** (*selection properties*),
and under **Trait** (*line*) set **Type** to **Tiret** (*dash*) or
**Pointillé** (*dotted*). The thickness and colour are on the same panel.
Because a new arc copies the last shape's line style, the next arcs you draw
come out dashed too, until you change it back.
---
## 4. In the file
An arc is saved as an ordinary `Ellipse` shape with an `<arc>` child giving
its start angle and span in degrees, measured anticlockwise from three
o'clock. A half arc bulging upwards is `startAngle="0" spanAngle="180"`; the
same arc pulled past its ends is `spanAngle="-180"`. The Arc tool adds nothing
new to the file, so a project with arcs in it opens in any version that reads
ellipse arcs. See [shapes](project_diagram_child_shapes).
---
## Limitations
- The Arc tool only draws half arcs. A shallower or longer curve is a half arc
pulled in or out, or an ellipse cut down by hand.
- The middle handle works only on half arcs.
- Ctrl does not draw the arc out from its centre, as it does for an ellipse;
it only takes the clicks off the grid.
- The start and end angles cannot be typed in the properties panel.
- An arc is drawing, not a wire. For a curve that is part of the circuit,
use a conductor.
## See also
- [Mouse modifiers](mouse_modifiers) — every Shift, Ctrl and Alt while drawing and reshaping
- [Drawing faster](drawing_faster) — command search, repeating the last tool
- [Conductors](conductors) — real wires, and hops where they cross
+1 -1
@@ -75,7 +75,7 @@ Right-click an empty spot on a folio. The menu puts drawing first:
|---|---|---|
| **Renvoi de folio ▸** (*folio reference*) | places a folio report arrow where you right-clicked | [#1050](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1050) |
| **Insérer le dernier élément** (*insert last element*) | starts placing the last symbol again, as **A** does; shown once something has been placed | [#1050](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1050) |
| **Ajouter ▸** (*add*) | text, image, PDF, line, rectangle, ellipse, polyline, curve, terminal strip | merged ([#1041](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1041)) |
| **Ajouter ▸** (*add*) | text, image, PDF, line, rectangle, ellipse, arc (pending: [PR #1202](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1202)), polyline, curve, terminal strip | merged ([#1041](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1041)) |
| **Propriétés du folio** (*folio properties*) | the folio's properties dialog | merged |
| **Lignes et colonnes ▸** (*rows and columns*) | add or remove a row or a column | merged — moved one level down by #1041 |
Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

+1 -1
@@ -115,7 +115,7 @@ asking whichever item has focus for its default one.
**Édition → Ajouter** is a submenu holding every drawing tool that used to
be toolbar-only: text field, image, PDF (where compiled in), line,
rectangle, ellipse, polyline, curve, and terminal strip. Reach it with
rectangle, ellipse, arc (pending: [PR #1202](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1202)), polyline, curve, and terminal strip. Reach it with
`Alt+E` then `→` to open the submenu, arrow keys to pick a tool, `Enter` to
activate it. The automatic-conductor-break toggle sits in **Projet**,
beside the automatic-conductor setting it pairs with.
+6
@@ -90,6 +90,11 @@ While dragging out a rectangle or an ellipse:
Shift has no effect on lines, polygons or paths — only on rectangles and
ellipses.
With the **Arc** tool (pending:
[PR #1202](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1202)), **Shift** makes a true half circle and **Ctrl** only takes the
clicks off the grid — there is no centre-anchored arc. See
[Arcs and curved wires](drawing_arcs).
Whether the shape is centre-anchored is decided **at the first click**, not
re-checked while you drag. Letting go of Ctrl halfway through does not snap
the shape back to corner-anchored; that is deliberate, so a tired hand does
@@ -109,6 +114,7 @@ Select a shape or an image and drag one of its handles.
| Rotate | **Shift** | snap the angle to 15° steps |
| Skew | **Shift** | snap the skew to 15° steps |
| Arc start/end | **Shift** | snap the arc angle to 15° steps |
| Arc middle (half arcs; pending: [PR #1202](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1202)) | **Ctrl** | off the grid; no other modifier. The ends stay put — see [Arcs and curved wires](drawing_arcs) |
| Path node (node-edit mode) | **Alt** | give the node symmetric curve handles |
| Curve handle | **Alt** | break the symmetry, making it a corner instead of mirroring the opposite handle |