2.2.1.3. Valeurs variables - Fonctions

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)

    • <GENSHORTNAME> : Le SHORTNB est utilisé.

    • <SHORTNAME> :

    • <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).

      Exemple 1 :

      Format("<PREFIXLIST(_)><GENNAME>")

      Exemple 2 :

      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é.

      exemple :

      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

    Exemples :

    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 (.).

exemple:

La fonction RepSeq(a1,b1) doit être insérée dans une clé existante :

Avant

poolpath(isCreaOptNotSet)=?GetObject("iface.calcnameservice").start(0).
Format("$CADENAS_DATA/pool/cadname").value()

Après

poolpath(isCreaOptNotSet)=?GetObject("iface.calcnameservice").start(0).
Format("$CADENAS_DATA/pool/cadname").RepSeq("NORM9,NORM8").value()