Od kilku miesięcy społeczność druku 3D szuka odpowiedzi na bardzo interesujące pytanie: co by było, gdyby wielomateriałowa drukarka 3D nie była ograniczona do kolorów fizycznie w niej załadowanych?
I musimy to od razu powiedzieć: to naprawdę niesamowity sposób na poszerzenie możliwości drukowania 3D! W tym artykule i filmie pokażemy Ci jak drukować z wykorzystaniem dziesiątek odcieni kolorów na dowolnej drukarce wielomateriałowej oraz jak to osiągnęliśmy. To naprawdę dogłębna analiza, więc usiądź wygodnie – czeka Cię niezła jazda!
Porozmawiajmy o społeczności – bo to właśnie tam wszystko się zaczęło. Rozwiązania zaczęły pojawiać się w forkach slicerów, paletach testowych i coraz bardziej przekonujących wydrukach. OrcaSlicer-FullSpectrum od Ratdouxa pokazał, jak można tworzyć wirtualne filamenty wielokolorowe poprzez naprzemienne nakładanie cienkich warstw o różnych kolorach. Narzędzie filament-mixer autorstwa Justina H. Rahba pomagało przewidzieć, jak te kolory mogą wyglądać, a projekty społecznościowe, takie jak PeggyPalette, ułatwiały porównywanie i udostępnianie wyników. Był to jeden z tych momentów, w których można było poczuć, jak pomysł rozprzestrzenia się w czasie rzeczywistym. Wszystkie te projekty są niesamowite i naprawdę pokazują zalety podejścia opartego na otwartym oprogramowaniu.
I szczerze mówiąc, my też się tym podekscytowaliśmy. Pomysł szybko zaraził całą Prusę: stwórzmy prosty sposób, by z kilku szpul filamentu umożliwić drukowanie w dziesiątkach pięknych kolorów. Zespoły odpowiedzialne za Prusament, PrusaSlicer, EasyPrint oraz OpenPrintTag zawsze dążą do tego samego celu, a ten projekt był dla nich idealny. Skalibrowaliśmy nowy, dokładniejszy model mieszania kolorów w oparciu o zmierzone wydruki FDM, połączyliśmy go z rzeczywistymi danymi materiałowymi poprzez bazę danych materiałów OpenPrintTag, wprowadziliśmy ten proces bezpośrednio do PrusaSlicer i EasyPrint, a następnie rozpoczęliśmy przygotowywanie dedykowanego zestawu Prusament CMYKW, aby cały proces był bardziej niezawodny już od pierwszego wydruku. Dlaczego CMYKW? Wyjaśnimy to za chwilę.

W rezultacie otrzymujemy znacznie prostszy proces, dzięki któremu drukowanie w kolorze przypomina bardziej malowanie niż programowanie, a podgląd kolorów jest dokładniejszy niż w jakimkolwiek innym istniejącym rozwiązaniu.
Nasz model mieszania kolorów jest opublikowany na licencji MIT, dzięki czemu społeczność może go sprawdzać, używać, testować, ulepszać i rozwijać, tak jak my rozwijaliśmy prace naszych poprzedników. Nazwaliśmy ten model Prusa ColorMix, aby odróżnić go od podobnych projektów i produktów.

Jak to działa?
Jak więc można wydrukować model, który wygląda niemal jak namalowany, używając zaledwie pięciu filamentów?
Zasada ta jest dobrze znana z tradycyjnego druku 2D. Wykorzystuje ona barwniki cyjan, magenta i żółty (CMY) w metodzie zwanej halftoningiem, która pozwala drukarce uzyskać płynne przejścia tonalne poprzez zmianę wielkości i odstępów między małymi kropkami kolory. Drukowanie kropek CMY w równych proporcjach tworzy czerń. Drukarki atramentowe mają dodatkowy czarny kolor (K), aby oszczędzać pozostałe i korzystać z modelu CMYK. Zazwyczaj drukują na białym papierze, więc biel jest po prostu brakiem jakiegokolwiek innego koloru.

