Skip to content
ispyisail edited this page Oct 9, 2026 · 5 revisions

Terminal strips

A terminal strip in QElectroTech is a separate object from the terminals drawn on your sheets. The sheet terminals stay where they are; the strip is a list that references them, adds the terminals that exist only in the cabinet, records levels and bridges, and can be drawn on a sheet as a strip plan.

Status: marked (DEV). The menu entry is Project β†’ Terminal strip manager (DEV), and that label is in the shipped source. The feature works and its data is saved in the project file, but the developers have not declared it finished. Treat it as usable and evolving rather than settled.

Source: sources/TerminalStrip/ β€” terminalstrip.cpp, physicalterminal.cpp, realterminal.cpp, terminalstripbridge.cpp, and ui/ for the editor.


1. The three objects

The model has three layers, and almost every confusion about terminal strips comes from collapsing two of them.

Object Is Example
Terminal strip the whole strip -X1, 24 terminals on a rail
Physical terminal one block clipped onto the rail position 7 on -X1
Real terminal one electrical level within that block the front level of position 7

A physical terminal is composed of one or more real terminals. One real terminal is an ordinary single-level block. More than one means the block has levels β€” a two- or three-tier terminal.

Levels are ordered back to front, from the mounting plate towards the cabinet door:

mounting plate                                   door
      |                                            |
      |   +---+                                    |
      |   | 0 |  +---+                             |
      |   |   |  | 1 |  +---+                      |
      |   |   |  |   |  | 2 |                      |
      |   +---+  +---+  +---+                      |
      |                                            |
      |<---- one physical terminal, 3 levels ----->|

Level 0 is the back. That ordering is the same one the editor's Level column shows and the same one bridging compares against.

Real terminals that are not on any sheet

A real terminal does not have to correspond to a drawn terminal element. A terminal you have reserved on the rail but not drawn β€” a spare, a future connection, a manufacturer-supplied end block β€” exists in the strip as a real terminal with no element behind it.

This is why a strip's terminal count can legitimately exceed the number of terminal elements in your sheets.

Do not confuse these with the editor's Independent terminals list, which is the opposite case: terminals drawn on a sheet that are not in any strip yet. Moving those into a strip is covered in Β§2, Moving drawn terminals into a strip.


2. Creating and filling a strip

Project β†’ Terminal strip manager (DEV) opens the editor window. It shows the project's strips in a tree on the left, and the selected strip's terminals in a table.

A strip carries five pieces of identification: installation, location, name, comment and description. Installation and location are the same concepts as a sheet's plant and locmach β€” a strip is addressed the same way an element is.

Terminals reach a strip by being added to it, either from the drawn terminal elements the project already has, or as free terminals you create in the strip itself. The first case is described below.

The terminal table

Column Meaning
Position order on the rail
Level which tier of a multi-level block, 0 = back
Label the terminal's number or name
Conductor number the wire number arriving
Cross-reference where the terminal is drawn
Cable cable this terminal belongs to
Cable wire colour / number the core within that cable
Type generic, fuse, sectional, diode, ground
Function generic, phase, neutral
LED whether the block carries an indicator

Type and function come from the terminal element's own definition β€” see Linking elements for how an element declares them.

Moving drawn terminals into a strip

