mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-05 10:34:13 +02:00
+3
-3
@@ -40,11 +40,11 @@
|
||||
|
||||
**[3D mouse](3d_mouse)** — SpaceMouse pan, zoom and buttons
|
||||
|
||||
**[Aligning items](aligning_items)** — snap symbols back to the grid
|
||||
**[Aligning items](aligning_items)** — snap symbols back to the grid, or line them up
|
||||
|
||||
**[Pictures on a folio](pictures)** — labels, crop, transparency, what they cost in the file
|
||||
|
||||
**[Grouping items](grouping_items)** — select, move and copy several items as one *(pending)*
|
||||
**[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
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
|
||||
**[Importing EPLAN parts (.edz)](edz_import)** — EPLAN Data Portal
|
||||
|
||||
**[DXF import & export](dxf)** — two unrelated features, one format; command-line export and layers *(pending)*
|
||||
**[DXF import & export](dxf)** — two unrelated features, one format; command-line export and layers
|
||||
|
||||
**[The project database](project_database)** — the in-memory SQLite cache
|
||||
|
||||
|
||||
+87
-2
@@ -1,4 +1,4 @@
|
||||
# Aligning items: putting symbols back on the grid
|
||||
# Aligning items: the grid, and lining items up
|
||||
|
||||
Wires in QElectroTech run straight when the terminals at both ends line up,
|
||||
and terminals line up when their symbols sit on the grid. A symbol that is
|
||||
@@ -28,7 +28,13 @@ translations are updated, with an English gloss in italics.
|
||||
| Command | What it does | Pull request |
|
||||
|---|---|---|
|
||||
| [Snap to grid](#snap-to-grid) | puts the selected items back on the grid | [#1073](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1073) |
|
||||
| Align, distribute, straighten wires | line symbols up, space them evenly, straighten the wires between them | planned in discussion #1069, not built yet |
|
||||
| [Align](#align) left, centre, right, top, middle, bottom | lines the selected items up on one edge or one centre line | [#1087](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1087) (pending) |
|
||||
| Distribute, straighten wires | space items evenly, straighten the wires between them | planned in discussion #1069, not built yet |
|
||||
|
||||
Snap to grid is merged. **Align is not merged yet**: its section below says
|
||||
so, and nothing in it works until
|
||||
[#1087](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1087)
|
||||
lands.
|
||||
|
||||
---
|
||||
|
||||
@@ -85,6 +91,85 @@ Items already on the grid stay exactly where they are.
|
||||
|
||||
---
|
||||
|
||||
## Align
|
||||
|
||||
> **Status: pending.** This section describes
|
||||
> [PR #1087](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1087),
|
||||
> not yet merged. Nothing here works until that lands — check the PR
|
||||
> before trying any of this against your own build. This section will drop
|
||||
> this notice once it does.
|
||||
|
||||
### Using it
|
||||
|
||||
1. Select **two or more** items: symbols, pictures, free texts or groups.
|
||||
2. Choose one of the six commands under **Édition ▸ Aligner** (*Edit ▸
|
||||
Align*), the same submenu as Snap to grid. It is also in the right-click
|
||||
menu of the selection, and in command search (**Ctrl+Shift+M**, type
|
||||
"aligner" or "centrer").
|
||||
|
||||

|
||||
|
||||
| Command | *English* | Lines the items up on |
|
||||
|---|---|---|
|
||||
| Aligner à gauche | *Align left* | the left-most left edge |
|
||||
| Centrer horizontalement | *Centre horizontally* | one vertical line, through the average of their centres |
|
||||
| Aligner à droite | *Align right* | the right-most right edge |
|
||||
| Aligner en haut | *Align top* | the top-most top edge |
|
||||
| Centrer verticalement | *Centre vertically* | one horizontal line, through the average of their centres |
|
||||
| Aligner en bas | *Align bottom* | the bottom-most bottom edge |
|
||||
|
||||
With a single item selected the six commands are greyed out; only Snap to
|
||||
grid is available.
|
||||
|
||||

|
||||
|
||||
The status bar says what happened:
|
||||
|
||||
| Status bar | Meaning |
|
||||
|---|---|
|
||||
| *4 objet(s) aligné(s)* | 4 items moved |
|
||||
| *La sélection est déjà alignée, à la grille près* | nothing needed moving (see "The grid wins" below); no undo step is added |
|
||||
| *Sélectionnez au moins deux éléments, images, textes ou groupes non verrouillés* | fewer than two items could move, usually because the others are locked |
|
||||
| *(1 objet(s) verrouillé(s) laissé(s) en place)* | added when locked items were in the selection; they were not moved |
|
||||
|
||||
**One undo step** (Ctrl+Z) puts every item back where it was.
|
||||
|
||||
### What counts as an item's edges and centre
|
||||
|
||||
| Item | Edges | Centre |
|
||||
|---|---|---|
|
||||
| Symbol | its outline, **without** its texts (label, reference, information fields) | its **origin point**: the point it snaps to the grid by, which is where its wires usually leave. Centring symbols of different sizes therefore puts their wires on one straight line, not the middles of their drawings |
|
||||
| Picture | the picture itself, without its caption | the middle of the picture |
|
||||
| Free text | the text's box | the middle of the box |
|
||||
| Group ([Grouping items](grouping_items)) | the box around all its members | the middle of that box |
|
||||
| Shapes (lines, rectangles, polygons) | not moved, unless they are part of a group, in which case they move with it | — |
|
||||
| Locked items | not moved | — |
|
||||
| Wires | follow their symbols, as they do when you drag | — |
|
||||
|
||||
A **group moves as one piece**: every member moves by the same amount, so
|
||||
the group keeps its shape.
|
||||
|
||||
### Things worth knowing
|
||||
|
||||
- **Items only move across the line.** *Aligner à gauche* moves items left
|
||||
or right, never up or down; *Aligner en haut* never moves anything
|
||||
sideways.
|
||||
- **The grid wins.** Every item lands on the grid its drag would have used:
|
||||
symbols and pictures on the folio grid, free texts on the text grid. So
|
||||
aligning never takes a symbol off the grid. The price: two symbols whose
|
||||
left edges are at different distances from their origin points cannot
|
||||
both sit on the grid *and* on the same left edge, so one can end up as
|
||||
much as half a grid step (5 px on the default grid) off the line.
|
||||
- **Half a step rounds up**, as with Snap to grid.
|
||||
- **Holding Ctrl makes no difference**, as with Snap to grid.
|
||||
- **No default shortcuts.** Assign your own under **Configurer
|
||||
QElectroTech ▸ Raccourcis** (*Settings ▸ Shortcuts*), in the *Éditeur de
|
||||
schémas* group.
|
||||
- **No automatic wiring.** Lining a symbol up with a free terminal does not
|
||||
add a wire, unlike dropping it there with the mouse.
|
||||
|
||||
---
|
||||
|
||||
## See also
|
||||
|
||||
- **[Grid size and element size](grid_and_element_size)** — the folio grid,
|
||||
|
||||
+3
-4
@@ -186,7 +186,7 @@ Arguments are **positional**, not `--flag=value`. The shape is always
|
||||
|---|---|
|
||||
| `--export-pdf` | one PDF, all folios |
|
||||
| `--export-png` / `--export-svg` | a directory, one image per folio |
|
||||
| `--export-dxf` | a directory, one DXF per folio — *pending, [PR #1078](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1078)*; see **[DXF import & export](dxf)** |
|
||||
| `--export-dxf` | a directory, one DXF per folio; see **[DXF import & export](dxf)** |
|
||||
| `--export-bom` | CSV bill of materials |
|
||||
| `--export-wiring` | CSV from-to wiring list |
|
||||
| `--export-cables` | CSV wiring list, built from the document XML |
|
||||
@@ -199,8 +199,8 @@ Arguments are **positional**, not `--flag=value`. The shape is always
|
||||
| `--check-elements` | validates `.elmt` files or a directory of them |
|
||||
| `--run` | run a JavaScript macro against a project — see **[JavaScript Scripting](scripting)** |
|
||||
|
||||
Plus `--show-terminals`, which paints terminal markers into PDF/PNG/SVG output
|
||||
(and DXF, with PR #1078).
|
||||
Plus `--show-terminals`, which paints terminal markers into PDF/PNG/SVG/DXF
|
||||
output.
|
||||
|
||||
Exit codes: `0` success, `1` the work failed, `2` called wrongly — so these are
|
||||
safe to chain in a script with `set -e`.
|
||||
@@ -471,7 +471,6 @@ wait # Wait for all to finish
|
||||
|-----------|-----------|
|
||||
| No CLI option to create or edit a diagram *from a flag* | Use JavaScript scripting (`--run`) for edits with real undo, or the `.qet` XML directly for anything scripting doesn't cover — see **[JavaScript Scripting](scripting)** and **[Automating QElectroTech](api_reference)** |
|
||||
| One project per invocation | Loop in the shell; each run is independent |
|
||||
| No DXF export from the CLI | Use GUI export (File → Export). `--export-dxf` is pending in [PR #1078](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1078) |
|
||||
|
||||
> **Corrected September 2026.** This section previously claimed QET had no
|
||||
> headless export and no CLI PDF export, and pointed readers at Python
|
||||
|
||||
+2
-16
@@ -17,9 +17,7 @@ and were built as a series of small pull requests, one per feature.
|
||||
|
||||
> **Status: merged.** Every feature on this page is in QElectroTech's
|
||||
> master branch (the last pull requests merged on 27 September 2026), so it is
|
||||
> in current development builds. One later change is still pending: the
|
||||
> longer button tooltips and the text angle dialog in §5 and §7
|
||||
> ([PR #1084](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1084)).
|
||||
> in current development builds.
|
||||
|
||||
| § | Feature | How you reach it | Pull request |
|
||||
|---|---|---|---|
|
||||
@@ -171,11 +169,6 @@ without doing anything.
|
||||
|
||||
### What a button does
|
||||
|
||||
> **Status: pending.** This part describes
|
||||
> [PR #1084](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1084),
|
||||
> not yet merged. Until it lands, a tooltip shows only the command's name
|
||||
> (and its shortcut, on this bar). This notice will be removed once it does.
|
||||
|
||||
Hover a button for its tooltip: the command's name, its keyboard shortcut if
|
||||
it has one, and on a second line what it does — the same sentence the status
|
||||
bar shows for that command in the menus.
|
||||
@@ -196,11 +189,6 @@ selected: selecting a symbol does not select its texts. Click the text itself
|
||||
(Ctrl+click to add more), then press the button. A dialog asks for the angle:
|
||||
type it, or click one of the eight handles around the circle, then **OK**.
|
||||
|
||||
> **Status: pending.** This part describes
|
||||
> [PR #1084](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1084),
|
||||
> not yet merged. Until it lands, the dialog always opens at 0°. This notice
|
||||
> will be removed once it does.
|
||||
|
||||
The dialog opens at the angle the selected texts already have, so turning a
|
||||
vertical text by a few degrees means changing 90 to, say, 85 — not typing the
|
||||
whole angle again. If the selected texts are at different angles it opens at
|
||||
@@ -307,9 +295,7 @@ customising one customises the other.
|
||||
|
||||

|
||||
|
||||
Hover a button for what it does, as on the shortcut bar (§5)
|
||||
([PR #1084](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1084),
|
||||
pending; until then the tooltip is only the command's name).
|
||||
Hover a button for what it does, as on the shortcut bar (§5).
|
||||
|
||||
It fades as the mouse moves away and disappears beyond about 200 pixels, or
|
||||
at the next key press. It does **not** appear after dragging something, while
|
||||
|
||||
+10
-25
@@ -13,7 +13,7 @@ you're looking for "import a DXF drawing as a folio", that isn't what either
|
||||
of these does — see §3.
|
||||
|
||||
Source: `sources/createdxf.{cpp,h}`, `sources/dxfpaintdevice.{cpp,h}`,
|
||||
`sources/dxfexport.{cpp,h}` (with PR #1078),
|
||||
`sources/dxfexport.{cpp,h}`,
|
||||
`sources/dxf/dxftoelmt.{cpp,h}`.
|
||||
|
||||
---
|
||||
@@ -23,18 +23,10 @@ Source: `sources/createdxf.{cpp,h}`, `sources/dxfpaintdevice.{cpp,h}`,
|
||||
*File → Export*, same dialog as PDF/PNG/SVG, one `.dxf` file per folio. The
|
||||
border, title block and every diagram item on that folio are included.
|
||||
|
||||
In current builds DXF export is GUI-only: `--export-pdf`, `--export-png` and
|
||||
`--export-svg` exist, but there is no DXF equivalent. The next section adds
|
||||
one.
|
||||
It also runs from the command line, like the PDF, PNG and SVG exports.
|
||||
|
||||
### From the command line: `--export-dxf`
|
||||
|
||||
> **Status: pending.** This section describes
|
||||
> [PR #1078](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1078),
|
||||
> not yet merged. Nothing here works until that lands — check the PR before
|
||||
> trying any of this against your own build. This section will drop this
|
||||
> notice once it does.
|
||||
|
||||
```bash
|
||||
qelectrotech --export-dxf myproject.qet out/
|
||||
qelectrotech --export-dxf myproject.qet out/ --show-terminals
|
||||
@@ -60,22 +52,16 @@ Exit codes are the same as the other exports: `0` success, `1` the export
|
||||
failed (for example, the output folder cannot be written), `2` called wrongly.
|
||||
|
||||
**Two exports of the same folio give identical files**, so a DXF can be
|
||||
compared with an earlier one to see what changed. That needs
|
||||
compared with an earlier one to see what changed. (Before
|
||||
[PR #1075](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1075),
|
||||
which ships with this one: before it, every export wrote its entities in a
|
||||
different order.
|
||||
every export wrote its entities in a different order.)
|
||||
|
||||
### Layers
|
||||
|
||||
> **Status: pending.** This section describes
|
||||
> [PR #1079](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1079),
|
||||
> not yet merged. Nothing here works until that lands — check the PR before
|
||||
> trying any of this against your own build. This section will drop this
|
||||
> notice once it does.
|
||||
|
||||
Until now everything in an exported DXF sat on **layer 0**, so a CAD program
|
||||
could not tell the border from the wires. With this change each kind of
|
||||
content goes on its own layer:
|
||||
Each kind of content goes on its own layer, so a CAD program can tell the
|
||||
border from the wires. (Before
|
||||
[PR #1079](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1079),
|
||||
everything sat on **layer 0**.)
|
||||
|
||||
| Layer | What is on it |
|
||||
|---|---|
|
||||
@@ -195,9 +181,8 @@ project, not with QET.
|
||||
even setting aside that import and export use entirely different code.
|
||||
- **Not a general CAD interchange path**, in the sense of preserving blocks
|
||||
or DXF metadata beyond raw geometry — both directions work at the level of
|
||||
individual drawing primitives. Export puts content on named layers once
|
||||
[PR #1079](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1079)
|
||||
lands (§1, *Layers*).
|
||||
individual drawing primitives. Export does put content on named layers
|
||||
(§1, *Layers*).
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -15,12 +15,6 @@ and on the forum ([#2467](https://qelectrotech.org/forum/viewtopic.php?id=2467),
|
||||
Menu names are given in French, as QElectroTech shows them until the
|
||||
translations are updated, with an English gloss in italics.
|
||||
|
||||
> **Status: pending.** Everything on this page describes
|
||||
> [PR #1074](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1074),
|
||||
> not yet merged. Nothing here works until that lands — check the PR before
|
||||
> trying any of this against your own build. This page will drop this
|
||||
> notice once it does.
|
||||
|
||||
---
|
||||
|
||||
## 1. Making a group
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 7.3 KiB |
+1
-1
@@ -200,7 +200,7 @@ rotating. It keeps its own grid settings, separate from the diagram's.
|
||||
- **[Preferences reference](preferences)** — the grid and movement settings
|
||||
- **[Templates](templates)** — which are placed by dragging, and nothing else
|
||||
- **[Aligning items](aligning_items)** — snap a selection back to the grid
|
||||
- **[Grouping items](grouping_items)** — select and move several items as one *(pending)*
|
||||
- **[Grouping items](grouping_items)** — select and move several items as one
|
||||
- **[Pictures on a folio](pictures)** — the handles for resizing, rotating and skewing a picture
|
||||
- **[3D mouse](3d_mouse)** — panning and zooming with a SpaceMouse
|
||||
- **[Tips & Tricks](tips_and_tricks)** — faster drawing generally
|
||||
|
||||
+1
-1
@@ -83,7 +83,7 @@ script instead of a flag:
|
||||
qet.exportPdf(output, showTerminals = false)
|
||||
qet.exportPng(outDir, showTerminals = false)
|
||||
qet.exportSvg(outDir, showTerminals = false)
|
||||
qet.exportDxf(outDir, showTerminals = false) // pending, PR #1078
|
||||
qet.exportDxf(outDir, showTerminals = false)
|
||||
qet.exportCables(output)
|
||||
qet.exportWires(output)
|
||||
qet.exportBom(output)
|
||||
|
||||
+1
-1
@@ -191,6 +191,6 @@ path, or copy the `.qetmak` files into the default folder above.
|
||||
- **[Using the element editor](element_editor)** — for building the single
|
||||
symbols a template is assembled from
|
||||
- **[Preferences reference](preferences)** — where the templates folder is set
|
||||
- **[Grouping items](grouping_items)** — keeping items together on the folio, rather than saving them for reuse *(pending)*
|
||||
- **[Grouping items](grouping_items)** — keeping items together on the folio, rather than saving them for reuse
|
||||
- **[Tips & Tricks](tips_and_tricks)** — other ways to speed up repeated
|
||||
drawing
|
||||
|
||||
Reference in New Issue
Block a user