Colonne valutate

Le colonne valutate sono colonne speciali, i cui risultati dipendono da altre colonne che utilizzano espressioni definite dall'utente. Sono supportati 2 tipi di colonne valutate: formula e modello.

Colonna Formula

Una Distinta dei Materiali supporta i campi formula. La stessa sintassi viene utilizzata nel comando ESTRDATI. EspressioneFormula è l'espressione nel formato dei campi formula \AcExpr. Può contenere costanti come PI o funzioni come SIN. Un operando in un'espressione può essere un ColumnTitle racchiuso tra minore/maggiore (<>).

Ad esempio, formula =<Massa>/<Volume> calcola la densità media del componente.

Se una riga non contiene un valore, verrà utilizzato in alternativa un valore predefinito. È possibile specificare il valore predefinito per un operando utilizzando la seguente sintassi: <"ColumnTitle",ValorePredefinito> dove ColumnTitle è il titolo della colonna obbligatoria e ValorePredefinito è il valore predefinito. Il ColumnTitle deve essere compreso tra doppie virgolette ("). Se non viene specificato alcun valore predefinito, viene utilizzato un valore vuoto, che nella maggior parte dei casi si traduce in un output vuoto.

Una colonna formula può contenere più espressioni. Ogni espressione deve essere racchiusa tra parentesi graffe ({}). Queste espressioni vengono valutate dalla prima all'ultima e viene utilizzata la prima che produce un output non vuoto.

Una formula può fare riferimento ad altre colonne formula, a condizione che non formino un ciclo. In una BOM gerarchica, una formula può anche fare riferimento ai valori nella riga principale aggiungendo Parent: prima del nome della colonna. Può anche fare riferimento a proprietà che non vengono aggiunte esplicitamente alla tabella, ma tutte le altre colonne formula a cui si fa riferimento nella formula devono esistere nella tabella. È ancora possibile utilizzare tali colonne visualizzate come invisibili nella tabella BOM nelle espressioni formula.

Per le proprietà di distanza, area, volume e massa, i valori verranno convertiti nell'unità definita dall'utente prima di utilizzarli nell'espressione formula. Se l'unità definita dall'utente non è impostata, viene utilizzata l'unità del documento. Per la proprietà di massa, il chilogrammo viene utilizzato in documenti metrici e le libbre nei documenti imperiali.

Colonna Modello

Le colonne modello consentono di combinare diverse proprietà, oltre a un testo personalizzato, in un'unica colonna. Per definire le colonne modello, viene utilizzata una speciale sintassi, basata sulle espressioni Diesel. Le espressioni per le colonne modello devono iniziare con il segno $. Un operando in un'espressione può essere un ColumnTitle racchiuso tra minore/maggiore (<>). È anche possibile utilizzare funzioni speciali:

Funzione Descrizione
$(+, arg1, arg2[, ... , arg9]) Aggiunge gli argomenti forniti al primo.
$(-, arg1, arg2[, ... , arg9]) Sottrae gli argomenti forniti dal primo.
$(*, arg1 , arg2[, ... , arg9]) Moltiplica il primo argomento per gli argomenti forniti.
$(/, arg1, arg2[, ..., arg9]) Divide il primo argomento per gli argomenti forniti.
$(=, arg1, arg2) Restituisce 1 se arg1 è uguale a arg2; in caso contrario, restituisce 0. Sia arg1 che arg2 devono essere numeri.
$(<, arg1, arg2) Restituisce 1 se arg1 è inferiore a arg2; in caso contrario, restituisce 0. Sia arg1 che arg2 devono essere numeri.
$(>, arg1, arg2) Restituisce 1 se arg1 è maggiore di arg2; in caso contrario, restituisce 0. Sia arg1 che arg2 devono essere numeri.
$(!=, arg1, arg2) Restituisce 1 se arg1 non è uguale a arg2; in caso contrario, restituisce 0. Sia arg1 che arg2 devono essere numeri.
$(<=, arg1, arg2) Restituisce 1 se arg1 è inferiore o uguale arg2; in caso contrario, restituisce 0. Sia arg1 che arg2 devono essere numeri.
$(>=, arg1, arg2) Restituisce 1 se arg1 è maggiore o uguale a arg2; in caso contrario, restituisce 0. Sia arg1 che arg2 devono essere numeri.
$(and, arg1, arg2[, ... , arg9]) Applica l'operazione AND, bit per bit agli argomenti.
$(angtos, angle[, mode, precision]) Converte l'angolo in stringa rispettando la modalità fornita (0 - gradi, 1 - d/m/s, 2 - gradianti, 3 - radianti) e precisione.
$(delim, delimiter_string) Inserisce un delimitatore intelligente. La stringa delimitatore viene aggiunta all'output solo se l'output prima e dopo questo delimitatore non è vuoto.
$(edtime, time, format) Formatta la data in base alla stringa di formato fornita
$(eq, arg1, arg2) Restituisce 1 se arg1 è uguale arg2; in caso contrario, restituisce 0. Sia arg1 che arg2 devono essere testo.
$(eval, expression) Valuta l'espressione fornita come espressione Diesel.
$(fix, value) Tronca il valore reale a quello intero.
$(getvar, variable) Restituisce il valore della variabile di sistema fornita.
$(if, arg, then[, else]) Restituisce 'then' se 'arg' non è 0; in caso contrario, restituisce 'else' o stringa vuota se 'else' non viene fornito.
$(index, position, comma_separated_string) Restituisce la sottostringa nella posizione specificata nella stringa separata da virgole specificata.
$(nth, position, arg1[, arg2, ... , arg9]) Restituisce l'argomento nella posizione specificata.
$(or, arg1, arg2[, ..., arg9]) Applica l'operazione OR, bit per bit agli argomenti.
$(rtos, value[, mode, precision]) Formatta il valore specificato rispettando la modalità e la precisione richiesta.
$(strlen, string) Restituisce la lunghezza della stringa specificata.
$(substr, string, start[, length]) Restituisce la sottostringa della 'stringa' dall''inizio' della 'lunghezza' specificata. La numerazione inizia da 1.
$(upper, string) Converte 'stringa' in maiuscolo.
$(xor, arg1, arg2[, ... , arg9]) Applica XOR, bit per bit a tutti gli argomenti.

Una colonna modello può contenere più espressioni. Ogni espressione deve essere racchiusa tra parentesi graffe ({}). Queste espressioni vengono valutate dalla prima all'ultima e viene utilizzata la prima che produce un output non vuoto.

Una colonna modello può fare riferimento ad altre colonne valutate, a condizione che non formino un ciclo. In una BOM gerarchica, una colonna modello può anche fare riferimento ai valori nella riga principale aggiungendo Parent: prima del nome della colonna. Può anche fare riferimento a proprietà che non vengono aggiunte esplicitamente alla tabella, ma tutte le altre colonne valutate a cui si fa riferimento in una qualsiasi delle espressioni devono essere presenti nella tabella. È comunque possibile utilizzare le colonne visualizzate come invisibili nella tabella BOM nelle espressioni modello.

È possibile utilizzare la stringa "\n" per aggiungere un'interruzione di riga.

Ad esempio, la seguente espressione combina le proprietà NumeroParte, Larghezza, Altezza e Lunghezza:

${<PartNumber>$(delim," X ")<Width>$(delim," X ")<Height>$(delim," X ")<Lenght>}

Configuratore Espressione

È possibile utilizzare il Configuratore Espressione per configurare una colonna valutata. Questa finestra di dialogo è disponibile nel Gestore BOM.

Questa finestra di dialogo consente di impostare il titolo e l'unità per la colonna, modificare l'espressione utilizzando un editor con evidenziazione della sintassi e completamento automatico e visualizzare un'anteprima della tabella BOM con la colonna valutata. Per una colonna modello, la sezione Modello consente di inserire, spostare ed eliminare facilmente proprietà, nonché delimitatori e testi personalizzati.