Drag and drop, and the tooltips that say why the button is greyed out, are in the nightly builds from 1 October 2026 onwards (#1198, #1199). Release 0.100 has the button only.

Every terminal element drawn on a sheet that is not yet in a strip is listed in the tree under Independent terminals. Click any one of them and the right-hand side shows all of them in a table, with the move controls at the top right.

The terminal strip manager with X2:10 selected in the tree under Independent terminals. The table on the right lists the free terminals, none of its rows is selected, and the Move to list and its βœ“ button are greyed out

Selecting a terminal in the tree does not select it in the table. The tree item you click only opens this page. Both ways of moving work on what is selected in the table (or, for a drag, on what you drag). In the picture above, X2:10 is selected in the tree but no row of the table is, so the button is greyed out.

There are two ways to move terminals into a strip.

1. The button. Select one or more rows in the table (Ctrl+click or Shift+click for several), choose the strip in Move to, and click the βœ“ button next to it.

2. Drag and drop. Drag the terminals onto a strip in the tree on the left:

Drag from What moves
the table every selected row
the tree, under Independent terminals the terminal you drag, one at a time

Drop them on the strip itself, or on any terminal already in that strip. They are added after the strip's existing terminals, and the strip is then selected, so you see the result straight away:

After dragging X2:11 and X2:12 from the table onto strip XT1: the tree shows them under XT1 after X2:1, and the strip's table lists X2:1, X2:11 and X2:12 at positions 0, 1 and 2.

Either way, the move is one undo step: the undo button in the manager's toolbar puts every terminal of that move back.

When the button is greyed out

Hover over it: the tooltip says why. When more than one reason applies, it names the most basic one first.

Situation Tooltip What to do
The project has no strip yet The project has no terminal strip: create one with the + button create a strip with the + button at the top left of the manager
You changed cells in the table (shown in yellow) and have not applied them Apply or cancel the current changes before moving click Apply or Reset at the bottom first
No row of the table is selected Select the terminals to move in the table select the rows to move

A drop is refused, and nothing moves, in the same pending-changes case, and whenever it is not over a strip or one of its terminals. Moving reloads the table, which would throw away changes not yet applied; that is why both the button and the drop wait for Apply or Reset.

Not possible by dragging

  • taking terminals back out of a strip, or moving them from one strip to another β€” the strip's own page has a Move to list for that, which includes Independent terminals;
  • changing the order of terminals within a strip.

3. Grouping, levels and sorting

Two operations change the shape of the strip rather than its contents:

  • Grouping takes several real terminals and makes them levels of one physical terminal. That is how you tell QET "these three are one three-tier block", not three blocks.
  • Ungrouping reverses it, giving each real terminal a block of its own.

Sorting sets the order of physical terminals on the rail. Both are undoable β€” the module has its own undo commands for grouping, sorting, level changes, bridging and colour.


4. Bridging

A bridge (comb, jumper) links terminals that must be at the same potential. QET's rules are strict, and knowing them saves guessing why the bridge button is greyed out. To be bridgeable, the selected real terminals must:

  1. number at least two;
  2. all belong to this strip;
  3. all be at the same level β€” you cannot bridge a front level to a back one;
  4. be consecutive on the rail;
  5. belong to different physical terminals β€” the levels of one block are not bridged to each other;
  6. include at least one terminal that is not already bridged.

Fail any of the six and the operation is refused rather than partially applied.

Bridges carry a colour, chosen from a fixed palette β€” red, blue, white, dark grey, black β€” with dark grey the default. The colour is a drawing convention, not electrical meaning; use it consistently across a project and it reads as documentation.


5. Drawing a strip on a sheet

A strip can be placed on a sheet as a graphical item. What gets drawn is governed by a layout pattern, a named, reusable set of geometry: header rectangle and text orientation, spacer, per-level terminal rectangles, terminal and cross-reference text height, position and orientation, font, and the diameter and vertical offsets of the bridge dots.

Layouts are managed per project, so a house style can be defined once and applied to every strip.

The drawing supports up to four levels. The layout pattern holds four terminal rectangles and four bridge-point offsets. The data model itself does not impose that limit β€” a physical terminal can hold more real terminals than the drawing has rows for. If you build five-level blocks, the model will keep them; the strip plan will not show them all.


6. How it is stored

Strips live in the project file, not in the sheets:

<project>
    ...
    <terminal_strips>
        <terminal_strip>
            <terminal_strip_data uuid="{…}">
                <informations>
                    <information name="installation">…</information>
                    <information name="location">…</information>
                    <information name="name">-X1</information>
                    <information name="comment">…</information>
                    <information name="description">…</information>
                </informations>
            </terminal_strip_data>
            <layout>
                <!-- one entry per physical terminal, each listing its
                     real terminals in level order -->
            </layout>
            <terminal_strip_bridge>…</terminal_strip_bridge>
        </terminal_strip>
    </terminal_strips>
</project>

Empty identification fields are omitted rather than written blank, so a minimal strip's XML is short.

Real terminals are stored by the uuid of the element they refer to. On load, the strip is reconnected to the project's terminal elements by that uuid; real terminals with no element are rebuilt as free terminals. This is the usual consequence of identity being element-based: an element that loses or changes its uuid loses its place in the strip.


7. What to expect, honestly

  • The feature is labelled (DEV) in the interface. Its data is saved and reloaded, but its scope is still moving.
  • The strip is a view over your terminals plus the ones only it knows about. It does not renumber your sheets and does not create terminal elements.
  • Terminal renumbering is a separate feature β€” see auto_num_locked in Linking elements for how to exempt a terminal from it.
  • Nothing in the shipped example projects uses terminal strips, so there is no worked example in the box to copy from.

See also: Conductors β€” the wire properties, and the Cable field Β· Linking elements Β· Variables & formulas Β· The project database

Getting Started

Home

🌐 Languages β€” English Β· FranΓ§ais Β· Deutsch

Downloads

Windows without admin rights β€” the portable archive, no installer

Quick Start Guide

User Manual

FAQ

Tips & Tricks

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

File formats
Elements XML
Project XML
Development

Building from Source

Contributing Code

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

Development Roadmap

Vision β€” proposal, under discussion

Developer Tools

About

Features

History

Community

License

Contributing to this Wiki

Clone this wiki locally