Guida per principianti a OpenSCAD Programmazione di modelli stampati in 3D
Hai sempre desiderato progettare i tuoi modelli 3D? Che dire della stampa 3D di una parte che hai progettato? Ci sono molti programmi di modellazione 3D in giro, ma questi possono essere difficili da usare se non si è artistici (come me). OpenSCAD ti offre un modo per progettare modelli specifici per la stampa 3D, usando nient'altro codice. Non preoccuparti se non sai nemmeno come codificarti, oggi ti guiderò attraverso le basi.
Cos'è OpenSCAD?
OpenSCAD è gratuito Solid Computer Aided Design modellatore. È disponibile per Windows, Mac e Linux. Ciò che lo rende diverso da molti altri programmi è la progettazione di parti usando il codice al posto del mouse. Ciò rende molto semplice eseguire calcoli matematici, memorizzare dimensioni in variabili, ridimensionare parti e altro ancora.
Ci sono alcuni fattori da tenere in considerazione quando si stampano modelli 3D, ma molti di questi si applicano alla stampa 3D di modelli CAD in generale, non solo ai progetti OpenSCAD. Se vuoi saperne di più sulla stampa 3D, consulta la nostra guida per principianti Ultimate Beginner's Guide to 3D Printing Guida per principianti alla stampa 3D La stampa 3D avrebbe dovuto essere la nuova "Rivoluzione industriale". Non ha ancora conquistato il mondo, ma sono qui per parlarti di tutto ciò che devi sapere per iniziare. Leggi di più . Se stai cercando un modellatore più interattivo, leggi la guida alla creazione di oggetti in Sketchup Design & Build Edifici virtuali 3D e oggetti con Google SketchUp Progetta e costruisci edifici virtuali 3D e oggetti con Google SketchUp Google SketchUp è il programma di modellazione backbone per Google BuildingMaker, che consente ai grafici di inviare progetti di costruzione a Google da aggiungere alle immagini ufficiali di Google Earth. Leggi di più .
Prepararsi
Per prima cosa, vai alla pagina dei download e trova una versione di OpenSCAD adatta al tuo sistema operativo. Sto usando Mac OS, ma questi principi di OpenSCAD si applicano a tutti i sistemi.
Una volta installato, vai avanti e aprilo. Ti verrà presentato questo menu di avvio:
Questo ti mostra i file che hai aperto per ultimi e ti dà la possibilità di caricare alcuni esempi. Sentiti libero di dare un'occhiata ad alcuni esempi, tuttavia ho scoperto che queste cose rendevano le cose più confuse al momento del primo avvio. Per questo tutorial, crea un nuovo file facendo clic sul nuovo pulsante.
Una volta aperto, ti verrà presentata questa interfaccia dall'aspetto appariscente:
Questo è diviso in tre aree principali. A sinistra è il tuo editore e menu. Qui è dove scriverai il tuo codice. Non avrà ancora alcun codice, dato che stai creando un nuovo file. Nella parte superiore, ci sono alcuni pulsanti di menu per eseguire attività di base, come caricare, salvare, annullare e così via.
In basso a destra è il consolle. Questo mostrerà eventuali errori nella costruzione del modello.
La sezione finale è il interfaccia principale in alto a destra. Qui puoi interagire con il tuo modello, ma non sarai in grado di modificarlo qui (scriverò codice per farlo).
Ci sono diversi pulsanti nella parte inferiore di questa interfaccia principale. Questi ti consentono principalmente di visualizzare il tuo design in diversi modi.
Vai avanti e salva un nuovo file premendo il tasto salva nel menu dell'editor o andando a File > Salvare.
Le basi
Il modo in cui OpenSCAD funziona la maggior parte del tempo è attraverso l'addizione e la sottrazione di forme semplici. Puoi costruire modelli molto complessi in questo modo, quindi saltiamo dentro.
Ecco la prima forma, una semplice scatola:
Ed ecco il codice per produrlo:
cubo(); // crea un cubo
Per ottenere il codice da eseguire e creare il modello, è necessario visualizzarlo in anteprima. OpenSCAD lo farà di default ogni volta che salvi, oppure puoi premere F5 forzare un aggiornamento. Prova a muoverti nello spazio 3D tenendo premuti i pulsanti sinistro o destro del mouse.
Ora, questo produce un bel cubo, ma non è terribilmente utile senza alcuna dimensione. OpenSCAD non funziona in nessun particolare sistema di misura, invece, le unità sono tutte relative l'una all'altra. Puoi creare una scatola 20 x 10, e spetta a qualsiasi altro programma (come l'affettatrice di stampa 3D) interpretare questi, che siano metrici o imperiali. In realtà fornisce una grande flessibilità.
Aggiungiamo alcune dimensioni al tuo cubo. Lo fai passare i parametri al cubo metodo:
cube (size = [10, 20, 30]); // rettangolo
I valori 10, 20, e 30 rappresenta la dimensione del cubo nel X, Y, e Z asse. Nota come questo ha prodotto un rettangolo molto più grande:
Per impostazione predefinita, OpenSCAD disegna i componenti in basso a sinistra. È possibile regolare questo impostando il centro parametro a vero. Ecco il codice per farlo nel rettangolo:
cube (size = [10, 20, 30], center = true); // centrato sul rettangolo
Ed ecco come appare:
La centratura degli oggetti funziona bene per forme semplici, ma rende le cose complicate per oggetti non simmetrici. Dovrai decidere quale metodo funziona meglio per te.
Passando a una forma più complessa, ecco a cilindro:
Ecco il codice per crearlo:
cilindro (d = 10, h = 10, centro = vero); // cilindro
diversamente da cubi, cilindri vengono disegnati automaticamente al centro dell'asse X e Y. Il d parametro sta per diametro (puoi passare nel raggio, se preferisci). Il h parametro è l'altezza. Qui però c'è qualcosa di sbagliato. Questo cilindro sembra abbastanza “blocchi”. È necessario aumentare il numero di volti disegnati sulla circonferenza. Questo è facile da fare: aggiungi il seguente parametro al tuo codice cilindro.
$ fn = 100
Quindi la definizione del cilindro diventa:
cilindro (d = 10, h = 10, center = true, $ fn = 100);
Ecco come appare:
Questo aumenta il numero di facce necessarie per creare cerchi: 100 è un buon punto di partenza. Tieni presente che questo aumenterà notevolmente i tempi di rendering, in particolare su modelli complessi, quindi di solito è meglio lasciarlo fuori finché non hai finito di progettare.
È facile applicare trasformazioni sulle forme. Devi chiamare metodi speciali prima di creare le tue forme. Ecco come ruotare il cilindro usando il ruotare metodo:
ruotare (a = [0, 90, 0]) cilindro (d = 10, h = 10, center = true); // cilindro ruotato
I valori passati al un parametro rappresenta l'angolo di rotazione dell'asse X, Y e Z. Ecco il risultato:
Un'altra funzione molto utile è tradurre. Ciò consente di spostare gli oggetti nello spazio 3D. Ancora una volta, dovrai passare la quantità di movimento per ciascun asse. Ecco il risultato:
Ecco il codice:
translate (v = [0, 25, 0]) cylinder (d = 10, h = 10, center = true); // cilindro tradotto
Capire il tradurre il metodo è una delle cose più importanti che puoi fare. È richiesto per la progettazione di disegni più complessi.
Infine, un'altra forma utile è a sfera:
Ecco il codice:
sfera (d = 100);
Proprio come il cilindro, puoi appianarlo usando il $ fn codice sopra.
Codifica avanzata
Ora che conosci le basi, diamo un'occhiata ad alcune abilità più avanzate. Quando si progetta una parte, è utile pensare a come potrebbe essere composta da oggetti e forme più piccole. Non devi farlo, e puoi farlo “inventare” come si va, ma aiuta ad avere un piano approssimativo - anche se è solo nella tua testa.
Creiamo una forma avanzata: un cubo con un interno di sfera scavata. Creare un cubo e a sfera con centro impostato su true. Sottrarre gli uni dagli altri usando il differenza metodo:
difference () // sottrazione cubo (dimensione = [50, 50, 50], center = true); // sfera del cubo esterno (d = 65, center = true); // sfera interna
Ecco il risultato:
Sperimenta con il diametro (d parametro) della sfera e vedere cosa succede.
In OpenSCAD, di solito ci sono molti modi per realizzare lo stesso compito. Se vuoi un groove in un cubo, puoi sottrarre un altro cubo o aggiungerne altri due sopra. Di solito non importa in che modo vengono fatte le cose, ma a seconda della complessità della parte, può essere più semplice fare certe manipolazioni prima.
Ecco come creare un canale in un cubo. Invece di usare un altro cubo, l'uso di un cilindro creerà un canale arrotondato. Notare come il differenza il metodo è usato ancora una volta e come tradurre e ruotare i metodi sono usati per manipolare le forme. Usando il ruotare il metodo spesso rende complicate le trasformazioni, quindi gioca con i parametri fino a raggiungere il risultato desiderato. Ecco il codice:
difference () // sottrazione cubo (dimensione = [50, 150, 50]); // outer cube translate (v = [25, 150, 50]) ruota (a = [90, 0, 0]) cilindro (d = 40, h = 150); // canale cilindrico
Ecco come appare:
Forse ti starai chiedendo cosa siano tutte le cose verdi. Questo è qui perché il modello 3D è solo un'anteprima in questo momento. Per risolvere questo problema, premere F6 per rendere completamente il modello. Questo può richiedere del tempo, a seconda della complessità. L'anteprima (F5) di solito è abbastanza buono mentre si lavora. Ecco come appare il rendering finale (con $ fn impostato su 100):
Ecco un altro esempio avanzato. Supponi di voler montare qualcosa usando un bullone. Creare un buco è abbastanza semplice usando cilindro, ma cosa succederebbe se si volesse la testa del bullone montata a filo per i bulloni a testa svasata? Potresti semplicemente creare un cilindro grande per la testa del bullone, ma non sarebbe molto bello. La soluzione è uno smusso, che puoi creare con cilindro metodo. Il trucco qui è specificare due diametri - d1 e d2. Crea queste dimensioni diverse e OpenSCAD farà il resto.
Dato che sono inglese, userò qui le dimensioni metriche, per un bullone a testa svasata M5. Potresti facilmente regolarlo per adattarlo a qualsiasi fissazione che desideri utilizzare. Ecco il codice:
$ fn = 100; // impostazioni bullone m5_clearance_diameter = 5.5; m5_head_clearance_diameter = 11; m5_head_depth = 5; difference () // sottrarre cubo (20, 20, 20); bolt_hole (10, 10, 20); bolt_bevel (10, 10, 15); modulo bolt_hole (x, y, altezza) / * Foro M5 a 90 gradi. * / translate (v = [x, y, 0]) cilindro (d = m5_clearance_diameter, h = height); modulo bolt_bevel (x, y, z) // M5 smusso tradurre (v = [x, y, z]) cilindro (d2 = m5_head_clearance_diameter, d1 = m5_clearance_diameter, h = m5_head_depth);
Si noti come le dimensioni dei bulloni sono memorizzate in variabili? Ciò semplifica notevolmente la programmazione e la manutenzione. Un metodo che potresti non aver incontrato è ancora modulo. Questo ti permette di definire un blocco di codice da eseguire quando vuoi. In realtà, questo è un funzione. Dovresti usare moduli e variabili per qualsiasi forma complessa, in quanto rendono le cose più facili da leggere e più veloci per apportare eventuali modifiche. Ecco come appare lo smusso:
Diamo un'occhiata ad un ultimo esempio. Supponi di voler produrre una serie di fori attorno a un cerchio. Potresti misurare, tradurre e ruotare manualmente tutti questi, ma anche con i moduli questo sarebbe noioso. Ecco il risultato finale, 10 cilindri distribuiti anche attorno a un cerchio:
Ecco il codice:
$ fn = 100; number_of_holes = 10; for (i = [1: 360 / number_of_holes: 360]) // number_of_holes definisce il numero di volte in cui questo codice esegue make_cylinder (i); modulo make_cylinder (i) // crea cilindro e persino distribuisce il cilindro di rotazione ([0, 0, i]) ([10, 0, 0]) (h = 2, r = 2);
Questo codice è più semplice di quanto ti aspetteresti. UN per loop è usato per chiamare il make_cylinder modulo dieci volte. Poiché ci sono 360 gradi in un cerchio e 360/10 = 36, ogni cilindro deve essere ruotato con incrementi di 36 gradi. Ogni iterazione di questo ciclo incrementerà il valore io variabile di 36. Questo ciclo chiama il make_cylinder modulo, che semplicemente disegna un cilindro e lo posiziona secondo i gradi passati ad esso dal ciclo. È possibile disegnare più o meno cilindri modificando il number_of_holes variabile - anche se potresti voler regolare la spaziatura se lo fai. Ecco come appaiono i 100 cilindri, si sovrappongono leggermente:
Esportazione
Ora che sai come codificare in OpenScad, c'è un ultimo passaggio necessario prima di poter stampare i tuoi modelli in 3D. Devi esportare il tuo design da OpenSCAD nello standard STL formato utilizzato dalla maggior parte delle stampanti 3D. fortunatamente, c'è un pulsante di esportazione in STL: Menu Editor > In alto a destra:
Questo è tutto per oggi. Ora dovresti avere un'ottima conoscenza operativa di OpenSCAD - tutte le cose complesse si basano su queste basi, e molte forme complesse sono un sacco di semplici forme combinate.
Per una sfida, perché non guardare alcuni dei nostri progetti di stampa 3D e provare a ricreare le parti in OpenSCAD:
- Stampabili 3D per giochi di ruolo fantasy da tavolo I migliori stampabili 3D per giochi di ruolo fantasy da tavolo I migliori stampabili 3D per giochi fantasy da tavolo Se preferisci un'esperienza coinvolgente per giochi di ruolo, c'è un nuovo modo per farlo: usa la stampa 3D per creare pezzi di terreno fisico e miniature. Leggi di più
- Pulsanti di scelta rapida personalizzati Crea i tuoi pulsanti di scelta rapida personalizzati con un Arduino Crea i tuoi pulsanti di scelta rapida personalizzati con un Arduino L'umile Arduino può fare un sacco di cose, ma sapevi che può emulare una tastiera USB? È possibile combinare scorciatoie da tastiera lunghe in un unico tasto di scelta rapida personalizzato, con questo semplice circuito. Leggi di più
- Electronic D20 Roll in Style con questo fai-da-te elettronico D20 Die-roll in stile con questo DIY Electronic D20 Die Vuoi qualcosa di unico al tuo prossimo incontro di gioco? Dai un'occhiata a questo D20 elettronico fai da te, con grafica personalizzata per i colpi e le mancate critiche. Leggi di più
- Giochi 3D puoi stampare 6 giochi fantastici Puoi stampare in 3D a casa 6 I giochi più fantastici puoi stampare in 3D a casa Tutti sanno delle stampanti 3D, ma quello che potresti non sapere è quanto sia divertente la stampa 3D e quanto divertimento possa creare tutta la tua famiglia. Stiamo parlando di giochi da tavolo stampati in 3D. Leggi di più
Hai imparato nuovi trucchi oggi? Qual è la tua funzione OpenSCAD preferita? Passerai presto da un altro strumento CAD? Fateci sapere nei commenti qui sotto!
Scopri di più su: modellazione 3D, stampa 3D.