Règles et formulaires dans iLogic

Le navigateur iLogic répertorie les règles, formulaires, formulaires globaux et règles externes iLogic.

Dans le navigateur iLogic, les règles sont organisées sous deux onglets :

Les formulaires sont organisés sous deux onglets :

Règles dans iLogic

Une règle est un petit programme Visual Basic (VB.NET) qui permet de contrôler et de gérer d'autres paramètres, fonctions ou composants Inventor.

iLogic incorpore directement des règles sous la forme d'objets dans des documents de pièce, d'ensemble ou de dessin Inventor. Les règles déterminent et contrôlent les paramètres de conception et les valeurs d'attribut. Le contrôle de ces valeurs vous permet de définir le comportement des attributs, des fonctions et des composants d'un modèle.

Les informations sont enregistrées et stockées directement dans les documents, comme s'il s'agissait d'éléments de conception géométrique.

Paramètres de règles

Vous pouvez utiliser des noms de paramètres Inventor standard dans les règles en tant que variables Visual Basic. Lorsque vous exécutez la règle, la valeur du paramètre est affectée à la variable. Pour un paramètre numérique, cette valeur est un nombre réel exprimé dans les unités du document spécifiées dans Outils Paramètres du document. Les paramètres de texte deviennent des variables de type chaîne dans la règle. Les paramètres Vrai/Faux deviennent des variables booléennes.

Les paramètres peuvent s'afficher de deux manières différentes :

  • Variables VB.NET liées aux paramètres numériques ou non numériques. Ces variables sont mises en surbrillance en bleu :

    Lorsqu'une règle s'exécute, iLogic lit les valeurs de ces paramètres dans le modèle contenu dans la règle. Lorsque la règle a fini de s'exécuter, iLogic enregistre les valeurs modifiées dans le modèle.

    Pour enregistrer les valeurs avant la fin de la règle, utilisez la fonction RuleParametersOutput. Cette fonction est utile si vous souhaitez modifier le modèle immédiatement.

  • Les paramètres sont accessibles à l'aide de la fonction Paramètre. Par exemple :

    Lorsque vous attribuez des valeurs à l'aide de cette méthode, elles sont immédiatement enregistrées dans le modèle, avant la ligne suivante dans la règle. Lorsque vous lisez une valeur à l'aide de la fonction Parameter, elle est immédiatement lue dans le modèle Inventor.

Noms d'entité par défaut dans les règles

Avant d'utiliser l'un des noms d'entité Autodesk Inventor suivants dans une règle, changez le nom de celle-ci s'il lui a été affecté un nom par défaut lors de sa création :

  • fonction
  • esquisse
  • fonction de construction
  • réseau
  • contrainte
  • iContrainte

Utilisez un nom explicite. La modification du nom facilite l'affichage de l'exécution de la règle.

Une autre raison de modifier le nom par défaut est que cela permet de le rendre plus portable. Dans les versions localisées d'Autodesk Inventor, les noms par défaut sont traduits dans la langue de chaque version. Les noms sont automatiquement modifiés dans le navigateur Modèle, mais pas dans une règle iLogic. Par conséquent, la règle risque de ne pas trouver des éléments utilisant le nom par défaut. Si une autre personne utilise le modèle dans une langue différente de la version d'Inventor, les noms par défaut doivent être modifiés. Cette recommandation s'applique uniquement aux éléments qui sont repérés par nom dans la règle. Par exemple, les fonctions Measure peuvent utiliser des noms de fonction de construction. Si vous possédez des fonctions de construction, mais que vous ne les utilisez pas dans des fonctions Measure, il n'est pas nécessaire de les renommer, sauf dans le cas des feuilles de calcul Excel incorporées. Ne les renommez pas.

Dans les versions autres que la version anglaise d'Autodesk Inventor, utilisez un nom en anglais dans la règle. Par exemple :

"3rd Party:Embedding 1"
Remarque : Certains éléments, tels que les iContraintes vous permettent de spécifier un nom lorsque vous les créez.

Lors de l'exécution de la règle

Les règles s'exécutent automatiquement dès que des modifications sont apportées aux valeurs des paramètres, si ces derniers sont utilisés directement sous forme de variables dans la règle. Vous pouvez également déclencher des règles par le biais d'événements.

