
Il reverse engineering (ingegneria inversa) è un processo che, tramite una scansione 3D e la conseguente elaborazione da parte di un software CAD, permette di digitalizzare un oggetto fisico. Tramite questo processo è possibile replicare o modificare tale oggetto, ma anche realizzare un nuovo prodotto che si interfacci con esso. il reverse engineering (ingegneria inversa) in generale parte dall’analisi di un oggetto disponibile (ad esempio un reperto, un dispositivo, componente elettrico, un meccanismo, software) per produrre un oggetto nuovo che abbia un funzionamento analogo o migliore.

Si può anche partire da una creazione manuale di una scultura realizzata da un artista o da un designer con materiali come legno, creta o speciali plastiche. Nel caso di superfici a geometria libera, i cambiamenti alle parti originali del progetto sono molto difficili da effettuare. Il reverse engineering crea, in modo automatico ed in tempi brevi, il modello CAD dell’oggetto fisico da realizzare. Partendo da un prototipo, o da un oggetto che si vuole ricostruire, o da parti specifiche delle quali si vogliono effettuare particolari analisi, mediante il processo di ingegneria inversa, si ricava il relativo modello CAD che viene utilizzato per effettuare agevolmente la modifica di parti esistenti oppure lo sviluppo di nuove parti, l’analisi dimensionale e strutturale fino alla impostazione del processo produttivo (CAM process).
Questa procedura è utilizzata anche per le costruzioni nel mondo CAE (Computer Aided Engineering), che attraverso sistemi di scansione, permette di acquisire i dati di superficie di topologie anche complesse di prototipi artigianali e di restituirli sotto forma di modelli di superfici all’interno dell’ambiente di lavoro digitale.
L’ingegneria inversa è diffusa anche in informatica ed è un processo di analisi di un sistema software esistente, eseguito al fine di crearne un modello logico di livello superiore.
Per affrontare la retro ingegneria in ambito software sono essenziali conoscenze di programmazione e logica.
In genere le pratiche di ingegneria inversa nell’informatica vengono utilizzate per analizzare i programmi e cercare di capirne il funzionamento senza avere a disposizione un codice sorgente.
LE FASI DEL REVERSE ENGINEERING
SCANSIONE 3D
Il primo step del reverse engineering consiste nella scansione tridimensionale dell’oggetto che si intende riprodurre. Il manufatto viene investito da una sequenza di pattern luminosi codificati, mentre due fotocamere lo fotografano ad ogni istante. Tale processo è detto scansione a luce strutturata o più semplicemente scansione 3d. Successivamente, un apposito software esegue la triangolazione dei punti, ovvero ne ricostruisce la posizione e genera una mesh triangolare dell’oggetto.

OTTIMIZZAZIONE DELLA MESH
Il secondo passaggio viene svolto manualmente da un operatore, il quale, utilizzando un software CAD, trasforma la mesh triangolare ottenuta precedentemente in una quadrangolare, ottimizzandola per gli step successivi.

CORREZIONI E MODIFICHE
Una volta ottimizzata, la mesh viene riesaminata, quindi vengono corretti eventuali errori dovuti alla scansione e vengono realizzate tutte le modifiche richieste, utilizzando un software CAD in grado di gestire le curve NURBS.

ESTRAZIONE DELLE MATEMATICHE
L’ultimo step del reverse engineering consiste nell’estrapolare le matematiche del modello così ottenuto. Tali matematiche serviranno per generare gli stampi con cui realizzare il nuovo oggetto, ma anche per eseguire analisi agli elementi finiti, siano esse strutturali o di altra natura.
