Table of Contents
- Numérotation automatique
Numérotation automatique
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.
1. Un schéma est une liste ordonnée de parties
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.
Parties compteur
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.
Parties de contexte
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 |
Parties texte
| 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.
2. Ce qu'on peut dire à une partie
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.
3. Du schéma à l'étiquette
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.
4. Quand la numérotation s'exécute
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é.
5. Le gel
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.
6. Numérotation automatique des folios
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.
7. Stockage
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.
8. La numérotation des bornes est une autre fonction
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.
9. Ce qui surprend
- 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
Guides
Conductors — wire properties, what feeds which export, and cables
Wire & cable catalogue — cable types, IEC 60757 core colours, assigning a core to a conductor
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
Preferences reference — what each settings page does
Keyboard-only control — mouseless QET, and the one real gap
Mouse modifiers — what Shift, Ctrl and Alt change while you drag
Managing collections — folders, writability, building your own shortlist
Templates — reusable multi-element blocks, and why clicking one does nothing
Search & Replace — bulk property changes
Building a nomenclature query — the BOM/summary table builder
Linking wires across pages — folio 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
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
Vision — proposal, under discussion
