CAD

openSCAD-sylinteri

openSCAD-sylinteri
Tätä artikkelia valmistellessani halusin selvittää, millä ihmisillä on ongelmia openSCAD: n kanssa. Yllätyksekseni yleisin kysymys oli sylinterin luomisesta. On sylinterikomento, josta opit ensin yksityiskohdat. Sen jälkeen näet innovatiivisia tapoja luoda sylinterit mieleisekseen. Voit myös ottaa sylinterit muista kappaleista luoda mielenkiintoisempia asioita. Suurin osa tänne tulleista lukijoista haluaa todennäköisesti nähdä onton sylinterin tai jonkinlaisen putken. Jatka lukemista, meillä on paljon varastossa sinulle.

Sylinterikomento

Jos käytät sylinterikomennon yksinkertaista versiota, tarvitset vain yhden parametrin. Tämä tekee yhden kiinteän yhtenäisen sylinterin eikä mitään muuta. Huomaa, että sylinteri on vakiosäde ja sulkeissa olevan arvon korkeus. Komennolla on kuitenkin monia vaihtoehtoja, kaivetaan ne läpi.

sylinteri (r1 = 20);
sylinteri (r1 = 20, r2 = 5);
sylinteri (r1 = 20, h = 40);
sylinteri (r = 20, h = 40);
sylinteri (r1 = 20, r2 = 5, h = 40, keskipiste = tosi);

Koodin kahdella ensimmäisellä sylinterillä ei ole mitään järkeä, koska niillä ei ole korkeutta. Yleinen virhe on, kun unohdat arvon eikä se näytä haluamallasi tavalla. Kun käytät muuttujia, sama tapahtuu, jos käytät määrittelemätöntä muuttujaa. Tässä tapauksessa korkeus, mutta tarkista konsoliloki, kun suoritat sen.

Kartio

Kolmas on kartio, syy on, että r2-arvolla on vakiokoko. Kokeile neljättä ja katso mitä tapahtuu. Viimeinen luo kartion, jossa voit hallita mittoja täysin. Tätä on helppo käyttää kiinteisiin kartioihin. Asetat kaksi sädettä ja korkeuden ja olet valmis. Voit myös käyttää halkaisijaa, jos se sopii sinulle paremmin.

Keskiarvo = todellinen arvo pätee z-akselille, jolloin kartio jää puoliväliin "maasta". Oletus on väärä, mikä saa kartion pohjan päädymään niin sanottuun “maahan”. Voit myös valita, kuinka lähellä kartion seinät ovat pyöreitä, parametrilla '$ fn'.

Ontto sylinteri

Hei, odota hetki! Tämä luo vain kiinteitä kappaleita, kuinka poraan niihin reikiä? Pyydät, kiitos! Minä kerron sinulle. Vastaus on kaikki erossa. Komento, joka on. Harkitse alla olevaa koodia, se sisältää kaksi sylinteriä, jotka on peitetty kiharilla sulkeilla ja ero-komennolla.

ero()
sylinteri (r = 30, h = 40);
sylinteri (r = 28, h = 41);

Yksinkertaisesti sanottuna, kun sinulla on useita kappaleita, leikkaat materiaalin pois ensimmäisestä kappaleesta käyttämällä kaikkia seuraavia kappaleita. Tässä tapauksessa leikkaat sylinterin sylinteristä. Jos haluat leikata minkä tahansa muun muodon, voit tehdä sen myös. Kokeile kuutiota tai palloa! Huomaa mielenkiintoiset ja joskus tuhoisat vaikutukset, joita $ fn -arvolla voi olla tähän koodiin.

Ontto kartio

Voit tehdä tämän myös kartion avulla, käytä vain kaksoissäde-arvoja. Koska määrität molemmat kartiot, sinulla on paljon lopputuloksen hallintaa. Yksinkertaisin ontto kartio on vain kaksi kartiota toistensa sisällä, paksuus materiaalia varten.

ero ()
sylinteri (r1 = 30, r2 = 12, h = 50);
sylinteri (r1 = 25, r2 = 7, h = 45);

Tämä kartio on peitetty ylhäältä, voit avata sen yksinkertaisesti asettamalla toisen korkeuden ensimmäistä korkeammaksi. Koska sinulla on kaksi sylinteriä, voit vaihtaa minkä tahansa näistä kahdesta. Esimerkiksi voit leikata sen läpi suoran reiän vaihtamalla toista sylinteriä. Voit myös valita kuution, mutta muista, että tämä voi leikata liikaa materiaalia kartiosta.

Pyramidi

Tämä saattaa tuntua merkityksettömältä, mutta se on hyödyllinen temppu, joka sinun on pidettävä mielessä jatkaessasi openSCAD: n käyttöä. Kaikki sylinterit ja muut elementit ovat muodon likiarvoja. Luit parametrista $ fn aiemmin, tässä hyödynnät sitä. Tämän mielessä saatat ajatella: Pyramidi on kartio, jolla on neljä sivua. Oikea! käytä $ fn = 4 ja sinulla on kartio, jossa on neljä sivua, eli pyramidi.

ero ()
sylinteri (r1 = 30, r2 = 12, h = 40, $ fn = 4);
sylinteri (r1 = 25, r2 = 7, h = 35, $ ​​fn = 4);

Sisempi sylinteri leikkaa saman sylinterin kuin uloin. Kunnes aloitat pelaamisen parametrilla $ fn. Jos haluat tutustua tämän parametrin vaikutuksiin, yritä tehdä nelijalkainen jakkara. Kuinka $ fn -parametri vaikuttaa tulokseen? Lisäksi kuinka voit peittää ylä- tai alaosan?

Yhdistämällä monia

Jos haluat käyttää paljon sylintereitä, sinun tulisi oppia yhdistämään monet niistä. Lopputulos voi olla hyvin monimutkainen ja joskus jopa hyödyllinen. Yksi vaihtoehto on sylinterin yläosan asettaminen. Voit tehdä tämän hyvin aloittamalla muuttujien käytön. Tee tavaksi laittaa ne suunnittelun kärkeen. Se helpottaa moduulien valmistamista myöhemmin.

paksuus = 5;
alusta = 30;
topr = 12;
korkeus = 50;
liitto()
// Pohjakartio
ero ()
sylinteri (r1 = alusta, r2 = topr, h = korkeus);
sylinteri (r1 = pohjapaksuus, r2 = topr - paksuus, h = korkeus + paksuus);

// Yläpallo
kääntää ([0, 0, korkeus])
ero()
pallo (r = topr);
pallo (r = topr -paksuus);
kääntää ([0, 0, -topr])
kuutio (koko = topr * 2, keskellä = tosi);

Ylhäältä alkaen sinulla on muuttujia. Ne koskevat paksuutta, pohjasädettä, yläsädettä ja korkeutta. Ammattiliiton lausunto tuo palaset yhteen. Tukien sisällä sinulla on kartio ja sitten ylempi pallo. Koska he ovat liiton sisällä, heistä tulee lopulta yksi kappale. Voit tehdä vieläkin enemmän, kun käytät monia sylintereitä monissa kulmissa.

Koeputken tekeminen

Kartioista eteenpäin tee koeputki. Ensinnäkin sinun on harkittava, mitkä muodot tekevät koeputken. Pääosa on sylinteri, ei mitään hienoa, vain säännöllinen ero kahden sylinterin välillä. Jos asetat pituuden muuttujaksi, voit käyttää kyseistä arvoa viitteenä. Sinun on tiedettävä, missä putki päättyy ja siitä tulee puolipallo alareunassa. Pallon määrittelemiseen käytetään myös putken sädettä.

tubr = 20;
tubl = 80;
paksuus = 2;
ero ()
sylinteri (r1 = tubr, r2 = tubr, h = tubl);
sylinteri (r1 = tubr - thickn, r2 = tubr - thickn, h = tubl);

Kokeile tätä ja sinulla on vain yksinkertainen sylinteri, jotta koko putki, jonka tarvitset, sulatetaan yhdessä puolipallon kanssa. Oletusarvoisessa openSCAD-ohjelmassa ei ole puolipalloa, se on tehtävä. Käytä kahden pallon välistä eroa muodostaaksesi onton pallon, poista sitten toinen kuutio, joka leikkaa pallon.

ero ()
pallo (tubr);
pallo (tubr - paksu);
kääntää ([0, 0, -tubr])
kuutio (koko = tubr * 2, keskellä = tosi);

Sinulla on nyt kaksi erillistä kappaletta. Seuraava askel on koota ne yhteen. Tässä voit käyttää unionikomentoa. Kuten ero-komento, unioni ottaa kaikki kappaleet järjestyksessä. Unionissa järjestys ei ole niin tärkeä, koska se on lisäys. Koodi näyttää hieman rumalta, koska emme käytä moduuleja täällä.

liitto()
// Pääputki
ero ()
sylinteri (r1 = tubr, r2 = tubr, h = tubl);
sylinteri (r1 = tubr - thickn, r2 = tubr - thickn, h = tubl);

// Pohjapallo
kääntää ([0, 0, tubl])
ero ()
pallo (tubr);
pallo (tubr - paksu);
kääntää ([0, 0, -tubr])
kuutio (koko = tubr * 2, keskellä = tosi);


// Ylärengas
ero ()
sylinteri (r = tubr + paksuus, h = paksuus);
sylinteri (r = tubr, h = paksuus);

Täällä suunnittelemme sen ylösalaisin, tämä on sinun tehtäväsi. Tee mikä on sopivaa kyseiseen tapaukseen. Voit aina kiertää sitä, kun käytät sitä. Ylärenkaassa on terävät reunat, voit korjata tämän käyttämällä ympyrää ja kiertämällä_poista se. On muitakin tapoja tehdä se, tutkia ja kokeilla!

rotate_extrude (kuperuus = 10, $ fn = 100)
kääntää ([tubr, 0, 0])
ympyrä (r = paksuus, $ fn = 100);

Yhdistämällä monia sylintereitä

Kun olet tehnyt putken useista sylintereistä, voit myös liittää ne eri tavoin. Voit tehdä tämän käyttämällä liittoa uudelleen. Oletetaan, että haluat yhden putken 45 asteen kulmassa toiseen putkeen. Voit tehdä tämän asettamalla kulmaputken puoliväliin suurta putkea.

liitto()
putki (50, 4, 300);
kääntää ([0, 0, kokonaispituus / 2]) kiertää ([45, 0, 0])
putki (50, 4, 150);

Kun yrität tätä, se näyttää hyvältä ulkopuolelta. Kun katsot sisälle, näet, että sinulla on molemmat kokonaiset putket. Lyhyt estää pitkän virtauksen putkessa. Tämän korjaamiseksi sinun on poistettava molemmat sylinterit putkien sisällä. Voit pitää koko liitoksen yhtenä kappaleena ja laittaa vastaavat sylinterit sen jälkeen eroon.

ero ()
liitto()
putki (50, 4, 300);
kääntää ([0, 0, kokonaispituus / 2]) kiertää ([45, 0, 0])
putki (50, 4, 150);


sylinteri (r = 50 - 4, h = kokonaispituus);
kääntää ([0, 0, kokonaispituus / 2]) kiertää ([45, 0, 0])
sylinteri (r = 50 - 4, h = kokonaispituus / 2);

Kuten näette, ensimmäinen sylinteri venyttää putken koko pituuden. Tämä pyyhkii kaiken ison putken sisällä, mutta myös pieni kalteva putki on poistettava. Käännöskomento siirtää putken ylöspäin puoliväliin, sitten se pyörii ja laittaa sylinterin putken sisälle. Itse asiassa koodi kopioidaan ylhäältä ja putki korvataan sylinterillä.

Putkityöt

Jos haluat tehdä enemmän putkia, voit käyttää yllä olevan esimerkin moduulia ja aloittaa laajentamisen. Koodi on saatavilla osoitteessa https: // github.fi / matstage / openSCAD-sylinterit.git, Kirjoitushetkellä on vain nämä kaksi, mutta tarkista usein nähdäksesi lisää. Saatat pystyä luomaan mielenkiintoisempia juttuja.

Korttelin sisällä

Jos haluat tehdä polttomoottorin, tarvitset sylinterimäisen reiän kiinteässä kappaleessa. Alla on esimerkki, yksinkertaisin mahdollinen, jäähdytyskanaviin ja mäntiin on paljon muuta lisättävää. Se on vielä toinen päivä.

moduulin sylinterilohko (
sylinteri R = 3,
Reuna = 1,
numeroSylinterit = 8)

ero ()
kuutio ([sylinteriR * 2 + reuna * 2,
sylinteriR * 2 * numCylinders + Edge * numCylinders + Edge, 10]);
(x = [0: 1: numCylinders-1])
käännä ([sylinteriR + reuna, sylinteriR * x * 2 + reuna * x + sylinteriR + reuna, 0])
sylinteri (r = sylinteriR, h = 12);

Täällä sinulla on kuutio, joka kasvaa lohkon sisällä haluamasi sylinterien lukumäärän mukaan. Kaikki moduulin arvot ovat oletusarvoja, joten voit käyttää niitä ilman arvoja. Käytä sitä käyttämällä 'use '-lauseke tiedostosi yläosaan ja lisää sitten sylinterilohko (numCylinders = 8). Voit käyttää mitä tahansa arvoa tai jättää sen pois. Kun jätät ne pois, se vie oletusarvon. Lyhyesti sanottuna moduulin sisäpuoli alkaa arvoista ja luo sitten kuution, joka on riittävän pitkä sylinterien sovittamiseksi. Sitten se jatkuu poistamalla sylinterit for-lauseella. Lausunnon ansiosta voit tehdä suuremman tai pienemmän lohkon. Kehittyneemmille moduuleille voit asettaa rajoituksia, jotka muuttavat rakennetta, kun tietyt arvot saavutetaan. Ehkä haluat tehdä siitä V: n, jos se on vähintään 8 sylinteriä.

Suulakepuristaminen tasaisesta muodosta

Toinen tapa luoda sylinteri on tehdä ympyrä ja puristaa se. Kiinteä sylinteri on vain kaksi riviä:

lineaarinen_purista (15)
ympyrä (20);

Tämä luo 15 (ei yksiköitä openSCAD: ssä) pituuden 20 säteellä. Halkaisijaa voidaan käyttää parametrin d avulla. Pelkkä sylinterin luominen ei ole kovin hyödyllistä, mutta voit käyttää samaa tekniikkaa mille tahansa 2D-muodolle. Näet tämän myöhemmin. Vaikka ontto sylinteri, koodi on hieman pidempi.

lineaarinen_purista (15)
ero ()
ympyrä (20);
ympyrä (18);

Tämä on sama, mutta kuten aiemmin olemme tehneet, poistat keskiympyrän. Voit myös taivuttaa sitä ympyrään rotate_extrude-version avulla. Tämä on hieno munkkien valmistamiseen, yksinkertaisin versio näyttää yhdeltä.

rotate_extrude (kulma = 180, kuperuus = 10)
kääntää ([30,0,0])
ero ()
ympyrä (20);
ympyrä (10);

Tämä koodi luo puoliympyrän, joka on ontto. Huomaa, että sinun tulisi olla varovainen, että käännös on välttämätön tai saat virheilmoituksen: “VIRHE: kaikilla rotateextrude () -pisteillä on oltava sama X-koordinaattimerkki (alue on -2.09 -> 20.00) ”. Numerot riippuvat ympyrän arvosta. Koska tämä luo saman muodon kuin sylinteri, se voi tuntua hyödyttömältä. Se ei ole! Tämän komennon paras käyttö on saada tasainen muoto toimimaan jotenkin. Käsikirjassa on esimerkkinä yksinkertainen monikulmio, se luo pyöreän muodon, jossa voit ajaa hihnaa. Voit myös kiertää sen ympärille. Alla oleva koodi luo korkkiruuvin.

kääntää ([- 80,0,0])
linear_extrude (80, kierre = 900, asteikko = 2.0, viipaleet = 100)
kääntää ([2, 0, 0])
neliö (10);

Käsikirjan esimerkissä on monikulmio, josta voi olla hyötyä. Alla oleva koodi voi olla mitä haluat, mutta havainnollistaa voimaa tehdä se tällä tavalla.

kääntää ([0, -80, 0])
rotate_extrude (kulma = 275)
kääntää ([12,3,2])
monikulmio (pisteet = [[0,0], [20,17], [34,12], [25,22], [20, 30]];

Voit kokeilla monikulmion muotoa, kunnes saat sen sovelluksellesi. Jos vain numeroiden käyttäminen tuntuu hieman pelottavalta, voit luoda profiilin muissa CAD-ohjelmissa ja tuoda dxf-tuloksen komennolla import ().

Johtopäätös

Sylinterin valmistaminen on yksinkertaista, mutta vasta prosessin alku. Hankala osa on tehdä jotain hyödyllistä sen kanssa. Sinun on myös sisällytettävä se suunnitteluusi ja ehkä luotava monimutkaisempia asioita kuin sylinterit. Löydä tapoja ja haasteita jatkuvaan tietämyksesi laajentamiseen openSCAD: n avulla. Muista käyttää dokumentaatiota ja nojata muihin ohjelmistoihin, kun niitä ei voida helposti saavuttaa numeroilla tai vastaavilla. Jotakin, jota tässä viestissä ei käsitellä, on, että voit piirtää tavaraa Inkscape- ja Blender-laitteisiin ja tuoda ne openSCAD: iin. Vientiä OpenSCAD: sta stl: ään ja muihin muotoihin tuetaan hyvin, ja jos olet todella utelias, tutustu luomuksiin Thingiversessa. Heillä on joukko harrastajia, jotka osallistuvat asioihin sivustollaan.

Parhaat pelikonsoliemulaattorit Linuxille
Tässä artikkelissa luetellaan suositut pelikonsolin emulointiohjelmistot, jotka ovat saatavana Linuxille. Emulointi on ohjelmistojen yhteensopivuusker...
Best Linux Distros for Gaming in 2021
The Linux operating system has come a long way from its original, simple, server-based look. This OS has immensely improved in recent years and has no...
Kuinka siepata ja suoratoistaa pelisessiosi Linuxissa
Aikaisemmin pelaamista pidettiin vain harrastuksena, mutta ajan myötä pelialalla tapahtui valtava kasvu tekniikan ja pelaajien määrän suhteen. Peliala...