Repository navigation
autonumbering FR
QElectroTech peut numéroter pour vous les éléments, les conducteurs et les folios. Il existe trois systèmes de numérotation indépendants, plus la numérotation des bornes, qui est tout autre chose et fonctionne différemment.
| Système | Numérote | Réglé dans |
|---|---|---|
| Élément | les étiquettes d'éléments (K1, Q55) |
Propriétés du projet → numérotation des éléments |
| Conducteur | les textes de conducteurs (numéros de fils) | Propriétés du projet → numérotation des conducteurs |
| Folio | le %autonum du champ folio |
Propriétés du projet → numérotation des folios |
| Borne | numérotation des borniers | son propre dialogue — voir §8 |
Chaque projet peut contenir plusieurs schémas nommés par système, et chaque folio choisit celui qu'il utilise. C'est ainsi qu'un même projet peut numéroter la puissance d'une façon et la commande d'une autre.
Sources : sources/autoNum/ — numerotationcontext.cpp,
numerotationcontextcommands.cpp, assignvariables.cpp, et ui/ pour les
éditeurs ; sources/conductorautonumerotation.cpp pour les conducteurs.
Un schéma de numérotation (un contexte de numérotation dans le code) est une
liste de parties mises bout à bout. K + un compteur d'unités donne K1,
K2, K3. Numéro de folio + - + un compteur donne 3-1, 3-2.
Chaque partie a un type, et il en existe seize.
Elles contiennent un nombre et avancent. Sept types :
| Type | Remplissage | Remarques |
|---|---|---|
unit |
aucun | compteur simple : 1, 2, 3 |
ten |
sur 2 chiffres | 01, 02 … 10, 11 |
hundred |
sur 3 chiffres | 001, 002 … 010 … 100 |
unitfolio |
aucun | comme unit, mais repart à chaque folio |
tenfolio |
sur 2 chiffres | comme ten, par folio |
hundredfolio |
sur 3 chiffres | comme hundred, par folio |
wrap |
aucun | revient à 0 tous les modulus valeurs |
Les variantes folio sont les plus utiles quand la numérotation doit
recommencer à chaque page plutôt que courir sur tout le projet.
Elles tirent leur valeur de l'endroit où se trouve l'élément, non d'un compteur :
| Type | Devient |
|---|---|
idfolio |
l'indice du folio (%id) |
folio |
le champ folio (%F) |
plant |
l'installation du folio (%M) |
locmach |
la localisation / machine du folio (%LM) |
elementline |
la lettre de ligne de l'élément (%l) |
elementcolumn |
le numéro de colonne de l'élément (%c) |
elementprefix |
le préfixe de l'élément |
| Type | Devient |
|---|---|
string |
un texte fixe que vous saisissez — le K de K1
|
alpha |
une lettre qui avance a, b … z, aa, ab … |
alpha s'incrémente comme un nom de colonne de tableur : en base 26, avec
retenue de droite à gauche sur z, et ajout d'une nouvelle lettre en tête
lorsque toute la chaîne déborde. La casse de chaque position est conservée :
un schéma partant de A donne A, B … Z, aA — la lettre ajoutée est
toujours minuscule.
Outre son type, une partie compteur porte quatre réglages :
| Réglage | Signification |
|---|---|
| Valeur | la valeur courante — celle qu'obtiendra le prochain numéroté |
| Incrément | le pas, normalement 1 |
| Valeur initiale | la valeur à laquelle la partie se réinitialise |
| Modulus | pour wrap uniquement : revenir à 0 toutes les N valeurs |
| Format | masque de remplissage par zéros, à la façon d'un tableur : 00 sur deux chiffres, 000 sur trois |
Le format l'emporte sur le remplissage naturel du type. ten remplit sur
deux chiffres tout seul ; lui donner un format 0000 le porte à quatre. Un
format vide conserve la largeur propre au type, ce que font aussi tous les
schémas écrits avant l'existence de ce champ : les anciens projets ne sont donc
pas affectés.
Un schéma ne produit pas l'étiquette à lui seul. Il fournit des séquences, et une formule décide où elles vont.
La formule est du texte d'étiquette ordinaire contenant %sequ_1, %seqt_1,
%seqhf_2 et consorts — voir Variables et formules pour la
liste complète. Le suffixe _1, _2 désigne laquelle des parties de cette
famille utiliser, dans l'ordre où elles sont définies.
Un schéma avec une partie string (K) et une partie unit, avec la formule
K%sequ_1, produit donc K1, K2, K3. Changer la formule en %f-K%sequ_1
produit 3-K1 sur le folio 3, sans toucher au schéma.
Une variable de séquence dont l'indice n'est pas défini par le schéma est
laissée telle quelle dans le texte. Une étiquette affichant %sequ_2
signifie que le schéma n'a qu'une seule partie unité — ce n'est pas un échec de
numérotation, et rien ne vous avertit.
Les éléments sont numérotés à la pose, si le folio a un schéma d'éléments sélectionné et que les nouveaux éléments ne sont pas gelés.
Les conducteurs sont plus subtils, car un numéro de fil appartient à un potentiel — l'ensemble des conducteurs électriquement reliés — et non à un conducteur :
- Tracer un conducteur sur un potentiel existant lui fait hériter du numéro de ce potentiel plutôt que d'en prendre un nouveau.
- Si les conducteurs déjà présents dans ce potentiel divergent — textes ou formules différents — QET ne peut pas deviner et ouvre le sélecteur de potentiel pour que vous choisissiez la numérotation à retenir.
- Seul un potentiel réellement nouveau tire un numéro neuf du schéma.
C'est pourquoi ajouter un fil ne renumérote parfois rien, et pose parfois une question.
Subtilité connexe : dans une formule de conducteur, les variables de folio se résolvent par conducteur, non par potentiel. Un potentiel s'étendant sur deux folios n'obtient donc pas un numéro de folio unique : chaque conducteur se résout d'après le folio sur lequel il est tracé.
Le gel empêche les numéros de changer quand le schéma change. Il existe à trois niveaux, faciles à confondre :
| Portée | Effet |
|---|---|
| Projet — geler les nouveaux éléments / conducteurs | les objets nouvellement posés sont créés avec leur étiquette gelée |
Folio — freezeNewElement, freezeNewConductor
|
idem, par folio |
| Objet — geler l'étiquette | cet élément ou conducteur conserve son texte actuel |
Une étiquette gelée n'est plus recalculée. Insérez un folio avant elle, et un
3-K1 gelé reste 3-K1 tandis que ses voisins non gelés deviennent 4-K1.
C'est tout l'intérêt de la fonction — un plan diffusé ne doit pas se
renuméroter — mais c'est aussi pourquoi un projet peut finir avec des numéros
qui contredisent leur propre formule.
La numérotation des folios est à part : elle alimente une seule variable,
%autonum, qui n'a de sens que dans le champ folio. Mettez le champ folio
à %autonum (au lieu du %id/%total par défaut) et le schéma de folios décide
de ce qui s'affiche.
Conséquence à noter : %f, %l, %c et %{…} ne font rien dans le champ
folio — il ne comprend que %autonum, %id et %total. Voir
Variables et formules §6.
Les schémas vivent dans les propriétés par défaut du projet :
<conductors_autonums current_autonum="commande" freeze_new_conductors="false"
auto_break_conductors="false">
<conductor_autonum title="commande" formula="%sequ_1">
<part type="unit" value="1" increase="1"/>
</conductor_autonum>
</conductors_autonums>
<folio_autonums>
<folio_autonum title="pages"> ... </folio_autonum>
</folio_autonums>
<element_autonums current_autonum="defaut" freeze_new_elements="false">
<element_autonum title="defaut" formula="%sequ_1"> ... </element_autonum>
</element_autonums>Chaque <part> porte type, value et increase. Trois autres attributs ne
sont écrits que lorsqu'ils s'appliquent : initialvalue pour les trois
types compteur …folio, modulus pour wrap, et format seulement si un
masque de remplissage a effectivement été défini. Un attribut absent signifie
donc « sans objet » ou « valeur par défaut », non « zéro ».
current_autonum nomme le schéma en usage. Un schéma dont le titre ou la
formule est vide n'est pas écrit du tout — un schéma à moitié configuré
disparaît donc silencieusement à l'enregistrement.
Par folio, <diagram> porte freezeNewElement et freezeNewConductor.
Numéroter les bornes d'un bornier ne fait pas partie de ce système. Elle a
son propre dialogue et respecte un indicateur par élément : un élément dont les
informations portent auto_num_locked = "true" est ignoré au lieu d'être
renuméroté.
Cet indicateur est comparé à la chaîne exacte "true" — voir
Lier des éléments §6. Les borniers eux-mêmes sont traités
dans Borniers.
-
Une variable de séquence non définie s'affiche elle-même.
%sequ_2sur un plan signifie que le schéma définit une partie unité, pas deux. - Un schéma sans titre ou sans formule est supprimé à l'enregistrement. Il aura disparu à la réouverture, sans message.
- Le gel est mémorisé par objet : un projet peut donc contenir, à dessein, des étiquettes qui ne correspondent plus à leur formule.
- Un nouveau conducteur n'obtient généralement pas un nouveau numéro — il hérite de celui du potentiel. Si vous en attendiez un neuf, vérifiez si le fil est électriquement relié à quelque chose de déjà numéroté.
-
Le format l'emporte sur le remplissage du type :
tenavec un format0produit des nombres non remplis, malgré son nom.
Voir aussi : Variables et formules · Lier des éléments · Borniers · Project XML
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
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
