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
.vbsé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 :
- Compose une désignation lisible (par exemple : « Rondelle Ø14 x 1.5 »)
- Génère un numéro de pièce normalisé (par exemple : « RON-14-1.5 »)
- Enregistre la masse calculée par Inventor dans une iPropriété personnalisée
Associer la règle au déclencheur
- Ouvrez Gérer > iLogic > Déclencheurs d'événements
- Allez à l'onglet qui contient les événements du document
- Sur la ligne Avant enregistrement (Before Save Document Event), cochez la colonne correspondant à la règle
Mettre_A_Jour_iProprietes - 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ètreMettre_A_Jour_iProprietes→ déclenchée avant l'enregistrementVerifier_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.
Besoin d'un développement Inventor (iLogic, .NET, VBA, C++) ou Fusion 360 (Python, C++) ? Contactez-moi pour un devis gratuit.