CAD

openSCAD henger

openSCAD henger
A cikk elkészítésekor meg akartam tudni, hogy az embereknek mi a problémájuk az openSCAD-tal. Meglepetésemre a leggyakoribb kérdés a henger létrehozására vonatkozott. Van egy hengerparancs, amelyről először megismerheti a részleteket. Ezt követően meglátja, milyen innovatív módon készíthet hengereket az Ön ízlése szerint. Hengereket is elvihet más darabokból, hogy érdekesebb dolgokat alkosson. A legtöbb olvasó, aki idejön, valószínűleg egy üreges hengert vagy valamilyen csövet szeretne látni. Olvassa tovább, sok mindent tartogatunk Önnek.

A hengerparancs

Ha a henger parancs legegyszerűbb verzióját használja, akkor csak egy paraméterre van szüksége. Így egy szilárd, egyenletes henger és semmi több. Meg kell jegyeznie, hogy a henger normál sugarú lesz, és a zárójelben szereplő érték magassága lesz. A parancsnak azonban sok lehetősége van, ássuk át őket.

henger (r1 = 20);
henger (r1 = 20, r2 = 5);
henger (r1 = 20, h = 40);
henger (r = 20, h = 40);
henger (r1 = 20, r2 = 5, h = 40, középpont = igaz);

A fenti kód első két hengerének nincs értelme, mert nincs magassága. Gyakori hiba, amikor elfelejti az értéket, és nem úgy néz ki, ahogyan szándékozta. Változók használata esetén ugyanaz történik, ha meghatározatlan változót használ. Ebben az esetben a magasságot, de futtatásakor ellenőrizze a konzol naplóját.

Egy kúp

A harmadik egy kúp, ennek oka az, hogy az r2 érték szabványos méretű. Próbálja ki a negyediket, és nézze meg, mi történik. Az utolsó egy kúpot hoz létre, ahol teljes mértékben ellenőrizheti a méreteket. Ezt egyszerűen lehet használni szilárd kúpokhoz. Beállítja a két sugarat és a magasságot, és kész. Használhatja az átmérőt is, ha ez jobban megfelel Önnek.

A közép = igaz érték a z tengelyre érvényes, a kúpot félúton hagyva a „talajtól”. Az alapértelmezés hamis, ami azt jelenti, hogy a kúp alja úgyszólván a „földre” kerül. Az '$ fn' paraméterrel kiválaszthatja azt is, hogy a kúp falai milyen közel vannak a kör alakúakhoz.

Üreges henger

Hé, várj egy percet! Ez csak szilárd darabokat hoz létre, hogyan fúrhatok rájuk furatokat? Kérdezel, köszönöm! majd szólok. A válasz mind különbség. Az a parancs. Tekintsük az alábbi kódot, amely két hengert tartalmaz, amelyeket göndör zárójelek és a differenciálparancs ölel fel.

különbség()
henger (r = 30, h = 40);
henger (r = 28, h = 41);

Egyszerűen fogalmazva, ha több darab van, akkor a következő darabok segítségével levágja az első darab anyagát. Ebben az esetben kivág egy hengert a hengerből. Ha bármilyen más alakot ki akar vágni, akkor ezt is megteheti. Próbáljon meg egy kockát vagy gömböt! Vegye figyelembe a $ fn érték érdekes és néha pusztító hatásait erre a kódra.

Üreges kúp

Ezt kúppal is megteheti, csak használja a dupla sugárértékeket. Mivel mindkét kúpot meghatározza, nagyon sok ellenőrzése van a végeredmény felett. A legegyszerűbb üreges kúp csak két kúp egymáson belül, vastagsága az anyagnak.

különbség ()
henger (r1 = 30, r2 = 12, h = 50);
henger (r1 = 25, r2 = 7, h = 45);

Ez a kúp felül van borítva, kinyithatja, ha egyszerűen a második magasságot állítja magasabbra, mint az első. Mivel két hengere van, a kettő bármelyikét megváltoztathatja. Például a második henger cseréjével egyenes lyukat vághat rajta keresztül. Kockát is választhat, de ne feledje, hogy ez túl sok anyagot tud kivágni a kúpból.

Piramis

Ez lényegtelennek tűnhet, de hasznos trükk, amelyet szem előtt kell tartania az openSCAD használatának folytatása közben. Az összes henger és más elem egy alak közelítője. Korábban olvastad a $ fn paramétert, itt kihasználod. Ezt szem előtt tartva gondolhatja: A piramis négy oldalú kúp. Helyes! használd az $ fn = 4 értéket, és négy oldalú kúpod van, vagyis piramis.

különbség ()
henger (r1 = 30, r2 = 12, h = 40, $ fn = 4);
henger (r1 = 25, r2 = 7, h = 35, $ ​​fn = 4);

A belső henger ugyanazt a hengeret vágja, mint a külső. Amíg el nem kezded játszani az $ fn paramétert. A paraméter hatásainak megismerése érdekében próbáljon meg négylábú székletet készíteni. Hogyan befolyásolja az $ fn paraméter az eredményt? Ezenkívül hogyan fedheti le a tetejét vagy az alját?

Sokakat egyesítve

A hengerek sok felhasználása érdekében meg kell tanulnia sokuk kombinálását. A végeredmény nagyon összetett és néha hasznos is lehet. Az egyik lehetőség a henger tetejének felhelyezése. Ehhez el kell kezdenie a változók használatát. Szokássá tegye őket arra, amit tervez. Ez megkönnyíti a modulok későbbi elkészítését.

vastag = 5;
alapozó = 30;
topr = 12;
magasság = 50;
szakszervezet ()
// Az alsó kúp
különbség ()
henger (r1 = aljzat, r2 = topr, h = magasság);
henger (r1 = bázisvastagság, r2 = topr - vastagság, h = magasság + vastagság);

// A felső labda
fordítás ([0, 0, magasság])
különbség()
gömb (r = topr);
gömb (r = topr-vastag);
lefordítani ([0, 0, -topr])
kocka (méret = topr * 2, közép = igaz);

Fentről kezdve változók vannak. Ezek a vastagság, az alap sugár, a felső sugár és a magasság vonatkoznak. A szakszervezeti nyilatkozat összehozza a darabokat. A nadrágtartón belül megvan a kúp, majd a felső labda. Mivel az unióban vannak, a végén egy darabbá válnak. Még többet tehet, ha sok hengert használ, sok szögben.

Kémcső készítése

A kúpokból továbblépve készítsen kémcsövet. Először meg kell fontolnia, hogy milyen formákból áll egy kémcső. A fő rész egy henger, semmi divatos, csak a két henger közötti szabályos különbség. Ha a hosszúságot változóként állítja be, akkor ezt az értéket referenciaként használhatja. Tudnia kell, hogy a cső hol végződik és alul félgömbbé válik. A gömb meghatározásához a cső sugárát is felhasználja.

tubr = 20;
tubl = 80;
vastag = 2;
különbség ()
henger (r1 = tubr, r2 = tubr, h = tubl);
henger (r1 = tubr - thickn, r2 = tubr - thickn, h = tubl);

Próbáld ki, és csak egy egyszerű hengered lesz, amellyel elkészítheted az egész csövet, amelyet meg kell olvasztanod a fél gömbbel együtt. Az alapértelmezett openSCAD-ben nincs félgömb, ezt meg kell tennie. Használjon két gömb közötti különbséget egy üreges gömb létrehozásához, majd távolítson el egy másik kockát, amely levágja a gömböt.

különbség ()
gömb (tubr);
gömb (tubr - thickn);
fordítás ([0, 0, -tubr])
kocka (méret = tubr * 2, közép = igaz);

Most két külön darabod van. A következő lépés az összerakás. Itt használhatja az union parancsot. A különbség parancshoz hasonlóan az unió is az összes darabot sorba veszi. Az unióban a sorrend nem olyan fontos, mivel kiegészítés. A kód kissé csúnyán fog kinézni, mert itt nem használunk modulokat.

szakszervezet ()
// Főcső
különbség ()
henger (r1 = tubr, r2 = tubr, h = tubl);
henger (r1 = tubr - thickn, r2 = tubr - thickn, h = tubl);

// Alsó gömb
lefordítani ([0, 0, tubl])
különbség ()
gömb (tubr);
gömb (tubr - thickn);
fordítás ([0, 0, -tubr])
kocka (méret = tubr * 2, közép = igaz);


// Felső gyűrű
különbség ()
henger (r = tubr + thickn, h = thickn);
henger (r = tubr, h = thickn);