Kolor postrzegany jako błękitny to mieszanka farb cyjanowej, magenty, żółtej i czarnej, widoczna pod powiększeniem. (Wikipedia)
W druku 3D nie ma papieru, więc istniejące modele wykorzystują kolory CMY oraz biel (W). Ze względu na specyfikę druku FDM nie stosujemy kombinacji punktów, lecz naprzemiennie nakładamy kolory warstwa po warstwie. Model o wysokości warstwy 0,1 mm, w którym wszystkie warstwy nieparzyste są białe, a parzyste czarne, z normalnej odległości wygląda na szary. Ta sprytna sztuczka jest możliwa dzięki ograniczonej rozdzielczości ludzkiego oka, które nie dostrzega szczegółów poniżej określonego rozmiaru. Mieszanie kolorów CMY jest przewidywalne, ponieważ znane jest z druku 2D.
Za kulisami
Posłuchajmy, co mają do powiedzenia o Prusa ColorMix ludzie, którzy pracowali nad jego stworzeniem.
Poznajcie Barborę Marsikową z zespołu Prusa Academy, która zakochała się w technologii Full Spectrum, starając się przybliżyć druk wielomateriałowy początkującym użytkownikom drukarek 3D.

Dlaczego się na to zdecydowałam
Po raz pierwszy usłyszałam o Full Spectrum od naszego eksperta ds. materiałów z działu Prusa Development. Uwierzyłam mu, gdy powiedział, że to przyszłość. Obserwowałam społeczność testującą istniejącą wersję i wykorzystywałam każdą okazję, by promować ją wewnątrz firmy. Jednak projekt naprawdę nabrał tempa, gdy zaczęliśmy drukować próbki testowe przy użyciu zestawu filamentów Easy PLA CMYK oraz Prusamentu Galaxy Black na Original Prusa XL. Bo każdy, kto to zobaczył, chciał to mieć.
Większość dostępnych systemów wielofilamentowych wykorzystuje cztery szpule równolegle, a zatem działa w trybie CMYW. Jednak mieszanie kolorów nigdy nie daje prawdziwej czerni, a raczej niebieskawo-szary odcień. W 5-głowicowej drukarce Prusa XL udało nam się bezpośrednio dodać czarny kolor i pracować z kombinacjami kolorów CMYKW. Po przetestowaniu wszystkich, zidentyfikowaliśmy około 40 sensownych kombinacji kolorystycznych.

Zgodziliśmy się też bez wahania, że chcielibyśmy mieć własny Full Spectrum do Prusa CORE One INDX. Aby wdrożyć to w ekosystem Prusa, należało zaangażować trzy kluczowe zespoły: Prusa Polymers, EasyPrint i PrusaSlicer.
Wszyscy kochają kolory
Nasz zespół z Prusa Polymers, gdzie produkowany jest Prusament, nie potrzebował namawiania. Zanim zakończyliśmy testowanie dostępnych na rynku filamentów CMYKW, pracowali już nad nowymi kolorami Prusamentu. Obecnie dopracowują ostateczne odcienie i przezroczystość zestawu Prusa CMYKW, a nawet PLA Natural Glitter, który może nadać błyszczący wygląd każdemu PLA w ofercie.

Zespół odpowiedzialny za rozwój PrusaSlicera intensywnie pracuje nad nadchodzącą wersją 3.0, a jednocześnie dopracowuje profile do CORE One z INDX, aby zapewnić jak najlepszą wydajność. Z dużą dozą ostrożności pożyczyli próbne wydruki, ale szybko zorientowali się, jaka to świetna zabawa. Z radością dołączyli więc do tej inicjatywy i już nie mogli się doczekać, by przygotować kompilację dla wersji 2.9.6.
Największy przełom nastąpił, gdy odwiedziliśmy zespół EasyPrint i Printables. Dosłownie rzucili (prawie) wszystko i od razu zaczęli zastanawiać się, jak wdrożyć funkcję cięcia CMYKW w EasyPrint i udostępnić ją jak najszybciej.

W ten sposób zespoły EasyPrint i PrusaSlicer w pełni zaangażowały się w ten projekt, a co drugi dzień w środowisku testowym pojawiały się nowe funkcje. Kiedy dotarła pierwsza partia testowa materiału Prusament CMYKW, mogliśmy porzucić wszystkie inne implementacje oprogramowania Full Spectrum i skupić się wyłącznie na środowisku Prusaverse.
Dziennik developera
Poznajcie Ondreja Bartasa, inżyniera software’u z zespołu Printables & EasyPrint oraz głównego programistę odpowiedzialnego za ColorMix.

