Generátor dat pro (barevný) 3D tisk z obrázku
Chcete si vytisknout na 3D tiskárně obázek, logo, postavičku z pohádky nebo dětskou kresbu? Nebo si vyrobit originální magnetku na ledničku? Pro tento úkol jsem vytvořil aplikaci Image Vectorizer. Z obyčejného obrázku udělá vícebarevné SVG, 3MF a STL. Každá barva je samostatná a všechno běží jen ve vašem prohlížeči, obrázek se nikam neposílá.
Co je pro to potřeba? Především 3D tiskárna. Dále je dobré mít systém výměny filamentů jako je AMS a pod. Barvy se dají ale také měnit ručně, je to jen trocha práce navíc. Hlavně je nutné mít nějaký podklad v obrazové podobě, například stažený z internetu. Čím větší velikost obrázku, tím samozřejmě lépe. Ale má aplikace si obstojně poradí i s poměrně malým obrázkem díky chytrému zvětšování. Pokud obrázek i tak není dokonalý, můžete ho jednoduše upravit přímo v aplikaci. Skvělé výsledky dostanete i po převodu ručně malovaných obrázků, i jednobarevných. Bílé plochy se dají obarvit také přímo v aplikaci. Podmínkou je kontrastní okraj objektů, aby barva poznala, kte má mít hranice. Ale i ty se dají dokreslit nebo opravit. Obrázek na papíru stačí nafotit mobilním telefonem (pozor na dostatečné osvětlení bez stínů a lesků), nebo ideálně použít stolní skener.
1. Načtení obrázku
- Jazyk rozhraní přepnete tlačítky CZ / EN vpravo nahoře.
- Obrázek přetáhněte kamkoli do okna, nebo klikněte na Vybrat obrázek (Choose image).
- Vzorové soubory (Sample files) otevřou složku s ukázkovými obrázky.
- Oříznout (Crop): výběr natáhnete myší v náhledu a lze ho posouvat a měnit za rohy a hrany.
- Automaticky (Automatic) najde a odstraní prázdné okraje.
- Ořez potvrdíte tlačítkem Oříznout (Crop), nebo zrušíte tlačítkem Zrušit (Cancel).
- Pozadí… (Background…) nabídne dvě možnosti:
- Vyčistit pozadí na bílou (Clean background to white) změní téměř bílé nebo jednobarevné okolí na čistou bílou.
- Odstranit pozadí (průhledné) (Remove background (transparent)) okolí odstraní a tiskne se jen motiv.


2. Velikost
V části Velikost (800 DPI) (Size (800 DPI)) zadejte šířku nebo výšku v milimetrech. Při zapnutém zámku se druhý rozměr dopočítá podle poměru stran.

3. Vhodnost pro tisk (Print suitability)
Panel hodnotí obrázek pro zadanou velikost:
- Zelená: Vhodný pro 3D tisk (Suitable for 3D printing)
- Oranžová: Vhodný po úpravě (Suitable after adjustment)
- Červená: Nevhodný bez úprav (Not suitable without changes)
Pod hodnocením jsou důvody: rozlišení originálu v DPI, rozmazané hrany, šum, JPG artefakty, nečistoty, tenké linky a počet barev.
Tlačítka v panelu:
- Připravit SVG (Prepare SVG) provede přípravu jedním klikem:
- při nízkém rozlišení obrázek optimalizuje,
- nastaví doporučený šum a odstranění linek,
- zapne Upravit obrázek (Edit image) s černými obrysy,
- nastaví odstranění ploch do 0,5 mm²,
- spustí zpracování.
- AI image upscale zvětší obrázek pomocí umělé inteligence v novém okně.
- Režimy: Kresba 4× (Drawing 4×), Kresba 2× (Drawing 2×) nebo Fotka 4× (Photo 4×).
- Výsledek se automaticky vrátí do aplikace a použije místo původního obrázku.
- Pokud prohlížeč nové okno zablokuje, povolte pro stránku vyskakovací okna.
- Optimalizovat (Optimize) zvětší obrázek přímo v aplikaci:
- Kreslený obrázek (Cartoon / graphics): ostré hrany, jen hlavní barvy.
- Fotografie / přechody (Photo / gradients): plynulé zvětšení se zachováním přechodů.
- Zmenšit na … mm (Shrink to … mm) nastaví velikost, při které má originál 250 DPI.
- Použít doporučení (Apply recommendation) nastaví doporučený šum a odstranění linek.
Diagnostika obrázku (Image diagnosis) ukazuje rozlišení, ostrost hran, šum, JPG artefakty a významné barvy. Obsahuje také doporučenou maximální velikost.

