Kreslení trochu jinak

Kreslení trochu jinak - Molestock a kreslení bludiště

Slyšeli jste o CNC strojích (CNC = Computer Numeric Control, číslicové řízení počítačem)? Víte, k čemu se používají? Jak se s těmito stroji komunikuje? A jak se vlastně „programují“? Proč o nich hovořit ve výuce na „běžné“ škole, to patří na „průmyslovku“, ne? Že to souvisí s Průmyslem 4.0? K čemu to mým žákům bude? Jak mohu prakticky ukazovat funkci CNC stroje, když ho nemám? – Ale co když vlastně nějaké takové zařízení máte? Nedala by se k demonstraci „CNCčka“ použít třeba 3D tiskárna? – Na následujících řádcích si ukážeme, jak snadno si můžeme z 3D tiskárny udělat „kreslicí stroj“, který nám pomůže vstoupit do světa CNC zařízení, a to dokonce na takové úrovni, že začneme psát kód k jeho ovládání. Budeme pracovat s G-kódem (gcode), ale nelekejte se, není to nic složitého... je to jako... v geometrii – kreslíte úsečky, kružnice, oblouky, jen na to jsou určité příkazy a kupodivu jsou docela jednoduché. Proč tímto způsobem nezpestřit třeba výuku geometrie na ZŠ? Ke kreslení složitějších obrázků pak použijeme volně dostupný vektorový grafický editor Inkscape. Ten totiž obsahuje sadu nástrojů, které umožňují G-kód vygenerovat přímo z vektorové kresby.

zpět na začátek

1. 3D tiskárna jako něco jiného

Používání 3D tiskáren k nějakému jinému účelu než je 3D tisk je poměrně populární. Svědčí o tom řada různých návodů a postupů, jak si 3D tiskárnu upravit a získat tak laserovou gravírku, mechanickou gravírku (frézku) na desky plošných spojů (DPS), zařízení k vyřezávání samolepek, nebo zdánlivě obyčejný zapisovač s tužkou. A právě zapisovač s tužkou je vhodným kandidátem na základní seznámení s CNC. Přidání tužky k 3D tiskárně je většinou velice jednoduché a nevyžaduje žádný zásadní zásah do konstrukce či firmwaru tiskárny. Následující trojice fotografií ukazuje tři různá řešení publikovaná jejich autory na portále Thingiverse (link na řešení na obr. 1, link na řešení na obr. 2). Na uvedených odkazech naleznete také krátká videa.

