Ghid pentru începători la OpenSCAD: Programarea modelelor imprimate 3D

Ghid pentru începători la OpenSCAD: Programarea modelelor imprimate 3D

Ați dorit întotdeauna să vă proiectați propriile modele 3D? Ce zici de tipărirea 3D a unei piese pe care ați proiectat-o? Există multe programe de modelare 3D în jur, dar acestea pot fi dificil de utilizat dacă nu sunteți artistic (ca mine). OpenSCAD vă oferă o modalitate de a proiecta modele special pentru imprimarea 3D, folosind altceva decât cod . Nu vă faceți griji dacă nici nu știți cum să codificați, astăzi vă voi îndruma prin elementele de bază.





Ce este OpenSCAD?

OpenSCAD este un program gratuit Design solid asistat de calculator modelator. Este disponibil pentru Windows, Mac și Linux. Ceea ce îl face diferit de multe alte programe este că proiectați piese folosind cod în loc de mouse. Acest lucru face foarte ușor efectuarea de calcule matematice, stocarea dimensiunilor în variabile, redimensionarea părților și multe altele.





Există câțiva factori de care trebuie să țineți cont atunci când modele de imprimare 3D, dar mulți dintre aceștia se aplică modelelor CAD de imprimare 3D în general, nu doar proiectelor OpenSCAD. Dacă doriți să aflați mai multe despre imprimarea 3D, consultați ghidul nostru Ultimate Beginner. Dacă sunteți în căutarea unui model mai interactiv, citiți ghidul pentru crearea obiectelor în Sketchup.





Configurare

Mai întâi, mergeți la descărcări pagină și găsiți o versiune de OpenSCAD potrivită pentru sistemul dvs. de operare. Folosesc Mac OS, dar aceste principii OpenSCAD se aplică tuturor sistemelor.

Odată instalat, continuați și deschideți-l. Vi se va prezenta acest meniu de pornire:



Aceasta vă arată fișierele pe care le-ați deschis ultima dată și vă oferă opțiunea de a încărca câteva exemple. Simțiți-vă liber să priviți în jur câteva exemple, totuși am găsit că aceste lucruri au făcut ca lucrurile să devină mai confuze atunci când am început. Pentru acest tutorial, creați un fișier nou făcând clic pe nou buton.

Odată deschis, vi se va prezenta această interfață simplă:





Aceasta este împărțită în trei domenii principale. În stânga este al tău editor și meniu. Aici veți scrie codul dvs. Acesta nu va avea încă niciun cod, deoarece creați un fișier nou. În partea de sus, există câteva butoane de meniu pentru a efectua sarcini de bază, cum ar fi încărcarea, salvarea, anularea și așa mai departe.





În dreapta jos este consolă . Aceasta vă va arăta orice erori la construirea modelului.

Secțiunea finală este interfața principală în dreapta sus. Aici puteți interacționa cu modelul dvs., dar nu îl veți putea edita aici (veți scrie cod pentru a face acest lucru).

cel mai bun mod de a transmite de la PC la TV

Există mai multe butoane în partea de jos a acestei interfețe principale. Acestea vă permit în primul rând să vă vizualizați designul în moduri diferite.

Continuați și salvați un fișier nou apăsând pe butonul de salvare în meniu editor sau mergând la Fişier > Salvați .

Cele elementare

Modul în care funcționează OpenSCAD majoritatea timpului este prin adăugarea și scăderea de forme simple. Puteți construi modele foarte complexe în acest fel, așa că să sărim direct.

Iată prima formă, o cutie simplă:

Și iată codul pentru a produce acest lucru:

cube(); // create a cube

Pentru a obține codul dvs. să execute și să construiască modelul, trebuie să îl previzualizați. OpenSCAD va face acest lucru în mod implicit de fiecare dată când salvați sau puteți apăsa F5 pentru a forța o reîmprospătare. Experimentați cu deplasarea în spațiu 3D ținând apăsate butoanele stânga sau dreapta ale mouse-ului.

Acum, acest lucru produce un cub frumos, dar nu este extrem de util fără dimensiuni. OpenSCAD nu funcționează în niciun sistem de măsurare anume, în schimb, unitățile sunt relative una față de cealaltă. Puteți crea o cutie de 20 x 10 și depinde de orice alt program (cum ar fi feliatorul dvs. de imprimare 3D) să le interpretați, fie că sunt metrice sau imperiale. De fapt, oferă o mare flexibilitate.

Să adăugăm câteva dimensiuni cubului tău. Faceți acest lucru trecând parametrii către cub metodă:

cube(size = [10, 20, 30]); // rectangle

Valorile 10 , douăzeci , și 30 reprezintă dimensiunea cubului din X , ȘI , și CU axă. Observați cum acest lucru a produs un dreptunghi mult mai mare:

În mod implicit, OpenSCAD atrage componente din stânga jos. Puteți regla acest lucru setând centru parametru pentru Adevărat . Iată codul pentru a face acest lucru dreptunghiului:

cube(size = [10, 20, 30], center = true); // rectangle centered

Iată cum arată:

ce poți cumpăra cu cardul cadou itunes

Centrarea obiectelor funcționează bine pentru forme simple, dar face lucrurile complicate pentru obiectele nesimetrice. Va trebui să decideți ce metodă funcționează cel mai bine pentru dvs.

Trecând la o formă mai complexă, iată un cilindru :

Iată codul pentru ao crea:

cylinder(d = 10, h = 10, center = true); // cylinder

Spre deosebire de cuburi , cilindrii sunt desenate automat în centrul axelor X și Y. The d parametru înseamnă diametru (poți trece în rază în loc dacă preferi). The h parametrul este înălțimea. Totuși, ceva nu este în regulă aici. Acest cilindru arată destul de „blocat”. Trebuie să măriți numărul de fețe desenate pe circumferință. Acest lucru este ușor de făcut - adăugați următorul parametru la codul cilindrului.

$fn = 100

Deci, definiția cilindrului devine:

cylinder(d = 10, h = 10, center = true, $fn = 100);

Iată cum arată:

Acest lucru crește numărul fețelor necesare pentru a face cercuri - 100 este un bun punct de plecare. Rețineți că acest lucru va crește foarte mult timpii de redare, în special la modelele complexe, deci este de obicei cel mai bine să lăsați acest lucru până când ați terminat proiectarea.

Este ușor să aplicați transformări pe forme. Trebuie să apelați metode speciale înainte de a vă crea formele. Iată cum să rotiți cilindrul folosind roti metodă:

rotate(a = [0, 90, 0]) cylinder(d = 10, h = 10, center = true); // rotated cylinder

Valorile transmise către la parametrul reprezintă unghiul de rotație al axelor X, Y și Z. Iată rezultatul:

O altă funcție foarte utilă este Traduceți . Acest lucru vă permite să mutați obiecte în spațiu 3D. Încă o dată, va trebui să treci în cantitatea de mișcare pentru fiecare axă. Iată rezultatul:

Iată codul:

translate(v = [0, 25, 0]) cylinder(d = 10, h = 10, center = true); // translated cylinder

Înțelegerea Traduceți metoda este unul dintre cele mai importante lucruri pe care le puteți face. Este necesar pentru proiectarea celor mai complexe modele.

În cele din urmă, o altă formă utilă este a sferă :

Iată codul:

filme gratuite online fără înregistrare sau înregistrare
sphere(d = 100);

La fel ca cilindrul, puteți netezi acest lucru folosind $ fn codul de mai sus.

Codare avansată

Acum, că știți elementele de bază, să analizăm câteva abilități mai avansate. Când proiectați o piesă, vă ajută să vă gândiți cum ar putea fi alcătuită din forme și obiecte mai mici. Nu trebuie să faceți acest lucru și puteți „face lucrurile” pe măsură ce mergeți, dar vă ajută să aveți un plan dur - chiar dacă este doar în capul vostru.

Să creăm o formă avansată: un cub cu interiorul unei sfere scobite. Creeaza o cub și a sferă cu centru setat la adevărat. Scădeți una din cealaltă folosind diferență metodă:

difference() {
// subtraction
cube(size = [50, 50, 50], center = true); // outer cube
sphere(d = 65, center = true); // inner sphere
}

Iată rezultatul:

Experimentați cu diametrul ( d parametru) al sferei și vezi ce se întâmplă.

În OpenSCAD, există de obicei multe modalități de a îndeplini aceeași sarcină. Dacă doriți o canelură într-un cub, puteți scădea un alt cub din acesta sau puteți adăuga încă două deasupra acestuia. De obicei, nu contează modul în care se fac lucrurile, dar în funcție de complexitatea piesei, poate fi mai ușor să faceți mai întâi anumite manipulări.

Iată cum puteți crea un canal într-un cub. În loc să utilizați un alt cub, utilizarea unui cilindru va crea un canal rotunjit. Observați cum diferență metoda este folosită încă o dată și modul în care Traduceți și roti se utilizează metode pentru manipularea formelor. Folosind roti metoda face ca transformările să fie dificile, așa că jucați-vă cu parametrii până când obțineți rezultatul dorit. Iată codul:

difference() {
// subtraction
cube(size = [50, 150, 50]); // outer cube
translate(v = [25, 150, 50]) rotate(a = [90, 0, 0]) cylinder(d = 40, h = 150); // cylinder channel
}

Iată cum arată:

S-ar putea să vă întrebați ce sunt toate lucrurile verzi. Acest lucru este aici, deoarece modelul 3D este doar o previzualizare chiar acum. Pentru a remedia acest lucru, apăsați F6 pentru a reda pe deplin modelul. Acest lucru poate dura ceva timp, în funcție de complexitate. Previzualizarea ( F5 ) este de obicei suficient de bun în timpul lucrului. Iată cum arată redarea finală (cu $ fn setat la 100):

