Principes > Relations et paramètres > Relations > Opérateurs et fonctions utilisés dans les relations > A propos des fonctions utilisées dans des relations
  
A propos des fonctions utilisées dans des relations
Les fonctions mathématiques, les fonctions d'évaluation de graphe et les fonctions d'évaluation de courbe peuvent être utilisées dans les relations.
Fonctions mathématiques
Les opérateurs suivants peuvent être utilisés dans des relations, tant dans des équations que dans des instructions conditionnelles.
Les relations peuvent comprendre les fonctions mathématiques suivantes :
sin(x), cos(x), tan(x)
Fonctions trigonométriques standard, pour lesquelles x est une valeur angulaire (en degrés).
asin(x)
Fonction d'arc sinus, pour laquelle la valeur de x est comprise entre -1,0 et 1,0. Le résultat est une valeur angulaire (en degrés).
acos(x)
Fonction d'arc cosinus, pour laquelle la valeur de x est comprise entre -1,0 et 1,0. Le résultat est une valeur angulaire (en degrés).
atan(x)
Fonction d'arc tangent, pour laquelle x correspond à une valeur numérique. Le résultat est une valeur angulaire (en degrés).
atan2(y,x)
Fonction d'arc tangent de y/x, pour laquelle x et y sont des valeurs numériques quelconques. Le résultat est une valeur angulaire (en degrés).
sinh(x)
Fonction sinus hyperbolique, pour laquelle la valeur de x est incluse entre -85,0 et 85,0.
cosh(x)
Fonction cosinus hyperbolique, pour laquelle la valeur de x est incluse entre -85,0 et 85,0.
tanh(x)
Fonction tangente hyperbolique, pour laquelle la valeur de x est incluse entre -85,0 et 85,0.
sign(x,y)
Transfert de signe de y vers x. Si y<0, le résultat est le suivant : –abs(x). Si y>=0, le résultat est le suivant : abs(x).
mod(x,y)
Fonction résiduelle, c'est-à-dire x-int(x/y)*y, où int() est la "partie entière de". Le signe du résultat est toujours celui de x.
if(c,x,y)
Test "si" ou fonction logique, pour lesquels c correspond à la condition et x et y, aux valeurs renvoyées. Si la condition a pour résultat une valeur différente de zéro, le résultat de la fonction est x ; dans le cas contraire, le résultat de la fonction est y.
bound(x,lo,hi)
Limite la valeur de x à une plage incluse entre les valeurs "lo" et "hi". Si x<lo, le résultat de la fonction est lo ; si x>hi, le résultat est hi. Pour toutes les autres valeurs de x, le résultat de la fonction est x. La valeur "lo" doit être inférieure à la valeur "hi".
dead(x,lo,hi)
Définit une plage de valeurs pour x, pour laquelle le résultat de la fonction est 0. Les valeurs "lo" et "hi" délimitent la plage de valeurs. Si x<lo, le résultat de la fonction est x-lo ; si x>hi, le résultat est x-hi. Si x est inclus entre "lo" et "hi", le résultat de la fonction est 0.
near(x,y,delta)
Vérifie si deux valeurs sont proches. Ces deux valeurs sont x et y et le delta détermine la différence admissible. Si x se trouve dans le delta pour y, le résultat de la fonction est 1,0 (vrai). Si abs(x–y) <= delta, le résultat de la fonction est 1,0 ; si abs(x-y) > delta, le résultat de la fonction est 0,0.
min(x,y)
Renvoie la valeur x ou y, soit la valeur minimale. Si x<y, le résultat de la fonction est x ; si x>=y, le résultat est y.
max(x,y)
Renvoie la valeur x ou y, soit la valeur maximale. Si x>y, le résultat de la fonction est x ; si x<=y, le résultat est y.
log(x)
Logarithme ordinaire (logarithme de base 10)
ln(x)
Logarithme naturel (logarithme de base e)
exp(x)
e à un degré exponentiel
pow(num1, num2)
Permet d'obtenir la valeur de num1 par rapport à la puissance num2.
sqrt(x)
Racine carrée de x.
abs(x)
Renvoie la valeur absolue de x. Si x≥0, le résultat de la fonction est x ; si x<0, le résultat est -x.
ceil(x)
Arrondit la valeur (x – 0.000 000 001) à l'infini positif.
floor(x)
Arrondit la valeur (x + 0.000 000 001) à l'infini négatif.
dbl_in_tol (arg1, arg2, arg3)
Vérifie si un nombre réel arg 1 correspond à un autre nombre réel arg 2, dans une tolérance spécifiée arg 3. La valeur TRUE est renvoyée, si la valeur arg1 est comprise entre (arg 2 - arg 3) et (arg 2 + arg 3).
La fonction renvoie la valeur TRUE, si la condition suivante est respectée : arg1 <= arg2+arg3 && arg1 >= arg2-arg3.
Par exemple, pour vérifier si un angle donné est égal à 45 degrés, dans une tolérance de 3 degrés. Si l'angle donné (arg1) est égal à 47, alors il se situe dans la plage arg2-arg3 (45-3) et arg2+arg3 (45+3).
 