Czego nauczyliśmy się, próbując mieszać kolory na drukarce 3D
Oto moje notatki dotyczące tworzenia modelu mieszania kolorów dla technologii FDM z przeplataniem warstw. Udostępniamy je, ponieważ chcemy pomóc społeczności we wdrożeniu drukowania w pełnej gamie barw, a nie dlatego, że udało nam się rozwiązać problem mieszania kolorów.
Dlaczego się na to zdecydowałem
Chciałbym, żeby wielokolorowe drukowanie w technologii FDM przypominało malowanie. Wyciskasz farby z tubek na paletę, bierzesz pędzel i mieszasz. Kolory dostajesz od razu.
W żadnym z dzisiejszych slicerów tak nie jest. W Orca i Bambu, jeśli chcesz uzyskać kolor inny niż podstawowy, klikasz „dodaj mieszankę kolorów”, wybierasz dwa ekstrudery do zmieszania, ustalasz proporcje i powtarzasz tę czynność dla każdego koloru. Wśród społeczności krążą gotowe pliki 3MF, które pomijają ten etap, ale są to tylko obejścia. Zasadniczo nadal obowiązuje zasada: „najpierw skonfiguruj maszynę, a dopiero potem zajmij się kolorami”.

W związku z tym wprowadzamy do PrusaSlicer i Prusa EasyPrint dwie nowe funkcje: model mieszania kolorów, który przewiduje, jaki kolor faktycznie otrzymasz po nałożeniu warstw oraz interfejs użytkownika, który nie utrudnia pracy. Wystarczy załadować filamenty, pojawi się paleta kolorów i już można malować.
Ten wpis dotyczy modelu kolorów.
Jak do tego doszło
To nie my wymyśliliśmy wielokolorową technologię FDM opartą na nakładaniu warstw. Zrobił to Ratdoux, dzięki OrcaSlicer-FullSpectrum. Wprowadził on również mikser filamentów Justina H. Rahba, model mieszania pigmentów wielomianowych, wytrenowany na Mixboxie (farby olejne) w celu przewidywania wynikowych kolorów. Bambu Studio przeszło przez iteracje liniowego sRGB, a następnie RGB z korekcją gamma i w kwietniu 2026 roku wprowadziło mikser filamentów.
Wprowadzamy teraz integrację z PrusaSlicer i EasyPrint. Mieliśmy okazję zapoznać się z dostępnymi funkcjami, wydrukować własne karty testowe i zauważyć coś, czego nikt wcześniej nie zrobił: rzeczywistą kalibrację modelu w oparciu o zmierzone wydruki FDM. Filament-mixer przewiduje zachowanie farb olejnych.

