OpenSCAD è un motore e software cad con una logica a OpenCSG (Constructive Solid Geometry), una libreria che permette la creazione e la modellazione 3d in modo semplice e veloce. Questo programma permette di strutturare e poi stampare un modello tramite una sintassi interna, il software è composto da diverse parti:
- Editor: dove si struttura il modello assegnando gli attributi ai poligoni che poi comporranno il modello finito;
- Console: la finestra in cui vengono visualizzate le risposte dell’interprete di istruzioni;
- Error Log: la lista dei messaggi errori o warning;
- Customers.
L’ambiente risulta estremamente personalizzabile, andando a impostare il layout che più c’è comodo per poter lavorare.
I due componenti fondamentali sono generalmente l’editor e la console che svolgono la funzione rispettivamente di scrittura e definizione, e di rimando all’utente per poter lavorare correttamente.
Uno dei punti che lascia i nuovi utenti perplessi è proprio l’unità di misura della scala che viene riportata nel programma, il fatto è che esso non utilizza un unità specifica, per risolvere questo problema su reddit l’utente e0engoon propone di creare un file .scad con tutte le unità dimisura al suo interno, esso si presenta nel seguente modo:
// unita.scad
MILLIMETRI = 1.0;
CENTIMETRI = 10.0;
METRI = 1000.0;
POLLICI = 25.4;
PIEDI = 304.8;
// selezione delle unità di misura
unita = POLLICI;
// riduce tutti in millimetri
dimensione_contenitore = 60 / unita;
spessore_del_muro = 60 / unita;
Per selezionare l’unità di misura basterà semplice cambiare il valore della variabile unita
con quelli sopra citati. poter utilizzare suddette unità in un file interno il comando include
, come posto da esempio:
include <unita.scad>
module contenitore(){
difference(){
cube(dimensione_contenitore);
translate([spessore_del_muro, spessore_del_muro, spessore_del_muro]);
dimensione_interna = dimensione_contenitore - spessore_del_muro * 2;
cube([dimensione_del_muro, dimensione_interna, dimensione_contenitore]);
}
}
contenitore();
Un altro sistema utile è lo scale
, che consente di scalare un modello X, del quantitativo passato tramite i paramentri della fuzione.
scale(v = [x, y, z]) {
cube(5);
}
Ovviamente bisogna riportare la propria scala in base al concetto dell’unità (openSCAD ha un unità generica quindi bisogna fare la proporzionare in base al rapporto e il sistema di riferimento della propria sistema di misurazione. il rapporto rispetto al SCAD unit è presente nell’esempio precente, infatti, nel caso del millimetro è pari a 60/1.0, mentre, un pollice equivale a 60/25.4).
Il concetto fondamentale nel caso di entrambi i metodi trattati è il fatto che bisogna rispettare la scala quando si va a rappresentare il modello, mantenendo delle proporzioni, quindi, se ad esempio si vuognono usare gli inch per fare le misurazione bisogna proporzionare il modello seguendo quella scala, esattamente come si fa con i piedi (ft) o i millimetri (mm).
Per poter costruire dei solidi complessi una delle funzioni che permette di fare openSCAD è la sottrazione di un area X, partendo dai solidi elementari (cubo, sfera, cilindro), essa viene implementata con un corpo funzione specifico chiamato diference
e ha la seguente logica: