Archivi categoria: openscad

Serata a tema – Openscad, disegnare in 3d programmando!

Lunedì 10 dicebre 2012, per Pillole di Free Software, serata dedicata a OpenSCAD presso il Luccalug

pillole_opescadHo già parlato in un altro post di opensc
ad, software che ho utilizzato per modellare diversi oggetti poi stampati in 3D

Durante la serata illustrerò ai partecipanti i principi della modellazione CSG modellando un semplice anemometro. Esso dovrà però essere completamnete parametrico: dovremo essere in grado cioè di stabilire a posteriori il numero di pale, la loro grandezza o la robustezza dei supporti.

Openscad – programmare in 3D

OpenSCAD è un software per creare oggetti cad 3D. Stiamo parlando di un software libero e disponibile per Linux/UNIX, MS Windows e Mac OS X.

Esso non si focalizza sulla modellazione artistica tipica di software come Blender, bensì mantiene un legame più stretto con la progettazione CAD.

Openscad è qualcosa di simile ad un compilatore 3D che legge un file script per descrivere un oggetto e renderizzarlo. Questo garantisce un controllo completo al designer e permette di modificare con semplicità ogni passaggio nel processo di modellazione o di creare modelli definiti da parametri configurabili.

IL programma offre principalmente 2 tecniche di modellazione:

  • Geometria solida costruttiva  (vedi sotto)
  • Estrusione di perimetri 2D

Come formato di scambio per i perimetri 2D è utilizzato il formato DXF, dal quale è inoltre possibile leggere dei parametri.

Infine OpenSCAD può leggere e creare modelli 3D nel formato STL and OFF.

CSG

La geometria solida costruttiva, abbreviata spesso in CSG, è un modello di rappresentazione di oggetti 3D, di tipo volume-based. In questo approccio le forme vengono costruite a partire da una famiglia di solidi geometrici elementari, che vengono chiamati primitive, come ad esempio il parallelepipedo, il cilindro, la sfera, il cono, il toro.
Per poter costruire volumi complessi a partire da questi volumi elementari si fa uso di operazioni booleane, che derivano dalle operazioni sugli insiemi:

  • Somma (unione)
  • Sottrazione (differenza)
  • Intersezione

Il procedimento che porta ad ottenere il solido finale può essere organizzato in uno schema, chiamato albero CSG: ogni foglia rappresenta un solido e ad ogni nodo corrisponde un’operazione booleana, mentre in cima troviamo l’oggetto finale.

Un esempio

Vediamo come creare una forma primitiva, nel nostro caso sperimentiamo con un cilindro modificando vari parametri:

cylinder(h = 10, r1 = 10, r2 = 20, center = false);
cylinder(h = 20, r1 = 20, r2 = 10, center = true);

Adesso proviamo a vedere cosa succede unendo i due oggeti o intersecandoli:

union() {
  cylinder(h = 10, r1 = 10, r2 = 20, center = false);
  cylinder(h = 20, r1 = 20, r2 = 10, center = true);}

difference() {
  cylinder(h = 10, r1 = 10, r2 = 20, center = false);
  cylinder(h = 20, r1 = 20, r2 = 10, center = true);}