Vodnik za začetnike po OpenSCAD: Programiranje 3D tiskanih modelov

Vodnik za začetnike po OpenSCAD: Programiranje 3D tiskanih modelov

Ste si vedno želeli oblikovati lastne 3D modele? Kaj pa 3D tiskanje dela, ki ste ga oblikovali? V okolici je veliko programov za 3D modeliranje, vendar jih je lahko težko uporabiti, če niste umetniki (kot jaz). OpenSCAD vam omogoča, da oblikujete modele posebej za 3D -tiskanje, pri čemer uporabite samo to Koda . Ne skrbite, če tudi sami ne znate kodirati, danes vas bom vodil skozi osnove.





Kaj je OpenSCAD?

OpenSCAD je brezplačen Trdno računalniško podprto oblikovanje modelar. Na voljo je za Windows, Mac in Linux. Kar se razlikuje od mnogih drugih programov, je, da oblikovate dele z uporabo kode namesto z miško. Tako je zelo enostavno narediti matematične izračune, shraniti dimenzije v spremenljivke, spremeniti velikost delov itd.





Pri modelih 3D tiskanja morate upoštevati nekatere dejavnike, vendar mnogi od teh veljajo za modele CAD za 3D tiskanje na splošno, ne le za modele OpenSCAD. Če želite izvedeti več o 3D tiskanju, si oglejte naš vodnik za začetnike. Če iščete bolj interaktivnega modelarja, preberite vodnik za ustvarjanje predmetov v Sketchupu.





Nastavitev

Najprej pojdite na prenosi stran in poiščite različico OpenSCAD, ki ustreza vašemu operacijskemu sistemu. Uporabljam Mac OS, vendar ta načela OpenSCAD veljajo za vse sisteme.

Ko je nameščen, ga odprite. Predstavljen vam bo ta zagonski meni:



To prikaže datoteke, ki ste jih nazadnje odprli, in možnost, da naložite nekaj primerov. Vabljeni k ogledu nekaterih primerov, vendar se mi je zdelo, da so te stvari ob prvem začetku bolj zmedene. Za to vadnico ustvarite novo datoteko s klikom na nov gumb.

Ko odprete, se vam prikaže ta goli vmesnik:





To je razdeljeno na tri glavna področja. Na levi je vaša urednik in meni. Tukaj boste napisali svojo kodo, ki med ustvarjanjem nove datoteke še ne bo vključena. Na vrhu je nekaj menijskih gumbov za izvajanje osnovnih opravil, kot so nalaganje, shranjevanje, razveljavitev itd.





Spodnji desni je konzola . To vam bo pokazalo vse napake pri sestavljanju modela.

Zadnji del je glavni vmesnik zgoraj desno. Tukaj lahko komunicirate z vašim modelom, vendar ga tukaj ne boste mogli urejati (za to boste napisali kodo).

naj odprem youtube kanal

Na dnu tega glavnega vmesnika je več gumbov. Ti vam v prvi vrsti omogočajo, da na svojo zasnovo gledate na različne načine.

Pojdite naprej in shranite novo datoteko s pritiskom na gumb za shranjevanje v meni urejevalnika ali z odhodom na mapa > Shrani .

Osnove

Večino časa OpenSCAD deluje z dodajanjem in odštevanjem preprostih oblik. Na ta način lahko zgradite zelo zapletene modele, zato pojdimo takoj.

Tu je prva oblika, preprosta škatla:

In tukaj je koda za izdelavo tega:

cube(); // create a cube

Če želite, da vaša koda izvede in zgradi model, ga morate predogledati. OpenSCAD bo to privzeto naredil vsakič, ko shranite, ali pa pritisnete F5 za prisilno osvežitev. Eksperimentirajte z gibanjem v 3D prostoru tako, da držite levi ali desni gumb miške.

Zdaj dobimo lepo kocko, ki pa brez dimenzij ni zelo uporabna. OpenSCAD ne deluje v nobenem posebnem merilnem sistemu, namesto tega so vse enote med seboj povezane. Ustvarite lahko polje velikosti 20 x 10 in kateri koli drug program (na primer rezalnik za 3D tiskanje) jih razlaga, pa naj bo to metrična ali imperialna. Dejansko zagotavlja veliko prilagodljivost.

Kocki dodajmo nekaj dimenzij. To storite tako, da parametre posredujete datoteki kocka metoda:

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

