ScanRuler porta nel browser l’analisi metrologica delle scansioni 3D

CNC Kitchen pubblica uno strumento gratuito per confrontare scansioni 3D e modelli CAD

CNC Kitchen ha pubblicato ScanRuler, un software gratuito e open source progettato per analizzare scansioni tridimensionali direttamente all’interno del browser. Lo strumento è stato sviluppato da Stefan Hermann, ingegnere meccanico e fondatore di CNC Kitchen, conosciuto soprattutto per il lavoro di verifica sperimentale su stampa 3D, materiali e processi produttivi.

L’obiettivo di ScanRuler è mettere a disposizione una serie di funzioni tipiche dei programmi di metrologia e controllo dimensionale senza richiedere l’installazione di un’applicazione desktop dedicata.

Il software consente di caricare la scansione tridimensionale di un componente, misurarne gli elementi geometrici, confrontarla con un modello CAD nominale, visualizzare le deviazioni mediante mappe cromatiche e analizzare lo spessore delle pareti.

Non si tratta quindi di un semplice visualizzatore STL. ScanRuler cerca di coprire una parte del flusso di lavoro che normalmente segue l’acquisizione di un oggetto con uno scanner 3D: trasformare la geometria acquisita in informazioni quantitative utili per controllo qualità, progettazione, reverse engineering e verifica dei processi produttivi.

Un progetto nato dall’esperienza di CNC Kitchen

ScanRuler è stato sviluppato da Stefan Hermann nell’ambito delle attività di CNC Kitchen. Hermann ha una formazione in ingegneria meccanica e una lunga esperienza professionale nel settore aerospaziale, comprendente attività di progettazione strutturale e ricerca nel campo della produzione additiva metallica.

Negli ultimi anni CNC Kitchen ha affiancato ai test su stampanti 3D e materiali anche lo sviluppo di strumenti software utilizzabili direttamente dal browser.

ScanRuler segue questa impostazione: il programma è accessibile senza installazione e il codice sorgente viene distribuito pubblicamente.

Il punto di partenza è un problema frequente per chi utilizza scanner 3D: ottenere una mesh tridimensionale è relativamente semplice, mentre verificare con precisione cosa quella mesh rappresenti rispetto alla geometria prevista richiede strumenti di analisi più avanzati.

Un modello acquisito può sembrare corretto osservandolo sullo schermo ma presentare deviazioni dimensionali difficili da riconoscere visivamente. Lo stesso problema riguarda un componente stampato in 3D: deformazioni di alcuni decimi di millimetro, restringimenti, curvature o variazioni locali dello spessore possono essere difficili da identificare senza un confronto quantitativo.

ScanRuler è stato pensato proprio per effettuare questo passaggio.

STL, PLY e OBJ per le scansioni, STEP per i modelli CAD

ScanRuler permette di caricare le scansioni nei formati STL, PLY e OBJ. Le geometrie vengono considerate in millimetri.

Il programma lavora allo stato attuale con mesh, cioè modelli tridimensionali costituiti da superfici triangolate. Il supporto diretto alle point cloud PLY prive di facce è invece indicato da CNC Kitchen tra le funzioni previste per gli sviluppi successivi.

Per il confronto con la geometria nominale ScanRuler accetta anche modelli STEP.

Questa possibilità è particolarmente interessante nel controllo dimensionale perché evita di dover convertire preventivamente il progetto CAD in STL.

Un file STEP può contenere superfici matematiche derivate direttamente dal modello CAD, mentre una conversione STL comporta la creazione di una mesh triangolare la cui precisione dipende dai parametri di tessellazione utilizzati durante l’esportazione.

ScanRuler utilizza il componente meshStep sviluppato da CNC Kitchen per tessellare il file STEP direttamente nel browser. Sono supportate geometrie STEP basate sulle varianti AP203, AP214 e AP242.

Il software gestisce inoltre le unità dichiarate dal file STEP e porta internamente le coordinate in millimetri.

Tre aree principali: elementi geometrici, deviazioni e spessori

