CAD

„openSCAD“ cilindras

„openSCAD“ cilindras
Rengdamas šį straipsnį norėjau sužinoti, kokie žmonės turi problemų dėl „openSCAD“. Mano nuostabai, dažniausiai iškilo klausimas apie cilindro sukūrimą. Yra cilindro komanda, apie kurią pirmiausia sužinosite išsamią informaciją. Po to pamatysite novatoriškų būdų sukurti cilindrus pagal savo skonį. Taip pat galite atimti cilindrus iš kitų dalių, kad sukurtumėte įdomesnių dalykų. Dauguma čia atvykusių skaitytojų tikriausiai nori pamatyti tuščiavidurį cilindrą ar kokį nors vamzdelį. Skaitykite toliau, mes turime daug jūsų.

Cilindro komanda

Jei naudojate paprasčiausią baliono komandos versiją, jums reikės tik vieno parametro. Tai daro vieną vientisą vienodą cilindrą ir nieko daugiau. Turėtumėte atkreipti dėmesį, kad tas cilindras bus standartinio spindulio ir skliaustuose esančios vertės aukščio. Vis dėlto komandoje yra daugybė galimybių, įsigilinkime į jas.

cilindras (r1 = 20);
cilindras (r1 = 20, r2 = 5);
cilindras (r1 = 20, h = 40);
cilindras (r = 20, h = 40);
cilindras (r1 = 20, r2 = 5, h = 40, centras = tiesa);

Pirmieji du cilindrai aukščiau esančiame kode neturi prasmės, nes neturi aukščio. Dažna klaida yra ta, kai pamirši vertę ir ji atrodo ne taip, kaip norėjai. Kai naudojate kintamuosius, tas pats atsitinka, jei naudojate neapibrėžtą kintamąjį. Šiuo atveju aukštis, bet patikrinkite konsolės žurnalą, kai jį paleisite.

Kūgis

Trečiasis yra kūgis, priežastis yra ta, kad r2 reikšmė yra standartinio dydžio. Išbandykite ketvirtą ir sužinokite, kas nutiks. Paskutinis sukuria kūgį, kuriame jūs visiškai valdote matmenis. Šis yra paprastas naudoti kietiems kūgiams. Jūs nustatote du spindulius ir aukštį ir baigsite. Taip pat galite naudoti skersmenį, jei tai jums labiau tinka.

Centras = tikroji vertė galioja z ašiai, paliekant kūgį pusiaukelėje nuo „žemės“. Pagal nutylėjimą yra klaidinga, todėl kūgio apačia atsiduria ant „žemės“, taip sakant. Taip pat galite pasirinkti, kiek kūgio sienos yra apvalios, naudodami parametrą '$ fn'.

Tuščiaviduris cilindras

Ei, palauk minutėlę! Tai sukuria tik tvirtus gabalus, kaip aš juose išgręžiu skyles? Jūs klausiate, ačiū! Aš jums pasakysiu. Atsakymas yra skirtingas. Tai komanda. Apsvarstykite toliau pateiktą kodą. Jame yra du cilindrai, kurie apgaubti garbanotais skliaustais ir skirtumo komanda.

skirtumas ()
cilindras (r = 30, h = 40);
cilindras (r = 28, h = 41);

Paprasčiau tariant, kai turite kelis gabalus, tada nupjaukite medžiagą iš pirmojo gabalo, naudodami visus toliau nurodytus gabalus. Tokiu atveju iš cilindro iškirpote cilindrą. Jei norite iškirpti bet kokią kitą formą, taip pat galite tai padaryti. Išbandykite kubą ar sferą! Atkreipkite dėmesį į įdomų, o kartais ir pražūtingą $ fn vertės poveikį šiam kodui.

Tuščiaviduris kūgis

Tai galite padaryti ir su kūgiu, tiesiog naudokite dvigubo spindulio vertes. Kadangi jūs apibrėžiate abu kūgius, jūs galite daug kontroliuoti galutinį rezultatą. Paprasčiausias tuščiaviduris kūgis yra tik du kūgiai, kurių storis medžiagai.

skirtumas ()
cilindras (r1 = 30, r2 = 12, h = 50);
cilindras (r1 = 25, r2 = 7, h = 45);

Šis kūgis yra uždengtas viršuje, jį galite atidaryti paprasčiausiai nustatydami antrą aukštį aukščiau nei pirmasis. Kadangi turite du cilindrus, galite pakeisti bet kurį iš dviejų. Pavyzdžiui, galite iškirpti tiesią skylę per ją, pakeisdami antrąjį cilindrą. Taip pat galite pasirinkti kubą, tačiau atminkite, kad tai gali išpjauti per daug medžiagos iš kūgio.

Piramidė

