CAD

válec openSCAD

válec openSCAD
Při přípravě tohoto článku jsem chtěl zjistit, jaké problémy mají lidé s openSCADem. K mému překvapení byla nejčastější otázka vytvoření válce. Existuje příkaz cylindr, o kterém se nejdříve dozvíte podrobnosti. Poté uvidíte inovativní způsoby, jak vytvořit válce podle vašich představ. Můžete také odnést válce z jiných kusů a vytvořit tak zajímavější věci. Většina čtenářů, kteří sem přijdou, pravděpodobně chce vidět dutý válec nebo trubku nějakého druhu. Pokračujte ve čtení, máme pro vás spoustu věcí.

Příkaz cylindru

Pokud používáte nejjednodušší verzi příkazu cylindr, potřebujete pouze jeden parametr. To dělá jeden pevný uniformní válec a nic víc. Měli byste si uvědomit, že válec bude mít standardní poloměr a výšku hodnoty v závorkách. Příkaz má mnoho možností, pojďme si je prohlédnout.

válec (r1 = 20);
válec (r1 = 20, r2 = 5);
válec (r1 = 20, h = 40);
válec (r = 20, h = 40);
válec (r1 = 20, r2 = 5, h = 40, střed = true);

První dva válce ve výše uvedeném kódu nedávají smysl, protože nemají žádnou výšku. Častou chybou je, když zapomenete na hodnotu a nevypadá tak, jak jste zamýšleli. Když používáte proměnné, totéž se stane, pokud použijete nedefinovanou proměnnou. V tomto případě na výšku, ale při spuštění zkontrolujte protokol konzoly.

Kužel

Třetí je kužel, důvodem je, že hodnota r2 má standardní velikost. Zkuste čtvrtý a uvidíte, co se stane. Poslední vytvoří kužel, kde máte plnou kontrolu nad rozměry. Tenhle se snadno používá pro pevné kužely. Nastavíte dva poloměry a výšku a jste hotovi. Můžete také použít průměr, pokud vám to vyhovuje lépe.

Hodnota center = true je platná pro osu z, přičemž kužel je ponechán na půli cesty od „země“. Výchozí hodnota je false, což znamená, že spodní část kužele končí takřka na „zemi“. Pomocí parametru '$ fn' můžete také zvolit, nakolik jsou stěny kuželů kruhové.

Dutý válec

Hej, počkej chvíli! Tím se vytvoří pouze pevné kusy, jak do nich vyvrtám díry? Ptáte se, děkuji! Řeknu vám. Odpověď je celá v rozdílu. Příkaz, který je. Zvažte níže uvedený kód, který obsahuje dva válce, které jsou obklopeny složenými závorkami a příkazem rozdíl.

rozdíl()
válec (r = 30, h = 40);
válec (r = 28, h = 41);

Jednoduše řečeno, když máte několik kusů, pak odříznete materiál z prvního kusu pomocí všech následujících kusů. V tomto případě vyříznete válec z válce. Pokud chcete vyříznout jakýkoli jiný tvar, můžete to udělat také. Zkuste kostku nebo kouli! Všimněte si zajímavých a někdy zničujících účinků, které může mít hodnota $ fn na tento kód.

Dutý kužel

Můžete to udělat také pomocí kuželu, stačí použít hodnoty dvojitého poloměru. Jelikož definujete oba kužele, máte nad konečným výsledkem velkou kontrolu. Nejjednodušší dutý kužel jsou jen dva kužely uvnitř sebe s tloušťkou materiálu.

rozdíl ()
válec (r1 = 30, r2 = 12, h = 50);
válec (r1 = 25, r2 = 7, h = 45);

Tento kužel je nahoře zakrytý, můžete jej otevřít jednoduchým nastavením druhé výšky výše než první. Protože máte dva válce, můžete kterýkoli z nich vyměnit. Například můžete vyříznout rovnou díru výměnou druhého válce. Můžete si také vybrat kostku, ale mějte na paměti, že to může vyříznout z kužele příliš mnoho materiálu.

Pyramida

To se může zdát irelevantní, ale je to užitečný trik, který si musíte pamatovat při dalším používání openSCADu. Všechny válce a další prvky jsou přibližným tvarem. O parametru $ fn jste se dočetli dříve, zde ho využíváte. S ohledem na to si možná pomyslíte: Pyramida je kužel se čtyřmi stranami. Opravit! použijte $ fn = 4 a máte kužel se čtyřmi stranami, což znamená pyramidu.

rozdíl ()
válec (r1 = 30, r2 = 12, h = 40, $ fn = 4);
válec (r1 = 25, r2 = 7, h = 35, $ ​​fn = 4);

Vnitřní válec řeže stejný válec jako vnější. Dokud nezačnete hrát s parametrem $ fn. Chcete-li se seznámit s účinky tohoto parametru, zkuste si udělat čtyřnohou stoličku. Jak parametr $ fn ovlivní výsledek? Jak také můžete zakrýt horní nebo dolní část?

Kombinovat mnoho

Chcete-li válce používat hodně, měli byste se naučit, jak mnoho z nich kombinovat. Konečný výsledek může být velmi složitý a někdy dokonce užitečný. Jednou z možností je nasadit na válec vršek. Chcete-li to udělat dobře, musíte začít používat proměnné. Zvykněte si je dávat na vrchol toho, co navrhujete. Usnadňuje pozdější výrobu modulů.

thickn = 5;
základna = 30;
topr = 12;
výška = 50;
svaz()
// Spodní kužel
rozdíl ()
válec (r1 = základna, r2 = topr, h = výška);
válec (r1 = baser-tlustý, r2 = topr - tlustý, h = výška + tlustý);

// Horní koule
přeložit ([0, 0, výška])
rozdíl()
koule (r = topr);
koule (r = topr-tlustý);
přeložit ([0, 0, -prot])
krychle (size = topr * 2, center = true);

Počínaje shora, máte proměnné. Jsou pro tloušťku, poloměr základny, horní poloměr a výšku. Prohlášení unie spojuje jednotlivé části. Uvnitř rovnátek máte kužel a poté horní kouli. Protože jsou uvnitř unie, stanou se na konci jedním dílem. Když použijete mnoho válců v mnoha úhlech, můžete toho udělat ještě víc.

Výroba zkumavky

Pokračujte od kuželů a vytvořte zkumavku. Nejprve musíte zvážit, jaké tvary tvoří zkumavku. Hlavní částí je válec, nic fantastického, jen pravidelný rozdíl mezi dvěma válci. Pokud nastavíte délku jako proměnnou, můžete tuto hodnotu použít jako referenci. Musíte vědět, kde trubice končí a ve spodní části se stává polokoulí. K definici koule také použijete poloměr trubice.

tubr = 20;
tubl = 80;
thickn = 2;
rozdíl ()
válec (r1 = tubr, r2 = tubr, h = tubl);
válec (r1 = tubr - tloušťka, r2 = tubr - tloušťka, h = tubl);

Zkuste to a budete mít jen jednoduchý válec, abyste vyrobili celou trubku, musíte ji roztavit společně s polokoulí. Ve výchozím openSCADu není žádná poloviční koule, musíte to udělat. Pomocí rozdílu mezi dvěma koulemi vytvořte dutou kouli a poté odstraňte další krychli, která kouli odřízne.

rozdíl ()
koule (tubr);
koule (tubr - thickn);
přeložit ([0, 0, -tubr])
krychle (size = tubr * 2, center = true);

Nyní máte dva samostatné kousky. Dalším krokem je dát je dohromady. Zde můžete použít příkaz union. Stejně jako příkaz rozdílu, sjednocení vezme všechny části v pořádku. Ve spojení není pořadí tak důležité, protože se jedná o doplnění. Kód bude vypadat trochu ošklivě, protože zde nepoužíváme moduly.

svaz()
// Hlavní trubka
rozdíl ()
válec (r1 = tubr, r2 = tubr, h = tubl);
válec (r1 = tubr - tloušťka, r2 = tubr - tloušťka, h = tubl);

// Spodní koule
přeložit ([0, 0, tubl])
rozdíl ()
koule (tubr);
koule (tubr - thickn);
přeložit ([0, 0, -tubr])
krychle (size = tubr * 2, center = true);


// Horní prsten
rozdíl ()
válec (r = tubr + tloušťka, h = tloušťka);
válec (r = tubr, h = tloušťka);

Zde jej navrhujeme vzhůru nohama, je to na vás. Udělejte, co je pro konkrétní případ výhodné. Když jej používáte, můžete jej kdykoli otočit. Horní prstenec má ostré hrany, můžete to napravit pomocí kružnice a otočit ji. Existují i ​​jiné způsoby, jak to udělat, prozkoumat a experimentovat!

rotate_extrude (konvexita = 10, $ fn = 100)
přeložit ([tubr, 0, 0])
kruh (r = tloušťka, $ fn = 100);

Kombinace mnoha válců

Jakmile vytvoříte trubici z několika válců, můžete je také spojit různými způsoby. K tomu můžete znovu použít spojení. Řekněme, že chcete, aby jedna trubice byla v úhlu čtyřicet pět stupňů k druhé trubici. Chcete-li to provést, umístěte šikmou trubku do poloviny velké trubky.

svaz()
trubice (50, 4, 300);
přeložit ([0, 0, totlength / 2]) otočit ([45, 0, 0])
trubice (50, 4, 150);

Když to zkusíte, vypadá to zvenčí skvěle. Když se podíváte dovnitř, uvidíte, že máte obě celé trubky. Krátký blokuje průtok v dlouhé trubici. Chcete-li to napravit, musíte vymazat oba válce uvnitř trubek. Celý svazek můžete považovat za jeden kus a za něj umístit odpovídající válce uvnitř rozdílu.

rozdíl ()
svaz()
trubice (50, 4, 300);
přeložit ([0, 0, totlength / 2]) otočit ([45, 0, 0])
trubice (50, 4, 150);


válec (r = 50 - 4, h = celková délka);
přeložit ([0, 0, totlength / 2]) otočit ([45, 0, 0])
válec (r = 50 - 4, h = celková délka / 2);

Jak vidíte, první válec táhne celou délku tuby. Tím vymažete cokoli uvnitř velké trubice, ale malou trubku, která se naklání, je také nutné vymazat. Příkaz translate posune trubici do poloviny, poté se otočí a vloží válec do trubice. Ve skutečnosti je kód zkopírován shora a trubka je nahrazena válcem.

Instalatérské práce

Pokud chcete vyrobit více zkumavek, můžete použít modul ve výše uvedeném příkladu a začít se rozšiřovat. Kód je k dispozici na https: // github.com / matstage / openSCAD-Cylinders.git, V době psaní tohoto článku existují pouze tito dva, ale často se kontrolujte, abyste viděli více. Možná budete moci vytvořit více vzrušujících věcí.

Uvnitř bloku

Pokud máte v úmyslu vyrobit spalovací motor, potřebujete válcový otvor v pevném kusu. Níže je uveden příklad nejjednoduššího možného, ​​pro chladicí kanály a písty je možné přidat mnohem více. To je však na další den.

blok bloku válců (
válec R = 3,
Okraj = 1,
numCylinders = 8)

rozdíl ()
krychle ([cylinderR * 2 + Edge * 2,
cylinderR * 2 * numCylinders + Edge * numCylinders + Edge, 10]);
pro (x = [0: 1: numCylinders-1])
přeložit ([cylindR + Edge, cylindR * x * 2 + Edge * x + cylindR + Edge, 0])
válec (r = válec R, h = 12);

Tady máte kostku, která roste podle počtu válců, které chcete uvnitř bloku. Všechny hodnoty v modulu jsou výchozí, takže je můžete použít bez hodnot. Chcete-li jej použít, použijte 'use 'v horní části souboru a poté přidejte cylindblock (numCylinders = 8). Můžete použít nebo vynechat jakoukoli hodnotu, pokud je vynecháte, použije se výchozí hodnota. Stručně řečeno, vnitřek modulu začíná hodnotami a poté vytváří kostku, která je dostatečně dlouhá, aby se vešla do válců. Poté pokračuje odstraněním válců pomocí příkazu for. Díky příkazu for můžete vytvořit větší nebo menší blok. U pokročilejších modulů můžete do návrhu vložit omezení, když dojde k dosažení určitých hodnot. Možná z něj chcete udělat V, pokud má 8 nebo více válců.

Vytlačování z plochého tvaru

Dalším způsobem, jak vytvořit válec, je vytvořit kruh a vytlačit ho. Plný válec je pouze dva řádky:

linear_extrude (15)
kruh (20);

Tím se vytvoří 15 (žádné jednotky v openSCADu) dlouhé, s poloměrem 20. Průměr můžete použít pomocí parametru d. Pouhé vytvoření válce není příliš užitečné, ale můžete použít stejnou techniku ​​pro jakýkoli 2D tvar. Uvidíte to později. Zatímco u dutého válce je kód o něco delší.

linear_extrude (15)
rozdíl ()
kruh (20);
kruh (18);

To je stejné, ale jak jsme již dříve udělali, středový kruh odstraníte. Můžete jej také ohnout do kruhu s verzí rotate_extrude. To je skvělé pro výrobu koblih, nejjednodušší verze vypadá jako jedna.

rotate_extrude (úhel = 180, konvexita = 10)
přeložit ([30,0,0])
rozdíl ()
kruh (20);
kruh (10);

Tento kód vytvoří půlkruh, který je dutý. Poznámka, s níž byste měli být opatrní, je nutný překlad, jinak se zobrazí chyba: „CHYBA: všechny body pro rotateextrude () musí mít stejné znaménko souřadnic X (rozsah je -2.09 -> 20.00) “. Čísla budou záviset na hodnotě v kruhu. Protože to vytváří stejný tvar jako válec, může se to zdát zbytečné. Není! Nejlepším využitím tohoto příkazu je, aby byl plochý tvar nějak funkční. Manuál má jako příklad jednoduchý mnohoúhelník, který vytváří kulatý tvar, kde můžete spustit pás. Můžete to také otočit. Níže uvedený kód vytvoří vývrtku.

přeložit ([- 80,0,0])
linear_extrude (80, twist = 900, scale = 2.0, plátky = 100)
přeložit ([2, 0, 0])
čtverec (10);

Příklad v příručce ukazuje mnohoúhelník, který může být užitečný. Níže uvedený kód může být cokoli chcete, ale ilustruje sílu, jak to udělat tímto způsobem.

přeložit ([0, -80, 0])
rotate_extrude (úhel = 275)
přeložit ([12,3,2])
polygon (body = [[0,0], [20,17], [34,12], [25,22], [20, 30]]);

Můžete experimentovat s tvarem mnohoúhelníku, dokud nedosáhnete toho pravého pro vaši aplikaci. Pokud vám připadá trochu skličující pouze pomocí čísel, můžete vytvořit profil v jiných CAD programech a importovat výsledek dxf pomocí příkazu import ().

Závěr

Výroba válce je jednoduchá, ale teprve na začátku procesu. Složitá část je udělat s tím něco užitečného. Musíte to také začlenit do svého návrhu a možná vytvořit složitější problémy než cylindry. Najděte způsoby a výzvy pro své pokračující rozšiřování znalostí pomocí openSCADu. Nezapomeňte použít dokumentaci a opřít se o jiný software, pokud jej nelze snadno dosáhnout pomocí čísel a podobně. V tomto příspěvku není něco, co by bylo, že můžete kreslit věci v Inkscape a Blenderu a importovat je do openSCADu. Export z openSCADu do stl a dalších formátů je dobře podporován a pokud jste opravdu zvědaví, podívejte se na výtvory na Thingiverse. Mají svazek nadšenců, kteří přispívají na jejich stránky.

Hry 5 nejlepších arkádových her pro Linux
5 nejlepších arkádových her pro Linux
V dnešní době jsou počítače vážné stroje používané k hraní her. Pokud nemůžete získat nové vysoké skóre, budete vědět, co tím myslím. V tomto příspěvk...
Hry Battle For Wesnoth 1.13.6 Vývoj uvolněn
Battle For Wesnoth 1.13.6 Vývoj uvolněn
Battle For Wesnoth 1.13.6 vydané minulý měsíc, je šestým vývojovým vydáním v 1.13.série x a přináší řadu vylepšení, zejména do uživatelského rozhraní,...
Hry Jak nainstalovat League Of Legends na Ubuntu 14.04
Jak nainstalovat League Of Legends na Ubuntu 14.04
Pokud jste fanouškem League of Legends, pak je to pro vás příležitost otestovat běh League of Legends. Všimněte si, že LOL je podporován na PlayOnLinu...