Tutorial OpenScad

Tutorial OpenScad
Fare una parte meccanica richiede un disegno. È iniziato con la carta e i primi programmi CAD hanno usato esattamente lo stesso stile. Ci sono anche quadrati standard sui disegni in modo che ogni disegno venga identificato. Tutto questo è utile quando inizi a entrare in produzione in grandi società. Tuttavia, quando inizi a creare un nuovo pezzo meccanico, potresti desiderare altri metodi.

I metodi CAD 3D ti consentono di vedere l'intero pezzo così com'è. Puoi anche torcere e girarlo. Nel software avanzato, puoi anche simulare il movimento. In tutti i casi, si disegnano i pezzi usando un'interfaccia grafica. Questo è ottimo per creare scatole e cilindri, ma quando si desidera creare forme più complesse, potresti aver bisogno di metodi matematici.

Immettere un modo standard per descrivere qualsiasi materiale con comandi.

Ciò che rende OpenScad così speciale?

In OpenScad, non disegni nulla con il tuo puntatore o penna. Codifica l'intero pezzo con comandi e funzioni. Questo è imbarazzante per gli ingegneri meccanici, ma per i programmatori hai un'altra situazione. Oltre alle preferenze personali, hai anche il vantaggio della precisione. Quando lo progetti con il codice, hai la precisione lì nel codice.

La caratteristica più potente di OpenScad sono le operazioni binarie. Puoi usare gli operatori binari per mettere insieme pezzi o tagliare il materiale. È facile fare un cubo con un foro al centro ritrattando il cilindro dal cubo. Alcune di queste operazioni sono disponibili in altri software CAD, ma cade naturalmente per usarle in OpenScad.

Quali sono le esigenze del tuo progetto?

Dopo aver messo il tuo design su un tovagliolo, potresti pensare di dover vedere cosa sta succedendo quando provi a renderlo un design completo. Non preoccuparti; C'è una finestra di anteprima da guardare mentre codifica. Una volta che hai capito le idee di base, saprai se è la soluzione migliore per il tuo progetto.

In breve, se vuoi creare piccoli pezzi che hanno forme complesse, dovresti provare OpenScad. Per le attrezzature complete e i sistemi meccanici, si desidera utilizzare applicazioni grafiche più avanzate. Detto questo, è tutta una questione di gusto. Puoi creare forme complicate con solo codice, considereresti la codifica di un'intera auto?

Installazione

OpenSCAD, disponibile nei repository standard per la maggior parte delle distribuzioni, può anche essere installato utilizzando uno snap e un Appimage. Interessante è che hai anche un secondo pacchetto che include viti, ingranaggi e forme generiche. Il pacchetto più recente è nello scatto di OpenScad.

SUDO APT Installa OpenScad
sudo snap install OpenScad-nightly

Se si desidera utilizzare le viti incluse che vengono come un pacchetto separato, usa i repository della tua distribuzione.

Sudo Apt Installa OpenScad-Mcad

L'uso delle parti incluse è un'altra questione, coperta più in basso.

Diverse forme standard

I principi dello scripting CAD sono che hai alcune forme geometriche standard. Usi queste forme e le combini in forme più complesse. Le forme standard sono cerchio, quadrato e poligono per 2D. Per 3D, hai una sfera, cubo, cilindro e poliedro. Usando alcuni di questi da costruire e altri da tagliare, puoi creare forme molto complesse.

C'è anche una funzione di testo che crea un testo 2D. Quando è necessario creare disegni per ulteriori elaborazioni, è possibile utilizzare il comando di proiezione. Questo comando taglia una forma 3D lungo un piano in modo da poterlo trasferire in un disegno. Puoi anche aggiungere forme da altri programmi o anche immagini, utilizzando il comando di importazione. Questo funziona anche con le aree 3D.

Inoltre, puoi estrludere le forme da oggetti esistenti.

Trasformazioni

