-
Notifications
You must be signed in to change notification settings - Fork 0
Actionneur de Propriete
Écrit un attribut graphique — Couleur ou Niveau — à partir de la valeur d'une propriété personnalisée : l'inverse de tous les autres moteurs de propriété ARES (qui lisent tous un attribut vers une propriété). Si le Calcul de propriété maintient une valeur à jour dans tout un groupe, l'Actionneur de propriété reflète cette valeur sur l'apparence propre des éléments.
L'Actionneur de propriété est une pure réaction : il ne parcourt jamais un groupe et n'attache jamais rien lui-même (l'attache est le rôle des Propriétés personnalisées). Il ne fait que lire sa propre propriété pilote et, si elle diffère, écrire son propre attribut Couleur ou Niveau.
Contrairement à tous les autres moteurs ARES, il n'y a rien à choisir ni à nommer ici. L'Actionneur de propriété lit toujours exactement deux propriétés réservées :
-
ARES_Color→ pilote l'attribut Couleur propre de l'élément. -
ARES_Lvl→ pilote l'attribut Niveau propre de l'élément.
Les deux doivent être définies comme ItemTypes dans le DGNLib ARES (via OpenPropertyLibrary) comme n'importe quelle autre propriété personnalisée, et sont sinon des propriétés ordinaires : elles doivent être attachées (Propriétés personnalisées) avant que l'Actionneur de propriété n'en fasse quoi que ce soit, et elles ont besoin d'une valeur, qui vient normalement d'une règle de Calcul de propriété.
Trois étapes, dans l'ordre :
-
Attachez la propriété pilote, via une règle d'étiquetage existante (ou nouvelle) en utilisant la grammaire multi-propriétés
|— par exemple, ajoutezARES_Colorà une règle qui attache déjà autre chose :Lvl[MURS]=Commune|ARES_Color -
Donnez-lui une valeur, avec une règle de calcul dans
ARES_Calc_Rules. L'enveloppeProp[...]est obligatoire — une erreur fréquente est d'écrire la cible seule, en copiant l'allure d'une condition d'étiquetage :Prop[ARES_Color]=CellColor[TRIG*]N'importe quelle source de Calcul de propriété qui fournit un indice de couleur ou un nom de niveau plausible fonctionne — la couleur propre d'une cellule correspondante (
CellColor[motif]), la couleur propre d'un niveau correspondant (LvlColor[motif], quand l'autorité du groupe est une géométrie simple sur un niveau nommé plutôt qu'une cellule nommée), une valeur fixeValue[...], etc. -
Activez l'interrupteur —
ARES_Actuate_Coloret/ouARES_Actuate_Level, tous deux désactivés par défaut.
À partir de là, chaque fois qu'un élément portant ARES_Color/ARES_Lvl reçoit une valeur fraîche — directement, ou poussée à lui comme membre de groupe par le Calcul de propriété — son propre attribut Couleur/Niveau suit, avec comparaison avant écriture (aucune réécriture s'il correspond déjà).
-
Ne peint jamais sa propre source. Un élément qui est lui-même l'autorité que lit une règle (une cellule déclenchante pour
CellColor[motif], ou un élément déclenchant pourLvlColor[motif]) n'est jamais peint par la valeur qu'il produit — le peindre ferait courir la source après sa propre sortie. De même, une propriété pilote dont la règle de calcul lit l'attribut même qui est actionné (Prop[ARES_Color]=Colorsur le même élément) est refusée. - Ne touche jamais un élément verrouillé ou appartenant à une référence.
- Sur une cellule, seuls les sous-éléments qui correspondaient encore à l'attribut propre de l'en-tête juste avant l'écriture sont repeints — un sous-élément portant déjà délibérément une couleur différente est laissé tel quel.
- Un échec d'écriture répété (fichier verrouillé, droits) désactive l'actionnement pour le reste de la session plutôt que de réessayer à chaque passe ou de saturer la barre d'état.
L'Actionneur de propriété partage son panneau d'options avec le Rendu des propriétés — il n'y a pas de commande séparée. Ouvrez-le via :
macro vba run [ARES]EditPropertyRenderingOptions
Les deux cases "Actionner" (Couleur, Niveau) se trouvent dans leur propre section de ce panneau.
| Variable | Défaut | Rôle |
|---|---|---|
ARES_Actuate_Color |
False | Interrupteur : reflète ARES_Color sur l'attribut Couleur propre de l'élément. |
ARES_Actuate_Level |
False | Interrupteur : reflète ARES_Lvl sur l'attribut Niveau propre de l'élément. |
ARES Wiki
🇬🇧 English
- Home
- Zoning
- Zone Export
- Region Split
- Custom Properties
- Property Calculation
- Property Rendering
- Property Actuator
- System & Config
- Configuration Variables
🇫🇷 Français