CAD

openSCAD valj

openSCAD valj
Pri pripravi tega članka sem želel izvedeti, kakšne težave imajo ljudje z openSCAD. Na moje presenečenje je bilo najpogostejše vprašanje o ustvarjanju valja. Obstaja ukaz valja, o katerem boste najprej izvedeli podrobnosti. Po tem boste videli inovativne načine za ustvarjanje jeklenk po vaših željah. Drugim kosom lahko vzamete tudi jeklenke, da ustvarite bolj zanimive stvari. Večina bralcev, ki pridejo sem, si verjetno želi videti votel valj ali nekakšno cev. Nadaljujte z branjem, za vas imamo veliko pripravljenega.

Ukaz valja

Če uporabljate najpreprostejšo različico ukaza valja, potrebujete le en parameter. To naredi en trden enoten valj in nič več. Upoštevajte, da bo ta valj standardnega polmera in višine vrednosti v oklepaju. Ukaz ima sicer veliko možnosti, poiščimo jih.

valj (r1 = 20);
valj (r1 = 20, r2 = 5);
valj (r1 = 20, h = 40);
valj (r = 20, h = 40);
valj (r1 = 20, r2 = 5, h = 40, sredina = resnično);

Prva dva valja v zgornji kodi nimata smisla, ker nimata višine. Pogosta napaka je, če pozabite na vrednost in ni videti tako, kot ste želeli. Ko uporabljate spremenljivke, se isto zgodi, če uporabite nedefinirano spremenljivko. V tem primeru za višino, vendar med zagonom preverite dnevnik konzole.

Stožec

Tretji je stožec, razlog je v tem, da ima vrednost r2 standardno velikost. Poskusite s četrtim in poglejte, kaj se bo zgodilo. Zadnji ustvari stožec, kjer imate popoln nadzor nad dimenzijami. Ta je enostavna za uporabo v trdnih stožcih. Nastavite dva polmera in višino in ste končali. Uporabite lahko tudi premer, če vam to bolj ustreza.

Vrednost center = true velja za os z, stožec pa pusti na polovici od "tal". Privzeta vrednost je false, zaradi česar je dno stožca tako rekoč na "tleh". S parametrom '$ fn' lahko izberete tudi, kako blizu so stene stožcev krožne.

Votli valj

Hej, počakaj malo! Tako nastanejo le trdni kosi, kako naj izvrtam luknje v njih? Prosite, hvala! ti bom povedal. Odgovor je ves v razliki. Ukaz, ki je. Upoštevajte spodnjo kodo, saj vsebuje dve valji, ki sta zajeti v zavite oklepaje in ukaz za razliko.

Razlika()
valj (r = 30, h = 40);
valj (r = 28, h = 41);

Preprosto povedano, ko imate več kosov, potem odrežete material iz prvega kosa z uporabo vseh naslednjih kosov. V tem primeru iz valja izrežete valj. Če želite izrezati katero koli drugo obliko, lahko to storite tudi vi. Poskusite s kocko ali kroglo! Upoštevajte zanimive in včasih uničujoče učinke vrednosti $ fn na to kodo.

Votli stožec

To lahko storite tudi s stožcem, samo uporabite vrednosti dvojnega polmera. Ker definirate oba stožca, imate velik nadzor nad končnim rezultatom. Najenostavnejši votli stožec sta samo dva stožca drug v drugem z debelino materiala.

Razlika()
valj (r1 = 30, r2 = 12, h = 50);
valj (r1 = 25, r2 = 7, h = 45);

Ta stožec je pokrit na vrhu, odprete ga lahko tako, da preprosto nastavite drugo višino višje od prve. Ker imate dva valja, lahko katerega koli od njih zamenjate. Kot primer lahko skoznjo izrežete ravno luknjo s spreminjanjem drugega valja. Izberete lahko tudi kocko, vendar se zavedajte, da lahko iz stožca izrežete preveč materiala.

Piramida