Tai gali atrodyti neaktualu, tačiau tai yra naudinga gudrybė, kurią turite nepamiršti tęsdami „openSCAD“ naudojimą. Visi cilindrai ir kiti elementai yra apytiksliai formos. Apie parametrą $ fn perskaitėte anksčiau, čia juo pasinaudojote. Atsižvelgdami į tai, galite pagalvoti: Piramidė yra kūgis iš keturių pusių. Teisingai! naudokite $ fn = 4 ir turite kūgį su keturiomis pusėmis, tai reiškia piramidę.

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

Vidinis cilindras perpjauna tą patį cilindrą kaip ir išorinis. Kol nepradėsite žaisti su parametru $ fn. Norėdami susipažinti su šio parametro poveikiu, pabandykite padaryti keturkoję išmatą. Kaip $ fn parametras veikia rezultatą? Be to, kaip galite padengti viršutinę ar apatinę dalį?

Daugelį derinant

Norėdami naudoti daug cilindrų, turėtumėte sužinoti, kaip daugelį iš jų sujungti. Galutinis rezultatas gali būti labai sudėtingas ir kartais netgi naudingas. Viena galimybė yra uždėti viršutinę dalį ant cilindro. Norėdami tai padaryti gerai, turite pradėti naudoti kintamuosius. Įpraskite juos įdėti į tai, ką kuriate. Tai palengvina vėliau modulių gamybą.

storis = 5;
bazinis = 30;
topr = 12;
aukštis = 50;
sąjunga ()
// Apatinis kūgis
skirtumas ()
cilindras (r1 = pagrindas, r2 = topr, h = aukštis);
cilindras (r1 = pagrindo storis, r2 = topr - storis, h = aukštis + storis);

// Viršutinis kamuolys
versti ([0, 0, aukštis])
skirtumas ()
sfera (r = topr);
rutulys (r = topr -storis);
versti ([0, 0, -topr])
kubas (dydis = topr * 2, centras = tiesa);

Pradedant nuo viršaus, turite kintamuosius. Jie skirti storiui, pagrindo spinduliui, viršutiniam spinduliui ir aukščiui. Sąjungos pareiškimas sujungia kūrinius. Breketų viduje turite kūgį, o tada viršutinį rutulį. Kadangi jie yra sąjungos viduje, jie taps vienu kūriniu pabaigoje. Galite padaryti dar daugiau, kai naudojate daugybę cilindrų įvairiais kampais.

Mėgintuvėlio gaminimas

Judėdami iš kūgių, padarykite mėgintuvėlį. Pirmiausia turite apsvarstyti, kokios formos sudaro mėgintuvėlį. Pagrindinė dalis yra cilindras, nieko nuostabaus, tik reguliarus skirtumas tarp dviejų cilindrų. Jei ilgį nustatysite kaip kintamąjį, galite naudoti tą vertę kaip nuorodą. Turite žinoti, kur vamzdelis baigiasi ir tampa pusrutuliu apačioje. Jūs taip pat naudosite vamzdžio spindulį, kad apibrėžtumėte sferą.

tubr = 20;
tubl = 80;
storis = 2;
skirtumas ()
cilindras (r1 = tubr, r2 = tubr, h = tubl);
cilindras (r1 = tubr - thickn, r2 = tubr - thickn, h = tubl);

Išbandykite tai ir turėsite tik paprastą cilindrą, kad padarytumėte visą mėgintuvėlį, kurį jums reikia ištirpinti kartu su puse rutulio. Numatytame „openSCAD“ nėra pusės sferos, turite ją sukurti. Norėdami sukurti tuščiavidurį rutulį, naudokite dviejų sferų skirtumą, tada pašalinkite kitą kubą, kuris nupjauna sferą.

skirtumas ()
rutulys (tubr);
rutulys (tubr - storas);
versti ([0, 0, -tubr])
kubas (dydis = tubr * 2, centras = tiesa);

Dabar jūs turite dvi atskiras dalis. Kitas žingsnis - juos sujungti. Čia galite naudoti sąjungos komandą. Kaip ir skirtumo komanda, sąjunga paima visas dalis iš eilės. Sąjungoje tvarka nėra tokia svarbi, nes tai yra papildymas. Kodas atrodys šiek tiek negražus, nes čia nenaudojame modulių.

sąjunga ()
// Pagrindinis vamzdis
skirtumas ()
cilindras (r1 = tubr, r2 = tubr, h = tubl);
cilindras (r1 = tubr - thickn, r2 = tubr - thickn, h = tubl);

// Apatinė sfera
versti ([0, 0, tubl])
skirtumas ()
rutulys (tubr);
rutulys (tubr - storas);
versti ([0, 0, -tubr])
kubas (dydis = tubr * 2, centras = tiesa);


// Viršutinis žiedas
skirtumas ()
cilindras (r = tubr + thickn, h = thickn);
cilindras (r = tubr, h = thickn);

