Pour associer une règle à un événement, il suffit donc de créer une iPropriété dans ce jeu avec le nom de la règle comme valeur. Par exemple pour déclencher la règle Ma règle
lorsqu'un paramètre change, il faut utiliser le code iLogic suivant :
ThisDoc.Document.PropertySets("_iLogicEventsRules").Add("Ma règle", "AfterAnyParamChange0", 1000)
Il y a un nom d'iPropriété/un identifiant pour chaque événement.
Evénement | Nom iPropriété | ID iPropriété |
---|---|---|
Nouveau document | AfterDocNew | 2600 |
Après l'ouverture du document | AfterDocOpen | 400 |
Avant l'enregistrement du document | BeforeDocSave | 700 |
Après l'enregistrement du document | AfterDocSave | 800 |
Fermer le document | DocClose | 500 |
Etat du modèle activé | AfterModelStateActivated | 2800 |
Modification paramètre modèle | AfterAnyParamChange | 1000 |
Modification paramètre utilisateur | AfterAnyUserParamChange | 3000 |
Modification iPropriété | AfterAnyiPropertyChange | 1600 |
Affichage/masquage fonction | AfterFeatureSuppressionChange | 2000 |
Modification géométrie pièce | PartBodyChanged | 1200 |
Modification matière | AfterMaterialChange | 1400 |
N'oubliez pas le suffixe numérique : 0 pour la première règle, 1 pour la deuxième... L'identifiant de l'iPropriété doit également être incrémenté : 1000 pour AfterAnyParamChange0, 1001 pour AfterAnyParamChange1
Pour les règles externes, il faut préfixer le nom de la règle avec file://
. Si la règle n'est pas dans un des répertoires standard, il faut utiliser le chemin complet du fichier sans l'extension.
Si le document ne comporte encore aucun déclencheur ni aucune règle, il faut également signaler à iLogic qu'il doit surveiller le document. Pour cela il faut ajouter un document un objet de type DocumentInterest
.
ThisDoc.Document.DocumentInterests.Add("{3BDD8D79-2179-4B11-8A5A-257B1C0263AC}", "iLogic", DocumentInterestTypeEnum.kInterested, 20090512, "")
{3BDD8D79-2179-4B11-8A5A-257B1C0263AC}
c'est le GUID du complément iLogic, iLogic
c'est le nom du DocumentInterest
, 20090512
c'est un numéro de version.
Enfin, il faut activer les déclencheurs avec :
iLogicVb.Automation.RulesOnEventsEnabled = True
![]() |
Besoin d'un développement spécifique pour Autodesk Inventor ?
Développement de compléments à Inventor et aux autres logiciels Autodesk (AutoCAD, Vault, Revit, Navisworks, Fusion...). C#/VB/.NET, C++/ObjectARX, AutoLISP, VBA.
Assistance technique utilisation, développement, formation iLogic.
Maxence DELANNOY - Tél. : 06.46.40.75.66 - maxence.delannoy@wiip.fr
|
![]() |
Ajouter un commentaire