2.3.10.1.2.  Clé "FileName" - Définir la formation du nom du document

Nom du fichier dans le répertoire du pool, extension du nom de fichier "sldprt" pour les pièces, "sldasm" pour les assemblages. Voir aussi les clés "PoolPath", "Material", "MaterialDBFile" et le bloc "MatMap".

Par défaut:

FileName(isCreaOptNotSet,is3dpart)=?_FORMAT_0("<GENNAME>").toFileName("_")
 .add(".sldprt").value()

FileName(isCreaOptNotSet,is3dasm)=?_FORMAT_0("<GENNAME>").toFileName("_")
 .add(".sldasm").value()

(Il existe deux catégories : une pour les pièces et une pour les assemblages).

<NOM DE GENRE>: Le nom de fichier contient la désignation de la norme (NB).

toFileName("_"): Les caractères non autorisés sont automatiquement remplacés par un trait de soulignement.

Exemples:

Les exemples suivants peuvent montrer à quel point le nom de fichier peut être formé de manière différenciée. Nous recommandons toutefois de demander l'accord d'un consultant pour des adaptations aussi complexes afin d'éviter des effets secondaires indésirables.

Exemple 1:

Inclure les préfixes dans le nom du fichier.

Il est inséré "<PREFIXLIST(_)>".

Pour les projets qui possèdent plusieurs préfixes, ceux-ci sont automatiquement insérés dans le nom du fichier avec un trait de soulignement comme séparateur (p. ex. Norm9, Kernloch).

Déclaration une fois pour le composant (is3dpart) et une fois pour l'assemblage (is3dasm).

FileName(isCreaOptNotSet,is3dpart)=?GetObject("iface.calcnameservice").start(0).Format
 ("<PREFIXLIST(_)><GENNAME>").toFileName("_").add("<.FileExtension>").value()

FileName(isCreaOptNotSet,is3dasm)=?GetObject("iface.calcnameservice").start(0).Format
 ("<PREFIXLIST(_)><GENNAME>").toFileName("_").add("<.FileExtension>").value()

Exemple 2:

Inclure le nom du catalogue dans le nom du fichier

Il est précédé de"<CATALOG>_" comme préfixe du nom de fichier.

Déclaration une fois pour les pièces (is3dpart) et une fois pour les assemblages (is3dasm).

FileName(isCreaOptNotSet,is3dpart)=?GetObject("iface.calcnameservice").start(0).Format
 ("<CATALOG>_<GENNAME>").toFileName("_").add("<.FileExtension>").value()

FileName(isCreaOptNotSet,is3dasm)=?GetObject("iface.calcnameservice").start(0).Format
 ("<CATALOG>_<GENNAME>").toFileName("_").add("<.FileExtension>").value()

Exemple 3:

<NOMGEN(25)> : Limiter la longueur du nom de fichier

alnum("_"): N'autoriser que les caractères alphanumériques ; les autres sont remplacés par un trait de soulignement

ToLower(): Convertir toutes les lettres en minuscules

MaxLen(28): Limiter la longueur totale du nom de fichier à 28 caractères

FileName(isCreaOptNotSet,is3dpart)=?GetObject("iface.calcnameservice").start(0).Format
 ("<GenNAME(25)>").alnum("_").ToLower().MaxLen(28).add(".prt").value()

Exemple 4:

Cet exemple traite de la formation du nom de fichier en cas de couplage ERP.

Par défaut, le nom de fichier est formé à partir de GENNAME (NB) et de Material.

FileName(isCreaOptNotSet,is3dasm)=?GetObject("iface.calcnameservice").start(0).Format
 ("<GENNAME>").alnum("_").add("<.FileExtension>").value()

Vous pouvez toutefois former le nom du fichier avec le numéro ERP. L'avantage est un nom de fichier absolument unique.

FileName(isCreaOptNotSet,is3dasm)=?GetObject("iface.calcnameservice").start(0).Format
 ("<ATTR(ERP_PDM_NUMBER)>").alnum("_").add("<.FileExtension>").value()

Vous pouvez faire référence à n'importe quelle colonne ERP au moyen de <ATTR (n'importe quelle_colonne_ERP)>.

FileName(isCreaOptNotSet,is3dasm)=?GetObject("iface.calcnameservice").start(0).Format
 ("<ATTR(any_ERP_column)>").alnum("_").add("<.FileExtension>").value()

La formation via le numéro ERP + la désignation de la norme (NB) est également une option permettant d'avoir également une partie "parlante" dans le nom.

FileName(isCreaOptNotSet,is3dasm)=?GetObject("iface.calcnameservice").start(0).Format
 ("<ATTR(ERP_PDM_NUMBER)>_<GENNAME>").alnum("_").add("<.FileExtension>").value()

Exemple 5:

Dans cet exemple complexe, l'intégration ERP est supposée :

La clé FileName est définie 3 fois à l'aide des catégories :

  • pour les assemblages

  • pour les pièces

  • pour les parties inférieures

La définition du nom de fichier pour les assemblages et les pièces est une syntaxe standard, comme nous l'avons vu dans les exemples précédents.

Les SubParts (sous-parties) de l'assemblage doivent combiner le nom de fichier avec ...

  • ...préfixe de la colonne ERP,

  • suivi du nom générique (NB).

;Assembly
FileName(isCreaOptNotSet,is3dAsm)=?GetObject("iface.calcnameservice").start(0).Format
 ("<ATTR(xy)>").alnum("_").ToLower().MaxLen(28).add(".asm").value()

;Part
FileName(isCreaOptNotSet,is3dpart)=?GetObject("iface.calcnameservice").start(0).Format
 ("<ATTR(xy)>").alnum("_").ToLower().MaxLen(28).add(".prt").value()

;SubPart
FileName(isCreaOptNotSet,is3dpart,isSubPart)=?GetObject("iface.calcnameservice").start(0)
 .SetObj(GetObject("iface.metaoptionservice").GetRoot()).Format("<ATTR(xy)>_").value()
 +GetObject("iface.calcnameservice").start(0).Format("<GenNAME(25)>").alnum("_")
 .ToLower().MaxLen(28).add(".sldprt").value()

résultat :

AAAA est la valeur de la colonne ERP "xy".

Explication :

isSubPart: une catégorie est définie pour les sous-parties. Par conséquent, cette clé spéciale n'est valable que pour les sous-parties.

L'expression précédant le signe plus lit le contenu de la colonne ERP.

L'expression après le signe plus crée le nom du fichier comme dans les exemples précédents.