* Toutes les fonctions trigonométriques utilisent des degrés.
 
Fonction de mode câblage
Vous pouvez utiliser les fonctions de mode câblage pour déterminer la longueur et le diamètre maximaux d'un câble, d'un fil ou d'une tresse.
Pour calculer la longueur du câble
Pour calculer la longueur courante d'un câble ou d'une tresse, utilisez la syntaxe suivante :
cable_len ("cable_name",location_id1,location_id2)
cable_name est le nom du câble ou de la tresse que vous souhaitez mesurer dans le faisceau courant.
location_id est l'ID de fonction interne de l'emplacement par lequel l'option cable_name est acheminée, où location_id1 et location_id2 correspondent aux emplacements entre lesquels la longueur doit être calculée.
Pour calculer la longueur totale du câble, utilisez la syntaxe suivante :
cable_len ("cable_name",-1,-1)
Pour calculer le diamètre maximal d'un câble, d'un fil ou d'une tresse
Utilisez la syntaxe suivante pour calculer le diamètre maximal d'un câble, d'un fil ou d'une tresse à un emplacement spécifique :
cable_thick ("cable_name",location_id)
cable_name est le nom du câble, du fil ou de la tresse que vous souhaitez mesurer dans le faisceau courant.
location_id est l'ID de fonction interne de l'emplacement à travers lequel est routé l'élément cable_name.
Pour calculer le diamètre maximal d'un câble, d'un fil ou d'une tresse, utilisez la syntaxe suivante :
cable_thick ("cable_name",-1)
Fonctions d'étude de cas.
eang(e_ID1, e_ID2)
Angle entre deux entités e_ID1 et e_ID2 d'une étude de cas (en radians).
elen(e_ID1)
Longueur de l'entité e_ID1 d'une étude de cas.
edistk(e_ID1, e_ID2)
Distance entre deux entités e_ID1 et e_ID2.
ecoordx(e_ID1)
Coordonnée x de l'entité e_ID1 d'une étude de cas.
ecoordy(e_ID1)
Coordonnée y de l'entité e_ID1 d'une étude de cas.
 
* e_ID1 et e_ID2 sont des entiers qui identifient les entités d'étude de cas.
 
Fonction d'évaluation de graphe
Une fonction d'évaluation de graphe vous permet d'utiliser des lois d'évolution pour piloter des cotes au sein de relations. Les cotes peuvent être des cotes de section, de pièce ou d'assemblage. Le format est le suivant :
evalgraph("graph_name", x)
où :
graph_name : nom d'un graphe.
x : valeur sur l'axe x du graphe pour laquelle la valeur y est renvoyée.
Pour les fonctions de balayage, vous pouvez définir le paramètre de trajectoire trajpar comme deuxième argument.
 
* Une loi d'évolution est généralement évaluée pour les valeurs définies pour son axe X. Lorsqu'elle est évaluée au-delà de l'intervalle défini, les valeurs de l'axe Y sont extrapolées. Le système calcule la valeur extrapolée des valeurs de x inférieures à la valeur initiale, en étendant une ligne tangente à partir du point d'origine. De même, le système calcule la valeur extrapolée des valeurs de x supérieures à la valeur finale, en étendant une ligne tangente à partir du point final.
Fonction de trajectoire de courbe composite
Le paramètre de trajectoire d'une courbe composite, trajpar_of_pnt, peut être utilisé dans les relations.
La fonction suivante renvoie une valeur comprise entre 0.0 et 1.0 :
trajpar_of_pnt("trajname", "pointname")
où :
trajname : nom d'une courbe composite.
pointname : nom d'un point de référence.
Ce paramètre correspond à la position le long de la courbe composite, où le plan perpendiculaire à la tangente de la courbe passe par le point de référence Le point de référence n'a pas besoin d'être situé sur la courbe : le paramètre est calculé pour le point de la courbe le plus proche du point de référence.
Si la courbe composite est utilisée comme spine pour un balayage multitrajectoire, trajpar_of_pnt est égal au paramètre trajpar de ce plan ou à 1.0 - trajpar (selon le point de départ choisi pour la fonction de balayage).