L’interfaccia di ScanRuler è organizzata attorno a tre ambienti di lavoro principali: Elements, Deviation e Thickness.

La sezione Elements è dedicata all’identificazione e alla misura delle caratteristiche geometriche del componente.

Deviation permette di confrontare la scansione con il modello nominale oppure con una geometria ricavata dalla stessa scansione.

Thickness esegue invece l’analisi dello spessore delle pareti senza richiedere un modello CAD di riferimento.

Queste tre funzioni affrontano problemi differenti.

Un progettista potrebbe voler sapere se due fori si trovano alla distanza prevista. Un tecnico del controllo qualità potrebbe voler individuare le zone nelle quali un pezzo stampato si discosta maggiormente dal CAD. Un operatore impegnato nel reverse engineering potrebbe invece essere interessato al diametro effettivo di un foro o all’orientamento di un piano.

ScanRuler riunisce queste operazioni in un ambiente unico.

Riconoscimento e fitting di sfere, cilindri e piani

Nell’ambiente Elements l’utente può selezionare una zona della scansione e chiedere a ScanRuler di adattare alla superficie una geometria ideale.

Le geometrie disponibili comprendono sfere, cilindri e piani.

Il principio utilizzato è quello del geometric fitting: il software analizza un insieme di punti provenienti dalla scansione e determina l’elemento matematico che meglio rappresenta quella superficie.

Per esempio, selezionando la parete interna di un foro è possibile ricavare un cilindro ideale e determinarne diametro, asse e posizione. Selezionando una superficie piatta è possibile ottenere un piano di riferimento. Nel caso di una geometria sferica, ScanRuler può determinarne centro e raggio.

Il sistema utilizza una selezione automatica della superficie attorno al punto indicato dall’utente. L’algoritmo cerca di seguire la caratteristica geometrica evitando di estendersi sulle superfici confinanti.

Quando la selezione automatica non è adeguata, ScanRuler offre strumenti manuali basati su pennello, finestra e lazo. L’utente può quindi decidere quali triangoli della mesh utilizzare per il calcolo.

Questa possibilità è utile soprattutto con scansioni rumorose, superfici incomplete oppure geometrie nelle quali i bordi sono arrotondati e rendono più difficile la separazione automatica tra due caratteristiche.

Il valore sigma aiuta a capire quanto la superficie reale sia regolare

Per ogni geometria adattata ScanRuler fornisce anche un valore sigma, derivato dalla deviazione RMS dei punti della scansione rispetto alla geometria ideale.

L’informazione può essere utilizzata per valutare quanto una superficie reale assomigli all’elemento matematico che dovrebbe rappresentare.

Nel caso di una sfera permette, per esempio, di osservare quanto la superficie acquisita si discosti dalla sfericità ideale. Per un piano dà un’indicazione della dispersione dei punti rispetto alla superficie teoricamente piatta.

Questo tipo di analisi è particolarmente utile nella stampa 3D, dove una dimensione nominalmente corretta non implica necessariamente una buona qualità geometrica della superficie.

Un foro potrebbe avere un diametro medio vicino a quello progettato ma presentare ovalizzazioni o irregolarità. Una superficie potrebbe trovarsi alla quota corretta ma non essere sufficientemente planare.

ScanRuler consente quindi di andare oltre la semplice misura tra due punti.

Distanze e angoli costruiti a partire dalla geometria misurata

Una volta creati gli elementi geometrici, ScanRuler permette di utilizzarli per costruire misure dimensionali.

Sono disponibili distanze tra punti, tra punti e assi, tra punti e piani, tra assi, tra assi e piani e tra piani.

Il software calcola inoltre angoli tra assi, tra assi e piani e tra coppie di piani.

Nel caso di due sfere, per esempio, è possibile misurare la distanza tra i rispettivi centri oppure la distanza tra le superfici. Nel caso di due cilindri è possibile confrontare gli assi.

Questo approccio segue le convenzioni normalmente utilizzate nei software di metrologia dimensionale.

