Fonctions dans les formules de variables

Tekla Structures
2019i
Tekla Structures

Fonctions dans les formules de variables

Vous pouvez utiliser les fonctions pour calculer des valeurs pour les variables paramétriques. Les formules de variables commencent toujours par le signe égal (=).

Pour plus d'informations, voir Définition des propriétés d’objets à l’aide des variables paramétriques.

Opérateurs arithmétiques

Utilisez les opérateurs arithmétiques pour combiner les expressions qui renvoient des valeurs numériques. Vous pouvez utiliser les opérateurs arithmétiques suivants :

Opérateur

Description

Remarques

+

Addition

Permet également de créer des chaînes de paramètres.

-

Soustraction

 

*

Multiplication

La multiplication est plus rapide que la division.

=D1*0,5 est plus rapide que =D1/2

/

Division

 

Opérateurs logiques et de comparaison

Utilisez les opérateurs logiques et de comparaison dans les instructions if. Vous pouvez utiliser les instructions if-then-else pour tester une condition et pour définir la valeur en fonction du résultat.

Par exemple :

=if (D1>200) then 20 else 10 endif

Vous pouvez utiliser les opérateurs suivants dans les instructions if :

Opérateur

Description

Exemple

==

les deux côtés sont identiques

 

!=

les deux côtés sont différents

 

<

côté gauche plus petit

 

<=

côté gauche plus petit ou égal

 

>

côté droit plus petit

 

>=

côté droit plus petit ou égal

 

&&

ET logique

Les deux conditions doivent être vraies.

=if (D1==200 && D2<40) then 6 else 0 endif

Si D1 est égal à 200 et si D2 est inférieur à 40, le résultat est 6 ou 0.

||

OU logique

Une seule condition doit être vraie.

=if (D1==200 || D2<40) then 6 else 0 endif

Si D1 est égal à 200 ou si D2 est inférieur à 40, le résultat est 6, sinon il est égal à 0.

Fonctions de référence

Les fonctions de référence se rapportent à la propriété d'un autre objet, telle que l'épaisseur de plat d'une pièce secondaire. Tekla Structures se réfère à l'objet au niveau du système, ainsi, si la propriété de l'objet change, la valeur de la fonction de référence change également.

Vous pouvez utiliser les fonctions de référence suivantes :

Fonction

Description

Exemple

fTpl("template attribute", "object GUID")

Renvoie la valeur de l'attribut de gabarit d'un objet dont le GUID est défini.

=fTpl("WEIGHT","ID50B8559A-0000-010B-3133-353432373038")

renvoie le poids d'un objet dont le GUID est ID50B8559A-0000-010B-3133-353432373038.

fP("user-defined attribute", "object GUID")

Renvoie la valeur de l'attribut utilisateur d'un objet dont le GUID est défini.

=fP("comment", "ID50B8559A-0000-010B-3133-353432373038")

renvoie l'attribut utilisateur commentaire d'un objet dont le GUID est ID50B8559A-0000-010B-3133-353432373038.

fValueOf("parameter")

Renvoie la valeur du paramètre.

Si l'équation est =P2+"*"+P3 , le résultat est P2*P3

Avec =fValueOf("P2")+"*"+fValueOf("P3") , où P2=780 et P3=480, le résultat est 780*480

fRebarCatalogValue(BarGrade, BarSize, Usage, FieldName)

Renvoie la valeur présente dans le catalogue d'armatures d'un objet.

La valeur de Usage peut être 2 ("Tie") ou 1 ("Main").

FieldName doit avoir l'une des valeurs suivantes :

  • 0 NominalDiameter
  • 1 ActualDiameter
  • 2 Weight
  • 3 MinRadius
  • 4 Hook1Radius
  • 5 Hook1Angle
  • 6 Hook1Length
  • 7 HookRadius
  • 8 Hook2Angle
  • 9 Hook2Length
  • 10 Hook3Radius
  • 11 Hook3Angl
  • 12 Hook3Length
  • 13 Area

fRebarCatalogValue("A500HW", "10", 1, 2)

renvoie la taille, l'utilisation et le poids d'un objet dont la qualité de l'armature est A500HW.

Fichier ASCII comme fonction de référence

