iLogic fournit un jeu de fonctions mathématiques qui peuvent être ajoutés à des règles. Dans la boîte de dialogue Modifier la règle iLogic, utilisez l'une des méthodes suivantes pour accéder aux fonctions mathématiques :
La bibliothèque de fonctions mathématiques VB.NET standard fournit la plupart des fonctions mathématiques utilisées dans iLogic :
IsNumeric | PI |
MinOfMany | Sqrt |
MaxOfMany | Abs |
Round | Sign |
Arrondir à la décimale | Int |
Arrondir à l'incrément le plus proche | Bloquer |
Arrondir à l'incrément supérieur | Log10 |
Arrondir à l'incrément inférieur | Ln |
Ceil | Pow |
Floor | Min |
Sin | Max |
Cos | CDbl |
Tan | EqualWithinTolerance |
iLogic fournit des fonctions mathématiques. Les fonctions suivantes permettent d'émuler les fonctions disponibles dans les équations de paramètres Inventor standard :
Ceil (same as Math.Ceiling) Sign0(a) = 1 if a > 0.0, = 0 otherwise Ln (same as Math.Log)
Certaines fonctions Autodesk Inventor diffèrent des fonctions mathématiques standard en VB.NET qui portent le même nom. Par conséquent, elles sont converties dès qu'elles doivent servir à une règle iLogic :
Sin(0) = 0 | Cos(PI) = -1 |
Sin(PI) = 0 | Tan(0) = 0 |
Sin(PI/2) = 1 | Tan(PI/4) = 1 |
Cos(0) = 1 | PI = 3.1415926...... |
Cos(PI/2) = 0 |
Sin(), Cos() et Tan() sont des fonctions trigonométriques standard avec des arguments exprimés en radians (pas de degrés) :
Si vous utilisez l'option Capturer l'état actuel dans une formule trigonométrique de la boîte de dialogue Modifier la règle, la fonction n'est pas convertie en fonction VB.NET. La formule garde le format indiqué dans Inventor. Vous pouvez modifier la formule manuellement pour la convertir en formule VB.NET (avec des unités d'angle en radians).
Convertissez des degrés en radians à l'aide de la formule suivante :
radians = degrés *(PI/180)
Fonction | Objectif | Exemples |
---|---|---|
Abs() | Renvoie la valeur absolue de l'argument. |
Abs(10) = 10 Abs(-9.87) = 9.87 |
Sqrt() | Renvoie la racine carrée de l'argument. |
Sqrt(25) = 5 Sqrt(100) = 10 Sqrt(3) = 1.732051 |
Sign() | Renvoie un nombre indiquant le signe de l'argument. |
Si la valeur est positive, Sign(valeur) = 1 Si la valeur est négative, Sign(valeur) = -1 Si la valeur est nulle, Sign(valeur) = 0 |
Round() | Arrondit l'argument à un nombre entier ou à un certain nombre de chiffres après la virgule. |
Syntaxe : Round(argument, nombre de chiffres après la virgule (facultatif)) Round(2.55689) = 3 Round (2.55689, 1) = 2.6 Round(2.55689, 3) = 2.557 Round(PI, 4) = 3,1416 |
Ceil() | Arrondit l'argument à l'entier supérieur le plus proche. |
Ceil(2.56) = 3 Ceil(Sqrt (3) = 2 |
Floor() | Arrondit l'argument à l'entier inférieur le plus proche. |
Floor (1.789) = 1 Floor (PI) = 3 |
Log10() | Renvoie le logarithme décimal de l'argument. |
Log10(10) = 1 Log10(100) = 2 Log10(15) = 1.176091 |
Ln() | Renvoie le logarithme naturel de l'argument. (Logarithme de base e.) |
Ln(5) = 1.609438 Ln(37) = 3.610918 |
Pow(argument1, argument2) | Renvoie le résultat de argument1 élevé à l'exposant argument2. |
Pow(2, 2) = 2 2 = 4 Pow(2, 3) = 2 3 = 8 Pow(3, 2) = 3 2 = 9 |
Fonction | Objectif | Exemples |
---|---|---|
Min(argument1, argument2) | Renvoie le plus petit des deux arguments. |
Min(2, 4) = 2 Min(9, 4) = 4 Min(Sqrt(2), Sqrt(3)) = 1.4142..... |
Max(argument1,argument2) | Renvoie le plus grand des deux arguments. |
Max(2, 4) = 4 Max(9, 4) = 9 Sqrt(3)) = 1.73205..... |
MinOfMany( ,,, ) | Renvoie le plus petit argument de la liste. |
MinOfMany (2,4,3,6,7,8) = 2 MinOfMany (9,4,5,67,3,5) = 3 MinOfMany (Sqrt(2), Sqrt(3), Sin(PI/2) ) = 1 |
MaxOfMany( ,,, ) | Renvoie le plus grand argument de la liste. |
MaxOfMany(2,4,3,6,7,8) = 8 MaxOfMany(9,4,5,67,3,5) = 67 MaxOfMany(Sqrt(2), Sqrt(3), Sin(PI/ignored>/2)) = 1.73205..... |
EqualWithinTolerance(a, b, 0.001) | Compare les valeurs de deux paramètres (représentés par a et b) et compare la différence obtenue par rapport à la valeur de tolérance (spécifiée ici sous la forme 0.001). Si la différence est inférieure à la tolérance, la fonction renvoie la valeur booléenne True (vrai). Si la différence est supérieure à la tolérance, la fonction renvoie la valeur booléenne False (faux). |
Si a = 10.00 et b = 10.01 EqualWithinTolerance(a, b, 0.015) = True[Abs(a-b) est inférieur à la valeur de tolérance de 0.015 po] EqualWithinTolerance(a, b, 0.001) = False[Abs(a-b) est supérieur à la valeur de tolérance de 0.001] |
EqualWithinTolerance(a,b) | Utilisez une tolérance par défaut de 0.0000001 |