BitBeam-lib - 3D model as a code

Jako tvůrce 3D modelů v programu OpenSCAD si dovolím parafrázovat Infrastructure as code. I když existují i jiné, pro mnohé možná daleko přívětivější CAD systémy než je OpenSCAD, pro tvorbu stavebnice BitBeam je to ve skutečnosti ideální volba. Jako programátorovi mi totiž dovolí aplikovat všechny změny na všechny existující modely a k vylepšením tak dochází s maximální efektivitou.

Stavebnice BitBeam

3D tištěná robotická konstrukční stavebnice BitBeam pochází ze zámoří a to zmenšením Grid Beam. Postupně si našla cestu až ke mě. Já se do jejího otevřeného konceptu zamiloval a přijal ho za svůj. Stavebnici jsem aktivně začal rozšiřovat, až jsem se postupně stal hlavním a zejména jediným aktivním vývojářem.

Stavebnice je vytvořena v programu OpenSCAD, který je jakýmsi programátorským nástrojem pro popis 3D modelu. 3D model je výsledek různých funkcí, které jsou prováděny na základní geometrické tvary. Podobně jako tomu je v případě POV-Ray nebo VRML.

Jelikož jsem programátor s dobrou představivostí a smyslem vnímat detail i pohled z hora najednou, zvolil jsem programátorský přístup. Vytvořil jsem nejprve knihovnu, která mi umožní parametricky tvořit základní modely velmi snadno.

Knihovna BitBeam-lib

Vznikla tak knihovna 3D objektů. Ty se nazývají "moduly" a jsou to v funkce, které mohou obsahovat vstupní parametry a jejich výstupem může být 3D objekt. Jelikož je stavebnice celkem rozmanitá, bylo časem potřeba vytvořit další zvláštní moduly.

I když je knihovna základním kamenem stavebnice BitBeam, je nutné podotknout, že není jedinou knihovnou stavebnice. Stavebnice sama má celou řadu dalších vlastních knihoven, které používá. O nich pak někdy příště. Řada vylepšení se ale postupně dostala i do této základní knihovny. Stejně, jak postupuje programátor, pokud tvoří nějakou aplikaci. Dříve nebo později si udělá nějakou malou knihovničku, do které přidává obecné funkce a občas se stane, že nějaká specifická funkce začne být obecnou.

Knihovna, díky přístupu, jaký jsem zvolil, je velmi parametrizovaná. Lze tak snadno nastavit její různé atributy a rázem lze generovat modely pro rozměrový systém jiné stavebnice. Nechtěným kouzlem tak lze tuto knihovnu použít i pro jiné stavebnice, jako je např. Merkur®, které používají jinak velké dílky a jinak široké otvory.

Beam - základní kostička

Základním kamenem stavebnice je kostička o rozměru 8 mm * 8 mm * 8 mm s otvorem 4.8 mm. Základnímu rozměru říkám unit (jednotka). Pokud nějaký dílek má mít velikost 3x1 je to tedy 24 mm * 8 mm. Kostička byla dříve normální kostkou (cube), ve které mohou být otvory.

náhled modelu původní BitBeam kostičky v programu OpenSCAD
První BitBeam kostička o rozměrech 5x1.

Tato kostička je identická s původní verzí od Jasona Hugginse, který také používal OpenSCAD.

Jenže dnešní dílky vypadají trochu jinak. A jak jsem přidával další a další dílky, tak jsem potřeboval další a další parametry. První tak vznikl modul holes, který vytvoří sadu otvorů. Otvory jsou od kostičky odečteny ("vyvrtány"). Jenže i tyto otvory již dnes nejsou jenom válce. Mají lemy a mohou být i různých výšek. Některé otvory také mohou být vynechány.

náhled další verze modelu BitBeam kostičky v programu OpenSCAD
Řez další verze BitBeam kostičky s otvory a lemy pro lepší práci s tištěnými piny.

Lemy, které jsou v otvorech, slouží pro lepší funkci plastových pinů. I když to vypadá, že v detailu 3D tisku se tyto lemy ztratí, opak je pravdou. Na dobré tiskárně i když nejsou vidět fungují. Pokud je stavebnice spojována právě tištěnými piny, je správné umístění pinu doprovázeno cvaknutím. Cvaknutí je slyšet, když se plastový pin zasune na to správné místo.

Plastové piny mají samozřejmě svůj specifický tvar, ale nejsou součástí bitbeam-lib. Na webu stavebnice je článek, který se věnuje jak pinům tak i osičkám, které mají podobný tvar.

Otvory ale nebyly jediným vylepšením. Dalším vylepšením základních kostiček bylo zkosení stran. Toto nepatrné zkosení vede k příjemnějšímu doteku dílků stavebnice. Při tisku se totiž zkosení v podstatě deformuje do zaoblení. Dílky tak nejsou ostré. To vedlo k vytvoření nového modulu ecube. Ten je používán i v ostatních modulech. Kostičky tak mají identické zkosení bez ohledu na to, že mají vlastní speciální tvar.

náhled modulu ecube z OpenSCAD knihovny bitbeam-lib
3D objekt (modul) ecube z OpenSCAD knihovny bitbeam-lib.

Sloučením těchto dvou základních stavebních kamenů do jednoho tak mohu snadno vytvořit libovolné kostičky rozličných rozměrů s rozličným rozmístěním otvorů. To vše bez toho, abych musel znova a znova aplikovat na 3D objekty stejné operace. Prostě stavím nové 3D objekty z existujících komponent, tak, jak to dělá programátor, když pracuje na tvorbě nějaké aplikace.

náhled ukázky modulu cube_arm z OpenSCAD knihovny bitbeam-lib
Ukázka použití modulu cube_arm z OpenSCAD knihovny bitbeam-lib.

Jak je vidět na ukázce, celá kostička je vytvořená na základě vstupních parametrů. Ty určují velikost kostiček a případné chování otvorů. A to z obou stran. Taková to kostička by asi nedávala moc smysl, byť se může hodit. Kostička bude mít jiné mechanické vlastnosti. Pro tvorbu dílků s odlišnými tvary je to ale velmi užitečná funkcionalita.

Válec s hranou

Posledními moduly, 3D objekty, které v tomto článku představím jsou hcylinder a ecylinder. Ty jsou logickým doplňkem pro tvorbu zaoblených otvorů nebo zaoblených válců, např. koleček. Otvory se v OpenSCAD programu dělají tak, že se odečítá objekt otvoru od objektu. A právě hcylinder je ten objekt, jehož odečtením vytvořím stejnou hranu na obvodu otvoru.

Modul ecylinder pak jen vytvoří zaoblený válec. Místo základních cylinder modulů tak ve stavebnici pracuji s těmito. Mají podobné parametry a jejich křížení s ecube je přirozené.

náhled ukázky modulů hcylinder a ecylinder z OpenSCAD knihovny bitbeam-lib
Ukázka použití modulů (z leva) hcylinder a ecylinder z OpenSCAD knihovny bitbeam-lib.

Tím ale výčet modulů (funkcí, které vytvoří 3D objekt) v knihovně bitbeam-lib nekončí. Ty ostatní si ale představíme v některém z dalších článků. Je ale důležité připomenout, že knihovna je jen základním kamenem celé BitBeam stavebnice navrhované v OpenSCAD. A jak jsem již psal výše může být použita i pro tvorbu vlastních dílků pro jinou stavebnici.

Autor:

Discussion

Your comment:

© 2024 Ondřej Tůma McBig. Ondřej Tůma | Based on: Morias | Twitter: mcbig_cz | RSS: články, twitter