ScanRuler prende esplicitamente come riferimento alcune logiche presenti in sistemi professionali come GOM Inspect, oggi inserito nell’ecosistema ZEISS INSPECT di ZEISS, e PC-DMIS sviluppato da Hexagon.

La differenza principale è nell’ambito di utilizzo: ZEISS INSPECT e PC-DMIS di Hexagon costituiscono piattaforme professionali molto più estese, integrate con procedure di controllo qualità, sistemi di misura, GD&T, automazione e reporting industriale. ScanRuler concentra invece l’attenzione su un insieme selezionato di operazioni che possono risultare particolarmente utili a chi lavora con mesh provenienti da scanner 3D.

L’allineamento 3-2-1 porta la scansione in un sistema di riferimento controllato

Una funzione significativa di ScanRuler riguarda l’allineamento 3-2-1.

Quando un oggetto viene acquisito con uno scanner 3D, il sistema di coordinate dipende normalmente dalla posizione del componente durante l’acquisizione. Il pezzo può quindi essere inclinato, ruotato o spostato rispetto agli assi che il progettista vorrebbe utilizzare.

ScanRuler consente di creare un sistema di riferimento utilizzando elementi geometrici della scansione.

Il primo riferimento stabilisce l’orientamento principale. Un secondo elemento può definire la rotazione attorno all’asse primario. Un terzo riferimento permette di individuare l’origine delle coordinate.

Come riferimenti possono essere utilizzati piani, cilindri, linee, punti o centri di sfere.

È una funzione importante soprattutto nel reverse engineering e nella ricostruzione CAD, perché permette di riportare una scansione ottenuta in una posizione arbitraria in un sistema cartesiano coerente con la geometria del componente.

Le geometrie misurate possono essere esportate in STEP

ScanRuler non limita le geometrie ricavate dalla scansione alla visualizzazione interna.

Piani, cilindri, sfere, linee e punti creati durante l’analisi possono essere esportati in formato STEP e successivamente importati in un programma CAD.

È una caratteristica particolarmente interessante per il reverse engineering.

In molti flussi di lavoro non è infatti necessario ricostruire automaticamente l’intero oggetto. Può essere più utile estrarre dalla scansione gli elementi geometrici fondamentali — assi dei fori, piani di appoggio, superfici cilindriche, centri e riferimenti — e utilizzare queste informazioni come base per ricostruire il componente nel CAD.

ScanRuler può esportare le geometrie come superfici di costruzione oppure, a seconda dell’elemento, come corpi e facce analitiche.

I piani possono quindi diventare superfici utilizzabili come riferimento, mentre sfere e cilindri possono essere trasferiti come geometrie matematiche anziché come semplici triangoli.

Confronto diretto tra scansione e modello CAD

La seconda grande area del programma è Surface Deviation.

L’utente carica la scansione e il modello CAD nominale. ScanRuler sovrappone le due geometrie e può eseguire automaticamente l’allineamento.

Dopo l’allineamento, la distanza tra la superficie acquisita e quella nominale viene rappresentata direttamente sul modello attraverso una mappa cromatica.

Il concetto è quello del confronto nominale-reale utilizzato nella metrologia ottica.

Una zona nella quale la scansione sporge rispetto al CAD avrà una deviazione positiva, mentre una regione che si trova all’interno della geometria nominale avrà una deviazione negativa.

In questo modo diventa possibile individuare deformazioni che sarebbero difficili da riconoscere osservando semplicemente due modelli sovrapposti.

Perché una mappa delle deviazioni è utile nella stampa 3D

Nella produzione additiva questo tipo di analisi può avere diverse applicazioni.

Un componente FDM può subire warping agli angoli, restringimenti nelle zone massicce oppure variazioni dimensionali dovute alla contrazione del materiale.

Un pezzo realizzato con resina può deformarsi durante la polimerizzazione o il post-curing.

Anche nei processi industriali di additive manufacturing metallico il componente può presentare distorsioni dovute alle tensioni termiche sviluppate durante la costruzione.

