W procesie drukowania 3D, bez względu na typ posiadanej drukarki, praca związana z przygotowywaniem modeli do druku wymaga zaopatrzenia się w odpowiedni zestaw programów. W przypadku technologii FDM absolutne minimum to slicer – narzędzie, które zamieni przedmiot zapisany w uniwersalnym formacie STL na plik G-code z instrukcjami zrozumiałymi dla drukarki. W zależności od tego, czy chcemy sami projektować przedmioty, modyfikować istniejące projekty czy tylko drukować gotowe modele pobrane z sieci, będą nam potrzebne do tego różne programy.
Poniżej znajduje się lista narzędzi, z których sam korzystam podczas pracy z drukarką – w kolejności od fazy projektowania do samego wydruku. W większości są to programy darmowe, zarówno do celów prywatnych jak i komercyjnych (tam gdzie tak nie jest umieściłem odpowiednią informację).
Projektowanie
Cubify Design
Program CAD do modelowania parametrycznego. W odróżnieniu od programów typu Blender, gdzie geometria może być dowolnie i bezpośrednio kształtowana, w Cubify Design i innych podobnych narzędziach model zdefiniowany jest przez zbiór postępujących po sobie operacji. Zwykle tworzenie przedmiotu zaczyna się od wykonania 2-wymiarowego szkicu, z określonym wymiarowaniem i ściśle zdefiniowanymi relacjami (ograniczeniami). Szkic ten może następnie zostać przekształcony w obiekt 3D przez wyciśnięcie (extrude), obrót (resolve) czy inne podobne operacje. Otrzymaną bryłę można dalej modyfikować przez kolejne operacje wykonywane na nowych szkicach, krawędziach, płaszczyznach oraz 3-wymiarowych fragmentach.
Oprogramowanie tego typu dobrze się sprawdza do wszelkiego rodzaju “technicznych” obiektów, gdzie geometria musi być ściśle zdefiniowana. Nie nadaje się za to dla modeli “organicznych” – nieregularnych brył, wszelkiego rodzaju figurek, skanów 3D itp,
Program jest płatny i kosztuje $199. Mniej zaawansowaną wersję (bez możliwości tworzenia zespołów elementów oraz rysunków technicznych) można kupić za $49 (przy zamawieniu przez internet doliczane jest 19% podatku). Można też pobrać 14 dniową wersję próbną.
OpenSCAD
Zastosowanie tego programu jest podobne jak w przypadku Cubify Design czy innych parametrycznych programów do modelowania obiektów 3D. Podstawową różnicą jest to, że tworzenie obiektu polega na edycji skryptu, na podstawie którego obiekt jest automatycznie generowany. Zmiany prowadzane w skrypcie mogą być na żywo pokazywane w oknie podglądu, gdzie przedmiot można dowolnie obracać.
Inną istotną różnicą jest sam zestaw operacji możliwych do wykonania – w OpenSCADzie praca opiera się głównie na tworzeniu elementarnych brył (kula, stożek, walec, prostopadłościan) i wykonywaniu pomiędzy nimi operacji wzajemnego wycinania, łączenia w całość czy tworzenia elementu z ich części wspólnej. Elementy modelu można też modyfikować przez ich obrót, skalowanie, lustrzane odbicia itp. Gdy do tego dołączyć zmienne, instrukcje warunkowe, pętle, funkcje i moduły, OpenSCAD staje się bardzo potężnym narzędziem.
Meshlab
Prawdziwy kombajn, w którym (jak nazwa wskazuje) operuje się na siatkach – zbiorach połączonych ze sobą punktów w przestrzeni. Używam go od czasu do czasu do modyfikowania pobranych z sieci modeli, które są dostępne jedynie w formacie STL. Na powyższym zrzucie ekranu do ogona kucyka z Thingiverse dodane są niewielkie okrągłe elementy, mające ułatwić jego zamocowanie na supportach.
Przygotowanie do wydruku
Slic3r
Jeden z popularniejszych programów służących do cięcia modelu STL na warstwy w celu ich późniejszego wydrukowania. W porównaniu do innych programów tego typu – Cury i KISSlicera – jest dość powolny, jednak daje dużą kontrolę nad sposobem zamiany modelu na instrukcje zrozumiałe dla drukarki.
Ogólnie świat dąży do tego, żeby cały proces przygotowania modelu oraz druku był jak najprostszy i możliwie zautomatyzowany. Często w różnych slicerach są dostępne podstawowe i zaawansowane tryby pracy, gdzie w tym pierwszym trzeba podać jedynie najważniejsze parametry z jakimi nasz wydruk ma zostać wykonany.
Trudno powiedzieć który slicer jest najlepszy – różne programy zawierają nieco inne parametry i trochę inaczej generują G-code. Osobiście najbardziej przyzwyczaiłem się do Slic3ra i wiem czego się po nim spodziewać – co robi dobrze a z czym zdarza mu się mieć kłopoty.
Konfiguracja dla drukarki Prime3D
KISSlicer
Mimo archaicznego wyglądu KISSlicer dość dobrze radzi sobie z generowaniem G-Code’u (co robi nawet kilkadziesiąt razy szybciej niż Slic3r). Posiada bardzo wygodną regulację prędkości za pomocą suwaka, z uwzględnieniem różnych prędkości druku obrysów i wypełnienia. Bardzo dobrze generuje supporty, które pochłaniają stosunkowo mało materiału, są szybkie w druku i precyzyjnie podtrzymują wystające części modelu. Niestety brakuje w nim niektórych przydatnych parametrów dostępnych w innych slicerach, a w wersji darmowej nie można w nim ciąć kilku obiektów na raz. Nie posiada funkcji bezpośredniego sterowania drukarką (jak np. Cura) i nie da się go uruchomić z poziomu Repetier Hosta. Poza tym jest bardzo wolno rozwijany i nie sądzę żeby miał szanse dogonić konkurencyjne narzędzia.
Program występuje w wersji darmowej oraz płatnej (PRO). Obydwie mogą być używane w celach komercyjnych, jednak ta druga ($42) posiada więcej opcji (m.in. cięcie wielu modeli naraz, lepsza obsługa wielu ekstruderów).
Konfiguracja dla drukarki Prime3D
Cura
Stosunkowo nowy program rozwijany przez Ultimakera. Bardzo przyjazne, wygodne i szybkie narzędzie, dobre do polecenia nowym użytkownikom. Z początku brakowało mi w nim niektórych opcji dostępnych w Slic3rze – jednak program jest intensywnie rozwijany i obecnie wydaje się, że ma największe możliwości ze wszystkich slicerów z jakich miałem okazję korzystać. Zawiera ciekawy moduł do wtyczek, bardzo mocno rozszerzających możliwości generowania G-code’u. Posiada opcje sterowania drukarką po USB (łącznie z przesyłaniem modelu do druku), Sam silnik Cury można też uruchomić spod Repetier Hosta, który dość ładnie integruje się z tym narzędziem.
Repetier Host
Podstawowe narzędzie do sterowania drukarką z poziomu komputera – podobnie jak Printrun (Pronterface) czy MatterControl. Pozwala na załadowanie obiektów z plików STL, dobranie ustawień slicera, uruchomienie cięcia na warstwy, przesłanie G-code’u do drukarki i uruchomienie wydruku. Zawiera zestaw kontrolek umożliwiających poruszanie silnikami w drukarce, kontrolę temperatury dyszy i stołu oraz innych parametrów (również w trakcie drukowania). W zależności od wsparcia firmware’u drukarki pozwala na zarządzanie zawartością karty SD. Integruje się z Slic3rem, Curą i Skeinforgem. Zawiera bardzo wygodną wizualizację G-code’u wygenerowanego przez slicer, potrafi też na bieżąco wyświetlać aktualnie drukowane fragmenty.
Firmware
Arduino IDE
Środowisko programistyczne dla platformy Arduino – układu elektronicznego z mikrokontrolerem, zaprojektowanego do szybkiego tworzenia własnych urządzeń elektronicznych. Bardzo popularne i przyjazne narzędzie do nauki elektroniki i programowania systemów wbudowanych. Większość niskobudżetowych drukarek posiada elektronikę opartą o Arduino (lub nawet wykorzystuje fizycznie układ Arduino), dlatego w wielu wypadkach to środowisko bardzo dobrze się sprawdza do aktualizacji firmware’u w drukarce. Proces jest banalnie prosty – po zainstalowaniu Arduino IDE wystarczy załadować odpowiedni firmware i jednym kliknięciem można go wgrać do podłączonej po USB drukarki.
Jednak ze względu na bardzo ubogą funkcjonalność pisanie programów w Arduino IDE przy większej ilości kodu jest dość karkołomne. Do pracy nad większymi projektami warto się wyposażyć w bardziej zaawansowane środowisko programistyczne – np. Eclipse’a, którego można skonfigurować tak aby w równie prosty sposób budował i wgrywał tworzony firmware do mikrokontolera.
Marlin
Oprogramowanie wbudowane (firmware) do drukarek 3D odpowiedzialne jest za sterowanie silnikami, grzałkami oraz innymi układami na podstawie poleceń G-code’u przesłanymi po USB lub wgranymi na kartę SD. Marlin jest jednym z bardziej popularnych, open-sourcowych programów tego typu. Wspiera różnego rodzaju elektroniki oraz kontrolery LCD i może obsługiwać wiele układów ruchu (m. in. deltę). Obsługuje wiele ekstruderów, automatyczną kalibrację stołu, przechowywanie ustawień w pamięci stałej. Źródła dostępne są na GitHubie.