To se morda zdi nepomembno, vendar je koristen trik, ki ga morate upoštevati, ko še naprej uporabljate openSCAD. Vsi valji in drugi elementi so približna oblika. O parametru $ fn ste že prebrali, tukaj ga izkoristite. S tem v mislih boste morda pomislili: Piramida je stožec s štirimi stranicami. Pravilno! uporabite $ fn = 4 in imate stožec s štirimi stranicami, kar pomeni piramido.

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

Notranji valj reže isti valj kot zunanji. Dokler se ne začnete igrati s parametrom $ fn. Če se želite seznaniti z učinki tega parametra, poskusite narediti štirinožno blato. Kako parameter $ fn vpliva na rezultat? Pa tudi kako lahko pokrijete zgornji ali spodnji del?

Kombiniranje mnogih

Če želite jeklenke veliko uporabljati, se morate naučiti, kako jih kombinirati. Končni rezultat je lahko zelo zapleten in včasih celo koristen. Ena od možnosti je namestitev zgornjega dela na valj. Če želite to narediti dobro, morate začeti uporabljati spremenljivke. Naj vam bo v navado, da jih postavite na vrh tega, kar načrtujete. Olajša kasnejšo izdelavo modulov.

debelina = 5;
baser = 30;
topr = 12;
višina = 50;
union ()
// Spodnji stožec
Razlika()
valj (r1 = baser, r2 = topr, h = višina);
valj (r1 = baser-thickn, r2 = topr - thickn, h = višina + thickn);

// Zgornja žoga
prevedi ([0, 0, višina])
Razlika()
krogla (r = topr);
krogla (r = topr -debel);
prevedi ([0, 0, -topr])
kocka (velikost = topr * 2, sredina = resnično);

Od vrha naprej imate spremenljivke. Nanašajo se na debelino, osnovni polmer, zgornji polmer in višino. Izjava sindikata združuje koščke. Znotraj naramnic imate stožec in nato zgornjo kroglo. Ker so znotraj zveze, bodo na koncu postali en kos. Še več lahko storite, če uporabljate veliko jeklenk v različnih kotih.

Izdelava epruvete

Če nadaljujete od stožcev, naredite epruveto. Najprej morate razmisliti, katere oblike tvorijo epruveto. Glavni del je valj, nič posebnega, samo običajna razlika med dvema valjema. Če nastavite dolžino kot spremenljivko, jo lahko uporabite kot referenco. Vedeti morate, kje se cev konča in na dnu postane polkrogla. Za določitev krogle boste uporabili tudi polmer cevi.

tubr = 20;
tubl = 80;
debelina = 2;
Razlika()
valj (r1 = tubr, r2 = tubr, h = tubl);
valj (r1 = tubr - thickn, r2 = tubr - thickn, h = tubl);

Preizkusite to in dobili boste le preprost valj, da boste lahko celo cev stopili skupaj s polkroglo. V privzetem openSCAD ni polkrogle, narediti ga morate. Uporabite razliko med dvema kroglama, da ustvarite votlo kroglo, nato odstranite drugo kocko, ki kroglo odreže.

Razlika()
krogla (tubr);
krogla (gomolj - debel);
prevedi ([0, 0, -tubr])
kocka (velikost = tubr * 2, sredina = resnično);

Zdaj imate dva ločena dela. Naslednji korak je, da jih sestavimo. Tu lahko uporabite ukaz union. Tako kot ukaz razlika tudi zveza vzame vse koščke po vrsti. Pri združevanju vrstni red ni tako pomemben, saj je dodatek. Koda bo videti nekoliko grda, ker tukaj ne uporabljamo modulov.

union ()
// Glavna cev
Razlika()
valj (r1 = tubr, r2 = tubr, h = tubl);
valj (r1 = tubr - thickn, r2 = tubr - thickn, h = tubl);

// Spodnja krogla
prevedite ([0, 0, tubl])
Razlika()
krogla (tubr);
krogla (gomolj - debel);
prevedi ([0, 0, -tubr])
kocka (velikost = tubr * 2, sredina = resnično);


// Zgornji obroč
Razlika()
valj (r = tubr + thickn, h = thickn);
valj (r = rumen, h = debel);

