1. Prodotti
  2.   CAD
  3.   Python
  4.   openscad

openscad

 
 

Modellatore CAD 3D Open Source per Programmatori

Crea modelli 3D solidi usando CSG, estrusione e parametri configurabili tramite API Python gratuita e open source.

Che cos'è OpenSCAD?

OpenSCAD è uno strumento gratuito e open source per la modellazione CAD 3D progettato specificamente per programmatori e ingegneri. A differenza dei modellatori 3D interattivi, OpenSCAD utilizza un approccio basato su script per definire oggetti solidi 3D usando la geometria solida costruttiva (CSG) e tecniche di estrusione. Questo consente una modellazione precisa, riproducibile e parametrica, ideale per parti meccaniche, prototipi e progetti tecnici. Lo strumento supporta Linux, Windows e macOS, e si integra bene con flussi di lavoro basati su Python per automazione e scripting.

OpenSCAD legge i file di script che descrivono l'oggetto e rende il modello 3D di conseguenza, offrendo ai progettisti il controllo completo sul processo di modellazione. Supporta operazioni come unione, intersezione, differenza e trasformazioni come traslazione, rotazione e scala. I dati possono essere importati da file DXF ed esportati in STL, OFF e altri formati. La sua architettura aperta e la comunità attiva lo rendono una scelta potente per gli sviluppatori che cercano capacità di modellazione 3D programmatica senza dipendere da interazioni GUI.

Previous Next

Iniziare con OpenSCAD

OpenSCAD è disponibile come binari precompilati per Linux, macOS e Windows dal suo sito web ufficiale. Per gli sviluppatori, il codice sorgente è ospitato su GitHub e puoi compilarlo dal sorgente usando CMake e gli script di build forniti. Il repository ufficiale [GitHub di openscad](https://github.com/openscad/openscad) include istruzioni dettagliate per la compilazione su tutte le principali piattaforme. Per iniziare rapidamente, scarica l'ultima versione, installala e apri l'editor per scrivere il tuo primo script SCAD.

Installa OpenSCAD tramite gestori di pacchetti

# Ubuntu/Debian
sudo apt install openscad

# macOS (Homebrew)
brew install --cask openscad

# Windows (Chocolatey)
choco install openscad

Geometria Solida Costruttiva (CSG)

La forza principale di OpenSCAD risiede nel suo supporto per la geometria solida costruttiva (CSG), che consente di combinare primitive 3D di base usando operazioni booleane come unione, intersezione e differenza. Questo approccio garantisce una modellazione precisa e sicura per non‑manifold, adatta all’ingegneria e alla produzione. Ad esempio, è possibile creare un cilindro con un foro sottraendo un cilindro più piccolo da uno più grande. Le operazioni CSG sono definite in modo dichiarativo nello script, consentendo una facile parametrizzazione e revisione. Ciò rende OpenSCAD ideale per progettare componenti meccanici, involucri e prototipi funzionali dove precisione e riproducibilità sono fondamentali.

Come creare un cilindro con un foro usando CSG in OpenSCAD?

difference() {
    cylinder(h = 20, r = 10);
    cylinder(h = 25, r = 4, center = true);
}

Estrusione del contorno 2D

OpenSCAD supporta l'estrusione di contorni 2D importati da file DXF o definiti direttamente nel codice SCAD. Questa tecnica è essenziale per creare forme 3D complesse a partire da profili 2D, come ingranaggi, staffe o involucri personalizzati. È possibile estrudere percorsi linearmente o farli ruotare attorno a un asse (tramite rotazione). Il processo di estrusione rispetta l'ordine dei vertici e supporta sia poligoni 2D sia percorsi con fori. Combinato con trasformazioni e moduli, consente la generazione parametrica di parti come tubi, telai o elementi architettonici, rendendo OpenSCAD uno strumento potente per la progettazione tecnica e i flussi di lavoro di fabbricazione.

Come estrudere un poligono 2D in un oggetto 3D?

linear_extrude(height = 10, center = true, convexity = 10)
  polygon(points = [[0,0], [10,0], [5,10]]);

Modellazione parametrica e configurazione

OpenSCAD eccelle nella modellazione parametrica, dove le dimensioni e le forme sono definite usando variabili e funzioni. Questo consente di personalizzare facilmente i progetti modificando pochi parametri, rendendolo ideale per la prototipazione iterativa e la personalizzazione. Ad esempio, è possibile definire un modulo che accetta parametri per larghezza, altezza e spessore, per poi riutilizzarlo in più progetti. I parametri possono anche essere alimentati da dati esterni, come valori provenienti da un file CSV o DXF, consentendo l'integrazione con pipeline di dati basate su Python. Questa capacità supporta il design generativo, dove i modelli si adattano automaticamente a requisiti o vincoli in evoluzione.

Come definire un modulo parametrico riutilizzabile?

module box(width, height, thickness) {
    difference() {
        cube([width, height, thickness]);
        translate([thickness, thickness, -1])
            cube([width - 2*thickness, height - 2*thickness, thickness + 2]);
    }
}

box(50, 30, 3);

Integrazione di importazione ed esportazione dati

OpenSCAD offre un supporto robusto per l'importazione di file DXF 2D e l'esportazione di modelli 3D in STL, OFF e altri formati. Questo rende facile l'integrazione con strumenti CAD/CAM, stampanti 3D e software di simulazione. Le importazioni DXF possono includere percorsi per l'estrusione, mentre le esportazioni supportano STL binario e ASCII per la stampa 3D. Inoltre, OpenSCAD può leggere i parametri di progetto dai file DXF, consentendo flussi di lavoro ibridi in cui la geometria è definita in strumenti esterni ma raffinata programmaticamente. Questa interoperabilità, combinata con la sua natura basata su script, permette agli sviluppatori di automatizzare la generazione di modelli e l'elaborazione batch usando Python o script shell, ottimizzando i flussi di produzione.

Come importare un DXF ed estruderlo in 3D?

linear_extrude(height = 5) {
    import(file = "profile.dxf", layer = "outer");
}
 Italiano