Valori variabili: tutte le chiavi strutturate secondo lo schema "Nome=?" vengono valutate in fase di esecuzione. L'istruzione è memorizzata nella sintassi VB.
L'esempio seguente mostra che il valore della chiave "FileName" viene composto utilizzando un'istruzione VB.
FileName=?GetObject("iface.calcnameservice").start(0).Format("<GENNAME>").Value()
Di seguito vengono illustrate alcune funzioni importanti, che possono essere utilizzate per personalizzare le istruzioni in base alle proprie esigenze.
Funzione Format("..."): Restituisce il nome calcolato
Questo può essere utilizzato, ad esempio, per costruire il nome del file in vari modi:
<NOME>: Restituisce il nome diretto, cioè quello configurato come nome nel PARTdataManager (di solito il NB o l'ERPNUMBER).
<NOME>: Il nome generico, simile a "NOME". Tuttavia, GENNAME restituisce anche un nome generato dinamicamente per un nome vuoto, in modo da creare un nome valido in ogni caso. Viene utilizzato l'NB.
<NOME(maxlen)>: "maxlen" indica un numero qualsiasi: il valore è limitato alla lunghezza specificata.
Esempio 1: il nome generico (NB) è limitato a un certo numero di caratteri.
Format("<GENNAME(25)>")
Esempio 2: è possibile anche la forma seguente:
Format("<ATTR(NT)>").maxlen(10) Format("<NAME>").maxlen(10)
<ATTR(nome)>: Qualsiasi attributo specificato dal suo nome.
Format("<ATTR(NN)>")
<ATTR(lingua,nome)>: Opzionalmente, è possibile specificare anche la lingua.
Format("<ATTR(english,NB)>") Format("<ATTR(NT)>") Format("<ATTR(LINA)>") Format("<ATTR(ERP_PDM_NUMBER)>") Format("<ATTR(NENN)>")
<MATERIALE(_)>: Restituisce il materiale della classificazione CNS/CNSPHYPROP/CNSMAT.
Format("<GENNAME><MATERIAL(_)>") [veraltet]
<LISTA DI PREFISSI(_)>: I prefissi esistenti sono separati dal nome generico con un trattino basso. Per i progetti che hanno più prefissi, questi vengono inseriti automaticamente nel nome del file con un trattino basso come separatore (ad esempio, Norm9, Kernloch).
Format("<PREFIXLIST(_)><GENNAME>")
Format("$CADENAS_DATA/pool/cadname/<PREFIXLIST(/)>")
"PREFIXLIST" viene utilizzato ad esempio per i percorsi di pool con il separatore "/".
<CATALOG>_..................>: Il nome del catalogo ha un prefisso.
Format("<CATALOG>_<GENNAME>")
<DATA(-)>_<ORA(-): La data e l'ora sono incluse nel nome del file.
FORMAT("<GENNAME>_<DATE(-)>_<TIME(-)>")
Funzione RepSeq(a1,b1): "RepSeq" significa "Sostituisci sequenza". La stringa 1 viene sostituita dalla stringa 2.
Funzione add(anyText): aggiunge qualcosa, ad esempio l'estensione del nome del file.
Inventor (parte): .ipt; Inventor (assieme): .iam
SolidWorks (parte): .sldprt; SolidWorks (assieme): .sldasm
Utilizzare l'estensione del nome del file appropriata per il sistema CAD.
Funzione toFileName("_"): sostituisce i caratteri non validi con il carattere specificato nelle parentesi.
Funzione alnum("_"): Sostituisce tutti i caratteri non alfanumerici con il carattere specificato nella parentesi; anche gli spazi.
Funzione ToLower(): Tutte le lettere vengono convertite in minuscole.
funzione ToUpper(): Tutte le lettere vengono convertite in maiuscole.
Funzione MaxLen(len): "len" indica un numero qualsiasi: l'intera espressione è limitata alla lunghezza specificata.
Funzione Value(): Restituisce il valore corrente come stringa; viene utilizzata come ultima chiamata.
"Assemblaggio" di singole funzioni:
Questi sono "assemblati" separatamente con un punto (.).
La funzione RepSeq(a1,b1) deve essere inserita in una chiave esistente:
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()