Skip to content

Actionneur de Propriete

Asketyll edited this page Aug 24, 2026 · 1 revision

Actionneur de propriété

É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.

Propriétés pilotes — fixes, non configurables

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é.

Mise en place

Trois étapes, dans l'ordre :

  1. Attachez la propriété pilote, via une règle d'étiquetage existante (ou nouvelle) en utilisant la grammaire multi-propriétés | — par exemple, ajoutez ARES_Color à une règle qui attache déjà autre chose :

    Lvl[MURS]=Commune|ARES_Color
    
  2. Donnez-lui une valeur, avec une règle de calcul dans ARES_Calc_Rules. L'enveloppe Prop[...] 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 fixe Value[...], etc.

  3. Activez l'interrupteurARES_Actuate_Color et/ou ARES_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à).

Règles de sécurité

  • 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 pour LvlColor[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]=Color sur 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.

Commandes

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.

Variables de configuration

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.

Clone this wiki locally