-
Notifications
You must be signed in to change notification settings - Fork 0
Calcul de Propriete
Calcule automatiquement la valeur d'une propriété personnalisée et l'écrit sur les éléments qui portent cette propriété — par exemple, tout le texte d'une cellule étiquette du groupe, les coordonnées de l'élément, ou une valeur fixe. Le Calcul de propriété est un moteur de valeur : il ne fait que remplir des valeurs, il n'attache jamais les propriétés lui-même (l'attache est le rôle des Propriétés personnalisées — il n'écrit que là où la propriété est déjà attachée). Il réutilise les propriétés personnalisées (Item Types) du DGNLib ARES partagé.
La valeur de chaque propriété provient d'une règle de calcul dans ARES_Calc_Rules. Une règle s'écrit :
Prop[nom] [& condition]* = Source
-
Prop[nom]— la propriété cible (un seul nom, pas de joker). ARES écrit la valeur de cette propriété partout où elle est attachée. -
& condition(optionnel) — les mêmes conditions que les règles d'attache :Lvl[niveau],Cell[nom],Type[type], combinées par&(ET), niées par!, avec les jokers*/?(voir Propriétés personnalisées). La règle ne s'applique qu'aux éléments satisfaisant toutes les conditions. -
= Source— d'où vient la valeur. L'une de :
| Source | Valeur |
|---|---|
CellText[motif] |
Tout le texte d'une cellule du groupe graphique de l'élément dont le nom correspond à motif (jokers autorisés). Inclut l'élément lui-même — une cellule étiquette qui porte la propriété reçoit son propre texte ; une cellule correspondante non groupée reçoit aussi son propre texte. |
Value[texte] |
Une valeur littérale fixe (ex. Value[Type-A]). |
Coord ou Coord[n]
|
Les coordonnées "X;Y" de l'élément (n = nombre de décimales ; défaut = ARES_Round). Recalculées quand l'élément est déplacé. |
Id |
L'identifiant de l'élément. |
Plusieurs règles pour la même propriété : la première qui correspond gagne. Les règles sont essayées dans l'ordre, donc placez les règles spécifiques avant les générales. Exemple :
Prop[Repere]&Cell[ETIREF]=Value[REF] ; Prop[Repere]=CellText[ETI*] ; Prop[XY]=Coord
Ici Repere vaut REF sur la cellule ETIREF (la première règle gagne), et le texte de la cellule ETI* du groupe ailleurs ; XY vaut les coordonnées de chaque élément. Séparez les règles par ;.
Le moteur réagit en direct : il remplit une propriété quand elle est attachée, recalcule Coord quand un élément bouge, suit le texte d'une cellule étiquette quand il est modifié, et vide une valeur quand sa cellule source est supprimée (ou, avec ARES_Calc_Detach_Empty activé, détache la propriété).
La boîte d'options édite les règles de calcul une à la fois, exactement comme l'éditeur de règles d'attache des Propriétés personnalisées : une liste déroulante éditable (choisir une règle → éditer → valider remplace ; saisie libre + valider ajoute ; vide + valider supprime), avec un aperçu de syntaxe coloré en dessous (mots-clefs en gras, & bleu, ! orange, * / ? vert, une combinaison de conditions impossible en rouge). Une règle mal formée est refusée (un message dans la barre d'état, rien n'est enregistré). Les éditions en masse passent toujours par l'import/export .cfg.
macro vba run [ARES]EditPropertyCalculationOptions
Ouvre les options du Calcul de propriété (l'interrupteur principal, l'option détacher-si-vide, et l'éditeur de règles de calcul). L'édition est en write-through — la config reste synchronisée, sans redémarrage.
| Variable | Défaut | Rôle |
|---|---|---|
ARES_Property_Calc |
False | Interrupteur principal de la fonctionnalité (désactivée par défaut). |
ARES_Calc_Rules |
(vide) | Les règles de calcul : Prop[nom][&conditions]=Source ; … (Source = CellText[motif] / Value[texte] / Coord[n] / Id). La première règle qui correspond par propriété gagne. |
ARES_Calc_Detach_Empty |
False | Si active, une propriété dont la valeur calculée finit vide est détachée (le tagueur la retire) au lieu d'être conservée vide ; une règle qui l'impose encore la ré-attache (vide). |
ARES Wiki
🇬🇧 English
- Home
- Auto Lengths
- Zoning
- Zone Export
- Region Split
- Custom Properties
- Property Calculation
- System & Config
- Configuration Variables
🇫🇷 Français