Vous pouvez placer des règles iLogic dans des fichiers externes plutôt que de les enregistrer dans le modèle Inventor. Cette méthode de stockage permet d'utiliser la même règle dans différents emplacements.
Pour stocker des règles dans un fichier externe, vous devez d'abord définir l'extension de fichier par défaut pour les nouveaux fichiers. L'extension par défaut que vous choisissez dépend de la façon dont vous souhaitez modifier le fichier. Par exemple, vous pouvez définir l'extension par défaut sur .vb si vous souhaitez modifier des fichiers dans Visual Studio. Une extension de .txt vous permet de modifier la règle avec un éditeur de texte tel que le Bloc-notes Microsoft. Vous pouvez également définir l'extension par défaut sur .iLogicVB si vos fichiers contiennent du code de règle iLogic standard qui doit être prétraité par iLogic.
Les règles iLogic peuvent utiliser le code dans d'autres ensembles .NET. Vous pouvez spécifier le répertoire dans lequel ces ensembles .NET sont stockés. Pour développer un ensemble .NET avec des outils de programmation tels que Visual Studio 2008. Reportez-vous à la rubrique sur la programmation de règle avancée pour plus d'informations sur l'utilisation des ensembles .NET dans les règles.
iLogic fournit une interface Automation. Vous pouvez utiliser cette interface de code VBA ou VB6 ou .NET d'Inventor pour accéder aux paramètres et aux règles.
La classe iLogicAutomation permet d'activer cette fonctionnalité.
Dans un projet VBA et VB, vous allez l'utiliser comme classe à liaison tardive (déclarée comme un objet) sans ajouter de référence. Comme il ne s'agit pas d'un objet .COM complet, vous ne pouvez pas parcourir ses méthodes.
iLogic utilise un type de données personnalisées appeléDoubleForEquals pour stocker les valeurs de paramètres. DoubleForEquals prend en charge la comparaison simple des nombres. Ce paramètre est similaire au type VB.NET standard Double, à l'exception près que les valeurs DoubleForEquals sont comparées comme si elles étaient des valeurs Single (7 décimales au lieu de 15). Par défaut, les paramètres de règles sont déclarés comme DoubleForEquals.
DoubleForEquals permet d'ignorer plus facilement l'erreur d'arrondi dans les comparaisons. Par exemple, supposons que votre pièce utilise les pouces comme unités de document, et que vous avez un paramètre avec une valeur de 13/16 pouces. La pièce n'est pas exactement égale à 13/16 dans une règle, car la valeur du paramètre est stockée en centimètres dans le modèle. La valeur est alors convertie en pouces pour pouvoir être utilisée dans la règle. Comparons les éléments suivants :
if d0 = 13/16 then ...
Dans cet exemple, la comparaison échoue si d0 est de type Double. Cependant, si d0 est de type DoubleForEquals, la comparaison réussit.
DoubleForEquals stocke la valeur en tant que type Double et effectue tous les calculs comme s'il s'agissait de valeurs Double. Seule la comparaison s'effectue avec des valeurs uniques.
Vous pouvez convertir une valeur de paramètre en valeur Double à l'aide de la fonction CDbl, si nécessaire.
DoubleForEquals est une structure (un type de valeur) en langage VB.NET.
DoubleForEquals traite les comparaisons à zéro comme des cas spéciaux. Lorsque l'un des nombres testés par égalité est égal à zéro, le test réussit si l'autre nombre est inférieur à 0.0000001 (en valeur absolue).
Cette comparaison permet d'ignorer plus facilement les erreurs d'arrondi pour les valeurs proches de 0. Par exemple, la comparaison suivante détermine que x = 0 :
angle = PI/2 x = cos(angle) If (x = 0) Then ... End If
DoubleForEquals est le type par défaut de tous les paramètres Inventor utilisé dans les règles. Vous pouvez désactiver ce paramètre pour les raisons suivantes :