iLogic : le guide complet — Chapitre 4 / 7

Les déclencheurs d'événements

Jusqu'ici, nous avons exécuté nos règles manuellement : un clic sur Exécuter dans le navigateur iLogic. Mais la vraie puissance d'iLogic apparaît quand les règles se déclenchent toutes seules, en réaction à un événement. C'est le rôle des déclencheurs (Event Triggers).

Le principe

Un déclencheur associe une règle à un événement. Quand l'événement se produit, Inventor exécute automatiquement la règle. L'utilisateur n'a rien à faire — le modèle se met à jour de lui-même.

Pour configurer les déclencheurs, allez dans Gérer > iLogic > Déclencheurs d'événements (Event Triggers).

Les types de déclencheurs

Inventor propose plusieurs catégories de déclencheurs :

Déclencheurs sur les paramètres

C'est le déclencheur le plus intuitif : la règle s'exécute quand un paramètre change de valeur. Vous sélectionnez le ou les paramètres à surveiller, et la règle associée se déclenche à chaque modification.

Important : pour les règles internes, iLogic gère déjà ce déclenchement automatiquement. Quand une règle utilise un paramètre directement par son nom (une variable bleue), iLogic détecte la dépendance et réexécute la règle dès que ce paramètre change — sans aucune configuration de déclencheur. Ce mécanisme est détaillé dans le chapitre Les variables de paramètres.

La configuration manuelle d'un déclencheur sur paramètre est donc surtout utile dans deux cas :

  • Pour les règles externes (fichiers .vb séparés), qui n'ont pas accès aux variables bleues et ne bénéficient pas de l'exécution automatique
  • Pour les règles internes dont l'exécution automatique a été désactivée (Suppress Auto-Run), mais qui doivent quand même réagir à certains paramètres spécifiques

Dans la boîte de dialogue des déclencheurs, sous l'onglet Paramètres, vous associez une règle à un ou plusieurs paramètres. Chaque colonne représente une règle, et vous cochez les paramètres qui doivent la déclencher.

Déclencheurs sur les événements du document

Ces déclencheurs réagissent aux actions effectuées sur le document lui-même :

Événement Se déclenche quand… Cas d'usage typique
Avant enregistrement (Before Save) L'utilisateur enregistre le fichier Mettre à jour les iPropriétés
Après ouverture (After Open) Le document vient d'être ouvert Vérifier la cohérence, afficher un formulaire
Avant fermeture (Before Close) L'utilisateur ferme le document Vérifications de dernière minute
Après mise à jour du modèle (After Model Update) Le modèle vient d'être recalculé Recalculer des valeurs dérivées

Le déclencheur avant enregistrement est l'un des plus utilisés en bureau d'études, comme nous allons le voir en détail.

Déclencheurs sur le formulaire

Une règle peut aussi se déclencher quand l'utilisateur interagit avec un formulaire iLogic — par exemple quand il change une valeur dans une liste déroulante. Ce type de déclencheur est configuré dans l'éditeur de formulaires plutôt que dans la boîte de dialogue des déclencheurs.

Cas pratique : mettre à jour les iPropriétés avant l'enregistrement

C'est l'un des usages les plus répandus des déclencheurs. L'objectif : garantir que les iPropriétés du document (désignation, numéro de pièce, masse…) sont toujours à jour quand le fichier est enregistré.

Pourquoi c'est important

Les iPropriétés sont utilisées partout : dans les cartouches de mise en plan, dans les nomenclatures, dans le système de gestion documentaire (Vault, par exemple). Si elles ne sont pas à jour, les nomenclatures affichent des informations obsolètes et les cartouches sont faux. Mettre à jour manuellement les iPropriétés de chaque fichier est fastidieux et source d'oublis.

La règle

Créez une règle nommée Mettre_A_Jour_iProprietes :

' Composer la désignation à partir des paramètres du modèle
iProperties.Value("Project", "Description") = _
    "Rondelle Ø" & diametre_interieur & " x " & epaisseur

' Mettre à jour le numéro de pièce
iProperties.Value("Project", "Part Number") = _
    "RON-" & CStr(diametre_interieur) & "-" & CStr(epaisseur)

' Stocker la masse calculée
iProperties.Value("Project", "Custom", "Masse") = iProperties.Mass