Confrontando la scansione dell’oggetto reale con il modello CAD è possibile individuare non soltanto quanto è grande l’errore, ma anche dove si concentra.

Una mappa di deviazione può quindi fornire informazioni molto più utili di una singola misura effettuata con un calibro.

Può mostrare, per esempio, che la dimensione complessiva del componente è corretta ma una parete è incurvata, oppure che una determinata zona presenta una deviazione sistematica rispetto al progetto.

Statistiche, istogrammi e tolleranze

ScanRuler accompagna la mappa cromatica con diversi dati statistici.

Il software può visualizzare valori minimo e massimo, media, RMS e sigma delle deviazioni.

È inoltre disponibile un istogramma che mostra la distribuzione degli scostamenti.

L’utente può definire un intervallo di tolleranza e osservare la percentuale di superficie che rientra nel limite selezionato.

L’ampiezza della scala cromatica può essere modificata per adattarsi alle caratteristiche del componente.

Questa funzione evita che pochi punti fortemente anomali rendano poco leggibili le variazioni più piccole presenti sul resto della superficie.

È inoltre possibile posizionare letture permanenti in punti specifici della mappa per conoscere numericamente la deviazione locale.

Il confronto può essere effettuato anche senza un CAD completo

ScanRuler può calcolare la deviazione non soltanto rispetto a un modello CAD, ma anche rispetto a uno degli elementi geometrici creati nella sezione Elements.

È quindi possibile selezionare un piano ricavato dalla scansione e analizzare le deviazioni della superficie rispetto a quel piano.

Lo stesso principio può essere applicato a cilindri e sfere.

Questa modalità può risultare utile quando non si dispone del progetto originale del componente.

Per valutare la regolarità di un foro, per esempio, non è necessariamente indispensabile avere il modello CAD. Si può adattare un cilindro alla superficie acquisita e utilizzare quella geometria come riferimento per osservare le deviazioni locali.

L’analisi dello spessore non richiede il modello originale

La terza area principale di ScanRuler è dedicata allo spessore delle pareti.

In questo caso non è necessario caricare un modello CAD nominale.

Il software analizza la mesh e cerca la superficie opposta rispetto al punto considerato.

ScanRuler offre due metodologie principali.

La prima utilizza raggi proiettati lungo la normale della superficie. Il software cerca l’intersezione con la parete opposta e utilizza la distanza ottenuta per determinare lo spessore.

La seconda utilizza un metodo basato su una sfera che si estende attraverso il componente fino a intercettare le superfici interessate.

Il risultato viene ancora una volta rappresentato mediante una mappa cromatica.

Per l’analisi dello spessore il rosso identifica le zone più sottili mentre il blu viene utilizzato per quelle più spesse.

Una funzione interessante per componenti stampati, stampi e parti scansionate

L’analisi degli spessori può essere utile quando si acquisiscono parti delle quali non si dispone del CAD originale.

Un esempio potrebbe essere un componente ottenuto tramite reverse engineering.

La scansione consente di acquisire la superficie esterna e, quando la geometria contiene le informazioni necessarie, ScanRuler può aiutare a identificare le regioni nelle quali le pareti risultano più sottili.

La funzione può essere interessante anche nella verifica di oggetti stampati in 3D, soprattutto per geometrie cave, gusci, componenti con pareti sottili e parti realizzate mediante processi che possono produrre variazioni dimensionali.

Il programma lascia prive di misura le zone nelle quali non riesce a identificare una superficie opposta entro i limiti impostati. CNC Kitchen precisa infatti che la misura dello spessore ha significato soltanto quando la superficie analizzata dispone realmente di una parete opposta.

I file vengono elaborati localmente

Uno degli aspetti distintivi di ScanRuler riguarda la modalità con cui vengono gestiti i dati.

Le elaborazioni vengono effettuate localmente nel browser.

Secondo CNC Kitchen, le scansioni caricate dall’utente non vengono trasferite a un server per essere elaborate.

Questo può essere rilevante per chi lavora con modelli proprietari, prototipi o componenti non destinati alla diffusione pubblica.