Tu ga oblikujemo na glavo, to je odvisno od vas. Naredite tisto, kar je primerno za posamezen primer. Ko jo uporabljate, jo lahko vedno zasukate. Zgornji obroč ima ostre robove, kar lahko odpravite s pomočjo kroga in ga zasukate_ekstrudirate. Obstajajo tudi drugi načini za to, raziskovanje in eksperimentiranje!

rotate_extrude (konveksnost = 10, $ fn = 100)
prevedi ([tubr, 0, 0])
krog (r = thickn, $ fn = 100);

Kombiniranje številnih valjev

Ko ste iz več valjev izdelali cev, jih boste morda želeli povezati na različne načine. Če želite to narediti, lahko znova uporabite zvezo. Recimo, da želite eno cev pod kotom petinštirideset stopinj v primerjavi z drugo cevjo. Če želite to narediti, postavite kotno cev na polovico velike cevi.

union ()
cev (50, 4, 300);
prevesti ([0, 0, totlength / 2]) zasukati ([45, 0, 0])
cev (50, 4, 150);

Ko to preizkusite, je od zunaj videti super. Ko pogledate noter, vidite, da imate obe celi cevi. Kratka preprečuje pretok v dolgi cevi. Da bi to odpravili, morate izbrisati oba valja v ceveh. Celotno zvezo lahko upoštevate kot en kos in za njo postavite ustrezne jeklenke znotraj razlike.

Razlika()
union ()
cev (50, 4, 300);
prevesti ([0, 0, totlength / 2]) zasukati ([45, 0, 0])
cev (50, 4, 150);


valj (r = 50 - 4, h = dolžina);
prevesti ([0, 0, totlength / 2]) zasukati ([45, 0, 0])
valj (r = 50 - 4, h = dolžina / 2);

Kot lahko vidite, se prvi valj razteza po celotni dolžini cevi. S tem boste izbrisali vse, kar je znotraj velike cevi, vendar je treba izbrisati tudi majhno cev, ki se naslanja. Ukaz za prevajanje premakne cev navzgor do polovice, nato se zavrti in valj vstavi v cev. Dejansko se koda kopira od zgoraj in cev se nadomesti z valjem.

Vodovod

Če želite narediti več cevi, lahko uporabite modul v zgornjem primeru in začnete širiti. Koda je na voljo na https: // github.com / matstage / openSCAD-valji.git, V času pisanja sta obstajala le ta dva, vendar pogosto preverite, če želite videti več. Morda boste lahko ustvarili bolj razburljive stvari.

Znotraj bloka

Če želite izdelati motor z notranjim zgorevanjem, potrebujete cilindrično luknjo v trdnem kosu. Spodaj je primer, najenostavnejši možen, za hladilne kanale in bate je treba dodati še veliko več. To pa je še en dan.

modul valj blok (
valj R = 3,
Rob = 1,
numCylinders = 8)

Razlika()
kocka ([valj R * 2 + rob * 2,
valj R * 2 * numCylinders + Edge * numCylinders + Edge, 10]);
za (x = [0: 1: številoCilindrov-1])
prevedite ([valj R + rob, valj R * x * 2 + rob * x + valj R + rob, 0])
valj (r = valj R, h = 12);

Tukaj imate kocko, ki raste glede na število valjev, ki jih želite znotraj bloka. Vse vrednosti v modulu so privzete, tako da jih lahko uporabljate brez vrednosti. Če ga želite uporabiti, uporabite 'use na vrhu datoteke in nato dodajte cilindrični blok (numCylinders = 8). Katero koli vrednost lahko uporabite ali izpustite, ko pa jih izpustite, bo privzeta. Skratka, notranjost modula se začne z vrednostmi in nato ustvari kocko, ki je dovolj dolga, da se prilega valjem. Nato nadaljuje z odstranjevanjem jeklenk z izjavo for. Zahvaljujoč izjavi for lahko naredite večji ali manjši blok. Za naprednejše module lahko vstavite omejitve, ki spremenijo zasnovo, ko so dosežene določene vrednosti. Mogoče želite, da je V, če ima 8 ali več valjev.