Per impostazione predefinita, si creano tutti i pezzi nel punto centrale della griglia in tutte le dimensioni. Questo li rende tutti sovrapposti. Una volta che hai una serie di forme, vuoi farle posizionare nel punto giusto e ruotare. Queste funzioni sono quelle semplici, Translate mette l'oggetto in un altro posto. Il comando rote ruota l'oggetto o gli oggetti figlio. Hai anche la funzione specchio, che crea una copia dell'oggetto rispecchiato attorno all'asse dato.

Le altre trasformazioni hanno bisogno di esempi per spiegare. In breve, lo scafo crea le linee esterne di molte forme. Prova con due cerchi e combinali con lo scafo (). O il codice seguente.

Translate ([-10,0,0])
Hull ()
cilindro (30, 5, 1);
cubo (9);
sfera (12);

L'operazione di Minkowski viene generalmente utilizzata per creare bordi; Se li vuoi arrotondare, usa una sfera.

Operazioni booleane

Molti pezzi non possono essere creati con solo quadrati, cilindri e sfere. La prima cosa che puoi fare è combinare e tagliare molte forme in una singola forma. Usi gli operatori booleani per farlo. Sono unione, differenza e incrocio.

Union ()
cubo ([35, 5, 2], centro = vero);
cilindro (h = 2, r = 5, centro = vero);

Nel codice sopra si ottiene un singolo pezzo che ha una lampadina al centro. Per fare un tubo, prendi la differenza tra un cilindro e un altro.

Difference ()
cilindro (h = 15, r1 = 30, r2 = 30, centro = true);
cilindro (h = 15, r1 = 25, r2 = 25, centro = true);

Mentre andiamo avanti, userai questi e altro ancora. Ecco un esempio di incrocio.

intersezione()

ruotare ([45,0.0])
cilindro (h = 40, r = 4, centro = vero);
Translate (5,5,5)
cilindro (h = 40, r = 6, centro = vero);

L'intersezione lascia solo le cose sovrapposte; Puoi creare molte forme usando questo metodo.

Per i loop

Molti dei tuoi disegni avranno lo stesso pezzo molte volte, considera un patio. Di solito sono fatti di diverse assi con lacune tra loro. In questo caso, si crea una tavola e si basa semplicemente su di loro con un ciclo.

gap = 8;
PLANK_WIDTH = (BED_WIDTH / 4) - GAP;
num_planks = 4;
for (plank_x_pos = [0: 1: num_planks - 1])

Translate ([plank_width * plank_x_pos + gap * plank_x_pos, 0,0])
cubo ([plank_width, 4.200]);

Senza il ciclo per, avresti scritto le dichiarazioni cube e tradurre quattro volte. Avresti anche dovuto calcolare fino a che punto sarebbe andata la tavola successiva. Anche con solo quattro pezzi, questa soluzione sembra molto più semplice. Nell'esempio, puoi anche vedere le variabili che devono essere impostate. Tutte le variabili sono impostate al momento della compilazione, questo è importante poiché è possibile riscontrare problemi di debug se si considerano valori in altri linguaggi di programmazione. Come vedrai più avanti, puoi anche rendere l'intero patio un modulo.

Matematica

Incluso in OpenScad, hai alcune funzioni matematiche disponibili. Le caratteristiche supportate sono le funzioni più trigonometriche, arrotondando in modi diversi e funzionalità logaritmica. Puoi vedere un esempio di seguito.

per (i = [0:36])
Translate ([i*10,0,0])
cilindro (r = 5, h = cos (i*10)*50+60);

La funzione sopra crea una lunga fila dritta di cilindri di altezza diversa. Le funzioni principali sono collegate alla trigonometria. Tuttavia, con funzioni casuali di arrotondamento e gli operatori standard, puoi creare praticamente tutto. C'è anche supporto per vettori, matrici e radice quadrata. Anche con queste funzioni, puoi andare molto lontano. Tuttavia, non coprono tutto ciò che puoi immaginare; Invece, puoi creare funzioni.

Moduli e funzioni