Une règle s'exécute immédiatement après sa modification, sauf si elle est masquée. Lorsque les règles s'exécutent, les modifications apportées aux paramètres ne mettent pas le modèle à jour tant que la règle n'a pas fini son exécution. Si nécessaire, vous pouvez forcer la configuration de manière à ce que les modifications de paramètres prennent effet immédiatement à l'aide de :

  • la fonction Paramètre
  • la fonction RuleParametersOutput() dans la règle

Ordre des règles

  • Les règles sont exécutées dans l'ordre dans lequel elles apparaissent dans le navigateur, sauf si vous en avez décidé autrement en incluant la fonction iLogicVb.RunRule("ruleName").
  • Si plusieurs règles font référence à un paramètre qui change, la règle qui apparaît en premier dans la liste s'exécute en premier. Ceci se produit, quelle que soit la manière dont le paramètre est modifié.
  • Vous pouvez utiliser la commande Evénements déclencheurs pour modifier l'ordre des règles dans la liste associée aux événements du document (liste indépendante de la liste principale du navigateur iLogic).

Traitement de la règle

Lorsque vous créez ou modifiez une règle, le texte de la règle est converti en langage VB.NET correct puis compilé. Certains noms de paramètres Inventor ne sont pas valides en tant que noms de variables VB.NET. Pour obtenir tous les noms de paramètres Inventor, iLogic remplace en interne toute nouvelle variable par un nom de paramètre.

Mots-clés utilisés comme noms de paramètres

Bien que vous puissiez utiliser des mots-clés Visual Basic sous la forme de noms de paramètres, ces remplacements ne sont pas recommandés pour les nouveaux documents. Toutefois, lorsque vous ajoutez des règles pour des documents existants, vous n'avez généralement pas besoin de modifier les noms de paramètres. Si un nom est le même que celui d'un mot-clé, et si vous avez besoin de ce mot-clé dans la règle, vous pouvez :

  • Modifier le nom du paramètre Inventor, si cela est possible (recommandé).
  • Utilisez le mot-clé dans la règle, mais avec différentes lettres majuscules. Par exemple, utilisez Classe si le paramètre Inventor est nommé classe. Les noms de paramètres Inventor sont sensibles à la casse, à la différence des noms VB. Dans notre exemple, classe est remplacé par un autre nom avant que VB voie le code, mais Classe reste intact.

Conversion de règles internes

Le texte de la règle est converti en interne en code VB.NET valide, non visible et stocké avec la règle. Ce type de stockage élimine le besoin pour iLogic de générer le code lorsque la règle est exécutée. Le code change uniquement lorsque vous modifiez la règle.

Les messages d'erreur du compilateur VB font d'ailleurs référence à ce code intermédiaire. Dans de rares cas, avec du code complexe, vous pouvez recevoir un message d'erreur qui ne correspond pas au code de la règle. Lorsque cela se produit, simplifiez votre code. Si nécessaire, vérifiez que vous avez une instruction Sub Main() et End Sub.

Lorsque iLogic convertit la règle dans un code de compilation VB.NET valide, il remplace unités par des facteurs de conversion.

Unités dans les règles

Vous pouvez utiliser les unités d'Inventor dans les règles comme dans les équations de paramètres Inventor standard.

  • Les règles ne nécessitent pas d'unités. Supposons, par exemple, qu'un numéro est attribué à un paramètre qui doit être associé à une unité, mais qu'aucune unité n'est spécifiée dans l'expression. Dans ce cas, iLogic suppose que le numéro se rapporte aux unités de document correspondant au paramètre. Ce principe s'applique également aux unités composées, tels que mi/hr. Dans Inventor, vous définissez les unités de document sous Outils Paramètres du document Unités.
  • Les noms d'unité peuvent uniquement être utilisés directement après les numéros dans le texte de règle. Ils ne peuvent pas être utilisés après les paramètres, les variables et les expressions.

Exemple : unités de document

Dans cet exemple, un fichier pièce utilise des unités de document de type pouces :

d0 = 4.5 in
d18 = 7.2 in
sum = d0 + d18MessageBox.Show(sum,”Document Units - Inches”)

Sauf indication contraire, iLogic suppose que les unités des numéros sont celles définies comme unités du document. Dans ce cas, la somme est égale à 11.7. Un message affiche la valeur et indique que les unités du document sont exprimées en pouces.

Pour affecter une valeur de 7.2 mm au paramètre d18 au lieu de 7.2 in, précisez que d18 est exprimé en millimètres :