Radzi sobie dobrze z tym, na czym został wyszkolony – po prostu nie był szkolony na filamencie.
Właśnie tę lukę staramy się wypełnić: przeprowadziliśmy niezbędne pomiary i wprowadziliśmy do nich odpowiednie poprawki.
Co nie zadziałało
- Kubelka-Munk. Kanoniczny model mieszania pigmentów stosowany w naukach o kolorach. Zakłada on mieszanie pigmentów w jednym medium, ale żadna drukarka FDM dostępna na rynku tego nie robi. Bambu AMS, Prusa MMU, Prusa XL i INDX – wszystkie wymieniają filamenty po każdej warstwie. Model K-M rozwiązuje zupełnie inny problem.
- Beer-Lambert / HueForge stacking. To jest ten projekt, który prawie wprowadziliśmy. HueForge nakłada na siebie półprzezroczyste warstwy i patrzy na nie z góry. Światło przechodzi przez górną warstwę, pada na dolną i odbija się z powrotem. Wtedy to do mnie dotarło: HueForge ogląda płaskie wydruki z góry. My natomiast oglądamy obiekty 3D z boku. Warstwy sąsiadują ze sobą, a nie nakładają się na siebie w torze światła. To zupełnie inna geometria.
Co zadziałało
To jest druk półtonowy, a nie mieszanie farb. Kiedy to zrozumiałam, fizyka stała się prostsza. Wielokolorowy druk FDM widziany z boku to przestrzenne mieszanie optyczne – sąsiadujące ze sobą cienkie warstwy łączą się w oku obserwatora z odpowiedniej odległości. To ta sama zasada, co drukowanie kropek atramentu CMYK. Właściwym punktem wyjścia jest wzór Yule-Nielsen, czyli standardowe równanie półtonowe. Sam wzór Yule-Nielsen jest już w przybliżeniu dwa razy lepszy niż zwykłe liniowe uśrednianie RGB.
Proporcje (w %) wynoszą 75:25, 50:50, 25:75 oraz 33:33:33. Nie jest to arbitralne. Mieszanie warstwowe nie jest ciągłe, to są warstwy dyskretne. Mieszanka 50:50 naprzemiennie wykorzystuje po jednej z każdej. Aby uzyskać 30:70, potrzebny byłby powtarzający się blok 3:7, dziesięć warstw na „piksel” koloru, co pochłania rozdzielczość pionową i tworzy widoczne pasy. Zatem proporcje nadające się do druku to warstwy 1:1, 1:3 i 3:1, a dla trzech kolorów istnieje proporcja zrównoważona, 1:1:1. To właśnie zmierzyliśmy, ponieważ drukarka jest w stanie to faktycznie wygenerować.

Zarówno zmieniarki narzędzi, jak i MMU/AMS sprawdzają się w praktyce. Zmieniarki narzędzi (Prusa XL, CORE One+ INDX) są szybkie, ale wymagają dokładnego offsetu dysz w osiach XY. Przy ustawieniu niedokładnego offsetu kolor wydrukowanego obiektu będzie nierównomierny. MMU/AMS (Bambu X1C, Prusa MK4S+MMU) ma jedną dyszę, więc nie trzeba martwić się o przesunięcie, ale każda zmiana koloru wymaga cyklu czyszczenia. Dla naszego modelu nie ma znaczenia, jaką masz architekturę – przewiduje on, jaki kolor otrzymasz na podstawie proporcji warstw.
Stos korekcji
Po dokonaniu pomiarów wydruków, odchylenia z modelu Yule-Nielsen wykazały błędy o charakterze strukturalnym. Były to przewidywalne wzorce, a nie przypadkowe zakłócenia. Postanowiliśmy więc je wyeliminować:
- Rzeczywiste wydruki wychodzą ciemniejsze niż wynikałoby to z obliczeń, zwłaszcza w przypadku mieszania bardzo jasnego filamentu z bardzo ciemnym. Im większa różnica w jasności między składnikami, tym ciemniejszy jest rzeczywisty wydruk w porównaniu z prognozą. W związku z tym odpowiednio obniżamy wartość jasności w prognozie.
- Jasne mieszanki tracą kolor szybciej niż ciemne. Mieszanka pastelowego różu i pastelowego błękitu w proporcji 50:50 wychodzi bardziej szara niż można by się spodziewać. Dwa ciemne kolory lepiej zachowują swój odcień. Zmniejszamy nasycenie w oparciu o przewidywaną jasność.
- Odcienie cyjanu mają lekko ciepły odcień. Zaskakujące odkrycie. Prognozy w zakresie cyjanowo-niebieskim (odcienie 180-240) wskazują na kolor turkusowy, podczas gdy powinny to być odcienie cyjanu. Korygujemy je, przy czym najsilniejsze zmiany dotyczą środkowej części pasma.
- Nie należy nadmiernie korygować mieszanek składających się głównie z jednego filamentu. Mieszanka w proporcji 99/1 prawie nie wymaga korekty. Wszystkie powyższe korekty są więc skalowane według krzywej Gaussa, której szczyt przypada na mieszankę jednorodną, a wartość spada do zera w przypadku czystych składników. Czysty kolor zachowuje się dokładnie tak samo przy obliczeniach w obie strony. Gradienty pozostają łagodne. Dodatkową zaletą jest to, że rozwiązuje to również problem mieszanek trójkolorowych – wszystkie inne modele zawodzą przy trzech kolorach. Nasz model zachowuje się stabilnie.