Itt fejjel lefelé tervezzük, ez rajtad múlik. Tegye azt, ami kényelmes az adott esetben. Használatakor mindig elforgathatja. A felső gyűrű éles élekkel rendelkezik, ezt orvosolhatja egy kör használatával, és elforgathatja. Más módon is megtehetjük, felfedezhetjük és kísérletezhetünk!

rotate_extrude (konvexitás = 10, $ fn = 100)
lefordítani ([tubr, 0, 0])
kör (r = vastag, $ fn = 100);

Sok henger kombinálása

Miután több hengerből készített egy csövet, érdemes különféle módon csatlakoztatni őket. Ehhez újra használhat szakszervezetet. Tegyük fel, hogy egy csövet negyvenöt fokos szögben szeretne a másik csőhöz. Ehhez a szöget bezáró csövet félig felfelé kell elhelyezni a nagy cső felé.

szakszervezet ()
cső (50, 4, 300);
fordítás ([0, 0, totlength / 2]) forgatás ([45, 0, 0])
cső (50, 4, 150);

Ha megpróbálja ezt, akkor kívülről nagyon jól néz ki. Amikor belenéz, akkor látja, hogy mindkét csöve van. A rövid elzárja az áramlást a hosszú csőben. Ennek orvoslásához törölnie kell mindkét hengert a csövek belsejében. Az egész csatlakozást egy darabnak tekintheti, és a megfelelő hengereket utána teheti.

különbség ()
szakszervezet ()
cső (50, 4, 300);
fordítás ([0, 0, totlength / 2]) forgatás ([45, 0, 0])
cső (50, 4, 150);


henger (r = 50 - 4, h = teljes hosszúság);
fordítás ([0, 0, totlength / 2]) forgatás ([45, 0, 0])
henger (r = 50 - 4, h = teljes hosszúság / 2);

Mint látható, az első henger a cső teljes hosszában kinyúlik. Ez mindent kitöröl a nagy csőben, de a kis hajlót is le kell törölni. A fordítási parancs félig felfelé mozgatja a csövet, majd elfordul, és a hengeret a csőbe teszi. Valójában a kódot felülről másolják, és a csövet hengerre cserélik.

Vízvezeték

Ha több csövet szeretne készíteni, használhatja a fenti példában szereplő modult, és elkezdheti a bővítést. A kód a https: // github oldalon érhető el.com / matstage / openSCAD-hengerek.git, Az írás idején csak ez a kettő van, de gyakran nézzen vissza, hogy többet láthasson. Lehet, hogy izgalmasabb dolgokat tud létrehozni.

Egy tömb belsejében

Ha belső égésű motor készítését tervezi, akkor hengeres lyukra van szüksége szilárd darabban. Az alábbiakban egy példa a lehető legegyszerűbb, a hűtőcsatornákhoz és a dugattyúkhoz még sok minden hozzáfűzhető. Ez még egy napra szól.

modul hengerblokk (
henger R = 3,
Szél = 1,
hengerek = 8)

különbség ()
kocka ([hengerR * 2 + Edge * 2,
hengerR * 2 * numCylinders + Edge * numCylinders + Edge, 10]);
for (x = [0: 1: hengerek-1])
fordítás ([hengerR + Él, hengerR * x * 2 + Él * x + hengerR + Él, 0])
henger (r = henger R, h = 12);

Itt van egy kocka, amely a tömb belsejében a kívánt hengerek számának megfelelően növekszik. A modul összes értéke az alapértelmezett, így értékek nélkül is használhatja. Használatához használja a 'use 'utasítás a fájl tetején, majd adja hozzá a hengerblokkot (numCylinders = 8). Bármely értéket használhat vagy kihagyhat, ha kihagyja őket, akkor az alapértelmezett lesz. Röviden: a modul belseje az értékekkel kezdődik, majd létrehoz egy kockát, amely elég hosszú ahhoz, hogy elférjen a hengereken. Ezután folytatja a hengerek for-utasítással történő eltávolításával. A nyilatkozatnak köszönhetően nagyobb vagy kisebb blokkot is létrehozhat. Haladóbb modulok esetében korlátozásokat tehet, amelyek megváltoztatják a tervezést, amikor bizonyos értékeket elérnek. Talán V-be akarja tenni, ha 8 vagy több hengerről van szó.

Extrudálva egy lapos alakból

A henger létrehozásának másik módja az, ha kört készít, és kihúzza azt. A szilárd henger csak két vonal:

lineáris_kivonat (15)
kör (20);

Ez egy 15 (nincs egység az openSCAD-ben) hosszúságú, 20 sugarú. Az átmérőt a d paraméterrel használhatja. Csak egy henger létrehozása nem túl hasznos, de ugyanazt a technikát használhatja bármely 2D alakhoz. Ezt később meglátja. Míg egy üreges henger, a kód egy kicsit hosszabb.

lineáris_kivonat (15)
különbség ()
kör (20);
kör (18);

Ez ugyanaz, de mint korábban tettük, eltávolítja a középső kört. Körbe hajlíthatja a rotate_extrude verzióval is. Ez nagyszerű fánk készítéséhez, a legegyszerűbb verzió úgy néz ki, mint egy.

rotate_extrude (szög = 180, konvexitás = 10)
fordítás ([30,0,0])
különbség ()
kör (20);
kör (10);

Ez a kód egy félkört hoz létre, amely üreges. Megjegyzés, amellyel körültekintően kell eljárnia, a fordítás szükséges, különben hibát fog kapni: „HIBA: a rotateextrude () összes pontjának azonos X koordináta előjellel kell rendelkeznie (a tartomány -2.09 -> 20.00) ”. A számok a kör értékétől függenek. Mivel ez ugyanazt az alakot hozza létre, mint egy henger, használhatatlannak tűnhet. Ez nem! Ennek a parancsnak az a legjobb haszna, hogy a lapos alak valahogy működőképessé válik. A kézikönyv példája egy egyszerű sokszög, amely kerek alakot hoz létre, ahol az öv futtatható. Körbe is csavarhatja. Az alábbi kód létrehoz egy dugóhúzót.

lefordítani ([- 80,0,0])
lineáris_kivonat (80, csavar = 900, skála = 2.0, szeletek = 100)
lefordítani ([2, 0, 0])
négyzet (10);

A kézikönyv példája sokszöget mutat, amely hasznos lehet. Az alábbi kód tetszőleges lehet, de jól szemlélteti az ilyen módon történő művelet erejét.

fordítás ([0, -80, 0])
rotate_extrude (szög = 275)
lefordítani ([12,3,2])
sokszög (pontok [[0,0], [20,17], [34,12], [25,22], [20, 30]];

Kísérletezhet a sokszög formájával, amíg nem megfelelő az alkalmazásához. Ha kissé ijesztőnek érzi a számok használatát, létrehozhatja a profilt más CAD programokban, és az import () paranccsal importálhatja a dxf eredményt.

Következtetés

A henger elkészítése egyszerű, de csak a folyamat kezdete. Az a trükk, hogy valami hasznosat készítenek vele. Be kell építenie a tervezésébe, és talán összetettebb kérdéseket kell létrehoznia, mint a hengerek. Keressen módokat és kihívásokat az ismeretek folyamatos bővítéséhez az openSCAD segítségével. Ne felejtse el használni a dokumentációt, és támaszkodjon más szoftverekre, amikor számokkal és ilyenekkel nem lehet könnyen elérni. Valamit nem fed le ez a bejegyzés, hogy rajzolhat dolgokat az Inkscape és a Blender alkalmazásba, és importálhatja azokat az openSCAD-be. Az OpenSCAD-ból az stl-be és más formátumba történő exportálás jól támogatott, és ha igazán kíváncsi vagy, nézd meg a Thingiverse oldalon található alkotásokat. Van egy csomó rajongója, akik hozzájárulnak a webhelyükhöz.

A top 5 ergonómikus számítógépes egértermék Linuxhoz
Hosszan tartó számítógép-használat okoz-e fájdalmat a csuklóján vagy az ujjain?? Merev ízületek szenvednek, és folyamatosan kezet kell rázniuk? Égő fá...
Az egér és az érintőpad beállításainak módosítása az Xinput használatával Linux alatt
A legtöbb Linux disztribúció alapértelmezés szerint „libinput” könyvtárral szállítja a rendszer bemeneti eseményeit. Feldolgozhatja a Wayland és az X ...
Az X-Mouse Button Control segítségével az egér gombjait másképp alakíthatja át a különböző szoftvereknél
Lehet, hogy szüksége van egy eszközre, amely megváltoztathatja az egér vezérlését minden használt alkalmazással. Ebben az esetben kipróbálhatja az úgy...