Repository navigation
wires_per_terminal
A real terminal takes one or two wires β four at most, with a double ferrule either side of the screw. A folio report (the arrow that carries a wire to another sheet) is not a terminal at all: it is a virtual point, and the clearest drawing gives it exactly one wire. QElectroTech has never checked either: any number of wires can be connected anywhere, and a drawing that looks fine can be impossible to wire in the workshop.
This page covers a set of optional rules that make QElectroTech check this while you draw and list the places where an existing drawing breaks it. They were asked for in discussion #1158.
Everything here is off until you turn it on. A project that never uses these rules is drawn and saved exactly as before, and one switch in the preferences turns all of them off for every project.
It is experimental. The rules count the wires on a terminal as QElectroTech represents them today. If wires and conductors become separate objects in a future version, these rules β and the values you set β may have to change. QElectroTech says so in a warning pop-up when you turn a rule on (a limit where there was none, or one wire per folio report).
| Β§ | Feature | Where | Pull request |
|---|---|---|---|
| 1 | The limits, set for every project, and the master switch | Configure QElectroTech βΊ General | #1272 |
| 2 | A project's own limits | Project properties | #1272 |
| 3 | What is refused, and what is not | while drawing | #1272 |
| 4 | Chains instead of stars | polygon wiring, deleting a symbol | #1273 |
| 5 | Counting with an AI assistant | qet_check |
#1271 |
Menu and option names are given in French, as QElectroTech shows them until the translations are updated, with an English gloss in italics.
Settings β Configure QElectroTech, page General, tab Appearance:

| Option | Default | What it does |
|---|---|---|
| Apply the projects' conductors-per-terminal rules β the master switch | ticked | unticked, every rule on this page is off in every project, whatever the project says. The other options grey out |
| Maximum conductors per terminal | No limit | a new wire that would give a terminal more than this is refused. 4 is two double ferrules, one either side of the screw |
| Only one conductor per sheet reference | unticked | a folio report takes one wire, whatever the limit above |
These values are kept with your other QElectroTech settings, on this computer, and apply to every project that does not set its own (Β§2). Changing them takes effect at once, in projects already open too.
Project β Project properties, page General, the Conductors per terminal group:

- Use the application settings is ticked by default. The fields below then show the values from Β§1, greyed: that is what this project follows.
- Untick it to give this project its own values. They start from the application's, become editable, and are saved in the project file, so the project keeps them on any computer β useful when a drawing must follow a customer's rule whatever the preferences of whoever opens it.
- A project's own No limit beats an application limit: tick the box off and set no limit for, say, a single-line diagram where one drawn wire stands for several.
- With the master switch (Β§1) off, the whole group greys out with a note, and nothing in it applies.
Refused: drawing a new wire onto a terminal that already has as many wires as the limit β or, with the report rule on, a second wire onto a folio report. While you drag, the terminal shows in red, as for any connection QElectroTech refuses. When you let go, nothing is drawn and a tooltip says why:

The limit applies to both ends: dragging from a full terminal is refused too.
Also respects the limit:
| Action | What happens at a full terminal |
|---|---|
| Automatic conductor creation (placing or moving a symbol whose terminal lines up with another) | that wire is not created; the others are |
| Multi-paste with automatic connection | same |
qet.addConductor() in a script |
returns false and logs that the limit was reached |
Never refused: wires that are already in the drawing. Opening a project, pasting, undo and redo, and dropping a symbol onto a wire to split it all work as before, even where a terminal is over the limit. QElectroTech has no list of those terminals; the AI assistant check in Β§5 finds the ones with more than four wires.
Two of QElectroTech's own tools connect several terminals at once, and both used to connect them all to one of them β a star:
-
drawing a polygon around terminals to wire them together (also
qet.addConductor()in a script); - deleting a symbol that sat on a potential: QElectroTech rewires the terminals it was connected to, so the potential is not broken.
Six terminals wired as a star give the middle one five wires, which no limit allows. When a wire limit is set, both tools now wire the terminals one after another: starting from the top-left terminal, each time to the nearest one not yet wired. Every terminal in the middle of the chain gets two new wires, the two ends one each, and the result reads as a wiring order. The polygon tool also leaves out a wire whose terminal is already full.
Without a limit (or with only the report rule), both tools build the star as before.
The qet_check tool of the AI assistant server gets two
read-only checks, so you can count a project before turning any limit on:
| Check | Reports | Severity |
|---|---|---|
crowded_terminals |
terminals with more than four wires, folio reports left out, with folio, cell, label, symbol type and wire count | info |
reports_with_several_wires |
folio report arrows with more than one wire | info |
Both are information, not errors: cable, busbar and single-line symbols carry more wires on purpose, and a third of the shipped examples' folio reports have several. Over the 24 example projects they find 23 crowded terminals in 10 projects and 130 reports in 4.
They are plain queries on the wires, so they work on any current QElectroTech, with or without the features above.
| Where | What is stored | When |
|---|---|---|
your QElectroTech settings, group diagrameditor
|
wiring_rules_enabled (master switch), wiring_rules_max_wires, wiring_rules_one_wire_per_report
|
always, on this computer only |
the project, <wiring_rules β¦/> under <project>
|
the project's own values: max_wires_per_terminal="2", one_wire_per_report="true"
|
only when the project sets its own (Β§2); <wiring_rules/> alone means "its own: no rule" |
A project that follows the application's settings writes nothing, so it is
saved exactly as before. An older QElectroTech drops a project's
<wiring_rules> element when it saves, which simply means "back to no
rule".
- The rules count wires on a terminal. They do not know about ferrules, bridges inside a terminal strip, or how many conductors a real device's data sheet allows: the numbers are yours to set.
- A project opened on another computer follows that computer's preferences, unless the project has its own values (Β§2).
- Wires already in the drawing are never removed or moved, and QElectroTech
itself has no list of the terminals that are over the limit; the
crowded_terminalscheck (Β§5) lists those with more than four wires, the rest is up to you. - The limit is one number for the whole project. A symbol cannot give one of its terminals a limit of its own (an earth terminal at 1, a cable or busbar symbol at no limit).
- Conductors β wire properties, the wiring list, and hops where wires cross
- Preferences reference β every settings page
- Using the element editor β terminals and their properties
- Terminal strips β where wires land on real terminals
- Linking wires across pages β folio reports
- The project database β the views a query can read
-
AI assistants β the
qet_checktool
Getting Started
π Languages β English Β· FranΓ§ais Β· Deutsch
Windows without admin rights β the portable archive, no installer
Guides
Conductors β wire properties, what feeds which export, cables, and hops where wires cross
Wires per terminal β limit the wires on a terminal, chain wiring instead of stars
Printing and exporting β paper, PDF, images, and what each path does differently
Linking elements β master, slave, terminal
PLC modules β I/O tables and linking a wire to a specific point
Using the element editor β drawing tools, saving, checks
Generic devices β a quick box symbol with terminals on any side, made by a wizard (pending)
Grid size and element size β why symbols aren't all the same scale, and scaling one without leaving the grid
Preferences reference β what each settings page does
Saving and loading settings β your whole setup in one file, to copy or keep
Keyboard-only control β mouseless QET, and what still needs a mouse
Mouse modifiers β what Shift, Ctrl and Alt change while you drag
3D mouse β SpaceMouse pan, zoom and buttons
Aligning items β snap symbols back to the grid, or line them up
Pictures on a sheet β labels, crop, transparency, what they cost in the file
Arcs and curved wires β the Arc tool, pulling an arc in or out, rounding a corner with a fillet, dashed arcs for lighting layouts
Grouping items β select, move and copy several items as one
Finding your place on a sheet β go to a cell like B13 or 4-B7, keep the headers in sight, show the cell limits, zoom and pan
Showing and hiding kinds of items β hide texts, wire numbers, shapes, pictures, tables or cross-references on every sheet
Drawing faster β place without dragging, the S shortcut bar, command search, gestures
Customising QElectroTech β keys, toolbar size and contents, the gesture ring (partly pending)
Managing collections β folders, writability, building your own shortlist
Templates β reusable multi-element blocks, placed by double-click or drag
Search & Replace β bulk property changes
Building a nomenclature query β the BOM/summary table builder
Linking wires across pages β sheet reports
Variables & formulas β %f, %{label}, sequences
Auto-numbering β schemes, sequences, freezing
Terminal strips β strips, levels, bridges
Title block templates β the .titleblock format
Importing EPLAN parts (.edz) β EPLAN Data Portal
DXF import & export β two unrelated features, one format; command-line export and layers
The project database β the in-memory SQLite cache
Development
Automating QET β CLI, XML formats, external tools
CLI Reference β command line usage
JavaScript Scripting β --run, geometry editing, undo
MCP server β let an AI assistant read, verify and edit projects
Connecting an AI assistant β setup for Claude, Copilot, Gemini, Codex, Cursor, LM Studio
Script buttons β stored scripts with an icon, by hand or by an assistant
Live mode β an assistant working in the open project while you watch
Macro recorder β record a task by hand, for an assistant to script
Vision β proposal, under discussion
