Valeurs variables: toutes les clés qui sont construites selon le schéma "Nom= ?" sont évaluées au moment de l'exécution. L'instruction est écrite en syntaxe VB.
L'exemple suivant montre que la valeur de la clé "FileName" est composée via une instruction VB.
FileName=?GetObject("iface.calcnameservice").start(0).Format("<GENNAME>").Value()
Vous trouverez ci-dessous quelques fonctions importantes qui vous permettront d'adapter les instructions à vos besoins.
Fonction Format("..."): Renvoie le nom calculé
Cela permet par exemple de construire le nom de fichier de différentes manières :
<NOM> : Donne le nom direct, c'est-à-dire ce qui est configuré comme nom dans le PARTdataManager (généralement le NB ou le NUMERO ERP).
<GENNAME> : Le nom générique, similaire à "NAME". Toutefois, GENNAME renvoie en plus un nom généré dynamiquement en cas de nom vide, de sorte qu'un nom valable est créé dans tous les cas. Le NB est utilisé.
<GENNAME(maxlen)> : "maxlen" représente un nombre quelconque : la valeur est limitée à la longueur indiquée.
Exemple 1 : le nom générique (NB) est limité à un certain nombre de caractères.
Format("<GENNAME(25)>")
Exemple 2 : la forme suivante est également possible :
Format("<ATTR(NT)>").maxlen(10) Format("<NAME>").maxlen(10)
<ATTR(Nom)> : N'importe quel attribut indiqué par son nom.
Format("<ATTR(NN)>")
<ATTR(langue,nom)> : La langue peut également être indiquée de manière facultative.
Format("<ATTR(english,NB)>") Format("<ATTR(NT)>") Format("<ATTR(LINA)>") Format("<ATTR(ERP_PDM_NUMBER)>") Format("<ATTR(NENN)>")
<MATERIAL(_)> : Renvoie le matériau de la classification CNS/CNSPHYPROP/CNSMAT.
Format("<GENNAME><MATERIAL(_)>") [veraltet]
Nom générique (NB) et article ajoutés avec un trait de soulignement
<PREFIXLIST(_)> : Les préfixes existants sont séparés par un trait de soulignement et placés devant le nom générique. Pour les projets qui possèdent plusieurs préfixes, ceux-ci sont automatiquement insérés dans le nom de fichier avec un trait de soulignement comme séparateur (p. ex. Norm9, Kernloch).
Format("<PREFIXLIST(_)><GENNAME>")
Format("$CADENAS_DATA/pool/cadname/<PREFIXLIST(/)>")
"PREFIXLIST" est utilisé par exemple pour le poolpath avec le séparateur "/".
<CATALOG>_..................> : Le nom du catalogue est préfixé.
Format("<CATALOG>_<GENNAME>")
<DATE(-)>_<TIME(-) : La date et l'heure sont incluses dans le nom du fichier.
FORMAT("<GENNAME>_<DATE(-)>_<TIME(-)>")
Fonction RepSeq(a1,b1): "RepSeq" signifie "Replace Sequence. La chaîne 1 est remplacée par la chaîne 2.
Fonction add(texte quelconque): ajoute quelque chose ; par exemple l'extension du nom de fichier
Inventor (pièce) : .ipt; Inventor (ensemble) : .iam
SolidWorks (pièce) : .sldprt; SolidWorks (assemblage) : .sldasm
Insérez l'extension de nom de fichier correspondant à votre système de CAO.
Fonction toFileName("_"): remplace les caractères non valides par le caractère indiqué entre parenthèses.
Les caractères non valides sont
Fonction alnum("_"): Remplace tous les caractères non alphanumériques par le caractère indiqué dans la parenthèse ; y compris les espaces.
Fonction ToLower(): Toutes les lettres sont converties en minuscules.
Fonction ToUpper(): Toutes les lettres sont converties en majuscules.
Fonction MaxLen(len): "len" représente un nombre quelconque : l'expression entière est limitée à la longueur indiquée.
Fonction Value(): Renvoie la valeur actuelle sous forme de chaîne de caractères ; utilisée comme dernier appel.
"Assemblage" de fonctions individuelles:
Ceux-ci sont "assemblés" séparément avec un point (.).
La fonction RepSeq(a1,b1) doit être insérée dans une clé existante :
poolpath(isCreaOptNotSet)=?GetObject("iface.calcnameservice").start(0).Format("$CADENAS_DATA/pool/cadname").value()
poolpath(isCreaOptNotSet)=?GetObject("iface.calcnameservice").start(0).Format("$CADENAS_DATA/pool/cadname").RepSeq("NORM9,NORM8").value()