Hai molti moduli inclusi nell'installazione OpenScad. Tuttavia, puoi anche scaricare altre biblioteche. Nella tua distribuzione, probabilmente trovi MCAD, chiamato anche OpenSCAD-MCAD. Per installare sotto Ubuntu.

$ sudo apt install OpenScad-mcad

All'interno di questo pacchetto, trovi sia moduli che funzioni. Prima di iniziare qualsiasi progetto, cerca librerie e moduli. C'è già una libreria di viti, e questo è solo l'inizio. Manca una parte del tuo design? Crea i tuoi moduli; Li usi per creare nuovi pezzi. Quando usi i parametri, puoi farne molte versioni. Il modo migliore per creare un modulo è quello di creare il design come file separato, capire cosa deve essere dinamico e aggiungere "modulo" attorno al pezzo.

Per utilizzare un modulo, lo chiami con il suo nome. Poiché molti moduli sono disponibili in file separati, è necessario inserire un'istruzione Include nella parte superiore del file. Presta attenzione alla differenza tra la dichiarazione "Includi" e la dichiarazione "usa". Se si desidera eseguire tutto in un file, lo "includi" se si desidera moduli e funzioni definiti solo, "usa" il file. Per assicurarti di poter utilizzare i moduli, devi inserirli nella directory corrente del tuo modello o uno dei percorsi di ricerca.

Innanzitutto, diamo un'occhiata ad alcuni che puoi scaricare e utilizzare.

Viti

Nel pacchetto della sezione precedente, puoi trovare molte cose. Un gruppo sono viti! Puoi provarli caricandoli nell'applicazione e chiamando il modulo. Nella biblioteca MCAD, puoi trovare molte viti. Ci sono molte altre collezioni da altre fonti. Per utilizzare una vite, creare un file che contiene l'istruzione include per il modulo necessario. Ora, ovunque tu voglia utilizzare il modulo, puoi utilizzare il nome del modulo per creare la vite.

includere ;
BALL_GROOVE (12, 40, 2);

Questa è una vite che può adattarsi a una palla. Puoi anche trovare Nuts_and_bolts_scad, che definisce viti metriche e bulloni. I progettisti hanno utilizzato un sito Web in cui è possibile trovare bulloni e creare un metodo da utilizzare. Un altro esempio è un buco per un bullone.

includere
Difference ()
cubo ([12,16,20], centro = vero);
Translate ([0,0, -3])
Bolthole (8, lunghezza = 300);

Il codice sopra crea un foro abbastanza grande per il bullone M8, questo esempio crea un cubo e taglia due cilindri di due dimensioni. Questo non è molto complicato, ma la complessità cresce rapidamente quando si usano altri componenti. Aggiungi le viti alle scatole parametriche e puoi vedere come una libreria aiuta.

Fare un carrello

Per fare qualsiasi costruzione di qualsiasi complessità, dovrai fare un pezzo alla volta. Più tardi, li combini tra loro. Come abbiamo accennato in precedenza, puoi usare moduli e funzioni. Il modo migliore per iniziare è decidere dove è necessario impostare le variabili. Per un carrello semplice, hai bisogno di altezza, interasse e lunghezza. È necessario impostare i valori in un unico posto e usarli per adattarsi alle parti attorno al design. Potresti aver bisogno di più valori, ma non metterli tutti quando inizi. Quando inizi un nuovo progetto, non avrai tutte le parti pronte, quindi preparati a cambiare le cose.

interasse = 150;
cartLength = Wheelbase * 1.2;
cartwidth = 50;
WheelDiameter = 25;
sospensioneHeight = (WheelDiameter/2) + 5;
Translate ([Wheelbase/2, Cartwidth, 0])
rotare ([90,0,0])
cilindro (r = wheelradius, 10, centro = vero);
Translate ([Wheelbase/2,-(Cartwidth), 0])
rotare ([90,0,0])
cilindro (r = wheelradius, 10, centro = vero);

Il codice mostra il codice per le prime due ruote. Se ne pensi un po ', probabilmente puoi creare le ruote posteriori. Per aggiungere il flak, la superficie in cui va tutto il resto, aggiungi solo un cubo. Usa le variabili che inserisci nel codice.