L’interfaccia viene distribuita come applicazione web, ma il calcolo necessario all’analisi della geometria viene eseguito sulla macchina dell’utente.

Il principio è quindi differente rispetto a un servizio cloud nel quale il modello viene caricato su un’infrastruttura esterna e successivamente restituito dopo l’elaborazione.

CNC Kitchen ha confrontato ScanRuler con GOM Inspect

Per verificare il funzionamento degli algoritmi geometrici, CNC Kitchen ha effettuato diversi test.

Uno dei confronti riguarda una scansione reale ottenuta mediante structured light e analizzata anche con GOM Inspect.

Nel test sulla distanza tra i centri di due sfere, ScanRuler ha calcolato 148,6398 millimetri mentre GOM Inspect ha restituito 148,64 millimetri.

La differenza tra i due risultati si colloca quindi nell’ordine del micrometro per quello specifico caso di prova.

Il dato non significa che ScanRuler debba essere considerato equivalente a un sistema metrologico certificato.

L’accuratezza dell’intero processo dipende infatti anche dallo scanner utilizzato, dalla calibrazione, dalla qualità dell’acquisizione, dalla preparazione della superficie, dall’allineamento e dalla procedura di misura.

Il confronto mostra però che CNC Kitchen ha costruito il progetto attorno a test quantitativi e non soltanto alla visualizzazione grafica dei modelli.

Per i fitting di cilindri e piani vengono inoltre utilizzate geometrie sintetiche con dimensioni note per verificare gli algoritmi.

Test automatici anche sull’allineamento delle scansioni

Il repository di ScanRuler contiene inoltre test dedicati al confronto tra modello nominale e scansione.

CNC Kitchen utilizza una coppia composta da un componente nominale e dalla relativa scansione structured-light.

In uno dei test il modello scansionato viene spostato e ruotato artificialmente prima di chiedere all’algoritmo di riallinearlo.

Il programma deve quindi ritrovare automaticamente la corretta sovrapposizione.

Sul modello utilizzato da CNC Kitchen il processo di fitting raggiunge un valore RMS di 0,072 millimetri. Quando alla scansione viene applicata una trasformazione casuale, l’allineamento ricostruito arriva entro 0,9 micrometri dalla soluzione determinata sul modello già posizionato.

Anche in questo caso si tratta di un test software su uno specifico dataset e non di una dichiarazione universale sull’accuratezza di qualsiasi misura effettuata con ScanRuler.

Un software open source con licenza AGPL-3.0

ScanRuler viene distribuito da CNC Kitchen con licenza AGPL-3.0.

Il software può essere utilizzato gratuitamente, modificato, redistribuito e ospitato autonomamente rispettando le condizioni della licenza.

La AGPL prevede però obblighi specifici quando una versione modificata viene distribuita o resa disponibile agli utenti attraverso una rete: il codice sorgente completo della versione interessata deve essere reso disponibile secondo gli stessi termini.

CNC Kitchen mette inoltre a disposizione licenze commerciali per aziende che desiderino integrare ScanRuler all’interno di prodotti proprietari o utilizzare versioni modificate senza applicare al proprio software le condizioni previste dalla AGPL.

Questa doppia impostazione permette quindi al progetto di rimanere liberamente disponibile per utenti e sviluppatori open source mantenendo una strada separata per eventuali applicazioni commerciali proprietarie.

Le funzioni previste per le prossime versioni

CNC Kitchen ha già indicato alcune delle funzioni che intende aggiungere a ScanRuler.

Tra queste figurano nuovi metodi di fitting, compreso il metodo di Chebyshev o min-zone, oltre a fitting basati sulle geometrie minima circoscritta e massima inscritta.

È previsto anche l’ampliamento degli elementi geometrici disponibili con coni, cerchi e slot.

Un’altra funzione programmata è il supporto alle point cloud PLY prive di mesh. Attualmente ScanRuler richiede infatti scansioni costituite da superfici triangolate.

