Facciamo grafica 3D con OpenSCAD (seconda parte)

Nella prima parte dell'articolo abbiamo esplorato le caratteristiche salienti del programma OpenSCAD, consentendo già di produrre interessanti lavori e utili scene 3D. Abbiamo anche apprezzato la relativa facilità d'uso del programma. In questa seconda e conclusiva parte affineremo le tecniche di modellazione solida e apprenderemo nuove funzioni e tecniche avanzate, al fine di produrre scene 3D sempre più sofisticate.

CSG - Geometria Solida Costruttiva

Andiamo ad esplorare uno dei punti di forza del programma: la geometria solida costruttiva. Con essa si possono effettuare operazioni aritmetiche tra i solidi, e precisamente:

  • Unione;
  • Differenza;
  • Intersezione.

Con tali operazioni è possibile scavare dei solidi, tagliarli, rimuovere le parti interessate e sagomarle secondo i propri gusti, il tutto con tecniche booleane. Ben lungi dallo spiegare in dettaglio di cosa si tratti (la Rete è piena di documentazione a riguardo) vediamo come si comporta OpenSCAD con le operazioni booleane tra oggetti. La figura 1 riporta alcune operazioni CSG.

Unione

Il programma effettua una somma logica tra gli oggetti coinvolti. Il risultato ottenuto è un unico solido, come somma dei suoi componenti. Un esempio di unione è descritto nel seguente listato:

union() {
    cylinder(4,1,1,center=true,$fn=100);
    
    translate([0,0,2.3])
    sphere(0.8,center=true,$fn=100);
}

Differenza

Il programma effettua una differenza logica tra gli oggetti coinvolti, rispettando l'ordine di comparsa. Il risultato ottenuto è un unico solido, come operazione di "scavo" tra i suoi componenti. Risulta utile quando un solido deve essere forato. Se l'ordine degli oggetti cambia, anche il risultato finale sarà differente. Un esempio di differenza è descritto nel seguente listato:

difference() {
    cylinder(4,1,1,center=true,$fn=100);
    
    translate([0,0,2.3])
    sphere(0.8,center=true,$fn=100);
}

Intersezione

Il programma effettua una operazione di intersezione tra gli oggetti coinvolti. Il risultato ottenuto è un unico solido, con le sole parti in comune tra i suoi componenti. Un esempio di intersezione è descritto nel seguente listato:

intersection() {
    cylinder(4,1,1,center=true,$fn=100);
    
    translate([0,0,2.3])
    sphere(0.8,center=true,$fn=100);
}

 

 Figura 1: Operazioni di CSG

Figura 1: Operazioni di CSG

I moduli

I moduli di OpenSCAD si possono paragonare alle funzioni e procedure dei tradizionali linguaggi di programmazione. La possibilità di generalizzare un oggetto, infatti, semplifica notevolmente il lavoro ed accorcia il listato di parecchio. Al solito, un esempio pratico, chiarirà immediatamente il concetto. Si debbano costruire tre portaceneri, dalla forma uguale ma dai colori differenti (vedi figura 2). Grazie all'adozione dei moduli, tutto [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2307 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

4 Commenti

  1. Avatar photo smania2000 6 Ottobre 2016
    • Avatar photo Maurizio 6 Ottobre 2016
      • Avatar photo smania2000 6 Ottobre 2016
  2. Avatar photo Giovanni Di Maria 10 Ottobre 2016

Rispondi a smania2000 Annulla risposta

Seguici anche sul tuo Social Network preferito!

Send this to a friend