Creo – Relations – Manipuler les chaînes de caractères

Les relations servent à créer des équations qui vont servir à paramétrer les fonctions, les pièces ou les assemblages. Dans ce tutoriel on va décrire par des exemples, les principes de base des relations dans CREO.
Manipuler les chaînes de caractères
On va dans, Outils > Relations :

Extraire une chaîne de caractère avec fonction EXTRACT, extract(chaîne, position, length) :
extraire une chaîne de caractère à partir d’une position avec une certaine longueur.
Exemple, si dans une nomenclature je veux que la désignation de ma pièce corresponde à une partie du nom du fichier de cette pièce, par exemple le nom de ma pièce est ESSAI-PARAM-00, mais je voudrais que la désignation de ma pièce soit ESSAI.
Je vais donc extraire 5 caractères à partir du premier caractère du nom de ma pièce:

J’ouvre la fenêtre des relations :

En 1 je créé un paramètre avec pour valeur une fonction que je peut aller chercher avec l’icône 2, en 3 je sélectionne la variable « rel_model_name » (nom réel du fichier).

Je ferme la fenêtre et j’évalue la relation :

Une fois évaluée on peut vérifier que la paramètre DESIGN à été créé avec pour valeur le nom du fichier.
Maintenant pour extraire une partie du nom du fichier et l’assigner comme valeur à un paramètre, je crée la relationDESIGNATION en utilisant la fonction EXTRACT : extract(chaîne, position, length) ,

J’évalue la relation :

On peut vérifier que le paramètre DESIGNATION a été créé avec pour valeur les cinq premier caractères du nom du fichier.

Rechercher des caractères d’une chaîne avec la fonction SEARCH, search(chaîne, sous-chaîne) :
La fonction SEARCH va renvoyer la position de la chaîne de caractère recherchée.
Je vais créer un paramètre ayant pour valeur une partie de chaîne de caractère bien précise, exemple, je vais créer un paramètre avec la valeur PARAM, si elle existe, ce paramètre va me renvoyer sa position dans la chaînes de caractère comme je connais la longueur je pourrais ensuite m’en servir.
Ci-dessous, j’ai créé une relation « chaineexiste=search(design, « PARAM ») » cette relation à renvoyée la valeur 7, qui est la position de la chaîne de caractère PARAM une fois que j’ai cette valeur je m’en sert dans la relation « designation02=extract(design,chaineexiste,5) », si la chaîne n’existe pas la valeur renvoyée sera 0.

La fonction « string_ends » est un opérateur boléen (oui/non) cette fonction va comparer le fin d’une chaîne de caractère à l’aide d’une autre chaîne de caractère:
design= « ESSAI-PARAM-00 »
essai_end=string_ends(design, »0″)
Si la fin de la relation « design » est égale à « 0 » la relation essai_end, me renverra « YES » :

Ci-dessous, si la fin de la relation « design » n’est pas égale à « p » la relation essai_end, me renverra « NO » :

La fonction  « essai_match » est un opérateur boléen (oui/non) cette fonction va comparer deux chaînes de caractères, si elles sont égales la valeur revoyée sera « YES » :

La fonction  « essai_starts  » est un opérateur boléen (oui/non) cette fonction va comparer le début d’une chaîne de caractères, à l’aide d’une autre chaîne de caractère : si elles sont égales la valeur revoyée sera « YES »