public IEnumerable <IEntity3D> GetPreview()
        {
            // se flag di ricalcolo percorso è true , ricalcola
            // altrimenti restituisce percorso già calcolato

            try
            {
                var rslt = new List <IEntity3D>();

                var workPreview = Operazione.Lavorazione.GetPreview();

                if (workPreview != null)
                {
                    rslt.AddRange(workPreview);
                }

                /*
                 * se profilo è valido
                 *      stampo profilo
                 *
                 *    se lavorazione è valid
                 *         stampo anche lavorazione
                 */

                if (IsValid.HasValue && IsValid.Value)
                {
                    /*
                     * piccolo hack . aggiorno le preferenze in questo putno.. todo gestire meglio..
                     */
                    var macchina = Operazione.Lavorazione.FaseDiLavoro.GetMacchina();

                    var path = Operazione.GetPathPreview(macchina);

                    rslt.AddRange(path);
                }

                OnPropertyChanged("Label"); // riaggiorna etichetta con tempo..

                return(rslt);
            }

            catch (Exception ex)
            {
                throw new Exception("OperazioneViewModel.GetPreview");
            }
        }