Il Chair of Digital Additive Production della RWTH Aachen University, noto come RWTH DAP, ha reso disponibile DAPComputationalGeometry, una libreria open source dedicata all’elaborazione geometrica nei sistemi CAM per la produzione additiva. Il progetto, abbreviato in DAP-CG, raccoglie algoritmi sviluppati durante attività di ricerca applicata e progetti condotti con partner industriali.

L’obiettivo è affrontare un problema poco visibile, ma determinante nella preparazione di una costruzione additiva: la quantità di calcoli necessaria per trasformare un modello tridimensionale in dati utilizzabili dalla macchina. Prima che inizi la fusione, la sinterizzazione o la deposizione del materiale, il software deve analizzare le geometrie, determinare l’orientamento dei componenti, generare eventuali supporti, organizzare i pezzi nel volume di lavoro, suddividerli in strati e calcolare le traiettorie di scansione.

Quando i componenti diventano più grandi, le strutture interne più fitte o le piattaforme di costruzione più affollate, il numero di poligoni da gestire cresce. La presenza di macchine dotate di più laser aggiunge ulteriori dati e vincoli. In queste condizioni, una struttura geometrica progettata senza attenzione alla scalabilità può trasformare un’elaborazione di pochi minuti in un calcolo di ore o giorni.

Il ruolo della geometria nei software CAM per la stampa 3D

Un sistema CAM per la produzione additiva non si limita a convertire un file CAD in una sequenza di strati. Deve prendere decisioni che incidono sul consumo di materiale, sul tempo macchina, sulla qualità delle superfici e sulla quantità di post-processing.

L’orientamento del componente, per esempio, modifica la superficie che richiede strutture di supporto. Nel caso dei processi metallici a letto di polvere, i supporti possono svolgere funzioni meccaniche e termiche, ma devono essere prodotti insieme al pezzo e rimossi al termine della costruzione. Un orientamento poco adatto può quindi aumentare il volume di materiale utilizzato, prolungare il processo e rendere più complessa la finitura.

Il nesting, ossia la disposizione di più componenti nel volume di costruzione, richiede invece continui controlli delle collisioni. Il software deve verificare che i pezzi non si intersechino, rispettino le distanze minime previste dal processo e sfruttino lo spazio disponibile secondo l’obiettivo scelto. Quest’ultimo può essere la densità di riempimento, la riduzione dell’altezza della costruzione o una distribuzione termica più equilibrata.

Durante lo slicing, il modello tridimensionale viene intersecato con una successione di piani. Ogni sezione produce contorni bidimensionali che devono essere corretti, chiusi e privi di intersezioni non desiderate. Le stesse geometrie vengono poi utilizzate per generare riempimenti, bordi, zone di esposizione e percorsi del laser.

Per questo motivo, anche se la produzione additiva lavora con oggetti tridimensionali, una parte rilevante del carico computazionale riguarda poligoni e vettori in due dimensioni.

Che cos’è DAPComputationalGeometry

DAPComputationalGeometry è sviluppata in C# ed è mantenuta dal RWTH DAP. Il progetto deriva da geometry3Sharp, una libreria per il calcolo geometrico bidimensionale e tridimensionale, la manipolazione delle mesh e l’elaborazione delle superfici.

Il gruppo della RWTH Aachen University ha esteso questa base introducendo algoritmi destinati alle esigenze dei flussi CAM industriali. DAP-CG integra inoltre Clipper2, una libreria specializzata nelle operazioni booleane sui poligoni, negli offset e nella triangolazione.

Le operazioni booleane permettono di calcolare unioni, intersezioni, differenze e XOR tra contorni. In un’applicazione CAM possono essere impiegate per combinare aree di esposizione, sottrarre zone da evitare, costruire margini di sicurezza o verificare sovrapposizioni tra parti e supporti.

Gli offset servono invece a generare un contorno parallelo a una geometria di partenza. Sono utilizzabili per applicare distanze di sicurezza, compensare dimensioni legate al processo, creare bordi o calcolare l’ingombro che un componente deve mantenere rispetto agli elementi vicini.

Aggregazione e semplificazione dei poligoni

Una delle funzioni centrali di DAP-CG riguarda l’aggregazione dei poligoni. L’algoritmo può riunire gruppi di contorni o concavità vicine in una rappresentazione più semplice, sulla base di una distanza definita dall’utente.

Questa operazione è utile quando un modello contiene reticoli, strutture cellulari o un numero elevato di piccoli elementi. Conservare ogni dettaglio durante tutte le fasi del calcolo può essere inutile, soprattutto quando il software deve soltanto stimare l’ingombro del componente o individuare possibili collisioni.

La libreria consente quindi di produrre poligoni di collisione semplificati, riducendo il numero di punti da elaborare prima delle operazioni più onerose. Il modello originale può continuare a essere utilizzato nelle fasi che richiedono la geometria completa, mentre la versione aggregata viene impiegata per le verifiche preliminari.

DAP-CG comprende anche procedure per eliminare vertici ridondanti e per gestire contorni autointersecanti. Questi ultimi rappresentano un problema frequente nell’elaborazione automatica: una sequenza di segmenti che attraversa sé stessa può produrre risultati ambigui durante lo slicing, l’offset o l’unione di più aree.

Compressione geometrica e riduzione della memoria

La documentazione tecnica di DAP-CG descrive un sistema di compressione con perdita controllata progettato per i dati poligonali. L’algoritmo utilizza una tolleranza definita e controlla che la compressione non modifichi la topologia del risultato.

La soluzione combina scalatura, codifica differenziale e una variante del codec per interi Simple16. In termini pratici, invece di memorizzare ogni coordinata come un valore completo e indipendente, il sistema sfrutta le differenze tra punti consecutivi e la ripetitività tipica dei dati geometrici.

Secondo i dati pubblicati nel repository, la rappresentazione compressa può occupare circa il 20% dello spazio richiesto da un oggetto Polygon2d basato su coordinate in virgola mobile a doppia precisione. La decodifica utilizza inoltre istruzioni AVX a 256 bit e può raggiungere, nelle condizioni indicate dagli sviluppatori, una velocità nell’ordine di 5 GB al secondo per core.

Queste cifre non costituiscono una prestazione garantita per ogni computer o geometria. Il risultato dipende dal processore, dalla struttura dei poligoni, dalla tolleranza scelta e dal resto dell’applicazione. Indicano però il tipo di ottimizzazione perseguito dal progetto: ridurre sia il volume dei dati sia il tempo necessario per renderli nuovamente disponibili agli algoritmi CAM.

L’impiego di Span e SIMD in C#

Per accelerare trasformazioni frequenti come traslazioni, rotazioni e calcolo dei limiti geometrici, DAP-CG utilizza funzionalità del linguaggio e dell’ambiente .NET come Span e SIMD.

Span permette di lavorare su aree contigue di memoria evitando, in molti casi, la creazione di copie o nuovi oggetti temporanei. Questo approccio può ridurre le allocazioni e il lavoro del sistema di gestione automatica della memoria, un aspetto rilevante quando milioni di coordinate devono essere lette o modificate.

SIMD, acronimo di Single Instruction Multiple Data, permette al processore di applicare la stessa operazione a più valori numerici con una singola istruzione. In una rotazione poligonale, per esempio, la stessa formula deve essere ripetuta per un numero elevato di coordinate. La vettorializzazione consente di elaborare gruppi di valori in parallelo, purché l’hardware e il percorso software utilizzato supportino queste istruzioni.

L’aumento delle prestazioni non dipende quindi soltanto dalla frequenza del processore. Conta anche il modo in cui i dati vengono organizzati, trasferiti e sottoposti ai calcoli.

Strutture spaziali per i controlli di collisione

Tra le estensioni presenti nel repository figura anche una griglia spaziale gerarchica. Questa struttura suddivide lo spazio in livelli e permette di escludere rapidamente gli oggetti che non possono entrare in collisione con una determinata area.

Senza un sistema di accelerazione, un’applicazione di nesting potrebbe dover confrontare ogni componente con tutti gli altri. Il numero di confronti crescerebbe rapidamente con l’aumento dei pezzi. Una struttura spaziale permette invece di selezionare prima i candidati rilevanti e di applicare i controlli geometrici più costosi soltanto a questi ultimi.

DAP-CG include inoltre algoritmi per l’intersezione e il contenimento di poligoni convessi, la ricerca dell’inviluppo convesso, il calcolo dei No-Fit Polygon e la pianificazione di percorsi rettilinei privi di collisioni tra ostacoli poligonali.

Il No-Fit Polygon è uno strumento utile nel nesting: rappresenta le posizioni nelle quali un oggetto mobile entrerebbe in contatto o in sovrapposizione con un altro oggetto. Attraverso questa costruzione, il problema tridimensionale della disposizione può essere affrontato mediante operazioni geometriche bidimensionali più strutturate.

Dal progetto IDAM all’applicazione industriale

Parte degli algoritmi è stata sviluppata durante il progetto IDAM – Industrialization and Digitalization of Additive Manufacturing, dedicato all’automazione della produzione additiva metallica per il settore automobilistico.

Il progetto ha portato alla realizzazione di due linee automatizzate per la produzione mediante Laser Powder Bed Fusion: una presso il BMW Group a Monaco di Baviera e una presso GKN Powder Metallurgy nell’area di Bonn. Le linee erano state progettate per supportare volumi fino ad almeno 50.000 componenti uguali e oltre 10.000 parti individuali o ricambi.

Nel consorzio erano presenti, oltre a BMW Group e GKN Powder Metallurgy, le aziende Aconity GmbH, Concept Reply GmbH, Myrenne GmbH, Intec GmbH – Ingenieurbüro für Automatisierungstechnik, Kinexon Industries GmbH, Schmitz Spezialmaschinenbau GmbH e Volkmann GmbH.