d0 = 4.5 in
d18 = 7.2 mm
sum = d0 + d18
MessageBox.Show(sum,”Document Units - Inches”)

Dans ce cas, la somme est égale à 4.78346456692913. Un message affiche la valeur et indique que les unités du document sont exprimées en pouces.

Pour effectuer le calcul précédent pour un fichier pièce avec des unités de document exprimées en millimètres, incluez l'unité pouces pour n'importe quel paramètre dont la valeur doit s'exprimer en pouces (tels que d0 = 4.5 in).

Enfin, si vous omettez l'unité de longueur d'une instruction, iLogic utilise les valeurs définies dans les unités de document.

Exemple : unités de document mixtes

Dans cet exemple, un fichier pièce utilise des unités de document de type pouces. Dans l'éditeur de paramètres iLogic :

  • le paramètre x est défini sur 1 in
  • le paramètre y est défini sur 12.5 mm

Une règle a été écrite comme suit :

result = x + y
MessageBox.Show(result,“Mixed Units Defined in Parameter Editor”)

Lors de l'ajout, iLogic convertit la valeur du paramètre y, qui passe de 12.5 mm à .4921 pouces. Un message affiche la valeur de 1.49212598425197 et indique que des unités mixtes sont définies dans l'éditeur de paramètres.

A l'inverse, si les unités du document sont définies sur millimètres, iLogic convertit la valeur du paramètre x, qui passe de 1 pouce à 25.4 mm. Un message affiche la valeur de 37.9 et indique que des unités mixtes sont définies dans l'éditeur de paramètres.

Noms d'unité

La spécification d'unités est appliquée avant toute autre opération mathématique et prévaut sur les autres opérateurs. Les noms d'unité :

  • peuvent uniquement être utilisés directement après les numéros dans le texte de règle ;
  • ne peuvent pas être utilisés après les paramètres, les variables et les expressions ;
  • doivent inclure un espace entre la valeur et l'unité.

Voici quelques exemples de l'utilisation de noms d'unité :

12 in
144 in
144 in^2
125.2 mm
60 mi/hr

Vous pouvez utiliser des spécifications d'unités composées dans les règles. Les spécifications d'unités composées suivent le format Inventor. Pour incorporer une spécification d'unités complexe dans une règle, créez une équation dans la boîte de dialogue Paramètres. Ensuite, utilisez Capturer l'état actuel sur ce paramètre dans l'éditeur de règles.

Règles externes

Les règles externes peuvent être utilisées comme des règles iLogic, ou sous forme de petits programmes exécutés manuellement (comme les macros VBA). Ils sont stockés dans des fichiers texte ou VB, à l'extérieur d'un document Inventor (pièce, ensemble ou dessin). Vous pouvez les exécuter manuellement ou à partir d'autres règles.

Lorsque vous affichez la liste de règles externes dans le navigateur iLogic, celle-ci est la même quel que soit le document ouvert. Elle n'est pas associée à chaque document.

Vous pouvez également exécuter des règles externes en tant que règles basées sur les événements.

Assistants

iLogic fournit plusieurs assistants que vous pouvez utiliser pour créer des règles sophistiquées de certaines tâches. Ces assistants sont disponibles dans l'onglet Assistants de la boîte de dialogue Modifier la règle :

  • Créer une règle pour une boîte de dialogue - Utilisez une boîte de dialogue pour contrôler les valeurs des paramètres.
  • Capturer la vue en cours - Capturez l'orientation de la vue et effectuez un zoom sur les valeurs à l'écran.
  • Boîte de message - Créez une règle qui s'affiche dans une boîte de dialogue Windows.
  • Limites de paramètres - Définissez des valeurs minimales et maximales pour les paramètres.

Formulaires

Créez et connectez une interface utilisateur personnalisée aux paramètres, propriétés et règles d'un document de pièce, d'ensemble ou de dessin Inventor.

Utilisez les méthodes de glisser-déplacer pour concevoir une interface utilisateur sans devoir effectuer de programmation. Utilisez les contrôles pour piloter des modifications vers une conception existante. Les définitions de formulaire peuvent être spécifiques à un document et enregistrées avec un document de conception ou stockées pour être utilisées dans plusieurs documents.

Remarque : Il n'est pas nécessaire de disposer de règles pour créer des formulaires.