Cette règle :

  1. Compose une désignation lisible (par exemple : « Rondelle Ø14 x 1.5 »)
  2. Génère un numéro de pièce normalisé (par exemple : « RON-14-1.5 »)
  3. Enregistre la masse calculée par Inventor dans une iPropriété personnalisée

Associer la règle au déclencheur

  1. Ouvrez Gérer > iLogic > Déclencheurs d'événements
  2. Allez à l'onglet qui contient les événements du document
  3. Sur la ligne Avant enregistrement (Before Save Document Event), cochez la colonne correspondant à la règle Mettre_A_Jour_iProprietes
  4. Validez

Désormais, à chaque fois que l'utilisateur fait Ctrl+S, Inventor exécute la règle avant d'écrire le fichier sur le disque. Les iPropriétés sont mises à jour juste à temps.

L'ordre d'exécution

Quand plusieurs règles sont associées au même événement, elles s'exécutent dans l'ordre affiché dans la boîte de dialogue des déclencheurs. Vous pouvez réordonner les règles si l'une dépend du résultat d'une autre.

De plus, un déclencheur peut provoquer une réaction en chaîne : si la règle A modifie un paramètre surveillé par la règle B, alors B s'exécute automatiquement après A. C'est un comportement puissant mais qui peut aussi créer des boucles infinies si vous n'y prenez pas garde. iLogic détecte et interrompt ces boucles, mais il vaut mieux les éviter dès la conception.

Forcer une mise à jour dans la règle

Par défaut, iLogic met à jour le modèle à la fin de l'exécution de la règle. Si vous avez besoin que le modèle se recalcule au milieu de la règle (par exemple pour lire la masse après avoir changé le matériau), utilisez :

' Appliquer les changements de paramètres au modèle
RuleParametersOutput()

' Forcer le recalcul du modèle
InventorVb.DocumentUpdate()

' Maintenant la masse est à jour
masse_actuelle = iProperties.Mass

Vous pouvez aussi demander une mise à jour unique à la fin de la règle avec :

iLogicVb.UpdateWhenDone = True

Bonnes pratiques

Garder les règles déclenchées rapides

Une règle associée à « avant enregistrement » s'exécute à chaque Ctrl+S. Si elle prend plusieurs secondes, l'utilisateur percevra un délai gênant. Limitez-vous à des opérations légères : mise à jour de propriétés, vérifications simples, affectations de paramètres.

Séparer les responsabilités

Plutôt qu'une seule règle qui fait tout, créez des règles spécialisées :

  • Calculer_Dimensions → déclenchée par le changement de paramètre
  • Mettre_A_Jour_iProprietes → déclenchée avant l'enregistrement
  • Verifier_Coherence → déclenchée après la mise à jour du modèle

Chaque règle a une responsabilité claire, ce qui facilite le débogage.

Documenter les déclencheurs

Les déclencheurs sont configurés dans une boîte de dialogue séparée des règles. Il est facile d'oublier quel événement déclenche quelle règle. Ajoutez un commentaire en tête de chaque règle pour indiquer son déclencheur :

' Déclencheur : avant enregistrement (Before Save Document Event)
' Met à jour les iPropriétés à partir des paramètres du modèle

iProperties.Value("Project", "Description") = _
    "Rondelle Ø" & diametre_interieur & " x " & epaisseur

Résumé

Concept Description
Déclencheur sur paramètre Exécute une règle quand un paramètre change
Avant enregistrement Exécute une règle avant chaque Ctrl+S — idéal pour les iPropriétés
Après ouverture Exécute une règle à l'ouverture du document
Après mise à jour Exécute une règle après chaque recalcul du modèle
RuleParametersOutput() Applique les paramètres modifiés au modèle en cours de règle
InventorVb.DocumentUpdate() Force le recalcul du modèle en cours de règle

Les déclencheurs transforment vos règles iLogic en automatismes permanents. L'utilisateur travaille normalement — il modélise, il enregistre, il change des paramètres — et les règles s'exécutent en arrière-plan pour maintenir la cohérence du modèle.


Coup de pouce Besoin d'un développement Inventor (iLogic, .NET, VBA, C++) ou Fusion 360 (Python, C++) ? Contactez-moi pour un devis gratuit.