Aloittelijan opas OpenSCAD: 3D -tulostettujen mallien ohjelmointi

Aloittelijan opas OpenSCAD: 3D -tulostettujen mallien ohjelmointi

Oletko aina halunnut suunnitella omia 3D -mallejasi? Entä 3D -tulostus osa, jonka olet suunnitellut? Ympärillä on monia 3D -mallinnusohjelmia, mutta niitä voi olla vaikea käyttää, jos et ole taiteellinen (kuten minä). OpenSCAD tarjoaa sinulle tavan suunnitella malleja erityisesti 3D -tulostusta varten käyttämällä vain koodi . Älä huoli, jos et myöskään osaa koodata, tänään opastan sinut perusasioiden läpi.





Mikä on OpenSCAD?

OpenSCAD on ilmainen Kiinteä tietokoneavusteinen suunnittelu mallinnus. Se on saatavana Windowsille, Macille ja Linuxille. Monista muista ohjelmista eroaa se, että suunnittelet osia käyttämällä koodia hiiren sijaan. Tämä tekee erittäin helpoksi matemaattisten laskelmien tekemisen, mittojen tallentamisen muuttujiin, osien koon muuttamisen ja paljon muuta.





3D -tulostusmalleissa on otettava huomioon muutamia tekijöitä, mutta monet näistä koskevat 3D -tulostus CAD -malleja yleensä, eivät vain OpenSCAD -malleja. Jos haluat tietää enemmän 3D -tulostuksesta, tutustu Ultimate Beginner -oppaaseemme. Jos etsit interaktiivisempaa mallinnusta, lue opas objektien luomiseen Sketchupissa.



Aloittaminen

Siirry ensin kohti lataukset sivulta ja etsi käyttöjärjestelmääsi sopiva OpenSCAD -versio. Käytän Mac OS -käyttöjärjestelmää, mutta nämä OpenSCAD -periaatteet koskevat kaikkia järjestelmiä.

Kun olet asentanut, mene eteenpäin ja avaa se. Sinulle näytetään tämä käynnistysvalikko:



Tämä näyttää viimeksi avaamasi tiedostot ja antaa mahdollisuuden ladata muutamia esimerkkejä. Voit vapaasti katsoa joitain esimerkkejä, mutta mielestäni nämä tekivät asioista hämmentävämpiä, kun aloitin. Tässä opetusohjelmassa voit luoda uuden tiedoston napsauttamalla Uusi -painiketta.

Avattuasi sinulle esitetään tämä paljaan näköinen käyttöliittymä:





Tämä on jaettu kolmeen pääalueeseen. Vasemmalla on sinun toimittaja ja valikko. Tässä kirjoitat koodisi, johon ei vielä ole koodia, kun luot uutta tiedostoa. Yläosassa on joitain valikkopainikkeita, joilla voit suorittaa perustoimintoja, kuten ladata, tallentaa, kumota ja niin edelleen.





Oikeassa alakulmassa on konsoli . Tämä näyttää mahdolliset virheet mallin rakentamisessa.

Viimeinen osa on päärajapinta oikeassa yläkulmassa. Täällä voit olla vuorovaikutuksessa mallisi kanssa, mutta et voi muokata sitä täällä (kirjoitat koodia tätä varten).

paras tapa ostaa MacBook

Tämän pääkäyttöliittymän alaosassa on useita painikkeita. Näiden avulla voit ensisijaisesti tarkastella suunnittelua eri tavoin.

Jatka ja tallenna uusi tiedosto painamalla Tallenna -painike kohdassa editorin valikko tai menemällä Tiedosto > Tallentaa .

Perusteet

OpenSCAD toimii suurimman osan ajasta yksinkertaisten muotojen lisäämisen ja vähentämisen kautta. Voit rakentaa erittäin monimutkaisia ​​malleja tällä tavalla, joten hyppäämme sisään.

Tässä on ensimmäinen muoto, yksinkertainen laatikko:

Ja tässä on koodi sen tuottamiseksi:

cube(); // create a cube

Jotta koodi voidaan suorittaa ja rakentaa malli, sinun on esikatseltava se. OpenSCAD tekee tämän oletusarvoisesti joka kerta, kun tallennat, tai voit painaa F5 pakottaa päivityksen. Kokeile liikkumista 3D -tilassa pitämällä hiiren vasenta tai oikeaa painiketta painettuna.

Tämä tuottaa mukavan kuution, mutta se ei ole kovin hyödyllinen ilman mittoja. OpenSCAD ei toimi missään tietyssä mittausjärjestelmässä, vaan kaikki yksiköt ovat suhteessa toisiinsa. Voit luoda laatikon 20 x 10, ja minkä tahansa muun ohjelman (kuten 3D -tulostusleikkurin) tehtävänä on tulkita ne, joko metriset tai keisarilliset. Se tarjoaa itse asiassa suuren joustavuuden.

Lisätään muutamia mittoja kuutioon. Teet tämän välittämällä parametrit kuutio menetelmä:

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

Arvot 10 , kaksikymmentä ja 30 edustavat kuution kokoa X , JA ja KANSSA akseli. Huomaa, kuinka tämä on tuottanut paljon suuremman suorakulmion:

Oletuksena OpenSCAD piirtää komponentteja vasemmasta alakulmasta. Voit säätää tätä asettamalla keskusta parametri kohteeseen totta . Tässä on koodi suorakulmion tekemiseksi:

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

Ja tältä se näyttää:

kuinka luoda iso -kuva Windows 7: stä

Objektien keskittäminen toimii hyvin yksinkertaisissa muodoissa, mutta se tekee asiat monimutkaisiksi ei -symmetrisille kohteille. Sinun on päätettävä, mikä menetelmä sopii sinulle parhaiten.

Siirrymme monimutkaisempaan muotoon, tässä on a sylinteri :

Tässä on koodi sen luomiseen:

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

Toisin kuin kuutiot , sylinterit piirretään automaattisesti X- ja Y -akselin keskelle. The d parametri tarkoittaa halkaisija (voit ohittaa säteen halutessasi). The h parametri on korkeus. Jotain tässä on kuitenkin pielessä. Tämä sylinteri näyttää melko 'lohkolta'. Sinun on lisättävä kehälle piirrettyjen kasvojen määrää. Tämä on helppo tehdä - lisää seuraava parametri sylinterikoodiin.

$fn = 100

Joten sylinterin määritelmästä tulee:

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

Tältä se näyttää:

Tämä lisää ympyröiden tekemiseen tarvittavien kasvojen määrää - 100 on hyvä lähtökohta. Muista, että tämä pidentää huomattavasti renderointiaikoja etenkin monimutkaisissa malleissa, joten on parasta jättää tämä pois, kunnes olet lopettanut suunnittelun.

Muunnoksia on helppo soveltaa muotoihin. Sinun on kutsuttava erityisiä menetelmiä ennen muotojen luomista. Näin pyörität sylinteriä kiertää menetelmä:

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

Arvot siirtyivät kohteeseen parametri edustaa X-, Y- ja Z -akselin kiertokulmaa. Tässä tulos:

Toinen erittäin hyödyllinen toiminto on Kääntää . Tämän avulla voit siirtää esineitä 3D -tilassa. Jälleen kerran sinun on syötettävä kunkin akselin liikkeen määrä. Tässä tulos:

Tässä koodi:

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

Ymmärtäminen Kääntää menetelmä on yksi tärkeimmistä asioista, joita voit tehdä. Sitä tarvitaan monimutkaisimpien mallien suunnitteluun.

Lopuksi toinen hyödyllinen muoto on a pallo :

Tässä koodi:

miten voin siirtää tiedostoja Google Drive -tililtä toiselle
sphere(d = 100);

Aivan kuten sylinteri, voit tasoittaa tämän käyttämällä $ fn koodi yllä.

Edistynyt koodaus

Nyt kun tiedät perusasiat, katsotaan joitain kehittyneempiä taitoja. Osan suunnittelussa auttaa miettimään, kuinka se voitaisiin muodostaa pienistä muodoista ja esineistä. Sinun ei tarvitse tehdä tätä, ja voit 'keksiä asioita' edetessäsi, mutta se auttaa karkean suunnitelman laatimisessa - vaikka se olisi vain päässäsi.

Luodaan edistynyt muoto: kuutio, jossa on ontto pallo. Luo kuutio ja a pallo kanssa keskusta asetettu tosi. Vähennä yksi toisesta käyttämällä ero menetelmä:

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

Tässä tulos:

Kokeile halkaisijaa ( d parametri) ja katso mitä tapahtuu.

OpenSCADissa on yleensä monia tapoja suorittaa sama tehtävä. Jos haluat uran kuutioon, voit vähentää siitä toisen kuution tai lisätä kaksi muuta sen yläpuolelle. Yleensä ei ole väliä millä tavalla asiat tehdään, mutta osan monimutkaisuudesta riippuen tiettyjen manipulaatioiden tekeminen voi olla helpompaa ensin.

Näin voit luoda kanavan kuutioon. Toisen kuution käyttämisen sijaan sylinterin käyttäminen luo pyöristetyn kanavan. Huomaa, kuinka ero menetelmää käytetään jälleen, ja miten Kääntää ja kiertää muotoja käsitellään menetelmillä. Käyttämällä kiertää menetelmä tekee muutoksista usein vaikeita, joten leiki parametrien avulla, kunnes saavutat halutun tuloksen. Tässä koodi:

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
}

Tältä se näyttää:

Saatat ihmetellä, mitä kaikkea vihreää tavaraa on. Tämä on täällä, koska 3D -malli on vain esikatselu juuri nyt. Korjaa tämä painamalla F6 mallinnus kokonaan. Tämä voi kestää jonkin aikaa, monimutkaisuudesta riippuen. Esikatselu ( F5 ) on yleensä tarpeeksi hyvä työskennellessä. Tässä on lopullinen renderöinti (kanssa $ fn 100):

Tässä on toinen edistynyt esimerkki. Sano, että halusit kiinnittää jotain ruuvilla. Reiän luominen on riittävän yksinkertaista sylinteri , mutta entä jos haluat, että pultin pään uppoasennetaan upotettuja ruuveja varten? Voit yksinkertaisesti luoda suuren sylinterin, jolla pultin pää istuu, mutta se ei näyttäisi kovin mukavalta. Ratkaisu on viiste, jonka voit luoda sylinteri menetelmä. Temppu tässä on määrittää kaksi halkaisijaa - d1 ja d2 . Tee nämä eri koot, ja OpenSCAD hoitaa loput.

Koska olen brittiläinen, käytän tässä metrisiä mittoja M5 -upotetulle pultille. Voit helposti säätää tämän sopimaan mihin tahansa kiinnikkeisiin, joita haluat käyttää. Tässä koodi:

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

Huomaa, kuinka pultin mitat tallennetaan muuttujiin? Tämä helpottaa koodausta ja ylläpitoa. Yksi tapa, johon et ehkä ole vielä törmännyt, on moduuli . Tämän avulla voit määrittää koodilohkon, joka suoritetaan milloin haluat. Todellisuudessa tämä on a toiminto . Sinun pitäisi käyttää moduulit ja muuttujia kaikille monimutkaisille muodoille, koska ne helpottavat asioiden lukemista ja nopeuttavat muutosten tekemistä. Tältä viiste näyttää:

Katsotaanpa yhtä viimeistä esimerkkiä. Sano, että halusit tehdä sarjan reikiä ympyrän ympärille. Voit mitata, kääntää ja kiertää näitä kaikkia manuaalisesti, mutta jopa moduuleilla tämä olisi työlästä. Tässä on lopputulos, 10 sylinteriä jopa jaettuna ympyrän ympäri:

Tässä koodi:

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

Tämä koodi on yksinkertaisempi kuin odotit. A varten silmukkaa käytetään soittamaan make_cylinder moduuli kymmenen kertaa. Koska ympyrässä on 360 astetta ja 360/10 = 36, jokaista sylinteriä on käännettävä 36 asteen välein. Jokainen tämän silmukan iteraatio lisää i muuttuja 36. Tämä silmukka kutsuu make_cylinder moduuli, joka yksinkertaisesti vetää sylinterin ja sijoittaa sen silmukan sille siirtämien asteiden mukaan. Voit piirtää enemmän tai vähemmän sylintereitä muuttamalla reikien lukumäärä muuttuja - vaikka haluat ehkä muuttaa väliä, jos teet niin. Tältä näyttää 100 sylinteriä, ne ovat hieman päällekkäisiä:

Vientiä

Nyt kun osaat koodata OpenScadissa, sinun on suoritettava viimeinen vaihe, ennen kuin voit tulostaa mallejasi 3D -muodossa. Sinun täytyy viedä mallisi OpenSCADista standardiin STL muoto, jota useimmat 3D -tulostimet käyttävät. onneksi vie STL -painikkeeseen: Editor -valikko > Yläoikea :

Siinäpä se tälle päivälle. Sinulla pitäisi nyt olla erinomainen OpenSCAD -työkokemus - kaikki monimutkaiset asiat perustuvat näihin perusteisiin, ja monet monimutkaiset muodot ovat todella paljon yksinkertaisia ​​muotoja yhdistettynä.

Haasteena voit katsoa joitain 3D -tulostusprojekteistamme ja yrittää luoda osat uudelleen OpenSCADissa:

Opitko uusia temppuja tänään? Mikä on suosikki OpenSCAD -ominaisuutesi? Vaihdatko pian toisesta CAD -työkalusta? Kerro meille alla olevissa kommenteissa!

Jaa Jaa Tweet Sähköposti Googlen sisäänrakennetun kuplatason käyttö Androidissa

Jos olet koskaan tarvinnut varmistaa, että jokin on vaakasuorassa, voit nyt saada kuplatason puhelimeesi muutamassa sekunnissa.

Lue seuraava
Liittyvät aiheet
  • tee-se-itse
  • Ohjelmointi
  • 3D -tulostus
  • 3D -mallinnus
Kirjailijasta Joe Coburn(136 artikkelia julkaistu)

Joe on valmistunut tietojenkäsittelytieteestä Lincolnin yliopistosta Iso -Britanniasta. Hän on ammattimainen ohjelmistokehittäjä, ja kun hän ei lentä droneilla tai kirjoita musiikkia, hänet voidaan usein ottaa valokuvien ottamisesta tai videoiden tuottamisesta.

Lisää Joe Coburnilta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi