{"action":"created","comment":{"url":"https://api.github.com/repos/3DprintFIT/BI-3DT/pulls/comments/229806815","pull_request_review_id":170376488,"id":229806815,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyOTgwNjgxNQ==","diff_hunk":"@@ -1,46 +1,230 @@\n-Slicing\n--------\n+= Slicing\n+Marián Hlaváč <marian.hlavac@fit.cvut.cz>\n+:toc:\n \n-Proč slicing?\n-~~~~~~~~~~~~~\n+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.\n \n-image:../images/slicing/sliced_apple.jpg[\"Slicnuté\" jablko]\n+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 https://en.wikipedia.org/wiki/PostScript[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.\n \n-(© https://www.flickr.com/photos/vanf/5336855585/[Daniel Novta], CC BY)\n+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 vyteče plastu. Tyto příkazy tiskárna poslouchá a \"hloupě\" je provádí (až na vyjímky -- 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 https://en.wikipedia.org/wiki/G-code[formátu GCode].\n \n-Rasterizace\n-~~~~~~~~~~~\n+.\"Naslicovaný\" model chobotničky\n+image::../images/slicing/octo-layers.jpg[Vrstvy naslicovaného modelu, width=320, link=../images/slicing/octo-layers.jpg, float=right]\n \n-Při zobrazení reálného modelu ve světových souřadnicích na výstupní\n-zařízení (rastrové, vektorové) potřebujeme zajistit co nejvěrnější\n-podobnost reálného a zobrazovaného modelu.\n+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.\n \n-image:../images/slicing/rasterization.png[Rasterizace]\n+== GCode \n \n-(Nedokážeme dohledat původ obrázku, pomůžete nám? Na internetu zmizel.)\n+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í.\n \n-Rasterizace 3D modelu\n-~~~~~~~~~~~~~~~~~~~~~\n+GCode existoval dříve, než 3D tiskárny (první implementace se objevila v 50. letech) a byl používán pro https://en.wikipedia.org/wiki/Numerical_control[CNC stroje] (3D tiskárna je ovšem v podstatě také CNC stroj). Pro účely 3D tisku jsou do GCodu přidány https://reprap.org/wiki/G-code#M-commands[specifické kódy] (začínající na `M`), které definují ovládání funkcí, které jsou určeny pro 3D tisk (teplota trysky, průtok plastu).\n \n-image:../images/slicing/whistle_3dview.png[3D View píšťalka]\n+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í parametry (některé instrukce parametry nemají) oddělené mezerou (např. `E4.00000 F3000.00000`).\n \n-(Model CC BY-NC 3.0 © https://www.thingiverse.com/thing:1046[Eberhard\n-Rensch].)\n+.Útržek z ukázkového souboru GCode\n+[source, gcode]\n+...\n+M900 K200\n+G21\n+G90\n+M83\n+G1 Z0.200 F10800.000\n+G1 E-4.00000 F4800.00000\n+G1 Z0.800 F10800.000\n+G1 X83.160 Y86.215\n+G1 Z0.200\n+G1 E4.00000 F3000.00000\n+M204 S1000\n+G1 F1800\n+G1 X83.537 Y85.576 E0.03743\n+G1 X83.991 Y85.070 E0.03433\n+G1 X107.449 Y63.321 E1.61475\n+G1 X108.199 Y62.760 E0.04729\n+G1 X108.903 Y62.398 E0.03996\n+G1 X109.644 Y62.175 E0.03905\n+G1 X110.427 Y62.102 E0.03971\n+G1 X142.209 Y63.237 E1.60533\n+G1 X143.311 Y63.369 E0.05600\n+...\n \n-Přenos 3D modelu do reálného světa\n-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+== Nástroje pro tvorbu GCode\n \n-image:../images/slicing/whistle_printed.png[Vytištěná píšťalka]\n+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í\").\n \n-(Foto CC BY-NC 3.0 © https://www.thingiverse.com/thing:1046[Eberhard\n-Rensch].)\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 samostatný software, nebo některé softwary mají integrovaný slicer v sobě.\n \n-* Snažíme se najít hranici při které je ještě snesitelná doba tisku a\n-objekt vypadá „dobře“\n+V předmětu BI-3DT budeme k výuce používat program *Slic3r*. Řadí se mezi nejpoužívanější, je open-source a kvalita výstupu je dobrá.\n \n-Ideální parametry\n-~~~~~~~~~~~~~~~~~\n+=== Slic3r\n \n-* Tloušťka stěny\n-* Výška vrstvy\n-* Množství výplně\n+http://slic3r.org[Slic3r] je od roku 2011 vyvíjen komunitou okolo projektu RepRap. Je dostupný pro všechny populární operační systémy. \n+\n+http://slic3r.org/download[Ke stažení na stránce slic3r.org].\n+\n+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.\n+\n+Na cvičení budeme používat poslední verzi Slic3ru (>=1.3.0). V této verzi lze jednotlivé panely otevřít v nabídce `Settings`.\n+\n+.Výchozí okno programu Slic3r (verze 1.3)\n+image::../images/slicing/slic3r.png[Okno Slic3ru, width=720, link=../images/slicing/slic3r.png]\n+\n+[[config-file]]\n+==== Konfigurační soubor pro tiskárny\n+\n+.Položka \"Load Config Bundle\"\n+image::../images/slicing/load-bundle.png[Nabídka file, width=320, float=right, link=../images/slicing/load-bundle.png]\n+\n+Stáhněte si konfigurační bundle pro tiskárny RebeliX, které používáme na cvičení.\n+\n+*link:../configs/printing/slic3r_config_bundle.ini[slic3r_config_bundle.ini]*\n+\n+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 \"ABS ESUN 1.75mm\" a v tiskárnách \"RebeliX\").\n+\n+CAUTION: *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*.\n+\n+== Podpůrné struktury\n+\n+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. \n+\n+=== Vnitřek modelu\n+\n+.Vnitřek naslicovaného modelu chobotničky\n+image::../images/slicing/octo-infill.jpg[Vnitřek modelu, width=350, link=../images/slicing/octo-infill.jpg, float=right]\n+\n+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\"_.\n+\n+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 nenastavuje na nižší hodnotu než 10%.\n+\n+=== Supports\n+\n+.Naslicovaný držák s podporami (zelená barva)\n+image::../images/slicing/supports.svg[Supporty, width=350, float=right, link=../images/slicing/supports.svg]\n+\n+Č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).\n+\n+Č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é 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í.\n+\n+[[structs]]\n+=== Rafts, skirts, brims\n+\n+Určité typy výtisků mají problém s přilnavostí k povrchu tiskové plochy. Uprostřed tisku se pak mohou odlepit a v tu chvíli se tisk stává neúspěšným.\n+\n+.Odlepený základ výtisku uprostřed nehlídaného tisku může skončit katastrofou (nebo moderním uměním, záleží na úhlu pohledu)\n+image::../images/slicing/IMG_20181017_093537.jpg[width=80%, link=../images/slicing/IMG_20181017_093537.jpg]\n+\n+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).\n+\n+*Raft* je 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.\n+\n+*Skirt* je 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.\n+\n+*Brim* je 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í.\n+\n+[cols=2, frame=none, grid=none]\n+|===\n+a|\n+\n+.Raft\n+image::../images/slicing/raft.svg[width=100%, link=../images/slicing/raft.svg]\n+\n+a|\n+\n+.Skirt a brim\n+image::../images/slicing/skirt-brim.svg[width=100%, link=../images/slicing/skirt-brim.svg]\n+\n+|===\n+\n+\n+== Konfigurace tisku v programu Slic3r\n+\n+Nyní přejdeme k tomu, co lze nastavit v programu Slic3r a k čemu je to dobré.\n+\n+=== Panel \"Plater\"\n+\n+Na panelu 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`).\n+\n+Vpravo dole se zobrazují informace o vybraném objektu. Lze vidět jeho velikost v milimetrech (pro kontrolu) a další vlastnosti.\n+\n+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.\n+\n+=== Panel \"Print Settings\"\n+\n+.Panel \"Print Settings\"\n+image::../images/slicing/print-settings.png[Print Settings, width=320, link=../images/slicing/print-settings.png, float=right]\n+\n+Panelu \"Print Settings\" věnujte největší pozornost. Zatímco většinu důležitých hodnot v ostatních panelech za vás nastavil <<Konfigurační soubor pro tiskárny, 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+\n+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 http://manual.slic3r.org[Slic3r manuálem].\n+\n+==== Stránka \"Layers and perimeters\"\n+\n+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 nainstalovaná na tiskárně.\n+\n+First layer height:: Ovlivní výšku první vrstvy. Nastavuje se na menší hodnotu než zbytek modelu pro lepší přilnutí k tiskové ploše.\n+\n+.Porovnání kvality tisku podle výšky vrstvy (https://www.flickr.com/photos/creative_tools/8616820648[Creative Tools, CC BY 2.0])\n+image::../images/slicing/8616820648_6e067ceb0f_o.jpg[width=80%, link=../images/slicing/8616820648_6e067ceb0f_o.jpg]\n+\n+Perimeters:: Počet perimetrů na krajích tisku (neovlivňuje rovné plochy na spodku a vršku předmětu).\n+\n+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.\n+\n+.Jak ovlivňuje tisk nastavení perimetrů\n+image::../images/slicing/perimeters.svg[width=80%, link=../images/slicing/perimeters.svg]\n+\n+==== Stránka \"Infill\"\n+\n+Na této stránce lze nastavit vlastnosti infillu, o kterém víme z kapitoly <<Vnitřek modelu>>.\n+\n+Fill density:: Určuje hustotu vnitřní výplně.\n+\n+Fill pattern:: Určuje vzorek výplně.\n+\n+External infill pattern:: Určuje vzorek výplně na vrchních a spodních plochách zvenčí.\n+\n+Solid infill every:: Zesílí odolnost předmětu vytisknutím plné výplně (100%) každých n vrstev.\n+\n+Fill angle:: Úhel vzorku výplně.\n+\n+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 při které se část předmětu považuje jako malá.\n+\n+.Různé hustoty infillu\n+image::../images/slicing/infill.svg[width=80%, link=../images/slicing/infill.svg]\n+\n+==== Stránka \"Skirt\"\n+\n+Na této stránce lze nastavit <<structs, Skirt či Brim>>.\n+\n+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.\n+\n+Distance from object:: Vzdálenost skirtu od objektu.\n+\n+Skirt height:: Kolik vrstev bude skirt vysoký. Pro vyčištění trysky se většinou používá pouze jeden.\n+\n+Exterior brim width:: Nenulová hodnota vygeneruje brim kolem předmětu o zadané velikosti.\n+\n+==== Stránka \"Support material\"\n+\n+Na této stránce lze nastavit <<Supports, supporty>>, nebo <<structs, raft>>.\n+\n+Generate support material:: Zapne generování podpor.\n+\n+Overhang threshold:: Určuje hranici, do jak příkrých převisů chcete podpory generovat. Čím vyšší číslo, tím více podpor se vygeneruje.","path":"tutorials/slicing.adoc","position":242,"original_position":242,"commit_id":"2acddcb005006732f09d7813164cff208965a4a4","original_commit_id":"2acddcb005006732f09d7813164cff208965a4a4","user":{"login":"hroncok","id":2401856,"node_id":"MDQ6VXNlcjI0MDE4NTY=","avatar_url":"https://avatars2.githubusercontent.com/u/2401856?v=4","gravatar_id":"","url":"https://api.github.com/users/hroncok","html_url":"https://github.com/hroncok","followers_url":"https://api.github.com/users/hroncok/followers","following_url":"https://api.github.com/users/hroncok/following{/other_user}","gists_url":"https://api.github.com/users/hroncok/gists{/gist_id}","starred_url":"https://api.github.com/users/hroncok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hroncok/subscriptions","organizations_url":"https://api.github.com/users/hroncok/orgs","repos_url":"https://api.github.com/users/hroncok/repos","events_url":"https://api.github.com/users/hroncok/events{/privacy}","received_events_url":"https://api.github.com/users/hroncok/received_events","type":"User","site_admin":false},"body":"Stupně? Odkud měřené?","created_at":"2018-10-31T18:00:38Z","updated_at":"2018-10-31T18:03:58Z","html_url":"https://github.com/3DprintFIT/BI-3DT/pull/127#discussion_r229806815","pull_request_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/pulls/127","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/3DprintFIT/BI-3DT/pulls/comments/229806815"},"html":{"href":"https://github.com/3DprintFIT/BI-3DT/pull/127#discussion_r229806815"},"pull_request":{"href":"https://api.github.com/repos/3DprintFIT/BI-3DT/pulls/127"}}},"pull_request":{"url":"https://api.github.com/repos/3DprintFIT/BI-3DT/pulls/127","id":227326557,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI3MzI2NTU3","html_url":"https://github.com/3DprintFIT/BI-3DT/pull/127","diff_url":"https://github.com/3DprintFIT/BI-3DT/pull/127.diff","patch_url":"https://github.com/3DprintFIT/BI-3DT/pull/127.patch","issue_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/issues/127","number":127,"state":"open","locked":false,"title":"New slicing tutorial page","user":{"login":"mmajko","id":3010503,"node_id":"MDQ6VXNlcjMwMTA1MDM=","avatar_url":"https://avatars2.githubusercontent.com/u/3010503?v=4","gravatar_id":"","url":"https://api.github.com/users/mmajko","html_url":"https://github.com/mmajko","followers_url":"https://api.github.com/users/mmajko/followers","following_url":"https://api.github.com/users/mmajko/following{/other_user}","gists_url":"https://api.github.com/users/mmajko/gists{/gist_id}","starred_url":"https://api.github.com/users/mmajko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmajko/subscriptions","organizations_url":"https://api.github.com/users/mmajko/orgs","repos_url":"https://api.github.com/users/mmajko/repos","events_url":"https://api.github.com/users/mmajko/events{/privacy}","received_events_url":"https://api.github.com/users/mmajko/received_events","type":"User","site_admin":false},"body":"Preview at https://courses.fit.cvut.cz/BI-3DT/@preview/tutorials/slicing.html","created_at":"2018-10-31T15:15:03Z","updated_at":"2018-10-31T18:03:53Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0467bedc4fc797c28362c04ddcdab5e552a2db71","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":639086883,"node_id":"MDU6TGFiZWw2MzkwODY4ODM=","url":"https://api.github.com/repos/3DprintFIT/BI-3DT/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":707048477,"node_id":"MDU6TGFiZWw3MDcwNDg0Nzc=","url":"https://api.github.com/repos/3DprintFIT/BI-3DT/labels/high%20prio","name":"high prio","color":"5319e7","default":false},{"id":1083258975,"node_id":"MDU6TGFiZWwxMDgzMjU4OTc1","url":"https://api.github.com/repos/3DprintFIT/BI-3DT/labels/tutorial","name":"tutorial","color":"014b5b","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/pulls/127/commits","review_comments_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/pulls/127/comments","review_comment_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/pulls/comments{/number}","comments_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/issues/127/comments","statuses_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/statuses/2acddcb005006732f09d7813164cff208965a4a4","head":{"label":"mmajko:tut-slicing","ref":"tut-slicing","sha":"2acddcb005006732f09d7813164cff208965a4a4","user":{"login":"mmajko","id":3010503,"node_id":"MDQ6VXNlcjMwMTA1MDM=","avatar_url":"https://avatars2.githubusercontent.com/u/3010503?v=4","gravatar_id":"","url":"https://api.github.com/users/mmajko","html_url":"https://github.com/mmajko","followers_url":"https://api.github.com/users/mmajko/followers","following_url":"https://api.github.com/users/mmajko/following{/other_user}","gists_url":"https://api.github.com/users/mmajko/gists{/gist_id}","starred_url":"https://api.github.com/users/mmajko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmajko/subscriptions","organizations_url":"https://api.github.com/users/mmajko/orgs","repos_url":"https://api.github.com/users/mmajko/repos","events_url":"https://api.github.com/users/mmajko/events{/privacy}","received_events_url":"https://api.github.com/users/mmajko/received_events","type":"User","site_admin":false},"repo":{"id":148453955,"node_id":"MDEwOlJlcG9zaXRvcnkxNDg0NTM5NTU=","name":"BI-3DT","full_name":"mmajko/BI-3DT","private":false,"owner":{"login":"mmajko","id":3010503,"node_id":"MDQ6VXNlcjMwMTA1MDM=","avatar_url":"https://avatars2.githubusercontent.com/u/3010503?v=4","gravatar_id":"","url":"https://api.github.com/users/mmajko","html_url":"https://github.com/mmajko","followers_url":"https://api.github.com/users/mmajko/followers","following_url":"https://api.github.com/users/mmajko/following{/other_user}","gists_url":"https://api.github.com/users/mmajko/gists{/gist_id}","starred_url":"https://api.github.com/users/mmajko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmajko/subscriptions","organizations_url":"https://api.github.com/users/mmajko/orgs","repos_url":"https://api.github.com/users/mmajko/repos","events_url":"https://api.github.com/users/mmajko/events{/privacy}","received_events_url":"https://api.github.com/users/mmajko/received_events","type":"User","site_admin":false},"html_url":"https://github.com/mmajko/BI-3DT","description":"Materials for the 3D printing course at FIT CTU","fork":true,"url":"https://api.github.com/repos/mmajko/BI-3DT","forks_url":"https://api.github.com/repos/mmajko/BI-3DT/forks","keys_url":"https://api.github.com/repos/mmajko/BI-3DT/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mmajko/BI-3DT/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mmajko/BI-3DT/teams","hooks_url":"https://api.github.com/repos/mmajko/BI-3DT/hooks","issue_events_url":"https://api.github.com/repos/mmajko/BI-3DT/issues/events{/number}","events_url":"https://api.github.com/repos/mmajko/BI-3DT/events","assignees_url":"https://api.github.com/repos/mmajko/BI-3DT/assignees{/user}","branches_url":"https://api.github.com/repos/mmajko/BI-3DT/branches{/branch}","tags_url":"https://api.github.com/repos/mmajko/BI-3DT/tags","blobs_url":"https://api.github.com/repos/mmajko/BI-3DT/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mmajko/BI-3DT/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mmajko/BI-3DT/git/refs{/sha}","trees_url":"https://api.github.com/repos/mmajko/BI-3DT/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mmajko/BI-3DT/statuses/{sha}","languages_url":"https://api.github.com/repos/mmajko/BI-3DT/languages","stargazers_url":"https://api.github.com/repos/mmajko/BI-3DT/stargazers","contributors_url":"https://api.github.com/repos/mmajko/BI-3DT/contributors","subscribers_url":"https://api.github.com/repos/mmajko/BI-3DT/subscribers","subscription_url":"https://api.github.com/repos/mmajko/BI-3DT/subscription","commits_url":"https://api.github.com/repos/mmajko/BI-3DT/commits{/sha}","git_commits_url":"https://api.github.com/repos/mmajko/BI-3DT/git/commits{/sha}","comments_url":"https://api.github.com/repos/mmajko/BI-3DT/comments{/number}","issue_comment_url":"https://api.github.com/repos/mmajko/BI-3DT/issues/comments{/number}","contents_url":"https://api.github.com/repos/mmajko/BI-3DT/contents/{+path}","compare_url":"https://api.github.com/repos/mmajko/BI-3DT/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mmajko/BI-3DT/merges","archive_url":"https://api.github.com/repos/mmajko/BI-3DT/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mmajko/BI-3DT/downloads","issues_url":"https://api.github.com/repos/mmajko/BI-3DT/issues{/number}","pulls_url":"https://api.github.com/repos/mmajko/BI-3DT/pulls{/number}","milestones_url":"https://api.github.com/repos/mmajko/BI-3DT/milestones{/number}","notifications_url":"https://api.github.com/repos/mmajko/BI-3DT/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mmajko/BI-3DT/labels{/name}","releases_url":"https://api.github.com/repos/mmajko/BI-3DT/releases{/id}","deployments_url":"https://api.github.com/repos/mmajko/BI-3DT/deployments","created_at":"2018-09-12T09:17:31Z","updated_at":"2018-10-31T15:08:50Z","pushed_at":"2018-10-31T15:12:41Z","git_url":"git://github.com/mmajko/BI-3DT.git","ssh_url":"git@github.com:mmajko/BI-3DT.git","clone_url":"https://github.com/mmajko/BI-3DT.git","svn_url":"https://github.com/mmajko/BI-3DT","homepage":null,"size":113174,"stargazers_count":0,"watchers_count":0,"language":"OpenSCAD","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"cc-by-sa-4.0","name":"Creative Commons Attribution Share Alike 4.0 International","spdx_id":"CC-BY-SA-4.0","url":"https://api.github.com/licenses/cc-by-sa-4.0","node_id":"MDc6TGljZW5zZTI2"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"3DprintFIT:master","ref":"master","sha":"cf5630c72e409ccfd0d46eeab29f3bfa68c91be5","user":{"login":"3DprintFIT","id":2419533,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI0MTk1MzM=","avatar_url":"https://avatars1.githubusercontent.com/u/2419533?v=4","gravatar_id":"","url":"https://api.github.com/users/3DprintFIT","html_url":"https://github.com/3DprintFIT","followers_url":"https://api.github.com/users/3DprintFIT/followers","following_url":"https://api.github.com/users/3DprintFIT/following{/other_user}","gists_url":"https://api.github.com/users/3DprintFIT/gists{/gist_id}","starred_url":"https://api.github.com/users/3DprintFIT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/3DprintFIT/subscriptions","organizations_url":"https://api.github.com/users/3DprintFIT/orgs","repos_url":"https://api.github.com/users/3DprintFIT/repos","events_url":"https://api.github.com/users/3DprintFIT/events{/privacy}","received_events_url":"https://api.github.com/users/3DprintFIT/received_events","type":"Organization","site_admin":false},"repo":{"id":96105038,"node_id":"MDEwOlJlcG9zaXRvcnk5NjEwNTAzOA==","name":"BI-3DT","full_name":"3DprintFIT/BI-3DT","private":false,"owner":{"login":"3DprintFIT","id":2419533,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI0MTk1MzM=","avatar_url":"https://avatars1.githubusercontent.com/u/2419533?v=4","gravatar_id":"","url":"https://api.github.com/users/3DprintFIT","html_url":"https://github.com/3DprintFIT","followers_url":"https://api.github.com/users/3DprintFIT/followers","following_url":"https://api.github.com/users/3DprintFIT/following{/other_user}","gists_url":"https://api.github.com/users/3DprintFIT/gists{/gist_id}","starred_url":"https://api.github.com/users/3DprintFIT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/3DprintFIT/subscriptions","organizations_url":"https://api.github.com/users/3DprintFIT/orgs","repos_url":"https://api.github.com/users/3DprintFIT/repos","events_url":"https://api.github.com/users/3DprintFIT/events{/privacy}","received_events_url":"https://api.github.com/users/3DprintFIT/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/3DprintFIT/BI-3DT","description":"Materials for the 3D printing course at FIT CTU","fork":false,"url":"https://api.github.com/repos/3DprintFIT/BI-3DT","forks_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/forks","keys_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/keys{/key_id}","collaborators_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/teams","hooks_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/hooks","issue_events_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/issues/events{/number}","events_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/events","assignees_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/assignees{/user}","branches_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/branches{/branch}","tags_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/tags","blobs_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/git/refs{/sha}","trees_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/git/trees{/sha}","statuses_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/statuses/{sha}","languages_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/languages","stargazers_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/stargazers","contributors_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/contributors","subscribers_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/subscribers","subscription_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/subscription","commits_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/commits{/sha}","git_commits_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/git/commits{/sha}","comments_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/comments{/number}","issue_comment_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/issues/comments{/number}","contents_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/contents/{+path}","compare_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/compare/{base}...{head}","merges_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/merges","archive_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/downloads","issues_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/issues{/number}","pulls_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/pulls{/number}","milestones_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/milestones{/number}","notifications_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/labels{/name}","releases_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/releases{/id}","deployments_url":"https://api.github.com/repos/3DprintFIT/BI-3DT/deployments","created_at":"2017-07-03T11:46:00Z","updated_at":"2018-10-30T09:19:58Z","pushed_at":"2018-10-31T15:15:04Z","git_url":"git://github.com/3DprintFIT/BI-3DT.git","ssh_url":"git@github.com:3DprintFIT/BI-3DT.git","clone_url":"https://github.com/3DprintFIT/BI-3DT.git","svn_url":"https://github.com/3DprintFIT/BI-3DT","homepage":null,"size":97309,"stargazers_count":9,"watchers_count":9,"language":"OpenSCAD","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":9,"mirror_url":null,"archived":false,"open_issues_count":6,"license":{"key":"cc-by-sa-4.0","name":"Creative Commons Attribution Share Alike 4.0 International","spdx_id":"CC-BY-SA-4.0","url":"https://api.github.com/licenses/cc-by-sa-4.0","node_id":"MDc6TGljZW5zZTI2"},"forks":9,"open_issues":6,"watchers":9,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/3DprintFIT/BI-3DT/pulls/127"},"html":{"href":"https://github.com/3DprintFIT/BI-3DT/pull/127"},"issue":{"href":"https://api.github.com/repos/3DprintFIT/BI-3DT/issues/127"},"comments":{"href":"https://api.github.com/repos/3DprintFIT/BI-3DT/issues/127/comments"},"review_comments":{"href":"https://api.github.com/repos/3DprintFIT/BI-3DT/pulls/127/comments"},"review_comment":{"href":"https://api.github.com/repos/3DprintFIT/BI-3DT/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/3DprintFIT/BI-3DT/pulls/127/commits"},"statuses":{"href":"https://api.github.com/repos/3DprintFIT/BI-3DT/statuses/2acddcb005006732f09d7813164cff208965a4a4"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"hroncok"}}