CNC Kitchen prevede inoltre l’esportazione delle scansioni con le mappe cromatiche applicate e la possibilità di creare viste in sezione attraverso la mappa delle deviazioni.

Sono funzioni particolarmente interessanti perché avvicinerebbero ulteriormente ScanRuler agli strumenti utilizzati nell’analisi metrologica delle superfici.

ScanRuler non sostituisce una piattaforma metrologica industriale

Il paragone con programmi come ZEISS INSPECT di ZEISS o PC-DMIS di Hexagon deve essere interpretato correttamente.

Le piattaforme professionali dispongono di strumenti molto più ampi per GD&T, automazione delle procedure di misura, reportistica, gestione di dispositivi metrologici, tracciabilità e integrazione nei processi di controllo qualità.

ZEISS INSPECT, per esempio, permette il confronto nominale-reale tra mesh e CAD e comprende strumenti dedicati alla verifica geometrica e alle tolleranze dimensionali.

PC-DMIS di Hexagon viene utilizzato per programmare e gestire macchine di misura a coordinate, sistemi portatili, sensori ottici e altre apparecchiature metrologiche, con funzioni estese per GD&T e automazione delle ispezioni.

ScanRuler occupa una posizione differente.

Il suo interesse risiede soprattutto nella possibilità di eseguire rapidamente alcune operazioni di analisi geometrica senza acquistare o configurare una piattaforma metrologica completa.

Un possibile ponte tra scanner 3D, stampa 3D e CAD

L’aspetto più interessante di ScanRuler è probabilmente il collegamento tra tre ambienti che spesso vengono trattati separatamente: acquisizione 3D, controllo geometrico e CAD.

Uno scanner produce una rappresentazione digitale del componente reale.

ScanRuler può utilizzare quella rappresentazione per estrarre piani, cilindri, sfere e riferimenti geometrici, oppure confrontarla direttamente con il progetto originale.

Gli elementi ricavati possono quindi essere trasferiti nuovamente verso un software CAD mediante file STEP.

Questo crea un flusso potenzialmente utile sia per il controllo di componenti prodotti tramite stampa 3D sia per il reverse engineering.

Nel caso della stampa additiva, per esempio, si potrebbe partire dal modello CAD, produrre il componente, acquisirlo con uno scanner e utilizzare ScanRuler per identificare le deviazioni rispetto al progetto.

Nel reverse engineering il percorso può essere inverso: si parte dall’oggetto reale, lo si acquisisce, si estraggono le geometrie principali e le si trasferisce verso il CAD per costruire un nuovo modello parametrico.

L’accessibilità è il principale elemento distintivo del progetto

ScanRuler non punta a replicare l’intero ecosistema di una suite metrologica industriale. Il progetto di CNC Kitchen sembra piuttosto voler rendere accessibile una selezione di strumenti che normalmente richiedono software specialistici.

Il fatto che l’applicazione sia gratuita, open source e utilizzabile direttamente nel browser abbassa sensibilmente la soglia d’ingresso per maker, progettisti, piccole aziende, laboratori e utenti della stampa 3D che vogliono iniziare a valutare quantitativamente la qualità delle proprie scansioni.

La disponibilità del codice sorgente offre inoltre agli sviluppatori la possibilità di studiare gli algoritmi, verificarne il comportamento e contribuire al progetto.

La qualità della misura continuerà naturalmente a dipendere in modo determinante dai dati forniti allo strumento. ScanRuler non può trasformare una scansione imprecisa in un’acquisizione metrologicamente accurata.

Può però offrire un metodo strutturato per trasformare una mesh tridimensionale in misure, geometrie di riferimento e mappe di deviazione, rendendo più diretto il passaggio dalla semplice visualizzazione di una scansione alla sua analisi quantitativa.

Per chi utilizza stampa 3D, scanner e CAD nello stesso flusso di lavoro, è proprio questo il campo nel quale il progetto di CNC Kitchen potrebbe risultare più interessante.

” Questo articolo è stato redatto con il supporto di strumenti di intelligenza artificiale (AI) “

Di Fantasy

Lascia un commento