Translate ([0, 0, SuspensionHeight])
cubo ([cartLength, cartwidth, 10], centro = true);

Questo flak è alla stessa altezza delle ruote, quindi ci siamo occupati di questo con il valore dell'altezza della sospensione. La dichiarazione tradotta influisce su ciò che è direttamente dopo di essa. Si noti che non c'è semi-colon alla fine di una linea. Quando le dichiarazioni all'interno diventano lunghe, usi le parentesi graffe attorno ad esso.

Ora, devi aggiungere assi e sospensioni. Gli assi possono essere semplici cilindri che vanno tra le ruote. Li metti allo stesso modo in cui hai fatto le ruote usando ROTE e traduci. In effetti, il meglio è usare gli stessi valori.

Translate ([Wheelbase/2,0,0])
rotare ([90,0,0])
cilindro (r = wheelradius * 0.25, h = (cartwidth * 2) + 15, centro = true);

Il codice qui mette l'asse anteriore in posizione. L'asse posteriore, ti lascio il lettore per capire. Possiamo risolvere la sospensione in molti modi. In questo caso, lo manterremo semplice.

// sospensione
Translate ([Wheelbase/2, 0, SuspensionHeight])
rotate ([90,0,0])

Difference ()
cilindro (r = sospensione height, 10, centro = vero);
cilindro (r = sospensione height - 5, 11, centro = vero);
cubo ([102, sospensione height/6, 12], centro = true);

Translate ([SuspensionHeight, 0, 0])
cilindro (r = sospensione height/3, h = 12, centro = true);
Translate ([-SuspensionHeight, 0, 0])
cilindro (r = sospensione height/3, h = 12, centro = true);

Questo codice crea una sospensione molto grezza; Usa solo cilindri, quindi non sarà il migliore quando inizi a usarlo. Illustra un modo per creare progetti formando i primitivi; cilindro, cubo e bene, questo è tutto per questo modello. Man mano che avanza, farai ogni pezzo un modulo e posizionerà quei pezzi.

Biblioteche

Nella parte precedente, hai usato solo cerchi. Eventuali progetti che utilizzano solo tali primitivi non saranno i migliori per tutte le applicazioni. Devi creare progetti belli ed efficienti. La soluzione è la matematica! Per aggiungere questo, dovresti iniziare usando le biblioteche di altre persone.

Ci sono un gran numero di biblioteche costruite da persone intelligenti nella comunità. Le persone che costruiscono sono utenti che risolvono i loro problemi e poi li hanno gentilmente condivisi con tutti gli altri. Grazie a tutti voi! Un buon esempio è Dotscad; Per l'esempio della sospensione, puoi trovare una curva Bézier.

Esportazione ad altri software

Una volta che hai un design decente, potresti voler usarlo in un altro software. Puoi esportare in STL, DWG e una serie di altri formati. I tuoi appassionati di stampa 3D possono utilizzare i file STL direttamente nei programmi Slicer.

Alternative

Un'altra alternativa entusiasmante è implicito. Questo software è molto in fase di sviluppo. Devi eseguire la sua riga di comando e richiede Haskell sul tuo sistema. La maggior parte delle installazioni standard non ha Haskell!

Conclusione

All'inizio, lo sguardo, usare OpenScad è molto difficile. Superare la curva di apprendimento è un po 'una lotta, ma ne vale la pena per molti utenti. Grazie ai progetti per contribuire al progetto. Hai molte funzionalità disponibili alla fine di un comando git. Solo superare le basi della creazione di progetti meccanici attraverso il codice cambia il modo in cui pensi alle forme. Questo è vantaggioso anche se continuerai a usare il punto e fai clic per realizzare gli altri progetti.

  • https: // www.OpenScad.org/documentazione.html?versione = 2019.05
  • http: // edutechwiki.unigio.ch/en/openscad_beginners_turial
  • https: // www.OpenScad.org/cheatsheet/indice.html