4. Náhled rastru (Raster preview)
- Originál (Original) zobrazí nahraný obrázek, případně optimalizovaný nebo oříznutý.
- Rastr (Raster) zobrazí upravený obrázek, který se přesně převede do SVG.
- Upravit obrázek (Edit image) zapne úpravu obrázku hlavními barvami.
- Uložit obrázek (Save image) uloží upravený obrázek jako PNG - to se hodí pro případné nové generování SVG.
- Reset (Reset) vrátí všechny úpravy obrázku do výchozího stavu.
Nastavení úpravy:
- Citlivost výběru (Selection tolerance) funguje jako kouzelná hůlka: určuje, jak moc se smí barva bodu lišit, aby patřil do stejné plochy.
- Doostření (Sharpening) zostří rozmazané hrany před výběrem ploch.
- Obrysy černě (Black outlines): tenké tmavé linky se vykreslí nejtmavší barvou a nesplynou s okolím.
- Jas a kontrast (Brightness and contrast) s jezdci Jas (Brightness) a Kontrast (Contrast) mění jen obrázek. Barvy ani jejich počet se nemění, mění se jen plochy, které jim připadnou. Auto (Auto) nastaví hodnoty automaticky.
Hlavní barvy (Main colors) se navrhnou hned po vložení obrázku a jsou seřazené od nejtmavší po nejsvětlejší.
- Kliknutím na barvu ji označíte.
- Křížkem barvu odeberete a vyberete barvu, která ji nahradí.
Nástroje:
- Vyplnit barvou (Fill with color): kliknutím do plochy ji vyplníte označenou barvou.
- Najít barvu (Find color): kliknutím do obrázku se barva označí ve vzorníku. Stejně funguje Shift + klik.
- Přidat barvu (Add color): barvu vyberete v RGB vzorníku, nebo kliknutím do originálu. Počet barev se zvýší.
- Kreslení (Drawing): kreslí se označenou barvou. Šířku štětce nastavíte jezdcem. Během kreslení můžete podržet Shift pro načtení barvy pod kurzorem (kliknout).
- Obnovit (Reset) vrátí navržené barvy.
- Zpět (Undo) vrátí poslední úpravu.

5. Generování SVG (SVG generation)
- Šum / JPG (Noise / JPG) odstraní zrno a artefakty komprese.
- Počet barev (Colors) je nejvýše tolik, kolik barev má vzorník úpravy obrázku.
- Odstranit linky do (Remove up to) odstraní tenké linky do zadané šířky v mm.
- Odstranit plochy do (Remove areas up to) odstraní souvislé plochy menší než zadaná hodnota v mm².
- Min. šířka tahu (Min. stroke width) nastavte podle průměru trysky, např. 0,42 mm. Užší místa se rozšíří.
- Pokročilé (Advanced) obsahuje:
- Vynechat nevýznamné barvy (Skip insignificant colors)
- Citlivost hranice (Edge sensitivity)

6. Zpracování
- Zpracovat (Process) spustí převod. Průběh ukazují teploměry.
- Image editor - můj jednoduchý editor obrázků pro náročnější úpravy, pokud si nevystačíte s funkcemi v konvertoru
- Změny tiskem (Print changes) zvýrazní červeně místa, která se změnila kvůli tisku, tlačítko se objeví po zpracování nahoře:
- rozšířené tenké linky,
- odstraněné malé plochy a nečistoty,
- zakulacené rohy.

7. Náhled SVG (SVG preview)
- Hladkost (Smoothness) nastaví vyhlazení obrysů.
- Kliknutím na plochu ji odstraníte a nahradí ji sousední barva. Zpět (Undo) odstranění vrátí.
- V seznamu Barvy (Colors) můžete barvu skrýt v náhledu, nebo ji odstranit tlačítkem minus.
8. Export
- Export SVG uloží jeden soubor SVG v milimetrech, každou barvu ve vlastní vrstvě.
- Export STL (ZIP) uloží samostatné STL pro každou barvu - jednodušší varianta následujícího tlačítka Převést na STL
- Převést na STL (Convert to STL) předá SVG výstup do aplikace SVG to STL v novém okně. Tam pak budete mít další možnosti úprav.

Načtení SVG
SVG soubor přetáhněte kamkoli do okna aplikace, nebo klikněte na Načíst SVG… (Open SVG…). Tlačítko Ukázka (Sample) načte ukázkový obrázek. SVG lze předat také přímo z aplikace Image to STL jedním kliknutím (viz předchozí odstavec). Barvy z SVG zůstanou zachované.
Ovládání náhledu
Levým tlačítkem myši model otáčíte, kolečkem přibližujete, pravým tlačítkem posouváte. Tlačítko Shora (Top) zobrazí pohled shora, tlačítko 3D (3D) šikmý pohled.
Výška objektů (osa Z) (Object height (Z axis))
Nastavuje výšku vytažení všech ploch, výchozí hodnota je 0,6 mm. Rozsah je 0,1–300 mm. Hodnotu zadáte posuvníkem nebo číslem.
Rozměr X / Y (poměr zachován) (Size X / Y (aspect kept))
Šířka X (Width X) a Délka Y (Length Y) se načtou z SVG. Po změně jedné hodnoty se druhá dopočítá tak, aby se zachoval poměr stran.
- Převést i obrysy (stroke) (Convert outlines (stroke) too) převede do 3D i čáry z SVG, ne jen vyplněné plochy.
- Hladkost křivek (Curve smoothness) určuje, jak jemně se zaoblené tvary rozdělí na úsečky.
Podklad pod objektem (Base under the object)
Vytvoří desku pod celým modelem, která přesně kopíruje jeho vnější obrys. Výchozí výška je 2 mm, hodnota 0 podklad vypne. Díly se posadí na podklad.
- Zacelit vnitřní mezery užší než (Close inner gaps narrower than) zacelí v podkladu vnitřní mezery užší než zadaná hodnota. Výchozí hodnota je 0,2 mm.
- Vyplnit vnitřní otvory (Fill inner holes) vyplní v podkladu všechny vnitřní otvory.
- Barva podkladu (Base colour): volba Auto (Auto) vybere nejčastější barvu podél obrysu. Kliknutím na barvu ji nastavíte ručně.

Odstranění částí (Remove parts)
- Výběr (Select): kliknutím označíte část, se Shiftem více částí. Označené části se zbarví červeně a klávesou Delete je smažete.
- Guma (Eraser): kliknutím část okamžitě odstraníte.
- Smazat vybrané (Delete selected) odstraní označené části.
- Vybrat vše (Select all) označí všechny části.
- Invertovat (Invert) obrátí výběr.
- Zpět (Undo), nebo klávesy Ctrl+Z, vrátí poslední odstranění.
- Obnovit vše (Restore all) vrátí všechny odstraněné části.
Barvy (Colours)
Seznam všech barev v modelu s počtem částí. U každé barvy lze zadat vlastní výšku. Prázdné pole znamená výchozí výšku.
- Vybrat (Select) označí všechny části dané barvy.
- ✕ odstraní všechny části dané barvy.

Zobrazení (Display)
Lesk (Gloss) a Pozadí (Background) mění jen vzhled náhledu a nemají vliv na export.
Export
- Stáhnout 3MF pro Bambu Studio (Download 3MF for Bambu Studio) uloží jeden objekt s dílem pro každou barvu. Bambu Studio a OrcaSlicer barvy převezmou, stačí přiřadit filamenty.
- STL po barvách (ZIP) (STL per colour (ZIP)) uloží samostatný STL soubor pro každou barvu a podklad. Soubory mají společné souřadnice a jsou určené pro PrusaSlicer a ostatní slicery.
Exportované modely jsou uzavřené (manifold).

Přeji hodně zábavy při používání této aplikace. Její vývoj mne opravdu bavil, tak snad bude pro ostatní nejen 3D tiskaře užitečná.
Luboš Hort