Clone
1
autonumbering FR
ispyisail edited this page 2026-09-11 22:00:29 +12:00

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, BZ, 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
FoliofreezeNewElement, 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_2 sur 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 : ten avec un format 0 produit des nombres non remplis, malgré son nom.

Voir aussi : Variables et formules · Lier des éléments · Borniers · Project XML