Slicing
3D tiskárna je ve výsledku celkem jednoduché zařízení. Nefunguje jako krabička, na kterou pošleme 3D model v libovolném formátu a z tiskárny začne vytékat plast ve tvaru zadaného 3D modelu. Pro tisk potřebujeme na tiskárnu odeslat přesná tisková data.
Funguje to podobně jako u 2D tiskáren, na tiskárnu také neodesíláme přímo .pdf nebo .tex dokumenty, ale musejí být převedeny do PostScriptu. 2D tiskárny jsou ale o něco chytřejší než 3D tiskárny, jelikož jim stačí pouze ta postscriptová data, nikoliv přímé instrukce kdy a kde má tiskárna pohnout tiskovou hlavou nebo posunout válec.
Tiskovými daty pro 3D tiskárny jsou tak přesné instrukce kdy, odkud, kam a jak rychle se má tryska tiskárny pohnout a v jaký moment a kolik se vytlačí plastu. Tyto příkazy tiskárna poslouchá a „hloupě“ je provádí (až na výjimky – některé firmwary provádějí optimalizaci) bez ohledu na to, aby měla tiskárna ponětí o tom, co vlastně ve výsledku tiskne. Takové informace dodáváme ve formátu GCode.
Tisková data musíme tiskárně připravit a jedná se o netriviální úkol. Úspěšná příprava dat totiž definuje jak úspěšný výsledek tisku bude. Ve hře je mnoho faktorů, které je nutné nastavit – rychlosti, teploty, správné pohyby, tisk struktur, které nejsou součásti 3D modelu apod.
GCode
GCode je textový soubor, člověkem relativně čitelný (popisuje však body v prostoru, které se z čísel dají představit těžce), primárně však určen pro strojové zpracování.
GCode existoval dříve než 3D tiskárny (první implementace se objevila v 50. letech) a byl používán pro CNC stroje (3D tiskárna je ovšem podle definice také CNC stroj). Pro účely 3D tisku jsou do GCodu přidány specifické kódy (začínající na M
), které definují ovládání funkcí, které jsou určeny pro 3D tisk (teplota trysky, vytlačování plastu).
Každý řádek představuje instrukci. Ta je popsána kódem, který je uveden jako první (např. G1
) a za ním následují písmenem pojmenované argumenty (některé instrukce argumenty nemají, některé argumenty jsou volitelné) oddělené mezerou (např. E4.00000 F3000.00000
).
Nástroje pro tvorbu GCode
Generovat výše popsaný GCode ručně by bylo nejen nepraktické, ale u složitějších modelů pro běžného smrtelníka až nemožné. K tvorbě tiskových dat nám pomáhají programy označované jako slicery. Jejich název je odvozen ze slova „slice“ (v překladu „plátek“). Protože se tisk provádí po vrstvách, je vstupem těchto programů nějaký 3D model a výstupem (naplátkovaný) 3D model určený pro tisk. Proto se tento proces nazývá „slicing“ („naplátkování“).
Slicerů existuje řada, některé jsou lepší, jiné horší, některé mají dobré UI ale neodvádějí tak dobrou práci, jiné jsou zase výbornými slicery ale mají příšerné UI. Najdou se i ty, které disponují obojím. Slicer může být software samostatný, nebo integrovaný v nějakém větším celku (např. v ovládacím softwaru pro 3D tiskárnu).
V předmětu BI-3DT budeme používat program Slic3r. Řadí se mezi nejpoužívanější, je to open-source software a kvalita výstupu je dostatečně dobrá.
Slic3r
Slic3r je od roku 2011 vyvíjen komunitou okolo projektu RepRap. Je dostupný pro všechny populární operační systémy.
Do tohoto programu budeme importovat STL model, který chceme tisknout, dále nastavíme správnou konfiguraci tiskárny (její rozměry a jakými funkcemi disponuje) a nastavíme parametry tisku (teploty, rychlosti, atd.). Výstupem je GCode soubor – tisková data, která mohou být odeslána na tiskárnu.
Na cvičení budeme používat poslední verzi Slic3ru ≥ 1.3.0. V této verzi lze jednotlivé karty otevřít v nabídce Settings.
Konfigurační soubor pro tiskárny
Stáhněte si konfigurační bundle pro tiskárny Hybrix, které používáme na tomto cvičení.
Tento soubor načtěte pomocí File → Load Config Bundle. Po načtení config bundlu je často nutné program restartovat. Úspěšné načtení config bundle poznáte podle nových položek vpravo nahoře (ve filamentu se objeví na výběr PET a v tiskárnách Hybrix).
Upozornění:
Nastavit správný konfigurační soubor je důležité. Nevhodně zvolená konfigurace může způsobit, že se v GCode objeví instrukce nevhodné pro danou tiskárnu (např. se může začít tisknout mimo tisknutelnou oblast) a takové instrukce mohou zapříčinit neúspěšný tisk, nebo v horším případě poškodit tiskárnu.
Podpůrné struktury
Kromě samotného 3D modelu, který sliceru dodáte, může slicer přidat další struktury, které nejsou v 3D modelu. Jde o struktury, které pomáhají při tisku – pro lepší přilnavost, pro tisk převisů apod.
Vnitřek modelu
V minulých cvičeních jste se dozvěděli, že meshí popisujeme pouze plášť objektu, nikoliv jeho vnitřek. Fyzicky na tiskárně však nelze vytisknout pouze tento plášť. Slicer se postará o vytvoření správné výplně objektu. Tato výplň se označuje slovem „infill“ (výplň).
Předměty se běžně netisknou duté (vršek objektu by se neměl na co tisknout), ani plné (plýtvání filamentem a vzniká v předmětu pnutí, které narušuje integritu výtisku). Vyšší hustota infillu dělá předmět odolnější, těžší, ale také dražší a déle se tiskne. Nízká hustota naopak může zapříčinit nevzhledný výtisk (plášť objektu se může na některých místech propadat). V praxi se infill u obecného objektu nenastavuje na nižší hodnotu než 10 % ani na hodnotu vyšší než 50 %. Existují ale tvary, které se dají tisknout duté nebo s velmi malým infillem.
Podpory (supports)
Často se stává, že potřebujeme vytisknout model s převisy. Ze zřejmých fyzikálních důvodů takový tisk u FDM tiskáren není možný (tiskárna by tiskla do vzduchu).
Často lze tyto problémy řešit otočením modelu, nebo jeho rozdělením na více částí a následným ručním slepením po dokončení tisku. Někdy takové úpravy však nejsou možné nebo žádoucí a tak může slicer přidat k našemu modelu podpůrné struktury, které se po dokončení tisku odlomí, odřežou či jinak odstraní.
Rafts, skirts, brims
Určité typy výtisků mají problém s přilnavostí k povrchu tiskové plochy. V průběhu tisku se pak mohou odlepit a v tu chvíli se tisk stává neúspěšným.
Problémové jsou především takové modely, které mají příliš malou styčnou plochu s tiskovou deskou a plocha, která předmět drží, je příliš malá (představte si např. model stolu který začínáme tisknout od nohou – celý předmět drží pouze na čtyřech malých čtverečcích).
- Raft
- Struktura umístěná pod výtiskem vylepšující přilnavost k tiskové ploše. Rafty jsou určeny především pro ABS materiály, kterým se kraje výtisku při tisku zkroutí. Jsou užitečné i pro modely, které mají příliš malou styčnou plochu s tiskovou deskou. Vytvoří pro ně mnohem větší přilnavý základ. Raft vzniká posunutím objektu o několik málo vrstev vzhůru (do vzduchu) a podložením objektu podporou (supportem).
- Skirt
- Obrysová struktura zajišťující stabilní průtok plastu při prvních vrstvách tisku. Tiskne se dříve, než první vrstva předmětu a díky tomu jsou vytlačeny všechny vzduchové bubliny v trysce a stabilizuje se průtok plastu. Některé slicery k těmto účelům využívají jiných struktur (např. Prusa Slic3r dělá linku o šířce tiskové plochy na úplném kraji desky). Skirtu lze nastavit i vyšší počet vrstev a dá se tak využít i pro ochranu tisku před průvanem a následným popraskáním, ale v praxi se tento způsob příliš nepoužívá, neboť se tím zbytečně zvyšuje spotřeba materiálu a doba tisku, navíc jde o velmi nespolehlivou ochranu (lepší je dát tiskárnu do skříně).
- Brim
- Další ze struktur vylepšující přilnavost k tiskové ploše a redukující zkroucení krajů. Technicky jde o skirt s nulovou vzdáleností od modelu a s výškou jedné vrstvy. Nenachází se pod výtiskem, ale pouze rozšiřuje první vrstvu o zadanou velikost. Brim nenabídne takové vylepšení přilnavosti jako Raft, nicméně je mnohem rychlejší, jednodušší, narozdíl od Raftu nenechává na spodku modelu nerovnosti a pro většinu případů je dostačující.
Konfigurace tisku v programu Slic3r
Nyní přejdeme k tomu, co lze nastavit v programu Slic3r a k čemu je to dobré.
Karta Plater
Na kartě Plater pracujete s objekty, které chcete tisknout. Tlačítkem Add můžete přidat STL soubor. V 3D náhledu můžete objekty rozložit po tiskové ploše. Dalšími tlačítky ve vrchním panelu můžete vybraný objekt manipulovat (otáčet tlačítky Rotate, či měnit jeho velikost tlačítkem Scale).
Vpravo dole se zobrazují informace o vybraném objektu. Lze vidět jeho velikost v milimetrech (pro kontrolu) a další vlastnosti.
Dole lze vybírat z několik pohledů, pro nás jsou především důležité pohledy 3D a Preview. V 3D pohledu lze pracovat s rozpoložením objektů, pohled Preview vám ukáže, jak bude výsledný tisk vypadat, jaké struktury se vytisknou a lze vidět i náznak jednotlivých vrstev.
Karta Print Settings
Kartě Print Settings věnujte největší pozornost. Zatímco většinu důležitých hodnot v ostatních kartách za vás nastavil konfigurační soubor, který jste si stáhli výše, nastavení tisku bude vaši hlavní úlohou při práci na cvičeních.
Níže uvedeme všechny důležité parametry, které budete při tisku na cvičeních používat. Pokud se chcete něco dozvědět o parametrech, které neuvádíme, doporučujeme pro samostudium vybrat jeden klidný večer nad Slic3r manuálem.
Stránka Layers and perimeters
- Layer height
- Ovlivňuje výšku vrstvy – přímo ovlivňuje kvalitu a dobu trvání tisku. Rozsah smysluplných hodnot ovlivňuje průměr trysky, která je nainstalována na tiskárně.
- First layer height
- Ovlivní výšku první vrstvy. Nastavuje se na menší hodnotu než zbytek modelu pro lepší přilnutí k tiskové ploše.
- Perimeters
- Počet perimetrů na krajích tisku (neovlivňuje rovné plochy na spodku a vršku předmětu).
- Solid layers
- Počet vrstev s plnou výplní na spodku a vršku. Čím více vrstev zvolíme, tím pevnější bude vrchní a spodní povrch a tím lépe se podaří zakrýt nastavený infill. Vysoká čísla však zvýší dobu tisku a spotřebu materiálu.
Stránka Infill
Na této stránce lze nastavit vlastnosti infillu, o kterém víme z kapitoly Vnitřek modelu.
- Fill density
- Určuje hustotu vnitřní výplně.
- Fill pattern
- Určuje vzorek výplně.
- External infill pattern
- Určuje vzorek výplně na vrchních a spodních plochách zvenčí.
- Solid infill every
- Zesílí odolnost předmětu vytisknutím plné výplně (100 %) každých n vrstev.
- Fill angle
- Úhel vzorku výplně.
- Solid infill threshold area
- V malých částech předmětu (např. nějaké tenké trubičky či spojovník) slicer vyplňuje plnou výplní (100 %). Tato hodnota určuje práh plochy, při které se část předmětu považuje za malou.
Stránka Skirt
Na této stránce lze nastavit Skirt či Brim.
- Loops
- Počet obrysů skirtu. Pro běžné použití k vyčištění trysky před tiskem první vrstvy stačí ve většině případů jeden až dva.
- Distance from object
- Vzdálenost skirtu od objektu.
- Skirt height
- Kolik vrstev bude skirt vysoký. Pro vyčištění trysky se většinou používá pouze jeden.
- Exterior brim width
- Nenulová hodnota vygeneruje brim kolem předmětu o zadané velikosti.
Stránka Support material
Na této stránce lze nastavit supporty, nebo raft.
- Generate support material
- Zapne generování podpor.
- Overhang threshold
- Určuje hranici, do jak příkrých převisů chcete podpory generovat. Dá se nastavit v procentech: o kolik procent perimetru ještě smí další vrstva přesahovat vrstvu pod ní (čím vyšší číslo, tím méně podpor); případně ve stupních (náklon od podložky, čím vyšší úhel, tím více podpor).
- Raft layers
- Určuje kolik vrstev raftu chcete pod model vytisknout.
Ostatní karty
Karta Filament Settings, jak název napovídá, skrývá nastavení vztahující se k filamentu. Ze jsou nejdůležitějšími položkami Diameter (určující průměr struny) a nastavení teplot, které se liší podle materiálu (jak se dozvíte v prvním cvičení věnující se tisku). Na stránce Cooling pak lze definovat chování ventilátoru k dodatečnému chlazení výtisku (některé materiály jej potřebují, ale naše tiskárny jím nedisponují).
Karta Printer Settings slouží k nastavení parametrů tiskárny (velikost a tvar tiskové plochy, počet extruderů atd.). Zatímco položky na kartách Print Settings a Filament Settings měníte prakticky při každém tisku, položky na tomto panelu zůstávají povětšinou netknuté, dokud nezměníte konfiguraci tiskárny.
Většinu těchto parametrů nastavuje náš konfigurační soubor. I přesto však doporučujeme zběžně tyto parametry projít, zájemce, kteří chtějí parametry podrobně zkoumat opět odkážeme na Slic3r manuál.
Slicing krok za krokem
V této kapitole si ukážeme celý proces slicingu na jednom jednoduchém ukázkovém modelu. Pro slicing použijeme velmi zjednodušený model Eiffelovy věže, který půjde bezpečně škálovat.
Model chceme vytisknout čtyřikrát: jednou v dvojnásobné velikosti, jednou v plné velikosti a dvakrát s poloviční velikosti (1× 200 %, 1× 100 %, 2× 50 %). U plné velikosti se však obáváme, že bude věž vyšší, než kam dosáhne tiskárna, takže tuto variantu rozdělíme na dvě části a po dotištění ji slepíme. Tisk budeme považovat jako pokusný a tak nastavíme parametry tak, aby byl tisk co nejrychlejší, ale zároveň se podařil a výsledek byl alespoň minimálně estetický (nemělo by to být škaredé). Obáváme se, že převisy na spodku Eiffelovy věže tiskárna nezvládne, proto přidáme podpůrné struktury. Dále máme obavy, že se při tisku mohou nožičky odlepit od tiskové podložky, takže přidáme struktury pro vylepšení přilnavosti.
Důležité:
Před samotnou přípravou tiskových dat se ujistíme, že máme ve Slic3ru naimportovaný správný config bundle. Ten lze stáhnout na této stránce. Do Slic3ru jej importujeme pomocí položky Load Config Bundle, nikoliv pomocí Load config.
Načtení modelu a jednoduché úpravy
- Na kartě Plater pomocí tlačítka Add ve vrchní nástrojové liště přidáme STL soubor na tiskovou desku.
- Tlačítkem More v nástrojové liště zduplikujeme model do dvou kopií.
- Tlačítkem Scale v nástrojové liště nastavíme velikost objektu na
25 %
. Jde o velikost objektu relativní k originální velikosti. Číslo je tedy udává danou velikost, pokud dvakrát nastavíme velikost na50 %
, výsledná velikost nebude25 %
, ale stále50 %
. - Levým tlačítkem v okénku s 3D náhledem rozložíme objekty podle potřeby. Tlačítkem Arrange si můžeme nechat rozložit objekty automaticky.
- Škálování objektu ovlivňuje vždy všechny kopie vytvořené pomocí tlačítka More (to platí obecně pro všechny úpravy objektu). Abychom mohli vložit dvě různé velikosti stejného objektu, musíme tlačítkem Add nahrát STL soubor znovu a tím vytvořit nový objekt, který už bude mít samostatné nastavení velikosti. Tomu nastavíme velikost
50 %
. - Jako poslední vložíme znovu další stejný objekt tlačítkem Add a provedeme rozpůlení. K tomu slouží tlačítko Cut v nástrojové liště. Otevře se dialog, ve kterém nastavíme požadovanou výšku, ve které se řez provede. Zaškrtneme obě zaškrtávátka Upper part a Lower part, jelikož si po řezu chceme ponechat obě části.
- Výsledek by měl vypadat podobně jako na ukázkovém screenshotu. Pokud jsme s rozložením tisku spokojeni, můžeme přejít k nastavení parametrům tisku.
Nastavení vlastností tisku
- Ve spodní části karty Plater se nacházejí tlačítka pro výběr pohledu. Při nastavování parametrů tisku je užitečný pohled Preview, který nejen dává náhled, jak bude výsledný tisk vypadat, ale také zobrazí všechny přídavné struktury, které v parametrech tisku nastavíme. Sliderem umístěným napravo od náhledového okénka můžeme náhled blíže prozkoumat. Posouváním slideru zespoda nahoru simulujeme průběh tisku. Každou změnu v nastavení tisku tak můžeme na této kartě kontrolovat.
- Otevřeme kartu Print settings v nabídce Settings → Print Settings.
- Na stránce Layers and perimeters nastavíme počet perimetrů na
2
(položka Perimeters), plné vrstvy na spodku a vršku také na2
(položka Solid layers). - Na stránce Infill nastavíme výplň na
15 %
. - Na stránce Skirt and brim zařídíme, aby se tiskla struktura pro lepší přilnavost. Nastavíme Exterior brim width na
2 mm
. - Na stránce Support material necháme tisknout podpory na místech, kde je velký převis. Zaškrtneme možnost Generate support material. Tiskárně víceméně důvěřujeme, a věříme, že zvládne převisy od 10° a více. Nastavíme položku Overhand threshold na
10°
. - Na stránce Speed zrychlíme tisk na úkor kvality. Rychlost tisku perimetrů zvýšíme o
5 mm/s
a rychlost tisku infillu zvýšíme o10 mm/s
. Nastavíme Perimeters na40 mm/s
a Infill na55 mm/s
. - Výsledek vyexportujeme pomocí tlačítka Export G-code… na pravé straně rozhraní.
Credits
Na obrázcích se objevovaly modely:
- Cute Octopus Says Hello by MakerBot (CC BY 3.0)
- Phone Stand by GoAftens (CC BY 3.0)
- Eiffel Tower by bmfinn (CC BY-SA 3.0)