Vrednosti 10 , dvajset , in 30 predstavljajo velikost kocke v X , IN , in Z os. Opazujte, kako je to ustvarilo veliko večji pravokotnik:

OpenSCAD privzeto riše komponente spodaj levo. To lahko prilagodite tako, da nastavite center parameter do prav . Tukaj je koda, ki to naredi s pravokotnikom:

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

In tako izgleda:

kako prenesti zasebne videoposnetke s facebooka

Centriranje predmetov dobro deluje pri preprostih oblikah, vendar otežuje stvari pri nesimetričnih predmetih. Odločiti se boste morali, katera metoda vam najbolj ustreza.

Če gremo na bolj zapleteno obliko, tukaj je a valj :

Tukaj je koda za njeno ustvarjanje:

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

Za razliko kocke , jeklenke se samodejno narišejo v središču osi X in Y. The d parameter pomeni premer (če želite, lahko vstopite v polmer). The h parameter je višina. Tu pa je nekaj narobe. Ta valj je videti precej 'blok'. Povečati morate število obrazov, narisanih na obodu. To je enostavno narediti - kodi valja dodajte naslednji parameter.

$fn = 100

Tako opredelitev valja postane:

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

Evo, kako to izgleda:

S tem se poveča število obrazov, potrebnih za izdelavo krogov - 100 je dobro izhodišče. Upoštevajte, da se bo to močno povečalo pri upodabljanju, zlasti pri zapletenih modelih, zato je običajno najbolje, da to pustite, dokler ne končate oblikovanja.

Preoblikovanje oblik je enostavno uporabiti. Preden ustvarite oblike, morate poklicati posebne metode. Evo, kako zavrtite valj s pomočjo zasukati metoda:

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

Vrednosti so bile prenesene v do parameter predstavlja kot vrtenja osi X, Y in Z. Tukaj je rezultat:

Druga zelo uporabna funkcija je prevesti . To vam omogoča premikanje predmetov v 3D prostoru. Še enkrat boste morali prenesti količino gibanja za vsako os. Tukaj je rezultat:

Tukaj je koda:

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

Razumevanje prevesti metoda je ena najpomembnejših stvari, ki jih lahko naredite. Potreben je za oblikovanje najbolj zapletenih modelov.

Končno je še ena uporabna oblika a krogla :

Tukaj je koda:

zakaj mi hitrost interneta niha
sphere(d = 100);

Tako kot valj lahko tudi to zgladite z uporabo $ fn zgornjo kodo.

Napredno kodiranje

Zdaj, ko poznate osnove, poglejmo nekaj naprednejših veščin. Pri oblikovanju dela pomaga razmisliti, kako bi ga lahko sestavili iz manjših oblik in predmetov. Tega vam ni treba narediti in si lahko med seboj 'izmišljate stvari', vendar vam pomaga, če imate grob načrt - tudi če je le v vaši glavi.

Ustvarimo napredno obliko: kocko z votlo notranjostjo krogle. Ustvariti kocka in a krogla z center nastavljeno na res. Odštejte enega od drugega z uporabo Razlika metoda:

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

Tukaj je rezultat:

Poskusite s premerom ( d parameter) krogle in poglejte, kaj se zgodi.

V OpenSCAD -u je običajno veliko načinov za izvedbo iste naloge. Če bi želeli utor v kocki, bi lahko od nje odšteli drugo kocko ali dodali še dve nad njo. Običajno ni pomembno, na kakšen način se stvari izvajajo, vendar je glede na kompleksnost dela morda lažje najprej narediti določene manipulacije.

Evo, kako ustvariti kanal v kocki. Namesto da bi uporabili drugo kocko, bo z valjem ustvaril zaokrožen kanal. Upoštevajte, kako Razlika ponovno uporabimo metodo in kako prevesti in zasukati metode se uporabljajo za manipulacijo oblik. Uporabljati zasukati Metoda pogosto otežuje transformacije, zato se poigrajte s parametri, dokler ne dosežete želenega rezultata. Tukaj je koda:

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
}

Evo, kako to izgleda:

Morda se sprašujete, kaj vse so zelene stvari. To je zato, ker je 3D -model trenutno le predogled. Če želite to odpraviti, pritisnite F6 za popolno upodobitev modela. To lahko traja nekaj časa, odvisno od kompleksnosti. Predogled ( F5 ) je običajno dovolj dobro med delom. Evo, kako izgleda končni upodobitev (z $ fn nastavljeno na 100):