Vous pouvez obtenir des données à partir de fichiers ASCII. Tekla Structures recherche les fichiers dans l'ordre suivant :

  1. model

  2. ..\TeklaStructuresModels\<model>\CustomComponentDialogFiles\

  3. projet (défini avec l'option avancée XS_PROJECT )

  4. entreprise (définie avec l'option avancée XS_FIRM )

  5. système (défini avec l'option avancée XS_SYSTEM )

Le format de lecture des fichiers est le suivant :

fVF("filename", "key_value_of_row", column_number)

  • La valeur clé d'une ligne est une valeur de texte unique.

  • Le numéro de colonne est un index commençant par 1.

Note:

Entrez une espace à la fin de chaque ligne dans le fichier ASCII. Dans le cas contraire, les informations ne sont pas lues correctement.

Exemple

La fonction =fVF("Overlap.dat", "MET-202Z25", 5) se trouve dans la zone Formule de la boîte de dialogue Variables. La fonction obtient la valeur 16,0 pour le profil MET-202Z25 , à partir du fichier Overlap.dat.

  1. Valeur clé de la ligne (MET-202Z25)

  2. Numéro de colonne (5)

Fonctions mathématiques

Les fonctions mathématiques permettent de créer des expressions mathématiques plus complexes. Vous pouvez utiliser les fonctions suivantes :

Fonction

Description

Exemple

fabs(paramètre)

Renvoie la valeur absolue du paramètre.

=fabs(D1) renvoie 15

si D1 = -15

exp(puissance)

Renvoie e élevé à la puissance définie.

e est un nombre d'Euler.

=exp(D1) renvoie 7,39

si D1 = 2

ln(paramètre)

Renvoie le logarithme naturel du paramètre (nombre de base e ).

=ln(P2) renvoie 2,71

si P2 = 15

log(paramètre)

Renvoie le logarithme du paramètre (nombre de base 10).

=log(D1) renvoie 2

si D1 = 100

sqrt(paramètre)

Renvoie la racine carrée du paramètre.

=sqrt(D1) renvoie 4

si D1 = 16

mod(dividende, diviseur)

Renvoie le modulo de la division.

=mod(D1, 5) renvoie 1

si D1 = 16

pow(nombre de base, puissance)

Renvoie le nombre de base à la puissance définie.

=pow(D1, D2) renvoie 9

si D1 = 3 et D2 = 2

hypot(côté1,côté2)

Renvoie l'hypoténuse.

  1. côté1

  2. hypoténuse

  3. côté2

=hypot(D1, D2) renvoie 5

si D1 = 3 et D2 = 4

n!(paramètre)

Renvoie le factoriel du paramètre.

=n!(P2) renvoie 24

si P2 = 4

(1*2*3*4)

round(paramètre, arrondi)

Renvoie le paramètre arrondi à la valeur définie.

=round(P1, 0.1) renvoie 10,600

si P1 = 10,567

PI

Renvoie la valeur de pi à 31 décimales

=PI renvoie 3,1415926535897932384626433832795

Fonctions statistiques

Les fonctions statistiques permettent de calculer des sommes et des moyennes, et d'arrondir les valeurs. Vous pouvez utiliser les fonctions statistiques suivantes :

Fonction

Description

Exemple (P1 = 1,4 ; P2 = 2,3)

ceil()

Renvoie le plus petit entier supérieur ou égal au paramètre.

=ceil(P1) renvoie 2

floor()

Renvoie le plus grand entier inférieur ou égal au paramètre.

=floor(P1) renvoie 1

min()

Renvoie le paramètre le plus petit.

=min(P1, P2) renvoie 1,4

max()

Renvoie le paramètre le plus grand.

=max(P1, P2) renvoie 2,3

sum()

Somme des paramètres.

=sum(P1, P2) renvoie 3,7

sqsum()

Somme des paramètres au carré : (paramètre1)2 + (paramètre2)2.

=sqsum(P1, P2) renvoie 7,25

ave()

Moyenne des paramètres.

=ave(P1, P2) renvoie 1,85

sqave()

Moyenne des paramètres au carré.

=sqave(P1, P2) renvoie 3,625

Exemple : fonctions statistiques ceil et floor

Dans cet exemple, vous disposez des variables paramétriques suivantes :

  • Longueur poutre : P1 = 3500

  • Ecartement montant : P2 = 450

P1/P2 = 7,7778

Vous pouvez utiliser les fonctions statistiques ceil et floor pour arrondir la valeur, puis utiliser cette valeur arrondie comme nombre de montants :

  • =ceil(P1/P2) renvoie 8

  • =floor(P1/P2) renvoie 7

Fonctions de conversion du type de données

Les fonctions de conversion du type de données permettent de convertir des valeurs en un autre type de données. Vous pouvez utiliser les fonctions de conversion du type de données suivantes :

Fonction

Description

Exemple

int()

Convertit les données en entiers.

Cela est particulièrement utile pour le calcul des dimensions de profils :

=int(100.0132222000) renvoie 100 si les décimales sont définies sur 0 dans la boîte de dialogue Options.

double()

Convertit les données en doubles.

 

string()

Convertit les données en chaînes.

 

imp()

 

Convertit des unités impériales

Utilisez cette fonction dans les calculs à la place des unités impériales. Vous ne pouvez pas utiliser d'unités impériales dans les calculs.

Pour les exemples suivants, l'unité de longueur est définie sur les mm et les décimales sont définies sur 2 dans la boîte de dialogue Options.

=imp(1,1,1,2) signifie 1 pied 1 1/2 pouce et renvoie 342,90 mm.

=imp(1,1,2) signifie 1 1/2 pouce et renvoie 38,10 mm.

=imp(1,2) signifie 1/2 pouce et renvoie 12,70 mm.

=imp(1) signifie 1 pouce et renvoie 25,40 mm.

=3’/3" est impossible, mais =imp(36)/imp(3) fonctionne.

vwu(valeur, unité)

Convertit les valeurs de longueur et les valeurs d'angle. Les unités disponibles sont :

  • "ft" ("pied", "pieds")

  • "in" ("pouce", "pouces")

  • "m"

  • "cm"

  • "mm"

  • "rad"

  • "deg"

=vwu(4.0,"in") renvoie 101,60 mm si l'unité de longueur est définie en mm et que les décimales sont définies sur 2 dans la boîte de dialogue Options.

=vwu(2.0,"rad") renvoie 114,59 degrés si l'angle est défini en degrés et que les décimales sont définies sur 2 dans la boîte de dialogue Options.

Note:

Les unités dépendent des paramètres dans le menu Fichier > Paramètres > Options > Unités et décimales .

Opérations sur les chaînes

Les opérations sur les chaînes permettent de manipuler les chaînes de caractères. Dans les formules de variables, les chaînes doivent se trouver entre guillemets.

Vous pouvez utiliser les opérations sur les chaînes suivantes :

Opération

Description

Exemple (P1 = "PL100*10")

match(paramètre1, paramètre2)

Renvoie 1 si les paramètres sont égaux et 0 s'ils sont différents.

Les caractères joker * , ? et [ ] peuvent également être utilisés avec la fonction match.

=match(P1, "PL100*10") renvoie 1

Accepter tous les profils commençant par PFC : =match(P4, "PFC*")

Accepter les profils commençants par PFC et dont la hauteur commence par 2, 3, 4 ou 5 : =match(P4, "PFC[2345]*")

Accepter les profils commençant par PFC, dont la hauteur est 200, 300, 400 ou 500 et dont la largeur commence par 7 : =match(P4, "PFC[2345]00?7*")

length(paramètre)

Renvoie le nombre de caractères dans le paramètre.

=length(P1) renvoie 8

find(paramètre, chaîne)

Renvoie le numéro d'ordre (en partant de zéro) de la chaîne spécifiée et -1 si la chaîne spécifiée est introuvable dans le paramètre.

=find(P1, "*") renvoie 5

getat(paramètre, n)

Renvoie le nième caractère (en partant de zéro) du paramètre.

=getat(P1, 1) renvoie "L"

setat(paramètre, n, caractère)

Définit le nième caractère (en partant de zéro) sur le caractère spécifié du paramètre.

=setat(P1, 0, "B") renvoie "BL100*10"

mid(chaîne, n, x)

Renvoie x caractères de la chaîne à partir du nième caractère (en partant de zéro). Retourne la dernière partie de la chaîne si vous omettez le dernier argument (x).

=mid(P1,2,3) renvoie "100"

reverse(chaîne)

Inverse la chaîne spécifiée.

=reverse(P1) renvoie "01*001LP"

Exemple 1

Pour définir la taille de profil PL100*10 avec deux variables (P2 = 100 et P3 = 10), saisissez la formule suivante :

="PL"+P2+"*"+P3

Exemple 2

Tekla Structures gère l'écartement des boulons en tant que chaînes. Pour définir l'écartement des boulons, définissez Type valeur sur Liste distances et saisissez la formule suivante :

=P1+" "+P2

Le résultat est le suivant : 100 200, si P1 = 100 ( longueur ) et P2 = 200 ( longueur ).

Fonctions trigonométriques

Les fonctions trigonométriques permettent de calculer des angles. Vous pouvez utiliser les fonctions trigonométriques suivantes :

Fonction

Description

Exemple

sin()

Renvoie la valeur du sinus.

=sin(d45) renvoie 0,71

cos()

Renvoie la valeur du cosinus.

=cos(d45) renvoie 0,71

tan()

Renvoie la valeur de la tangente.

=tan(d45) renvoie 1,00

asin()

Inverse la fonction sin() et renvoie la valeur en radians.

=asin(1) renvoie 1,571 rad

acos()

Inverse la fonction cos() et renvoie la valeur en radians.

=acos(1) renvoie 0 rad

atan()

Inverse la fonction tan() et renvoie la valeur en radians.

=atan(1) renvoie 0,785 rad

sinh()

Renvoie la valeur du sinus hyperbolique.

=sinh(d45) renvoie 0,87

cosh()

Renvoie la valeur du cosinus hyperbolique.

=cosh(d45) renvoie 1,32

tanh()

Renvoie la valeur de la tangente hyperbolique.

=tanh(d45) renvoie 0,66

atan2()

Renvoie l'angle dont la tangente est le quotient des deux nombres. Renvoie la valeur en radians.

=atan2(1,3) renvoie 0,32

Note:

Lorsque vous utilisez des fonctions trigonométriques dans les formules de variables, vous devez inclure un préfixe pour définir l'unité. Si vous ne spécifiez pas de préfixe, Tekla Structures utilise le radian comme unité par défaut.

  • d correspond à degré. Par exemple, sin(d180)

  • r correspond à radian (par défaut). Par exemple, sin(r3.14) ou sin(3.14)

Fonction de taille de commerce

Utilisez la fonction de taille de marché dans un composant personnalisé pour sélectionner une cote de plat appropriée (généralement, épaisseur du plat) à partir des tailles de marchés disponibles. Par exemple, l'épaisseur d'un plat doit correspondre à l'âme d'une poutre.

Fonction

Description

Exemple

fMarketSize(matériau, épaisseur, incrément)

Renvoie la taille de marché suivante disponible pour le matériau à partir du fichier marketsize.dat , en fonction de l'épaisseur spécifiée.

Le fichier doit se trouver dans le répertoire ..\environments\your_environment\profil ou le répertoire système.

Pour incrément, indiquez un nombre pour définir la valeur d'incrément de la taille suivante (par défaut, 0).

=fMarketSize("S235JR", 10, 0)

Exemple

Dans cet exemple, vous disposez des données suivantes dans marketsize.dat  :

S235JR,6,9,12,16,19,22
SS400,1.6,2.3,3.2,4.5,6,9,12,16,19,22,25,28,32,38
DEFAULT,6,9,12,16,19,22,25,28,32,38

Le premier élément d'une ligne est le type de matériau, suivie des épaisseurs de plat disponibles, exprimées en millimètres. La ligne DEFAULT répertorie les épaisseurs disponibles dans toutes les autres classes de matériau.

Avec les données ci-dessus, la fonction =fMarketSize("S235JR",10,0) renvoie 12, et =fMarketSize("S235JR",10,1) renvoie 16 (une taille au-dessus).

Fonctions de type de géométrie

Les fonctions de type de géométrie renvoient les valeurs de l'angle en biais, de l'angle en pente et de l'angle de rotation de la poutre secondaire par rapport à la pièce principale (poteau ou poutre). Vous pouvez utiliser les fonctions de type de géométrie suivantes :

Fonction

Description

Exemple

fAD("skew", GUID)

Renvoie l'angle en biais de la pièce secondaire dont le GUID est défini.

=fAD("skew","ID50B8559A-0000-010B-3133-353432373038") renvoie 45

ID50B8559A-0000-010B-3133-353432373038 correspond au GUID de la pièce secondaire, qui forme un angle de 45 degrés par rapport à la pièce principale.

fAD("slope", GUID)

Renvoie l'angle en pente de la pièce secondaire dont le GUID est défini.

=fAD("slope","ID50B8559A-0000-010B-3133-353432373038")

fAD("cant", GUID)

Renvoie l'angle de rotation de la pièce secondaire dont le GUID est défini.

=fAD("cant","ID50B8559A-0000-010B-3133-353432373038")

Note:
  • Ces fonctions ne renvoient pas de valeurs de pente et de biais positives et négatives. Elles ne permettent pas de déterminer la pente (haut/bas) et le biais (gauche/droite).

  • La valeur maximale de l'angle en biais est de 45 degrés.

  • Tekla Structures calcule les angles en 2D de sorte que la pente et le biais sont isolés les uns des autres. Par exemple, l'angle de biais n'est pas pris en compte lors du calcul de l'angle en pente, ce qui signifie que la valeur de l'angle en pente reste la même, quelle que soit la rotation de la pièce secondaire autour de la pièce principale.

    Pour connaître la vraie pente 3D avec le biais inclus, vous pouvez utiliser la formule mathématique suivante :

    TRUE_SLOPE = atan( tan(SLOPE) * cos(SKEW))

Exemple 1

La pente et le biais sont relatifs à une poutre s'encastrant dans un poteau.

Vue latérale

Vue dessus

  1. Poteau
  2. Poutre
  3. Pente
  4. Biais

Exemple 2

Avec deux poutres, la pente est en fait le biais horizontal de la poutre s'encastrant dans l'autre poutre, et la pente verticale de la poutre par rapport à la pièce principale est en réalité l'angle en biais.

Vue latérale

Vue dessus

  1. Biais
  2. Pente
Was this helpful?
Précédent
Suivant