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.
|
/ | 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. |
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. |
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 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 |
---|---|---|
|
Renvoie la valeur de l'attribut de gabarit d'un objet dont le GUID est défini. |
renvoie le poids d'un objet dont le GUID est ID50B8559A-0000-010B-3133-353432373038. |
|
Renvoie la valeur de l'attribut utilisateur d'un objet dont le GUID est défini. |
renvoie l'attribut utilisateur commentaire d'un objet dont le GUID est ID50B8559A-0000-010B-3133-353432373038. |
|
Renvoie la valeur du paramètre. |
Si l'équation est Avec |
|
Renvoie la valeur présente dans le catalogue d'armatures d'un objet.
|
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 vous reporter aux fichiers ASCII pour obtenir les données. Tekla Structures recherche les fichiers dans l'ordre suivant :
-
modèle
-
..\TeklaStructuresModels\<model>\CustomComponentDialogFiles\
-
projet (défini avec l'option avancée
XS_PROJECT
) -
firm (défini avec l'option avancée
XS_FIRM
) -
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.
Vous pouvez spécifier un caractère pour la séparation des données : fVF(data file, lookup value, column#[, separator character])
.
-
Vous pouvez utiliser un séparateur de colonnes préféré. Cela permet de prendre en charge les espaces dans les noms, les profils, les formes, etc., ainsi que l’utilisation des listes de distances comme données d’entrée.
-
Vous pouvez utiliser des chaînes vides ou ne spécifier aucune valeur comme entrée.
-
Vous ne pouvez utiliser qu’un seul caractère comme séparateur. Par exemple, vous ne pouvez pas utiliser un séparateur plus complexe tel que
"/+/"
, car seul le premier caractère est considéré comme un séparateur de colonnes.
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.
-
Valeur clé de la ligne (MET-202Z25)
-
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. |
si D1 = -15 |
exp(puissance) | Renvoie e élevé à la puissance définie. e est un nombre d'Euler. |
si D1 = 2 |
ln(paramètre) | Renvoie le logarithme naturel du paramètre (nombre de base e). |
si P2 = 15 |
log(paramètre) | Renvoie le logarithme du paramètre (nombre de base 10). |
si D1 = 100 |
sqrt(paramètre) | Renvoie la racine carrée du paramètre. |
si D1 = 16 |
mod(dividende, diviseur) | Renvoie le modulo de la division. |
si D1 = 16 |
pow(nombre de base, puissance) | Renvoie le nombre de base à la puissance définie. |
si D1 = 3 et D2 = 2 |
hypot(côté1,côté2) |
Renvoie l'hypoténuse.
|
si D1 = 3 et D2 = 4 |
n!(paramètre) | Renvoie le factoriel du paramètre. |
si P2 = 4 (1*2*3*4) |
round(paramètre, arrondi) | Renvoie le paramètre arrondi à la valeur définie. |
si P1 = 10,567 |
PI | Renvoie la valeur de pi à 31 décimales |
|
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. |
|
floor() | Renvoie le plus grand entier inférieur ou égal au paramètre. |
|
min() | Renvoie le paramètre le plus petit. |
|
max() | Renvoie le paramètre le plus grand. |
|
sum() | Somme des paramètres. |
|
sqsum() | Somme des paramètres au carré : (paramètre1)2 + (paramètre2)2. |
|
ave() | Moyenne des paramètres. |
|
sqave() | Moyenne des paramètres au carré. |
|
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 :
|
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.
|
vwu(valeur, unité) |
Convertit les valeurs de longueur et les valeurs d'angle. Les unités disponibles sont :
|
|
Les unités dépendent des paramètres dans le .
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 |
Accepter tous les profils commençant par PFC : Accepter les profils commençants par PFC et dont la hauteur commence par 2, 3, 4 ou 5 : Accepter les profils commençant par PFC, dont la hauteur est 200, 300, 400 ou 500 et dont la largeur commence par 7 : |
length(paramètre) |
Renvoie le nombre de caractères dans le paramètre. |
|
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. |
|
getat(paramètre, n) |
Renvoie le nième caractère (en partant de zéro) du paramètre. |
|
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. |
|
mid(chaîne, n, x) |
Renvoie x caractères de la chaîne à partir du nième caractère (en partant de zéro). Renvoie la dernière partie de la chaîne si vous omettez le dernier argument (x). |
|
reverse(chaîne) |
Inverse la chaîne spécifiée. |
|
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. |
|
cos() | Renvoie la valeur du cosinus. |
|
tan() | Renvoie la valeur de la tangente. |
|
asin() |
Inverse la fonction sin() et renvoie la valeur en radians. |
|
acos() |
Inverse la fonction cos() et renvoie la valeur en radians. |
|
atan() |
Inverse la fonction tan() et renvoie la valeur en radians. |
|
sinh() | Renvoie la valeur du sinus hyperbolique. |
|
cosh() | Renvoie la valeur du cosinus hyperbolique. |
|
tanh() | Renvoie la valeur de la tangente hyperbolique. |
|
atan2() | Renvoie l'angle dont la tangente est le quotient des deux nombres. Renvoie la valeur en radians. |
|
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)
ousin(3.14)
Fonction de taille de marché
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 supplémentaire, indiquez un nombre pour définir la valeur d'incrément de la taille suivante (par défaut, 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 la qualité 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 qualités 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 vers le haut).
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.
|
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("cant", GUID) |
Renvoie l'angle de rotation de la pièce secondaire dont le GUID est défini.
|
|
-
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 de dessus |
|
|
- Colonne
- Poutre
- Pente
- 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 de dessus |
|
|
- Biais
- Pente