Tu je še en napreden primer. Recimo, da želite nekaj pritrditi s sornikom. Ustvarjanje luknje je dovolj preprosto z uporabo valj , kaj pa, če želite, da je glava vijaka pritrjena za vtične vijake? Lahko bi preprosto ustvarili velik valj, v katerega bi lahko ležala glava vijaka, vendar to ne bi bilo videti zelo lepo. Rešitev je posnetek, ki ga lahko ustvarite z valj metoda. Trik tukaj je določiti dva premera - d1 in d2 . Naredite te različne velikosti, OpenSCAD pa naredi ostalo.

Ker sem Britanec, bom tukaj uporabil metrične dimenzije za vijak M5. To lahko preprosto prilagodite, da ustreza vsem pritrditvam, ki jih želite uporabiti. Tukaj je koda:

$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);
}

Opazite, kako so mere vijakov shranjene v spremenljivkah? Tako je kodiranje in vzdrževanje veliko lažje. Ena od metod, na katero morda še niste naleteli, je modul . To vam omogoča, da določite blok kode, ki ga želite izvesti, kadar koli želite. V resnici je to a funkcijo . Moral bi uporabiti modulov in spremenljivke za katero koli zapleteno obliko, saj olajšajo branje in hitrejše spreminjanje. Tako izgleda posnetek:

Poglejmo še zadnji primer. Recimo, da želite narediti vrsto lukenj okoli kroga. Vse to lahko ročno izmerite, prevedete in zavrtite, vendar bi bilo to celo z moduli dolgočasno. Tu je končni rezultat, 10 jeklenk celo razporejenih po krogu:

Tukaj je koda:

$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);
}

Ta koda je preprostejša, kot bi pričakovali. A za zanka se uporablja za klicanje make_cylinder modul desetkrat. Ker je v krogu 360 stopinj in 360 /10 = 36, je treba vsak valj zavrteti v korakih po 36 stopinj. Vsaka ponovitev te zanke bo povečala jaz spremenljivko za 36. Ta zanka kliče make_cylinder modul, ki preprosto nariše valj in ga postavi glede na stopinje, ki mu jih poda zanka. Več ali manj valjev lahko narišete tako, da spremenite število_lukenj spremenljivka - čeprav boste morda želeli prilagoditi razmik. Tako izgledajo 100 valjev, ki se nekoliko prekrivajo:

Izvoz

Zdaj, ko veste, kako kodirati v OpenScadu, morate pred 3D -tiskanjem modelov narediti še zadnji korak. Svoj dizajn morate izvoziti iz OpenSCAD v standard STL format, ki ga uporablja večina 3D tiskalnikov. na srečo obstaja izvoz v gumb STL: Meni urejevalnika > Zgoraj desno :

To je to za danes. Zdaj bi morali imeti odlično delovno znanje o OpenSCAD - vse kompleksne stvari temeljijo na teh temeljih, številne zapletene oblike pa so res veliko preprostih oblik skupaj.

Za izziv, zakaj ne bi pogledali nekaterih naših projektov 3D tiskanja in poskusili znova ustvariti dele v OpenSCAD:

Ste se danes naučili novih trikov? Katera je vaša najljubša funkcija OpenSCAD? Boste kmalu prešli z drugega orodja CAD? Sporočite nam v spodnjih komentarjih!

Deliti Deliti Cvrkutati E-naslov Kako dostopati do Googlove vgrajene ravni mehurčkov v sistemu Android

Če ste se kdaj morali prepričati, da je nekaj na nivoju, lahko zdaj v nekaj sekundah v telefonu dobite raven mehurčkov.

Preberite Naprej
Sorodne teme
  • DIY
  • Programiranje
  • 3D tiskanje
  • 3D modeliranje
O avtorju Joe Coburn(136 objavljenih člankov)

Joe je diplomiral iz računalništva na Univerzi v Lincolnu v Veliki Britaniji. Je poklicni razvijalec programske opreme in ko ne leti z brezpilotnimi letali ali ne piše glasbe, ga pogosto najdejo pri fotografiranju ali ustvarjanju videoposnetkov.

Več od Joea Coburna

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, če se želite naročiti
Kategorija Diy