CAD

tutorial openSCAD

tutorial openSCAD
Realizzare una parte meccanica richiede un disegno. È iniziato con la carta e i primi programmi CAD utilizzavano esattamente lo stesso stile. Ci sono anche quadrati standard sui disegni in modo che ogni disegno sia identificato. Tutto questo è utile quando si inizia ad andare in produzione in grandi aziende. Tuttavia, quando inizi a creare un nuovo pezzo meccanico, potresti volere altri metodi.

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

Inserisci un modo standard per descrivere qualsiasi materiale con i comandi.

Cosa rende openSCAD così speciale?

In openSCAD, non si disegna nulla con il puntatore o la penna. Codifichi 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 i pezzi o tagliare il materiale. È facile creare un cubo con un foro al centro ritraendo il cilindro dal cubo. Alcune di queste operazioni sono disponibili in altri software CAD, ma è naturale utilizzarle in openSCAD.

Quali sono le esigenze del tuo progetto?

Dopo aver messo il tuo disegno su un tovagliolo, potresti pensare di aver bisogno di vedere cosa sta succedendo quando provi a renderlo un disegno completo. Non preoccuparti; c'è una finestra di anteprima da guardare mentre codifichi. Una volta comprese le idee di base, saprai se è la soluzione migliore per il tuo progetto.

In breve, se vuoi creare piccoli pezzi con forme complesse, dovresti provare openSCAD. Per apparecchiature complete e sistemi meccanici, si desidera utilizzare applicazioni grafiche più avanzate. Detto questo, è tutta una questione di gusti. Puoi creare forme complicate solo con il codice, prenderesti in considerazione la codifica di un'intera macchina??

Installazione

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

sudo apt install openscad
sudo snap install openscad-nightly

Se desideri utilizzare le viti incluse fornite in un pacchetto separato, usa i repository della tua distribuzione.

sudo apt install openscad-mcad

L'uso delle parti incluse è un'altra questione, trattata più avanti.

Diverse forme standard

I principi dello scripting CAD sono 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 il 3D, hai una sfera, un cubo, un cilindro e un poliedro. Usando alcuni di questi per costruire e altri per 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 poterla trasferire su un disegno. Puoi anche aggiungere forme da altri programmi o anche immagini, usando il comando di importazione. Funziona anche con le forme 3D.

Inoltre, puoi estrudere forme da oggetti esistenti.

trasformazioni

Per impostazione predefinita, crei tutti i pezzi nel punto centrale della griglia in tutte le dimensioni. Questo li fa sovrapporre tutti. Una volta che hai un numero di forme, vuoi averle posizionate nel punto giusto e ruotate. Queste funzioni sono quelle semplici, translate mette l'oggetto in un altro posto. Il comando di rotazione ruota l'oggetto o gli oggetti figlio. Hai anche la funzione specchio, che crea una copia dell'oggetto specchiato attorno all'asse dato.

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

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

L'operazione Minkowski viene solitamente utilizzata per creare bordi; se li vuoi arrotondati, usa una sfera.

Operazioni booleane

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

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

Nel codice sopra ottieni un pezzo unico che ha una lampadina al centro. Per fare un tubo, prendi la differenza tra un cilindro e l'altro.

differenza()
cilindro(h = 15, r1 = 30, r2 = 30, centro= vero);
cilindro(h = 15, r1 = 25, r2 = 25, centro = vero) ;

Man mano che andiamo avanti, utilizzerai questi e altri ancora. Ecco un esempio di incrocio.

intersezione()

ruotare ([45,0.0])
cilindro( h = 40, r = 4, centro = vero);
tradurre(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 progetti avranno lo stesso pezzo molte volte, considera un patio. Di solito sono fatti di più assi con spazi tra di loro. In questo caso, fai una tavola e itera su di essa con un ciclo for.

distanza = 8;
plank_width = (bed_width / 4) - distanza;
num_planks = 4;
for(plank_x_pos = [0:1:num_planks - 1])

translate([larghezza_asse*pos_x_asse + spazio * pos_x_asse,0,0])
cube([larghezza_asse,4,200]);

Senza il ciclo for, avresti scritto il cubo e tradotto le istruzioni quattro volte. Avresti anche dovuto calcolare fino a che punto sarebbe arrivata la prossima tavola. 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 in fase di compilazione, questo è importante poiché potresti incorrere in problemi di debug se pensi a loro come valori in altri linguaggi di programmazione. Come vedrai più avanti, puoi anche trasformare l'intero patio in un modulo.

Matematica

Incluso in openSCAD, hai a disposizione alcune funzioni matematiche. Le funzioni supportate sono la maggior parte delle funzioni trigonometriche, arrotondamento in modi diversi e funzione logaritmica. Puoi vedere un esempio qui sotto.

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

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

Moduli e funzioni

Hai molti moduli inclusi nell'installazione di openSCAD. Tuttavia, puoi anche scaricare altre librerie. Nella tua distribuzione, probabilmente troverai 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 fare nuovi pezzi. Quando usi i parametri, puoi farne molte versioni. Il modo migliore per creare un modulo è creare il design come un file separato, capire cosa deve essere dinamico e aggiungere "modulo" attorno al pezzo.

Per usare un modulo, lo chiami con il suo nome. Poiché molti moduli sono disponibili in file separati, è necessario inserire un'istruzione include all'inizio del file. Presta attenzione alla differenza tra l'istruzione "includi" e l'istruzione "usa". Se vuoi che tutto in un file venga eseguito, lo "includi", se vuoi che moduli e funzioni siano definiti solo, "usa" il file. Per assicurarti di poter utilizzare i moduli, devi inserirli nella directory corrente del tuo modello o in uno dei percorsi di ricerca.

Per prima cosa, diamo un'occhiata ad alcuni che puoi scaricare e utilizzare.

Viti

Nel pacchetto della sezione precedente, puoi trovare molte cose. Un gruppo sono le viti! Puoi provarli caricandoli nell'applicazione e chiamando il modulo. Nella libreria MCAD, puoi trovare molte viti. Ci sono molte altre raccolte da altre fonti. Per utilizzare una vite, crea un file che contenga l'istruzione include per il modulo di cui hai bisogno. Ora, ovunque tu voglia usare il modulo, puoi usare il nome del modulo per creare la tua vite.

includere ;
ball_groove(12, 40, 2);

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

includere
differenza()
cubo([12,16,20],centro = vero);
traduci([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 ritaglia due cilindri di due dimensioni. Non è molto complicato, ma la complessità cresce rapidamente quando si utilizzano altri componenti. Aggiungi le viti alle scatole parametriche e puoi vedere come una libreria aiuta.

Fare un carrello

Per realizzare qualsiasi costruzione di qualsiasi complessità, dovrai creare un pezzo alla volta. Più tardi, li combini tra loro. Come accennato in precedenza, puoi utilizzare moduli e funzioni. Il modo migliore per iniziare è decidere dove è necessario impostare le variabili. Per un carrello semplice, hai bisogno di altezza, passo e lunghezza. È necessario impostare i valori in un unico posto e utilizzarli per adattare le parti 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.

passo = 150;
cartlength = interasse * 1.2;
larghezza del carrello = 50;
diametro ruota = 25;
altezza sospensione = (diametro ruota/2) + 5;
translate([interasse/2,cartwidth,0])
ruota([90,0,0])
cilindro(r = raggio ruota, 10, centro = vero);
translate([interasse/2,-(cartwidth),0])
ruota([90,0,0])
cilindro(r = raggio ruota, 10, centro = vero);

Il codice mostra il codice per le prime due ruote. Se ci pensi un po', probabilmente puoi fare le ruote posteriori. Per aggiungere il flak, la superficie dove va tutta la roba, basta aggiungere un cubetto. Usa le variabili che inserisci nel codice.

translate([0, 0, altezza sospensione])
cube([cartlength, cartwidth,10], center = true);

Tuttavia, questo antiproiettile è alla stessa altezza delle ruote, quindi ci siamo occupati di questo con il valore dell'altezza della sospensione. L'affermazione tradotta influisce su ciò che è subito dopo. Nota che non c'è un punto e virgola alla fine di una riga. Quando le affermazioni all'interno diventano lunghe, usi le parentesi graffe attorno ad esse.

Ora devi aggiungere assali e sospensioni. Gli assi possono essere semplici cilindri che vanno tra le ruote. Li metti nello stesso modo in cui hai fatto le ruote usando ruota e trasla. In effetti, la cosa migliore è usare gli stessi valori.

translate([interasse/2,0,0])
ruota([90,0,0])
cilindro(r = raggio ruota * 0.25 , h = (cartwidth * 2) + 15, center = true);

Il codice qui mette a posto l'asse anteriore. L'asse posteriore, lascio a te il lettore di capirlo. Possiamo risolvere la sospensione in molti modi. In questo caso, lo faremo sul semplice.

// Sospensione
translate([interasse/2, 0, altezza sospensione ])
ruotare([90,0,0])

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

translate([altezza sospensione, 0, 0])
cilindro(r = altezza sospensione/3, h = 12, centro = vero);
translate([-sospensionealtezza, 0, 0])
cilindro(r = altezza sospensione/3, h = 12, centro = vero);

Questo codice crea una sospensione molto rozza; utilizza solo cilindri, quindi non sarà il massimo quando inizi a usarlo. Illustra un modo di creare disegni dalle primitive; cilindro, cubo e bene, questo è tutto per questo modello. Man mano che avanzi, trasformerai ogni pezzo in un modulo e posizionerai quei pezzi.

Il codice per il carrello è disponibile su https://github.com/matstage/Carrello! Ulteriori sviluppi potrebbero venire in seguito.

Biblioteche

Nella parte precedente hai usato solo cerchi. Qualsiasi progetto che utilizzi solo quelle primitive non sarà il migliore per tutte le applicazioni. Devi creare design belli ed efficienti. La soluzione è la matematica! Per aggiungere questo, dovresti iniziare usando le librerie 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 condividono gentilmente con tutti gli altri. Grazie a tutti voi! Un buon esempio è dotSCAD; per l'esempio della sospensione, puoi trovare una curva di Bézier.

Esportazione in altri software

Una volta che hai un design decente, potresti volerlo usare in un altro software. Puoi esportare in stl, dwg e una miriade di altri formati. I tuoi appassionati di stampa 3D possono utilizzare i file stl direttamente nei tuoi programmi di affettatura.

alternative

Un'altra interessante alternativa è ImplicitCAD. 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

A prima vista, usare openSCAD è molto difficile. Superare la curva di apprendimento è un po' difficile, 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. Il solo passaggio alle basi della creazione di progetti meccanici tramite il codice cambia il modo in cui pensi alle forme. Questo è vantaggioso anche se continuerai a usare punta e clicca per realizzare i tuoi altri progetti.

  • https://www.openscad.organizzazione/documentazione.html?versione=2019.05
  • http://edutechwiki.unire.ch/it/OpenScad_tutorial_per principianti
  • https://www.openscad.org/cheatsheet/indice.html
OpenTTD vs Simutrans
Creare la tua simulazione di trasporto può essere divertente, rilassante ed estremamente allettante. Ecco perché devi assicurarti di provare quanti pi...
Tutorial OpenTTD
OpenTTD è uno dei giochi di simulazione aziendale più popolari in circolazione. In questo gioco, devi creare una meravigliosa attività di trasporto. T...
SuperTuxKart per Linux
SuperTuxKart è un fantastico titolo progettato per offrirti l'esperienza di Mario Kart gratuitamente sul tuo sistema Linux. È piuttosto impegnativo e ...