Iztiskanje iz ravne oblike

Drug način za ustvarjanje valja je izdelava kroga in iztiskanje. Poln valj je samo dve vrstici:

linearno_ekstrudiranje (15)
krog (20);

Tako nastane dolžina 15 (brez enot v openSCAD) s polmerom 20. Premer lahko uporabite s parametrom d. Samo ustvarjanje valja ni zelo koristno, lahko pa uporabite isto tehniko za katero koli 2D obliko. To boste videli kasneje. Medtem ko je votli valj koda nekoliko daljša.

linearno_ekstrudiranje (15)
Razlika()
krog (20);
krog (18);

To je enako, vendar, kot smo že storili, odstranite sredinski krog. Prav tako ga lahko upognete v krog z različico rotate_extrude. To je super za pripravo krofov, najpreprostejša različica je videti ena.

rotate_extrude (kot = 180, konveksnost = 10)
prevedite ([30,0,0])
Razlika()
krog (20);
krog (10);

Ta koda ustvari polkrog, ki je votel. Opomba, s katero morate biti previdni, če je prevod potreben, ali pa se prikaže napaka: »NAPAKA: vse točke za rotateextrude () morajo imeti enak koordinatni znak X (obseg je -2.09 -> 20.00) ". Števila bodo odvisna od vrednosti v krogu. Ker to ustvarja enako obliko kot valj, se morda zdi neuporabno. Ni! Najboljša uporaba tega ukaza je, da naravna oblika nekako deluje. Priročnik ima za primer preprost poligon, ustvarja okroglo obliko, kjer lahko vodite pas. Lahko ga tudi zasukate. Spodnja koda ustvari zamašek.

prevedite ([- 80,0,0])
linearno_ekstrudiranje (80, zasuk = 900, lestvica = 2.0, rezine = 100)
prevedi ([2, 0, 0])
kvadrat (10);

Primer v priročniku prikazuje poligon, ki je lahko koristen. Spodnja koda je lahko poljubna, vendar ponazarja moč, kako to storiti na ta način.

prevedi ([0, -80, 0])
rotate_extrude (kot = 275)
prevedite ([12,3,2])
mnogokotnik (točke = [[0,0], [20,17], [34,12], [25,22], [20, 30]]);

Z obliko poligona lahko eksperimentirate, dokler ga ne prilagodite svoji aplikaciji. Če je uporaba zgolj številk nekoliko zastrašujoča, lahko profil ustvarite v drugih programih CAD in z ukazom import () uvozite rezultat dxf.

Zaključek

Izdelava jeklenke je preprosta, vendar šele začetek postopka. Težaven del je, da z njim naredite nekaj koristnega. Prav tako ga morate vključiti v svojo zasnovo in morda ustvariti bolj zapletena vprašanja kot cilindri. Poiščite načine in izzive za nenehno širjenje znanja s pomočjo openSCAD. Ne pozabite uporabljati dokumentacije in se nasloniti na drugo programsko opremo, kadar je s številkami in podobno ni mogoče enostavno doseči. Nekaj, kar ni zajeto v tej objavi, je, da lahko v Inkscape in Blender risate stvari in jih uvozite v openSCAD. Izvoz iz openSCAD v stl in druge formate je dobro podprt in če ste res radovedni, si oglejte kreacije na Thingiverse. Imajo sveženj navdušencev, ki prispevajo stvari na njihovo spletno mesto.

Najboljši emulatorji igralne konzole za Linux
V tem članku bo navedena priljubljena programska oprema za emulacijo igralne konzole, ki je na voljo za Linux. Emulacija je sloj združljivosti program...
Najboljši Linux Distros za igre na srečo v letu 2021
Operacijski sistem Linux je daleč od prvotnega, preprostega, strežniškega videza. Ta OS se je v zadnjih letih izjemno izboljšal in se je zdaj razvil v...
Kako zajeti in pretakati svojo igralno sejo v Linuxu
V preteklosti je bilo igranje iger le hobi, sčasoma pa je igralniška industrija zabeležila veliko rast glede tehnologije in števila igralcev. Občinstv...