Iată un alt exemplu avansat. Spuneți că ați vrut o montură ceva folosind un șurub. Crearea unei găuri este suficient de simplă folosind cilindru , dar dacă doriți ca capul șurubului să fie montat la același nivel pentru șuruburile zăvorâte? Puteți crea pur și simplu un cilindru mare pentru ca capul șurubului să poată sta, dar asta nu ar arăta foarte bine. Soluția este un șanț, pe care îl puteți crea cu cilindru metodă. Trucul aici este să specificați două diametre - d1 și d2 . Faceți aceste dimensiuni diferite, iar OpenSCAD va face restul.

Deoarece sunt britanic, voi folosi aici dimensiuni metrice, pentru un șurub M5 înfășurat. Puteți regla cu ușurință acest lucru pentru a se potrivi cu orice fixare doriți să utilizați. Iată codul:

$fn = 100;
// bolt settings
m5_clearance_diameter = 5.5;
m5_head_clearance_diameter = 11;
m5_head_depth = 5;
difference() {
// subtract
cube(20, 20, 20);
bolt_hole(10, 10, 20);
bolt_bevel(10, 10, 15);
}
module bolt_hole(x, y, height) {
/* M5 hole at 90 deg. */
translate(v = [x, y, 0]) cylinder(d = m5_clearance_diameter, h = height);
}
module bolt_bevel(x, y, z) {
// M5 bevel
translate(v = [x, y, z]) cylinder(d2 = m5_head_clearance_diameter, d1 = m5_clearance_diameter, h = m5_head_depth);
}

Observați cum sunt stocate dimensiunile șuruburilor în variabile? Acest lucru facilitează mult codificarea și întreținerea. O metodă pe care este posibil să nu o fi întâlnit încă este modul . Acest lucru vă permite să definiți un bloc de cod pentru a executa ori de câte ori doriți. În realitate, acesta este un funcţie . Ar trebui să utilizați module și variabile pentru orice formă complexă, deoarece acestea fac lucrurile mai ușor de citit și mai rapide pentru a face orice modificări. Iată cum arată șanțul:

Să ne uităm la un ultim exemplu. Spuneți că ați vrut să produceți o serie de găuri în jurul unui cerc. Puteți măsura, traduce și roti manual toate acestea, dar chiar și cu module, acest lucru ar fi plictisitor. Iată rezultatul final, 10 cilindri distribuiți chiar în jurul unui cerc:

Iată codul:

$fn = 100;
number_of_holes = 10;
for(i = [1 : 360 / number_of_holes : 360]) {
// number_of_holes defines number of times this code runs
make_cylinder(i);
}
module make_cylinder(i) {
// make cylinder and even distribute
rotate([0, 0, i]) translate([10, 0, 0]) cylinder(h = 2, r = 2);
}

Acest cod este mai simplu decât v-ați aștepta. A pentru bucla este utilizată pentru a apela make_cylinder modul de zece ori. Deoarece există 360 de grade într-un cerc și 360/10 = 36, fiecare cilindru trebuie rotit în trepte de 36 de grade. Fiecare iterație a acestei bucle va crește eu variabilă cu 36. Această buclă numește make_cylinder modul, care desenează pur și simplu un cilindru și îl poziționează în funcție de gradele care i-au fost trecute de buclă. Puteți desena mai mulți sau mai puțini cilindri modificând număr_de_ găuri variabilă - deși poate doriți să reglați spațiul dacă faceți acest lucru. Iată cum arată 100 de cilindri, care se suprapun ușor:

Exportator

Acum, că știi cum să codezi în OpenScad, este necesar un ultim pas înainte să poți tipări 3D modelele tale. Trebuie să exportați designul dvs. din OpenSCAD în standard STL format utilizat de majoritatea imprimantelor 3D. din fericire, există un buton de export către STL: Meniul Editor > Sus în dreapta :

Asta e pentru astăzi. Ar trebui să aveți acum o cunoaștere excelentă a OpenSCAD - toate lucrurile complexe se bazează pe aceste fundații, iar multe forme complexe sunt într-adevăr o mulțime de forme simple combinate.

Pentru o provocare, de ce să nu ne uităm la unele dintre proiectele noastre de imprimare 3D și să încercăm să recreăm piesele din OpenSCAD:

Ai învățat astăzi trucuri noi? Care este caracteristica ta preferată OpenSCAD? Veți trece în curând de la un alt instrument CAD? Spuneți-ne în comentariile de mai jos!

Acțiune Acțiune Tweet E-mail Cum se accesează nivelul încorporat Google cu bule pe Android

Dacă ați avut vreodată nevoie să vă asigurați că ceva este la nivel într-o ciupire, acum puteți obține un nivel de bule pe telefonul dvs. în câteva secunde.

Citiți în continuare
Subiecte asemănătoare
  • DIY
  • Programare
  • printare 3d
  • Modelare 3D
Despre autor Joe Coburn(136 articole publicate)

Joe este absolvent de Informatică de la Universitatea Lincoln, Marea Britanie. Este un dezvoltator de software profesionist și, atunci când nu zboară cu drone sau nu scrie muzică, poate fi găsit adesea făcând fotografii sau producând videoclipuri.

Mai multe de la Joe Coburn

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona
Categorie Diy