Čia mes suprojektuojame jį aukštyn kojomis, tai priklauso nuo jūsų. Darykite tai, kas patogu konkrečiu atveju. Naudodami visada galite pasukti. Viršutinis žiedas turi aštrius kraštus. Tai galite ištaisyti naudodami apskritimą ir pasukdami_įskleisti. Yra ir kitų būdų tai padaryti, tyrinėti ir eksperimentuoti!

rotate_extrude (išgaubtumas = 10, $ fn = 100)
versti ([tubr, 0, 0])
apskritimas (r = storis, $ fn = 100);

Daugelio cilindrų sujungimas

Pagaminę vamzdelį iš kelių cilindrų, taip pat galbūt norėsite juos sujungti skirtingais būdais. Norėdami tai padaryti, galite vėl naudoti sąjungą. Tarkime, kad norite vieno vamzdžio keturiasdešimt penkių laipsnių kampu, palyginti su kitu vamzdeliu. Norėdami tai padaryti, kampuotą vamzdelį padėkite iki pusės dideliu vamzdžiu.

sąjunga ()
mėgintuvėlis (50, 4, 300);
versti ([0, 0, totlength / 2]) pasukti ([45, 0, 0])
mėgintuvėlis (50, 4, 150);

Pabandžius tai atrodo puikiai iš išorės. Pažvelgęs į vidų pamatai, kad turi abu ištisus vamzdelius. Trumpasis blokuoja srautą ilgame vamzdyje. Norėdami tai ištaisyti, turite ištrinti abu cilindrus vamzdžių viduje. Galite laikyti visą jungtį vienu gabalu ir įdėti atitinkamus cilindrus po jo skirtumo viduje.

skirtumas ()
sąjunga ()
mėgintuvėlis (50, 4, 300);
versti ([0, 0, totlength / 2]) pasukti ([45, 0, 0])
mėgintuvėlis (50, 4, 150);


cilindras (r = 50 - 4, h = bendras ilgis);
versti ([0, 0, totlength / 2]) pasukti ([45, 0, 0])
cilindras (r = 50 - 4, h = bendras ilgis / 2);

Kaip matote, pirmasis cilindras ištempia visą vamzdžio ilgį. Tai ištrins viską, kas yra dideliame mėgintuvėlyje, tačiau reikia ištrinti ir mažą pasvirusį vamzdelį. Versti komanda perkelia vamzdį į viršų, jis sukasi ir įdeda cilindrą į vamzdžio vidų. Tiesą sakant, kodas nukopijuojamas iš viršaus ir vamzdis pakeičiamas cilindru.

Santechnika

Jei norite pagaminti daugiau vamzdžių, galite naudoti anksčiau pateiktame pavyzdyje esantį modulį ir pradėti plėstis. Kodas pasiekiamas adresu https: // github.com / matstage / openSCAD-cilindrai.git, Rašymo metu yra tik šie du, tačiau dažnai patikrinkite, ar norite pamatyti daugiau. Galbūt galėsite sukurti įdomesnių dalykų.

Bloko viduje

Jei norite pagaminti vidaus degimo variklį, jums reikia cilindro formos skylės vientisoje dalyje. Žemiau pateikiamas paprasčiausias įmanomas pavyzdys, kad aušinimo kanalus ir stūmoklius galima pridėti daug daugiau. Vis dėlto tai dar vienai dienai.

modulio cilindrų blokas (
cilindras R = 3,
Kraštas = 1,
cilindrai = 8)

skirtumas ()
kubas ([cilindrasR * 2 + kraštas * 2,
cilindrasR * 2 * numerCylinders + Edge * numCylinders + Edge, 10]);
(x = [0: 1: numCylinders-1])
versti ([cilindrasR + kraštas, cilindrasR * x * 2 + kraštas * x + cilindrasR + kraštas, 0])
cilindras (r = cilindrasR, h = 12);

Čia jūs turite kubą, kuris auga pagal norimą cilindrų skaičių bloko viduje. Visos modulio reikšmės yra numatytosios, kad galėtumėte jas naudoti be reikšmių. Norėdami jį naudoti, naudokite „use 'pareiškimas failo viršuje ir tada pridėkite cilindrų bloką (numCylinders = 8). Galite naudoti arba praleisti bet kokią vertę. Kai jas praleisite, reikės numatytosios. Trumpai tariant, modulio vidus prasideda vertėmis ir sukuria kubą, kuris būtų pakankamai ilgas, kad tilptų cilindrai. Tada jis tęsiasi pašalindamas cilindrus su užrašu. Dėl pareiškimo galite padaryti didesnį ar mažesnį bloką. Pažangesniems moduliams galite pritaikyti apribojimus, kurie pakeis dizainą, kai pasiekiamos tam tikros vertės. Galbūt jūs norite tai padaryti V, jei jis yra 8 ar daugiau cilindrų.

Išspaudimas iš plokščios formos

Kitas būdas sukurti cilindrą yra padaryti apskritimą ir jį išstumti. Tvirtas cilindras yra tik dvi linijos:

linijinis_extrude (15)
apskritimas (20);

Tai sukuria 15 (be vienetų „openSCAD“) ilgį, kurio spindulys yra 20. Skersmenį galite naudoti naudodami parametrą d. Tiesiog sukurti cilindrą nėra labai naudinga, tačiau bet kuriai 2D formai galite naudoti tą pačią techniką. Tai pamatysite vėliau. Nors tuščiaviduris cilindras, kodas yra šiek tiek ilgesnis.

linijinis_extrude (15)
skirtumas ()
apskritimas (20);
apskritimas (18);

Tai tas pats, bet, kaip jau padarėme anksčiau, jūs pašalinate centrinį ratą. Taip pat galite sulenkti jį ratu naudodami versiją „rotate_extrude“. Tai puikiai tinka gaminant spurgas, paprasčiausia versija atrodo viena.

rotate_extrude (kampas = 180, išgaubimas = 10)
versti ([30,0,0])
skirtumas ()
apskritimas (20);
apskritimas (10);

Šis kodas sukuria tuščiavidurį ratą. Pastaba, su kuria turėtumėte būti atsargus, yra tai, kad vertimas yra būtinas, arba gausite klaidą: „KLAIDA: visi„ rotateextrude “() taškai turi turėti tą patį X koordinatės ženklą (diapazonas yra -2.09 -> 20.00) “. Skaičiai priklausys nuo apskritimo vertės. Tai sukuria tokią pačią formą kaip cilindras, todėl gali atrodyti nenaudinga. Tai nėra! Geriausias šios komandos naudojimas yra tam, kad plokščia forma būtų kažkaip funkcionali. Vadove kaip pavyzdys yra paprastas daugiakampis, jis sukuria apvalią formą, kur galite paleisti diržą. Taip pat galite jį pasukti. Žemiau pateiktas kodas sukuria kamščiatraukį.

versti ([- 80,0,0])
line_extrude (80, sukimas = 900, mastelis = 2.0, griežinėliai = 100)
versti ([2, 0, 0])
kvadratas (10);

Vadovo pavyzdyje parodytas daugiakampis, kuris gali būti naudingas. Žemiau pateiktas kodas gali būti bet koks, kas jums patinka, bet iliustruoja galybę tai padaryti tokiu būdu.

versti ([0, -80, 0])
rotate_extrude (kampas = 275)
versti ([12,3,2])
daugiakampis (taškai = [[0,0], [20,17], [34,12], [25,22], [20, 30]]);

Galite eksperimentuoti su daugiakampio forma, kol ją pritaikysite savo programai. Jei jaučiate šiek tiek bauginančią naudodami tik skaičius, galite sukurti profilį kitose CAD programose ir importuoti dxf rezultatą naudodami komandą import ().

Išvada

Padaryti cilindrą yra paprasta, bet tik proceso pradžia. Keblu yra pasigaminti ką nors naudingo. Jūs taip pat turite įtraukti jį į savo dizainą ir galbūt sukurti sudėtingesnes problemas nei cilindrai. Raskite būdų ir iššūkių, kaip nuolat plėsti žinias naudojant „openSCAD“. Nepamirškite naudoti dokumentacijos ir remtis kita programine įranga, kai to negalima lengvai pasiekti naudojant skaičius ir panašiai. Kažkas neaptariamas šiame įraše yra tai, kad galite piešti medžiagą „Inkscape“ ir „Blender“ ir importuoti į „OpenSCAD“. Eksportavimas iš „openSCAD“ į „stl“ ir kitus formatus yra gerai palaikomas. Jei jums tikrai įdomu, peržiūrėkite kūrinius „Thingiverse“. Jie turi daugybę entuziastų, prisidedančių prie savo svetainės.

Pridėkite pelės gestus prie „Windows 10“ naudodami šiuos nemokamus įrankius
Pastaraisiais metais kompiuteriai ir operacinės sistemos labai išsivystė. Buvo laikas, kai vartotojai turėjo naudoti komandas naršydami per failų tvar...
Valdykite ir valdykite pelės judėjimą tarp kelių „Windows 10“ monitorių
„Dual Display Mouse Manager“ leidžia jums valdyti ir konfigūruoti pelės judėjimą tarp kelių monitorių, sulėtinant jo judėjimą šalia sienos. „Windows 1...
„WinMouse“ leidžia tinkinti ir pagerinti pelės žymeklio judėjimą „Windows“ kompiuteryje
Jei norite pagerinti numatytąsias pelės žymiklio funkcijas, naudokite nemokamą programinę įrangą „WinMouse“. Tai prideda daugiau funkcijų, kurios padė...