Obr. 1: Jeden z držáků na tužku (https://www.thingiverse.com/thing:2459624) Obr. 2: Další z variant držáků na tužku (https://www.thingiverse.com/thing:1762302) Obr. 3: Držák tužky pro našeho delta robota Molestock (https://www.e-mole.cz/molestock)

V rámci tohoto článku budeme kreslit s naším open source delta robotem Molestock (funguje také jako 3D tiskárna). Držák na tužku pro Molestock je k dispozici ve dvou variantách – pro KOH-I-NOOR liner (obr. 3) a pro KOH-I-NOOR fix. Najdete ho v sekci 3D modely a také na GitHubu. Držák na fix je vhodný především tehdy, když chcete střídat barvy a nakreslit barevný obrázek. Použít ale můžete prakticky libovolnou 3D tiskárnu s přidaným držákem na tužku.

zpět na začátek

2. Co budeme potřebovat?

Z předchozího textu je již jasné, že prvním předpokladem pro naše kreslení je 3D tiskárna a nějaký ten držák na tužku (popisovač, zvýrazňovač, fix, …). Další nepostradatelnou pomůckou pro nás bude aplikace CAMotics (obr. 4). Jde o relativně malý open-source program, který je k dispozici zdarma a umožní nám otestovat připravenou „kresbu“ na počítači ještě před tím, než ji „spustíme“ na 3D tiskárně. Druhým programem, který použijeme k vytváření složitějších kreseb, bude vektorový editor Inkscape (obr. 6). Jde opět o open-source aplikaci, která je k dispozici zdarma. Proč zrovna Inkscape? Inkscape umí naši kresbu exportovat ve formátu, kterému by měla rozumět různá CNC zařízení. Poslední verze editoru Inkscape navíc obsahuje zásuvný modul pro export dat ve formátu G-kódu (gcode) již v základní konfiguraci. (Dříve se musel zásuvný modul GcodeTools doinstalovat dodatečně.)  Třetím programem, který s žáky použijeme, bude libovolný programátorský textový editor (např. Notepad++, PSPad, …), případně v nouzi Poznámkový blok (Notepad) z MS Windows. Pokud nemáte mezi jednoduchými textovými editory svého favorita, doporučuji použít Notepad++ (obr. 5). Má řadu užitečných funkcí, pracuje svižně i s velkými soubory a po přidání G-kódu mezi „jazyky“ umožňuje barevné zvýraznění syntaxe v gcode souborech (více o zvýraznění syntaxe gcode, včetně postupu zprovoznění v Notepad++, naleznete na GitHubu, pro český překlad použijte tento odkaz, a když budete chtít, můžete si nechat uživatelské rozhraní Notepadu++ zobrazovat česky (menu Settings –> General –> Localization –> vybrat „Česky“).

Obr. 4: CAMotics zobrazí po otevření ukázkový soubor, na kterém je možné simulaci vyzkoušet bez vlastních dat Obr. 6: Aplikace Inkscape s nakresleným modelem živočišné buňky Obr. 5: Notepad++ s G-kódem vygenerovaným v aplikaci Inkscape (kreslení bludiště), je zapnuté zvýrazňování syntaxe

zpět na začátek

3. Jak se kreslí v G-kódu?

Předně si musíme ujasnit, co to ten G-kód vlastně je. Jedná se o sled textových instrukcí/příkazů pro CNC zařízení. Máme tu instrukce, které souvisí s nastavením určitých „parametrů“ (např. nastavení určitého nástroje – výběr nástroje, výměna nástroje) či zapínáním/vypínáním určitých částí (spuštění čerpadla, roztočení vřetene). Tyto instrukce začínají písmenem M (např. M03 S12000 je příkaz k roztočení vřetene rychlostí 12000 ot./min). Dalším typem instrukcí jsou pak příkazy k pohybu nástroje v souřadnicovém systému. Ty začínají písmenem G (např. G01 X10 Y-100 je příkazem k přesunu z aktuální polohy na souřadnice X=10 Y=-100 (v našem případě si můžeme jako jednotku délky domyslet mm).

A nyní pojďme na to kreslení… Pro kreslení nám stačí v podstatě jen dva G příkazy (úsečka a oblouk). Pro úplnost si ale uvedeme všechny čtyři základní: G00 (G0), G01 (G1), G02 (G2) a G03 (G3):

  • G00 – lineární pohyb (používá se pro přesun maximální rychlostí, rychlé nepracovní přesuny, obr. 7),
  • G01 – lineární pohyb (používá se pro pohyb zadanou rychlostí, pracovní posuvy, obr. 8),
  • G02 – oblouk ve směru hodinových ručiček (obr. 9),
  • G03 – oblouk proti směru hodinových ručiček.

Protože 3D tiskárny „adoptovaly“ G-kód z oblasti CNC strojů, očekávali bychom, že můžeme bez problémů používat všechny výše uvedené příkazy. A tady přichází první zádrhel. 3D tiskárny bez problémů interpretují G00 a G01 (resp. G0 a G1). Příkazy G02 a G03 ovšem 3D tiskárny vůbec nepotřebují, a tak se můžeme setkat s firmwarem, který tyto příkazy nepodporuje. – Ale vždyť FDM 3D tiskárny oblouky tisknou! – Jak se to vezme, ve skutečnosti vlastně ne. Souvisí to s tím, že 3D model je pro účely 3D tisku složen z trojúhelníků (nejčastěji používáme formát STL). Model koule tak vlastně koule není. Je to jakási 3D mřížka z velkého množství trojúhelníků, která se pak ve výsledku jako koule jeví. Čím více trojúhelníků, tím více se blížíme skutečné kouli. Ale tím více dat musíme uložit a STL soubor bude odpovídajícím způsobem větší. Pokud uděláme řez takovouto koulí, zjistíme, že neobsahuje po obvodu oblouk (kružnici), ale velké množství krátkých úseček. A to je důvod, proč 3D tiskárna na rozdíl od CNC stroje nepotřebuje „znát“ příkazy G02 a G03. Nejrozšířenější open-source firmware pro RepRap 3D tiskárny (MarlinRepetier firmware) v aktuálních verzích již podporu G02 i G03 obsahují. Může se ale stát, že vaše 3D tiskárna má starší firmware a příkazy G02/G03 nepodporuje. Ani to ale pro naše kreslení není zásadní problém, což si později ukážeme při kreslení s programem Inkscape.

Obr. 7: Infografika k příkazu G00 Obr. 8: Infografika k příkazu G01 Obr. 9: Infografika k příkazu G02

zpět na začátek

4. Kreslíme čtvereček

Než začneme kreslit, je dobé si ujasnit, kde má naše 3D tiskárna souřadnicový počátek (bod [0,0]). Dobrou pomůckou je zde pro žáky klasický papír s předtištěnou mřížkou. Do ní můžeme žákům dopředu označit bod X=0, Y=0. S žáky můžete využít naše pracovní listy (jsou k dispozici ve formátu PDF, obsahují více vrstev a je možné je tisknout s různým zadáním pro různě staré žáky). Žáci mohou snadno odečíst souřadnice jednotlivých bodů a zamyslet se nad tím, jaké pohyby musíme vykonat, abychom nakreslili požadovanou kresbu.

zpět na začátek

4.1 Kreslení jako programování

V textovém editoru si rovnou napíšeme finální kód (přímo v pracovním listu můžete mladším žákům vytisknout sled příkazů a nechat je pouze doplnit souřadnice). Pokud si chceme do kódu vložit poznámku, napíšeme před ní znak ; (středník). Při zadání desetinných čísel je třeba použít jako oddělovač desetinné části . (tečku). Mladším žákům je většinou třeba opakovaně zdůraznit, že v rámci zápisu G-kódu určují pozici, kam se má pero přesunout – tedy cílovou pozici. Na této pozici bude pero po vykonání příkazu a stává se tak výchozí pozicí pro další řádek kódu. Následující kód nakreslí uprostřed pracovní plochy čtvereček o délce strany 20 mm (obr. 15). V případě našeho delta robota Molestock je souřadnicový počátek uprostřed kruhové plochy, proto je nutné používat i záporné hodnoty.

G00 X0 Y0 Z4        ; začneme uprostřed
G00 X-10 Y-10       ; najedeme nad první bod
G01 Z1 F4000        ; sjedeme dolů do kreslicí pozice 
                    ;(schválně zůstaneme 1 mm nad podložkou)
                    ; parameter F4000 nastaví rychlost pohybu na 4000 mm/min
                    ; tato hodnota se použije pro všechny následující G01
G01 X-10 Y10        ; nakreslíme čáru z bodu 1(A) do bodu 2(B)
G01 X10 Y10         ; nakreslíme čáru z bodu 2(B) do bodu 3(C)
G01 X10 Y-10        ; nakreslíme čáru z bodu 3(C) do bodu 4(D)
G01 X-10 Y-10       ; nakreslíme čáru z bodu 4(D) do bodu 1(A)
G00 X-10 Y-10 Z4    ; zvedneme tužku
G00 X0 Y0 Z4        ; vrátíme se do bodu 0,0
zpět na začátek

4.2 Simulace G-kódu

Výše uvedený kód si uložíme pod názvem 01-ctverecek.gcode a vyzkoušíme simulaci v CAMotics. Po spuštění CAMotics zvolíme z menu File –> Open Project. Ve zobrazeném dialogu vybereme G-code File a poté otevřeme náš uložený soubor s příponou gcode. Objeví se dialog s nastavením jednotek a nástrojů. Jako jednotky zvolíme Metric (mm), nástrojů si zatím nemusíme všímat (ponecháme Default). Na následujících screenshotech je popsáno otevření souboru a spuštění simulace (obr. 10obr. 11obr. 12).

Obr. 10: CAMotics – Po výběru gcode souboru a jeho otevření se zobrazí dialog nastavení jednotek Obr. 11: CAMotics – Po načtení souboru se zobrazí stav na konci procesu, v nástrojové liště vypneme zobrazování materiálu (č. 1) Obr. 12: CAMotics – Horní pohled při spuštěné simulaci – simulaci spustíme v nástrojové liště pomocí tlačítka Play (č. 1), pomocí dolního jezdce Position (č. 2) se v simulaci můžeme pohybovat ručně

zpět na začátek

4.3 Pár důležitých řádků

Pokud byste zkusili kód pro kreslení čtverečku spustit na své 3D tiskárně, nemuselo by to dopadnout dobře. K našemu kódu potřebujeme přidat ještě úvodní nastavení výchozí pozice tiskové hlavy (efektoru), následně nastavení způsobu pohybu a k tomu pro jistotu i jednotky, se kterými chceme pracovat. Náš kód se tedy o něco rozroste (uložíme si ho jako 02-ctverecek.gcode).

; úvodní sekvence
G21                    ; nastavíme metrický systém
G90                    ; absolutní polohování
G28                    ; hlava (efektor) do výchozí pozice
;------ začátek našeho původního kódu ------
G00 X0 Y0 Z4           ; začneme uprostřed
G00 X0 Y0 Z4           ; začneme uprostřed
G00 X-10 Y-10          ; najedeme nad první bod
G01 Z1 F4000           ; sjedeme dolů do kreslicí pozice
G01 X-10 Y10           ; nakreslíme čáru z bodu 1(A) do bodu 2(B)
G01 X10 Y10            ; nakreslíme čáru z bodu 2(B) do bodu 3(C)
G01 X10 Y-10           ; nakreslíme čáru z bodu 3(C) do bodu 4(D)
G01 X-10 Y-10          ; nakreslíme čáru z bodu 4(D) do bodu 1(A)
G00 X-10 Y-10 Z4       ; zvedneme tužku
G00 X0 Y0              ; vrátíme se do bodu 0,0
;------ konec našeho původního kódu ------
; nakonec se vrátíme do výchozí pozice a vypneme motory
G28                    ; hlava (efektor) do výchozí pozice
M84                    ; vypneme krokové motory

Takovýto kód již můžeme na Molestocku spustit. Ještě než to uděláme, je potřeba nastavit správnou pozici tužky.

zpět na začátek

4.4 Nastavení držáku na tužku

V případě Molestocku je tužka (popisovač  KOH-I-NOOR fine liner 7141) v pouzdru, které obsahuje pružinku. Nemusíme tedy v ose Z nastavovat pozici hrotu s velkou přesností. U Molestocku je navíc celá tisková hlava nahrazena hlavou s držákem tužky, a tím pádem při kreslení nehrozí kolize trysky s podložkou. Pokud by ale někdo omylem spustil kreslicí kód s nasazenou tiskovou hlavou, potřebujeme, aby byla tryska dostatečně vysoko nad podložkou. A právě proto jsme jako kreslicí pozici zvolili 1 milimetr nad nulovou hodnotou (Z1 a nikoli Z0). Pouzdro na tužku tedy nastavíme tak, že s kreslicí hlavou sjedeme do pozice 1 mm nad podložkou (G00 Z1), a pouzdro zasuneme tak, aby byla pružinka lehce stlačena (cca o 1–2 mm, obr. 13). Pak pouzdro lehce přitáhneme pomocí objímky se dvěma šroubky (obr. 14). Nyní již můžeme vyzkoušet čtvereček skutečně nakreslit (obr. 15). Provedeme to stejně, jako bychom 3D tisknuli – na SD kartu si uložíme připravený soubor.

Obr. 13: Pozice efektoru delta robota Molestock v souřadnici Z1 – v tomto místě budeme nastavovat pozici pouzdra s perem Obr. 14: Zafixování pouzdra s perem ve správné pozici Obr. 15: Molestock kreslí náš čtvereček (pro první testy můžeme používat Post-it papírky)

UPOZORNĚNÍ: Pokud experimentujete s jinou tiskárnou než s Molestockem a nejste si jisti, jaký firmware vaše tiskárna obsahuje a jaké nastavení je na začátku tisku třeba (s tím souvisí např. to, jak má vypadat úvodní sekvence příkazů), připravte si pro jistotu při prvním spuštění „kreslení“ ruku na síťový vypínač a v případě problémů buďte připraveni tiskárnu ihned vypnout.

zpět na začátek

5. Kreslíme iglú

V rámci našich pracovních listů je k dispozici několik dalších úkolů. Jedním z nich je nakreslit obrázek iglú (obr. 18). K tomu využijeme příkazů G02/G03, tedy oblouků. Naše plánování na papíru je složitější nejen nutností použít nový G-kód, ale také tím, že je třeba tužku několikrát zvednout – obrázek se již nedá nakreslit jednou čarou. Postup řešení zde již nebudeme detailně rozebírat. Pro určitou představu nám postačí následující kód, ve kterém jsou znázorněny řádky s kódy pro kreslení oblouků (řádek 11, 18, 26, 30). Pokud vás kreslení G-kódy zaujalo, určitě si vyzkoušejte simulaci kódu „iglú“ v CAMotics (obr. 16); kód můžete zkopírovat pomocí tlačítka v pravém horním rohu – objeví se po „najetí“ na oblast kódu. Když při výuce srovnáme řešení více žáků, často se ukáže, že každý postupoval jinak. V případě iglú jsou již řešení dosti odlišná. I toho se dá v průběhu výuky využít. Jeden z výsledných kódů může vypadat třeba takto:

; úvodní sekvence
G21                    ; nastavíme metrický systém
G90                    ; absolutní polohování
G28                    ; hlava (efektor) do výchozí pozice
; přesunem se dolů
G00 X0 Y0 Z4           ;začneme uprostřed
; kreslíme základní tvar (čára + oblouk)
G00 X20 Y-10           ; najedeme nad první bod
G01 Z1  F4000          ; sjedeme dolů do kreslicí pozice
G01 X-20 Y-10          ; nakreslíme čáru
G02 X20 Y-10 R20       ; z aktuální pozice nakreslíme 
                       ; oblouk o poloměru 20 mm do 
					   ; koncové pozice
G00 Z4                 ; zvedneme pero
; kreslíme vstupní otvor
G00 X-5 Y-10           ; přesuneme se na novou pozici
G01 Z1                 ; sjedeme dolů do kreslicí pozice
G02 X5 Y-10 I5 J1      ; nakreslíme oblouk do cílového bodu
                       ; střed oblouku je vůči aktuální
					   ; pozici posunut v ose X o 5mm
					   ; v ose Y o 1 mm
G00 Z4                 ; zvedneme pero
; kreslíme okna
G00 X-12 Y0            ; přesuneme se na novou pozici
G01 Z1                 ; sjedeme dolů do kreslicí pozice
G03 X-12 Y0 I2 J0      ; nakreslíme kruh
G00 Z4                 ; zvedneme pero
G00 X12 Y0             ; přesuneme se na novou pozici
G01 Z1                 ; sjedeme dolů do kreslicí pozice
G02 X12 Y0 I-2 J0      ; nakreslíme kruh
G00 Z4                 ; zvedneme pero
; nakreslíme cestu ke vstupu
G00 X5 Y-10            ; přesuneme se na novou pozici
G01 Z1                 ; sjedeme dolů do kreslicí pozice
G01 X10 Y-20           ; nakreslíme čáru
G00 Z4                 ; zvedneme pero
G00 X-15 Y-20          ; přesuneme se na novou pozici
G01 Z1.0               ; sjedeme dolů do kreslicí pozice
G01 X-5 Y-10           ; nakreslíme čáru
G00 Z4                 ; zvedneme pero
G00 X0 Y0              ; vrátíme se do středu
; nakonec se vrátíme do výchozí pozice a vypneme motory
G28                    ; hlava (efektor) do výchozí pozice
M84                    ; vypneme krokové motory

Použili jsme přitom dvě možnosti zápisu příkazu G02/G03. První kreslí oblouk z aktuální do cílové pozice se zadaným poloměrem R (G02 X20.0 Y-10.0 R20.0), druhý využívá definici středu oblouku pomocí parametrů I (vzdálenost středu oblouku vůči aktuální pozici v ose X) a J (vzdálenost středu oblouku vůči aktuální pozici v ose Y) – G02 X12 Y0 I-2 J0.

Obr. 16: CAMotics – Průběh simulace kódu pro kresbu „netradičního“ iglú Obr. 17: Průběh kreslení iglú na Molestocku Obr. 18: Výsledná kresba iglú (dodatečné kreslení okolního textu)

UPOZORNĚNÍ: Pokud máte Molestock S s firmwarem Marlin nižší verze než 1.1.6, kód s oblouky nespouštějte (může dojít ke zcela chybnému pohybu, včetně kolize hlavy s rámem). Na Molestocku S je možné používat příkazy G02/G03 až po aktualizaci firmwaru (pokud si nejste jisti, jaký firmware máte, kontaktujte nás). V případě Molestocku S2 jsou již příkazy G02/G03 plně podporovány.

zpět na začátek

6. Složitější kresby s Inkscape

Na řadě škol se Inkscape ve výuce používá jako hlavní vektorový grafický editor. Jeho velkou výhodou je spousta různých Rozšíření (Extensions), včetně GcodeTools. Tento nástroj umožňuje převést kresby (křivky) do podoby G-kódu. GcodeTools se skládají z několika nástrojů a umí toho opravdu hodně (on-line fórum autora GcodeTools). My se pro začátek zaměříme na kreslení křivek.

zpět na začátek

6.1 Nastavení GcodeTools

Pro usnadnění často používáme předpřipravenou šablonu (obr. 41), na které je znázorněna pracovní plocha Molestocku a je vyznačen středový bod – souřadnice [0,0]. Současně jsou také vloženy některé prvky, které budeme potřebovat. První z prvků (Orientation points) definuje základní body a parametry v souřadnicovém systému, které se použijí při exportu G-kódu (souvisí s měřítkem, offsety, zrcadlením, rotací, …). Tento prvek bychom vložili z menu Extensions (Rozšíření) pomocí GcodeTools –> Orientation points (obr. 19, obr. 20). Jeho případným posunutím můžeme změnit souřadnicový počátek (v případě Molestocku je uprostřed). Můžeme také editovat číselné hodnoty. Co ale s prvkem udělat nesmíme, je zrušit jeho seskupení. Dalším nezbytným prvkem je zeleně podbarvený rámeček s nastavením několika parametrů (např. průměr nástroje – diameter, rychlost pohybu – feed atd.). Prvek bychom vložili opět z menu Extensions pomocí GcodeTools –> Tools Library (obr. 21). Hodnoty parametrů můžeme editovat, ale celý prvek musíme nechat opět stále seskupený. Osvědčilo se nám nastavení, které je vidět na obrázku (obr. 41).

Obr. 19: Inkscape – GcodeTools, otevírání dialogu Orientation points Obr. 20: Inkscape – GcodeTools, dialog Orientation points a výsledný prvek, který je možné posunout na požadované místo počátku souřadnic Obr. 21: Inkscape – GcodeTools, dialog Tools library a výsledný prvek, ve kterém následně upravíme nastavení (průměr nástroje a rychlost)

Nyní potřebujeme nějaký obrázek. Nakreslíme si jednu kružnici a jeden obdélník. Aby převod do G-kódu fungoval, musíme tvary převést na křivky (nejrychlejší je vybrat nakreslené objekty a použít klávesovou zkratku Ctrl+Shift+C).

Obr. 22: Inkscape – GcodeTools, dialog Path to Gcode, záložka Preferences (nastavení používané pro Molestock) Obr. 23: Inkscape – GcodeTools, dialog Path to Gcode, záložka Options (nastavení používané pro Molestock) Obr. 24: Inkscape – GcodeTools, dialog Path to Gcode, záložka Path to Gcode (nastavení používané pro Molestock), kliknutím na Apply vygenerujeme gcode soubor

Pro převedení na G-kód použijeme GcodeTools –> Path to Gcode. Dialog má několik záložek. V záložce Preferences (Předvolby) si nejdříve nastavíme název souboru a adresář (složku). V tomto adresáři pak naše exportované soubory najdeme. Zbytek dialogu doporučuji nastavit podle obr. 22. Důležitá je bezpečná vzdálenost nad podložkou pro rychlé přesuny (Z safe height). Hodnoty v záložce Options (Možnosti) nastavíme podle obr. 23. Když máme vše nastaveno, přejdeme na záložku Path to Gcode. Tu nastavíme dle obr. 24. Kliknutím na tlačítko Apply (Použít) se vygeneruje G-kód a současně se v programu Inkscape zobrazí jednotlivé segmenty a směry pohybu (šipky) (obr. 25obr. 26). Asi jste si všimnuli, že kružnice je složená z řady krátkých úseček a není použitý oblouk. Toho jsme docílili nastavením velké hodnoty Minimum arc radius (parametr najdeme na záložce Option, obr. 23). Pokud tuto hodnotu zmenšíme, třeba na 5, bude výsledek vypadat jinak. Na první pohled se sice nic nezměnilo, ale pokud se podíváme na vygenerovaný G-kód, uvidíme, že nyní obsahuje oblouky G02 (segmenty jsou sice stejně malé, ale nyní jsou to oblouky) – viz obr. 27.

Obr. 25: Inkscape – GcodeTools, dialog Path to Gcode, záložka Path to Gcode (před vygenerováním výsledného kódu) Obr. 26: Inkscape – GcodeTools, po vygenerování výsledného kódu jsou na kresbě znázorněny segmenty (představují jednotlivé řádky v G-kódu) a směry pohybu Obr. 27: Inkscape – GcodeTools, porovnání kódu s pozměněným parametrem Minimum Arc Radius (vlevo 1000, vpravo 5), G-kód vpravo obsahuje oblouky G02

Toto je vhodný moment, kdy můžeme s žáky zhodnotit, zda je výsledný G-kód optimální, nebo by se dal nějak vylepšit. Pokud za sebou žáci mají úvodní partie s kreslením a ručním zápisem G-kódu, pravděpodobně ihned navrhnou, že by namísto 17 řádků kódu přece stačilo řádků podstatně méně (určitě už víte, kolik jich skutečně potřebujeme :-)).

zpět na začátek

6.2 Když firmware nepodporuje G2/G3

Mohlo by se zdát, že nastavení vysoké hodnoty Minimum arc radius jednoduše řeší problém u tiskáren, které nepodporují příkazy G02/G03. Bohužel, maximální hodnota je 1000 mm a to je málo. Když budeme na G-kód převádět nějakou reálnou kresbu, může se stát, že takový oblouk bude obsahovat. A tím přichází druhý zádrhel. Jak se s tím vypořádat? Naštěstí nám Inkscape umožňuje všechny „oblouky“ převést na úsečky. Vybereme si naši křivku/kresbu a z menu Extensions použijeme Modify path (Změna křivky) –> Flatten Beziere (Zploštit Beziérovy křivky). Čím nižší hodnotu v dialogu nastavíme, tím více lineárních segmentů se vytvoří a tím méně se bude výsledek od původní křivky lišit. V případě naší kružnice je vizuálně přijatelný výsledek s hodnotou 0,5 (obr. 28). Další příklad vidíte na ručně nakreslené čáře (obr. 29, opět je použita hodnota 0,5). Ve výsledku tedy pro kreslení 3D tiskárnu s podporou oblouků (příkazy G02/G03) ani nepotřebujeme. Při přípravě dat je ale třeba na to vždy pamatovat.

Obr. 28: Inkscape – Převod Beziérových křivek na lineární segmenty pomocí Flatten Beziere (zploštit Beziérovy křivky) Obr. 29: Inkscape – Výsledek převodu Beziérových křivek na lineární segmenty pomocí Flatten Beziere (kružnice) Obr. 30: Inkscape – Výsledek převodu Beziérových křivek na lineární segmenty pomocí Flatten Beziere (rukou kreslená čára)

zpět na začátek

6.3 Vkládání hlavičky a patičky

Poslední technická zastávka při našem kreslení souvisí s úvodním a závěrečným kódem v našich gcode souborech. Ten jsme si v minulé kapitole do souborů doplňovali sami. Je nutné ho doplňovat i do gcode souborů vygenerovaných pomocí Inkscape? Samozřejmě ano, ale GcodeTools nám i zde ušetří práci. Do adresáře, který jsme si nastavili na záložce Preferences (obr. 22), vložíme dva textové soubory. Jeden nazveme „header“ (bez jakékoli přípony) a druhý „footer“ (opět bez přípony). Do „header“ (hlavičky) souboru vložíme úvodní G-kód a do „footer“ (patičky) závěrečný G-kód. GcodeTools pak obsah těchto dvou souborů použije automaticky při generování každého gcode výstupu.

zpět na začátek

6.4 Dodatečná nastavení CAMotics

Každopádně, než kreslicí kód spustíte, vždy proveďte jeho simulaci. V CAMotics si můžete nastvit i konkrétní nástroje (pera, obr. 31) a použít v rámci simulace určité konkrétní zařízení (obr. 32). Nám se osvědčilo k demonstraci používat Shapeoko 2 (v případě dat pro Molestock je zobrazuje korektně uprostřed pracovní plochy, obr. 33).

Obr. 31: CAMotics – Pomocí Tool Editoru (editoru nástrojů) si můžeme nadefinovat své nástroje, v našem případě různé varianty per (např. podle tloušťky) Obr. 32: CAMotics – V rámci dialogu Settings (Nasatvení) si můžeme vybrat konkrétní stroj, na kterém uvidíme simulaci Obr. 33: CAMotics – Simulace průběhu jedné z našich kreseb při použití zobrazení stroje (tlačítko č. 1)

Mohli bychom sice pokračovat dál a věnovat se třeba šrafování ploch, ale myslím, že pro začátek to stačilo. Musíme si také něco nechat na příště :-).

zpět na začátek

7. Několik tipů do výuky

Využití zmiňovaného, ne zcela tradičního, využití 3D tiskáren se pro výuku přímo nabízí. Pokud budeme chtít, můžeme zde propojit několik oborů počínaje matematikou, přes zeměpis, informatiku a konče třeba výtvarnou výchovou. Naše úvodní „ruční“ kreslení, kdy jsme psali G-kód přímo v textovém editoru, je pro žáky pochopitelným příkladem toho, co je to ta algoritmizace. Na příkladech kódu různých žáků se dá jasně ukázat, že každý může při řešení postupovat jinou cestou a přitom výsledek (obrázek) může být stejný. Můžeme se bavit o tom, co je to „optimalizace“, a v první fázi nám k tomu postačí jen tužka a papír. Žáci si také „procvičí“ pohyb v kartézském souřadnicovém systému, což může být u těch starších odrazovým můstkem pro další souřadnicové systémy, kterými může učitel navázat.

U mladších žáků můžeme využít naše CNC kreslení k řadě různých soutěží, které budou přímo souviset s geometrií (třeba nakreslit podle zadání úsečku, oblouk, kružnici, trojúhelník, čtverec, odečíst souřadnice, na výsledné kresbě zjistit pomocí úhloměru velikosti úhlů, …). Pokud takové zadání zabalíme do „problémů“ jako třeba: „Potřebujeme navrhnout, jak se dostat z města A do města B a vyhnout se přitom požáru C“, můžeme začít pracovat také s mapovým podkladem (zde musí žáci uvažovat také měřítko). Součástí takového úkolu bude i navigace a programování cesty (v našem případě pomocí G-kódu). V žákovském týmu bude třeba alespoň jeden programátor G-kódu… a tím jsme u týmové spolupráce. Pokud máte rádi sci-fi, můžeme se bavit třeba o těžbě nerostů z asteroidů, kdy je nutné navést těžební laser na určité místo a pokračovat po nějaké dráze tak, abychom oddělili potřebnou část asteroidu (jak jinak než pomocí G-kódu). Samozřejmě nezapomeneme provést simulaci a „řez“ asteroidem hezky nakreslíme na plánek vložený do 3D tiskárny… A to jsme se ještě nedostali k výukovým možnostem parametru F, kterým měníme rychlost pohybu! Určitě vás už napadá spousta dalších výukových situací, kde by se dalo kreslení nenásilně použít.

V dnešní době stále rychlejší digitalizace a s ní související automatizace výroby můžeme CNC kreslení použít ve výuce také jako modelový příklad pro pochopení změn v souvislosti s trendem označovaným jako Průmysl 4.0. Pro nás učitele je takovéto kreslení dalším užitečným nástrojem nejen pro rozvoj informatického a algoritmického myšlení, ale také pro rozvoj tvořivosti či pro podporu týmové spolupráce. Téma kreslení ve stylu CNC je pro žáky současně také názorným příkladem toho, jak může být užitečné „vidět pod pokličku“ a vědět, jak takový G-kód vlastně funguje. Sice jen kreslíme, ale s žáky se na věc „kreslení“ díváme jako programátoři a uvědomujeme si možná úskalí a problémy. Některé můžeme, ale nemusíme řešit, jiné naopak vyřešit musíme. A to, co se o G-kódu dozvíme v oblasti kreslení, můžeme následně využít v oblasti 3D tisku nebo u nějakého dalšího CNC zařízení (vyřezávací plotter, řezací laser, gravírka, frézka, …). Na druhou stranu lze kreslení použít pro zpestření výuky v souvislosti s vektorovou grafikou a vystupovat v roli uživatelů bez odpovídajících znalostí na nižší „programátorské“ úrovni. A tak tomu může být třeba i ve výtvarné výchově, kde budeme sice primárně na počítači vytvářet plošné umělecké dílko, ale s jeho přerodem do hmotného světa nám ve finále pomůže „CNC kreslení“.

zpět na začátek

8. Pracovní listy

Pokud máte chuť s 2D kreslením pomocí 3D tiskárny začít, připravili jsme pro vás několik pracovních listů. Základem jsou tři samostatné listy, které obsahují různé mřížky (měřítko 1:12:13:1). Pracovní listy jsou ve formátu PDF a obsahují několik vrstev. Zapnutím odpovídající vrstvy je tak možné vytisknout např. mřížku s popisem os pro kartézskou tiskárnu, nebo pro delta tiskárnu. Pracovní list s měřítkem 3:1 obsahuje také několik základních úkolů (obr. 37), vrstvy s nápovědou (obr. 38) pro mladší žáky a vrstvy s řešením (obr. 39). Součástí pracovních listů jsou také kartičky s popisem jednotlivých G-kódů, poznámky pro učitele a náměty na další činnosti.

Obr. 34: e-Mole pracovní list – Čistá mřížka (k dispozici jsou varianty 1:1, 2:1 a 3:1) Obr. 35: e-Mole pracovní list – Čistá mřížka (k dispozici jsou varianty 1:1, 2:1 a 3:1) Obr. 36: e-Mole pracovní list – Čistá mřížka (k dispozici jsou varianty 1:1, 2:1 a 3:1)

Obr. 37: e-Mole pracovní list – Zadání úkolu s kreslením čtverečku Obr. 38: e-Mole pracovní list – Zadání úkolu s kreslením čtverečku (+ nápověda pro mladší žáky) Obr. 39: e-Mole pracovní list – Jedno z možných řešení úkolu s kreslením čtverečku

Bližší informace o tom, jak můžete pracovní listy časopisu e-Mole získat, se dozvíte v sekci Předplatné výukových zdrojů.

Autor: Tomáš Feltl, Gymnázium Polička & Časopis e-Mole.cz, 6. 4. 2019

e-Mole zpravodaj

Objednejte si zasílání novinek e-mailem! Váš e-mail bude použit pouze k zasílání informací o novinkách na našem webu. Odebírání e-mailového zpravodaje můžete kdykoli zrušit (váš email bude z naší databáze trvale odstraněn).