Z każdej partii drukowane są próbki bazowe. Wybór metodologii okazał się ważniejszy, niż się spodziewaliśmy. Każda partia kart testowych zawiera pięć pojedynczych filamentów bazowych oraz ponad 20 mieszanek, a wszystkie są mierzone tym samym kolorymetrem podczas tej samej sesji. Dlaczego? Kolorymetry ulegają wahaniom, oświetlenie się zmienia, a operatorzy są różni. Jeśli urządzenie dzisiaj odczytuje z pewnym odchyleniem w kierunku cyjanu, to będzie ono również niedokładne w przypadku każdej mieszanki zawierającej cyjan w tej samej partii. Błąd systematyczny znika, gdy model dopasowuje się do relacji między bazą a mieszanką, a nie do wartości bezwzględnych. Nie potrzebujesz więc spektrofotometru za 5000 dolarów. Kolorymetr konsumencki wystarczy, o ile bazy i mieszanki są mierzone razem.

Sprawdziliśmy również, jak wygląda dodanie wartości TD (odległości transmisji) z biblioteki filamentów HueForge jako danych wejściowych do modelu. Nie przyniosło to oczekiwanych rezultatów. Postanowiliśmy więc, że model pozostanie prosty: kolory szesnastkowe i współczynniki.
Co wiemy, a czego nie wiemy
Przetestowaliśmy Prusament PLA na drukarce Prusa XL. To wszystko.
Struktura poprawek powinna sprawdzać się w przypadku różnych marek PLA, ponieważ skład chemiczny pigmentów jest podobny w całej branży. Baza Yule-Nielsen powinna sprawdzać się w przypadku każdej architektury typu „zmiana filamentu na warstwę”. Nie wiemy jednak, czy dokładne współczynniki są właściwe dla PETG, ABS lub PLA innych niż Prusa (prawdopodobnie nie są dokładnie takie same, ale zbliżone), ani jak zachowują się filamenty z efektami specjalnymi (brązowe, brokatowe, galaxy). Ich zależne od orientacji współczynniki odbicia łamią każdy model skalarny. Znajdują się one w naszym ogonie największych błędów.
Jeśli model nie sprawdza się w przypadku Twoich filamentów, to jest to problem z danymi, a nie z modelem. Potrzebujemy więcej pomiarów.

Co dalej i jak możesz pomóc
Model ColorMix, który udostępniliśmy, to dopiero pierwszy krok. Wystarczy zebrać kilkaset dodatkowych pomiarów dotyczących różnych marek i materiałów, aby stworzyć prawdziwy model percepcyjnej przestrzeni barwnej w duchu Mixbox lub Spectral.js – model, którego prognozy będą poprawne z założenia w całej przestrzeni proporcji, a nie oparte na poprawkach resztkowych. Nie jest to wcale trudne. Matematyka już istnieje. Problem leży w danych.

Repozytorium to prusa3d/prusa-fdm-mixer. Na licencji MIT. TypeScript (npm install prusa-fdm-mixer) oraz single-header port w C++17, zaprojektowany do bezpośredniej integracji z PrusaSlicer lub OrcaSlicer. Trzy aplikacje przeglądarkowe: Playground i Harness do oceny modelu oraz Gatherer do wprowadzania własnych pomiarów LAB.
Jeśli posiadasz kolorymetr i karty testowe, prześlij nam dane. Jeśli przewidujesz mieszankę, a wynik jej nie odpowiada, daj nam znać. To właśnie dzięki błędnym przewidywaniom model staje się coraz lepszy.
Zarówno OpenPrintTag, jak i model mieszania kolorów mają otwarte źródło na licencji MIT i zostały opublikowane na GitHubie.
Jeszcze jedno
Wróćmy na chwilę do tematu malowania. Mój czterolatek maluje wszystko. Ręce, ubrania, zabawki, a czasem nawet ściany. Nie ma tu żadnego menu, kreatora konfiguracji ani opcji „skonfiguruj mapowanie ekstrudera”. Jest niebieski, jest żółty, gdzieś leży porzucony pędzel, który zastąpiły palce, a zielony po prostu się pojawia.
Tak właśnie powinno wyglądać wielokolorowe drukowanie FDM. Nie w odległej przyszłości. Teraz. Sprzęt już istnieje. Slicer już istnieje. Filamenty już istnieją. Jedyną przeszkodą jest interfejs użytkownika, który traktuje kolor jako dodatek oraz model, który fałszywie przedstawia wygląd wydruku. Możemy to wszystko naprawić.

To nie wyprze drukowania użytkowego. Jednokolorowe materiały PETG, ABS, ASA i PA nadal będą spełniać swoje zadanie, ponieważ czasami chodzi o mechanikę, a nie estetykę. To prawda. Ale jeśli chodzi o gadżety antystresowe, zabawki, rekwizyty do cosplayu, figurki, upominki, ozdoby na biurko – czyli rzeczy, które ludzie drukują, bo chcą stworzyć coś fajnego – ten cały świat zbyt długo tkwił w jednokolorowym PLA. Wydrukowany smok w prawdziwych barwach smoka. Pudełko-łamigłówka z prawdziwym gradientem. Tabliczka z imieniem, która nie wygląda jak tabliczka z imieniem.
Pomóż nam to osiągnąć.
Pomalujmy coś.

Wróćmy do drukarki
To było szczegółowe omówienie procesu tworzenia Prusa ColorMix. Podsumowując, do cięcia modeli ColorMix dla dowolnej drukarki obsługującej wiele rodzajów filamentów można już korzystać zarówno z EasyPrint (wytyczne są dostępne na stronie pomocy), jak i z PrusaSlicer 2.9.6 (wydanego na GitHubie). Kolory widoczne na ekranie po przypisaniu ich do poszczególnych elementów modelu są jak najbardziej zbliżone do rzeczywistych kolorów wydruku. Obsługa narzędzi do malowania jest mniej więcej tak samo prosta jak w Windowsowym Paincie (dzieciaki lat 90-tych wiedzą o co chodzi).
Jeśli chcesz już teraz wypróbować ColorMix, przygotowaliśmy dla Ciebie kilka modeli: ColorMix Calibration Cones, do testowania możliwych kombinacji dostępnych filamentów; colorful chameleon, który wykorzystuje pięć filamentów; i dwukolorowa shaded fish.
Możesz też spróbować stworzyć własne modele z cieniowaniem bezpośrednio w przeglądarce, korzystając z apki ColorMix Shading, nad którą pracujemy.
Wkrótce pojawią się nowe kolory Prusament CMYKW, ale możesz też mieszać dowolne filamenty, które masz w domu. Jeśli chcesz już teraz poeksperymentować z mieszaniem kolorów CMY, możesz użyć Prusamentu Azure Blue, Ms. Pink oraz Pineapple Yellow. Zapraszamy do przetestowania wszelkich filamentów, które masz w domu i podzielenia się z nami wynikami.

Ostatnie pociągnięcie pędzlem
Wielu z nas w firmie Prusa przypomina nieco czteroletniego synka Ondreja. Sami czerpiemy radość z drukowania 3D, lubimy nowe funkcje i innowacje oraz poszukujemy rozwiązań do naszych własnych projektów. Dzięki temu udało nam się w mgnieniu oka przygotować ColorMix – naszą własną wersję Full Spectrum. Za tym stoi praca wielu osób z całej firmy, więc bardzo im dziękujemy za dołączenie do ruchu w momencie, gdy zobaczyli pierwszy wydruk Full Spectrum. Oczywiście nie poprzestajemy na tym, ale zajmiemy się nierozwiązanymi kwestiami, takimi jak wydajne gradienty i mieszanie warstw wierzchnich. Pracujemy również nad sposobami wykorzystania tych funkcji do tworzenia bardziej realistycznych modeli, a nie tylko tęcz.

Na koniec ogromne podziękowania dla ludzi ze społeczności, którzy zwrócili tak dużą uwagę na tę funkcję: @ratdoux, @justinh-rahb z https://github.com/justinh-rahb, a także @wombley za bibliotekę filament-mixer oraz @huntercook za pracę nad peggypalette.
Udanego malowania!



Musisz się zalogować, aby móc dodać komentarz.