Alle attività partecipavano anche il Fraunhofer Institute for Laser Technology ILT, il Chair of Digital Additive Production della RWTH Aachen University e il Chair of Metal Forming and Casting della Technical University of Munich.

Durante lo sviluppo di un software per l’ottimizzazione del nesting, l’applicazione della compressione poligonale ha ridotto di un fattore cinque la memoria necessaria. Il RWTH DAP indica che riduzioni dello stesso ordine possono essere ottenute anche nei programmi dedicati allo slicing e al calcolo delle strategie di scansione.

La differenza può stabilire se un job complesso sia elaborabile su un computer con 32 GB di RAM oppure richieda una workstation, un server o un’istanza cloud dotata di una quantità di memoria superiore.

L’orientamento dei componenti e il costo dei supporti

Il software di orientamento sviluppato dal RWTH DAP utilizza algoritmi presenti in DAP-CG per valutare diverse direzioni di produzione. L’analisi considera criteri legati alla qualità e ai costi, tra cui la quantità di strutture di supporto richiesta da ogni orientamento.

La scelta non può essere ridotta alla sola minimizzazione dei supporti. Un orientamento deve tenere conto anche dell’altezza della costruzione, della stabilità del componente, dell’accessibilità durante la rimozione dei supporti, della qualità delle superfici e delle possibili deformazioni termiche.

Una libreria geometrica non decide automaticamente quale sia la soluzione migliore per ogni processo. Fornisce però gli strumenti con cui un software CAM può calcolare superfici, volumi, collisioni, ombre geometriche e altri indicatori necessari a confrontare le alternative.

Integrazione con Open Vector Format

DAP-CG include funzioni collegate a Open Vector Format, il formato aperto sviluppato nell’ecosistema Digital Production Aachen per rappresentare lavori basati sulla scansione laser.

Open Vector Format consente di memorizzare geometrie vettoriali, parametri di processo e metadati. Nel progetto IDAM era stato impiegato per trasferire dati tra software e moduli di produzione appartenenti a fornitori differenti.

L’integrazione tra una libreria geometrica e un formato aperto per i dati di processo può ridurre il numero di conversioni intermedie. Può inoltre facilitare la costruzione di catene software modulari, nelle quali orientamento, nesting, slicing, generazione delle strategie e controllo macchina vengono sviluppati come componenti distinti.

Una licenza utilizzabile anche nei prodotti commerciali

DAPComputationalGeometry è distribuita con la Boost Software License 1.0. La licenza permette di utilizzare, modificare e distribuire il software senza costi di licenza, anche all’interno di applicazioni industriali e commerciali.

Per i produttori di software CAM, questo significa poter integrare singoli algoritmi senza dover sviluppare da zero ogni funzione geometrica. Per le università e i centri di ricerca, la disponibilità del codice facilita la riproduzione degli esperimenti e il confronto tra metodi differenti.

La licenza non elimina però il lavoro di integrazione. Un’azienda deve verificare la compatibilità con la propria architettura, le unità di misura, le tolleranze numeriche, i formati di ingresso e i requisiti di sicurezza del processo. Sono necessari anche test su geometrie rappresentative dei componenti destinati alla produzione.

Che cosa cambia per gli sviluppatori di software CAM

DAP-CG non è un programma CAM completo e non sostituisce i sistemi utilizzati per preparare una macchina additiva. È una raccolta di componenti software che può essere impiegata per creare nuove applicazioni o ottimizzare moduli esistenti.

Il vantaggio principale consiste nella disponibilità di algoritmi già applicati a problemi industriali: gestione dei poligoni, compressione, collisioni, slicing, ombre geometriche, operazioni booleane e strutture spaziali.

La natura open source permette agli sviluppatori di esaminare le implementazioni, misurarne le prestazioni e modificarle in funzione del proprio caso d’uso. Consente anche di individuare con maggiore chiarezza le tolleranze numeriche e le ipotesi utilizzate dai calcoli.

Il valore effettivo della libreria dovrà essere valutato su flussi concreti. Geometrie organiche, reticoli fitti, componenti con pareti sottili e costruzioni contenenti migliaia di parti possono produrre carichi molto diversi. Servono quindi benchmark che considerino non soltanto la velocità, ma anche la correttezza dei risultati, il consumo di memoria e la stabilità nelle condizioni limite.

Con DAPComputationalGeometry, la RWTH Aachen University mette a disposizione una base tecnica che può contribuire a rendere più accessibile lo sviluppo di strumenti CAM per la produzione additiva. Il progetto mostra anche come l’efficienza della stampa 3D industriale dipenda da decisioni prese molto prima dell’avvio della macchina, all’interno degli algoritmi che preparano e organizzano i dati geometrici.

Di Fantasy

Lascia un commento