2.3.8.1.4.  Chiave "NomeFile"

Nome dei file nella directory del pool, con estensione "prt" per le parti, "asm" per gli assiemi. Vedere anche le chiavi "PoolPath", "Material", "MaterialDBFile" e il blocco "MatMap".

Predefinito:

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

FileName(isCreaOptNotSet,is3dasm)=?_CALCNAME.start(0).Format("<GenNAME(25)>")
 .alnum("_").ToLower().MaxLen(28).add(".asm").value()

(Esistono due categorie: una per i pezzi e una per gli assiemi).

<Il nome del file contiene la designazione standard (NB).

toFileName("_"): I caratteri non consentiti vengono automaticamente sostituiti da un trattino basso.

Esempi:

Gli esempi che seguono mostrano quanto possa essere differenziato il nome del file. Tuttavia, si consiglia di richiedere l'approvazione di un consulente per personalizzazioni così complesse, al fine di evitare effetti collaterali indesiderati.

Esempio 1:

Includere i prefissi nel nome del file.

Viene inserito"<PREFIXLIST(_)>".

Per i progetti che hanno più prefissi, questi vengono inseriti automaticamente nel nome del file con un trattino basso come separatore (ad es. Norm9, Kernloch).

Dichiarazione una volta per il componente (is3dpart) e una volta per l'assieme (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()

Esempio 2:

Includere il nome del catalogo nel nome del file.

Il nome del file è preceduto da"<CATALOG>_".

Dichiarazione una volta per le parti (is3dpart) e una volta per gli assiemi (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()

Esempio 3:

<GenNAME(25)>: limita la lunghezza del nome del file

alnum("_"): Consente solo caratteri alfanumerici; gli altri sono sostituiti da un trattino basso.

ToLower(): Converte tutte le lettere in minuscole

MaxLen(28): limita la lunghezza totale del nome del file a 28 caratteri.

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

Esempio 4:

Questo esempio riguarda la creazione del nome del file per l'accoppiamento ERP.

Per impostazione predefinita, il nome del file è formato da GENNAME (NB).

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

È anche possibile creare il nome del file utilizzando il numero ERP. Il vantaggio è un nome di file assolutamente unico.

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

È possibile fare riferimento a qualsiasi colonna ERP usando <ATTR(any_ERP_column)>.

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

La formazione tramite numero ERP + designazione standard (NB) è anche un'opzione per avere anche una parte "parlante" nel nome.

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

Esempio 5:

In questo esempio complesso si ipotizza un'integrazione ERP:

Il nome del file deve essere preso dalla colonna ERP.

La chiave NomeFile viene definita 3 volte con l'aiuto di categorie:

  • per gli assemblaggi

  • per le parti

  • per le parti inferiori

La definizione del nome del file per gli assiemi e le parti è una sintassi standard, come noto dagli esempi precedenti.

Le sottoparti dell'assieme devono combinare il nome del file con ...

  • ...prefisso dalla colonna ERP,

  • seguito dal nome generico (NB).

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

;Part
FileName(isCreaOptNotSet,is3dpart)=?GetObject("iface.calcnameservice").start(0).Format
 ("<ATTR(xy)>").alnum("_").ToLower().MaxLen(28).add(".ipt").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(".ipt").value()

Risultato:

Figura 2.204. 

AAAA è il valore della colonna ERP "xy".

Spiegazione:

isSubPart: per le sottoparti viene impostata una categoria. Questa chiave speciale è quindi valida solo per le sottoparti.

L'espressione prima del segno più legge il contenuto della colonna ERP.

L'espressione dopo il segno più crea il nome del file come negli esempi precedenti.