Druk 3D w świecie AmigaOS
Druk 3D zyskuje na popularności. Implementacja tej technologii ma miejsce nie tylko w zastosowaniach profesjonalnych, lecz również jako rozwiązanie dla domowych hobbistów. Przyczyną tego trendu jest znaczny spadek cen drukarek oraz szeroko dostępne proste i darmowe oprogramowanie do projektowania modeli.
Pojęcie druku 3D jest na ogół mocno spłaszczane. Medialnie jest traktowane ogólnikowo. Oczywiście również i my, ledwie muśniemy temat technologii drukowania przestrzennego. Jednak – by mieć choć podstawową jasność – drukować można obiekty metalowe i plastikowe. Dla domowego odbiorcy drukowanie 3D zamyka się praktycznie tylko w obszarze termoplastów i technice FDM (w pełni poprawna nazwa to FFF). Fused deposition modeling lub Fused filament fabrication to metoda najbardziej popularna, najprostsza i właściwie najtańsza. Oczywiście niniejszy tekst nie jest miejscem na zagłębianie się w szczegóły techniczne. Jeśli interesuje was poszerzenie wiedzy najlepiej skierować swe kroki do angielskojęzycznej Wikipedii: en.wikipedia.org/wiki/Fused_filament_fabrication
Technik druku 3D istnieje bardzo wiele. Niektóre nadają się lepiej do pewnych zadań, inne gorzej. Bez wątpienia dla naszego przypadku, czyli obudowy dla komputera Raspberry Pi dobrze by było skorzystać z np. technologii MJP (MultiJet Printing). Zdecydowanie jakość powierzchni wydruku jest wyższa niż oferowana przez FFF.
Dla domowych potrzeb FDM jest technologią najbardziej osiągalną, mimo – nazwijmy to – „schodkowej struktury wydruku”. Powodem tego jest sama istota działania drukarki FDM. Nakłada ona materiał w postaci warstw – jedną po drugiej. Co więcej, gdy drukujemy obiekt np. z dużym skosem lub promieniem, efekt schodków zostaje uwypuklony. Oczywiście dysponując dobrą drukarką FDM, o – powiedzmy – „wyższej rozdzielczości”, czyli dużej dokładności (warstwy), niepożądane efekty można znacząco zminimalizować. Co więcej, umiejętnie projektując detal, jesteśmy w stanie uzyskać jeszcze lepsze efekty. Istnieją też techniki wygładzenia modelu. Wydruk również można odpowiednio obrobić lub pomalować. W przypadku większych obiektów możemy je wydrukować w mniejszych fragmentach, a następnie skleić przysłowiową „kropelką”.
Skoro wspominamy o projektowaniu, w przypadku AmigaOS (oraz MorphOS) jesteśmy skazani na program do grafiki 3D – Blender. Niestety programy z czasów świetności Amigi, czy to CAD (Computer-aided design) czy nawet te do grafiki 3D nie oferują zapisu we współczesnych formatach danych np. IGES. Nie jest też oferowana najważniejsza rzecz dla druku 3D, czyli eksport pliku do STL (stereolithography). Druk 3D opiera się na dwóch najważniejszych dla jego istnienia plikach. Wspomniany STL, który reprezentuje dane geometryczne (w postaci siatki trójkątów) oraz G-code. Ten drugi to język programowania maszyn numerycznych (CNC). Wykorzystywany jest też przez drukarki 3D. Mocno upraszczając: G-code to matematyczny zapis pozycji głowicy drukującej.
Jak już ustaliliśmy, nawet tak leciwy Blender (wersja dla AmigaOS nosi numer 2.48) potrafi zapisać plik STL oraz, co równie istotne potrafi go wczytać. Dzięki temu otwierają się przed nami możliwości pobrania gotowych modeli z jednej z najpopularniejszych strony tego typu – www.thingiverse.com. Blender umożliwi ich otwarcie, obejrzenie, ale też modyfikację i zapis do STL.
Trzeba mieć świadomość, że do projektowania modeli 3D dla druku istnieje masa lepszego, w pełni darmowego oprogramowania. Niestety dostępne jest ono tylko na przodujące systemy operacyjne. Dzięki Blenderowi jesteśmy w stanie zaprojektować oraz wyeksportować model do pliku STL pod kontrolą AmigaOS 4.1.
Niestety nie uda się nam wygenerować pliku G-code (z pliku STL). Co prawda, istnieje narzędzie Skeinforge, które teoretycznie jest odpowiednikiem slicerów (slicer – program do „cięcia” modelu 3D) z innych systemów operacyjnych. Jednak jest to mocno teoretyczne, z kilku powodów. Po pierwsze: wspomniany slicer musi działać w trybie graficznym (a nie tekstowym), gdyż musimy widzieć, jak dany model zostanie „pocięty” na warstwy. Dlaczego? Chcemy wiedzieć, czy proces „cięcia” dał poprawny efekt, czy trzeba zastosować podpory (o tym później) oraz ile czasu i materiału potrzebujemy na wydruk. Po drugie: slicer musi być skonfigurowany pod posiadaną drukarkę. Skeinforge nawet w wersji na popularne systemy operacyjne nie był narzędziem oferującym tego typu „wodotryski”. Tak więc nawet jeśli manualnie (jakimś cudem) skonfigurowalibyśmy Skeinforge, nie jesteśmy na nim w stanie wygenerować nic bardziej skomplikowanego od płaskiego kształtu. Trzeba się pogodzić z faktem, że o ile na AmigaOS jesteśmy w stanie wykonać projekt 3D (oraz wygenerować plik STL), o tyle przygotowanie modelu do wydruku musi się odbyć na przysłowiowym pececie.
Idea komputera za 50 Euro spodobała się wielu osobom. Raspberry Pi zyskało ogromną popularność wśród geeków. Na rynku dostępna jest już czwarta iteracja Pi. Po raz pierwszy umożliwia ona wybór ilości pamięci RAM (do 4 GB) oraz ma obsługę dwóch monitorów. Amigowcy bardzo często wykorzystują Pi jako platformę do emulacji AmigaOS 3.x. Niestety standardowo zakupiony sprzęt nie ma obudowy (należy wyposażyć się w nią we własnym zakresie). Czemu więc nie wydrukować swojej?
Na czas pisania tego artykułu najlepiej nadającym się komputerem Pi do emulacji Amigi jest Model 3, na którym to doskonale pracuje Amibian. Siłą rzeczy niniejszy tekst skupi się więc na trzeciej generacji „maliny”. Jeśli też nie mamy zdolności do modelowania 3D, możemy wykorzystać gotowy model dostępny na wspomnianej wcześniej stronie i oczywiście go wydrukować. My jednak zaprzęgniemy Blendera do edycji plików STL. Wykorzystamy też amigowy, stary dobry Pixel Pro 2 do wygenerowania napisu AMIGA w klimacie czcionki Topaz.
Pracę rozpoczynamy od wizyty na stronie www.thingiverse.com. Z dostępnych przeglądarek www, jedynie Odyssey radzi sobie z jej obsługą (choć i tak jest dość niewygodnie). Jesteśmy w stanie skorzystać z pola wyszukiwania i wpisując frazę „Cover for Rasperry Pi 3” dostaniemy listę interesujących nas wyników. Generalizując, można powiedzieć, że praktycznie dowolna drukarka 3D (FDM) jest w stanie wydrukować właściwie każdy (wyszukany) model z powyższej strony. Jest jednak jedno „ale”: dysponując drukarkami „domowymi”, które to nie oferują dwóch głowic, warto jest wziąć pod rozwagę modele niewymagające podpór podczas druku. Właśnie, o co w tym chodzi?
Drukarka 3D, pracująca w technologii FDM, jak już wiemy, buduje model warstwa po warstwie. Cała operacja odbywa się na tzw. stole. Na nim głowica drukująca kładzie pierwszą warstwę. Na tej pierwszej warstwie budowa jest druga, trzecia oraz kolejne. Oczywiste jest to, że są takie modele (lub przedmioty), które powiedzmy pomiędzy warstwami, mają puste przestrzenie. Ujmując inaczej, pomiędzy geometrią a stołem jest powietrze. Aby sobie to wyobrazić weźmy pod uwagę literkę P. Nóżka literki znajduje się na stole, ale „wybrzuszenie” jest w stosunku do stołu jakby w powietrzu. Z racji, że żyjemy w świecie opartym na ciążeniu grawitacyjnym, podczas drukowania, ten „brzuszek” tworzony byłby w powietrzu. Czyli dosłownie spadłby na stół. Aby tego uniknąć programy typu slicer tworzą podpory. Nazwijmy je „kolumnami”, które w przypadku wspomnianej litery P, podtrzymają „brzuszek” by ten, nie osunął się pod wpływem siły grawitacji. Drukarka pracuje w wysokich temperaturach, gdyż topi wsadowy materiał – termoplast (najczęściej w domowych zastosowaniach jest to tworzywo PLA). Gdy warstwy zastygną, oczywiście temat „opadającego brzuszka” nie istnieje.
Użycie podpór podczas druku generuje problem nie tyle ich usunięcia ile pozostawionej po nich powierzchni o dość słabej jakości. Jak wspomnieliśmy, technologia FDM generuje „schodki”, ale miejsca po podporach są szczególnie mało atrakcyjne wizualnie. Czasami nie ma wyjścia i podpory zastosować trzeba. Niekiedy podpory bywają trudne do usunięcia (szczególnie w małych lub ciężko dostępnych przestrzeniach). Droższe drukarki rozwiązują tą kwestię, używając drugiej głowicy i materiału podporowego, który np. rozpuszcza się w wodzie. My natomiast dobierzemy tak model, aby nie wymagał on podpór. W pewnym sensie jest to zależne od możliwości technicznych, jakie oferuje drukarka. Jednak ogólnie przyjętą zasadą jest to, że ścianki pochylone mniej niż 45 stopni nie wymagają podpór. Materiał zdąży zastygnąć do czasu nałożenia kolejnej warstwy. Dodatkowo również otwory (na ogół) nie wymagają podpór. Ewentualnie małe przestrzenie powinny też dać radę wydrukować się bez podpory. Twórcy modeli, które dostępne są na serwisie Thingiverse, (na ogół) zaznaczają w opisie czy podpory są wymagane, czy też nie.
Kolejnym kryterium wyboru obudowy była jej „jedno-częściowość”. Idea jest prosta: jeden model, jeden wydruk, obudowa niewymagająca montażu (lub też zewnętrznych mocowań typu śrubki czy klej).
Zdecydowano się na dodanie napisu AMIGA, by zindywidualizować obudowę. Co ważne, wybór czcionki Topaz nie tylko był podyktowany aspektem klimatu retro, ale też jej specyficzny „pikselowy” wygląd również nie wymagał zastosowania podpór podczas druku. Oczywiście, jeśli napis byłby bardziej wypukły (głębokość 0.8 mm), podpory mogłyby być wymagane.
Stworzenie tekstu możliwe było dzięki Pixel Pro 2, który potrafi tworzyć kształty geometryczne na podstawie amigowych czcionek (typu *.font). Opcją używaną do tworzenia napisu jest Text z zakładki Modify. Program umożliwia wyeksportowanie pliku do formatu DXF, który to bez problemu importuje Blender (oraz praktycznie dowolne oprogramowanie 3D w obecnych czasach). Zapisu dokonuje się przez przycisk Save, który wywołuje okno z opcjami. Z rozwijanego menu Save Format wybiera się żądany format, tutaj DXF AutoCAD.
Jak wspomniano na początku, Blender umożliwia import plików STL. Dzięki temu możemy obejrzeć dany model, a w naszym przypadku nawet go zmodyfikować. Przed użyciem funkcji Import (zakładka File) najlepiej jest usunąć ze sceny standardowy sześcian. Oczywiście, aby zaimportować plik STL (z katalogu files), należy rozpakować ściągnięte archiwum. Każdy „zip” z Thingiverse zawiera poza samym modelem, opis modelu (np. czy wymagane są podpory), licencję oraz obrazki prezentujące wydruk.
Po wczytaniu naszego pliku można go obejrzeć i przyzwyczaić się do interfejsu programu. Blender, szczególnie w wersjach starszych (czyli tych „amigowych”) nie należy do programów intuicyjnych. Poruszanie po programie opiera się o: środkowy klawisz myszki to obrót w przestrzeni, rolka zbliżenie i oddalenie, lewy klawisz ustawienie pozycji kursora Blendera oraz prawy klawisz służący do wyboru obiektów.
W każdym razie, gdy już mamy zaimportowany plik STL, należy doczytać do niego plik DXF. Zaimportowany DXF (w przestrzeni 3D) znajduje się na dole pliku STL.
Przechodząc w tryb edycji – Edit Mode z menu Mode (lub klawisz TAB) można zaznaczyć wszystkie punkty (lub np. ścianki) przy pomocy klawisza a. Gdy zostaną one wybrane, można użyć funkcji Extrude Region (klawisz e) i wytłoczyć napis na mniej więcej głębokość jednego kwadratu siatki (widoku). Pomocne w tym może być użycie klawisza Ctrl, który aktywuje dociąganie do siatki. Przechodząc w tryb Object Mode (ponowne naciśnięcie klawisza TAB), można przesunąć wytłoczony obiekt w żądane miejsce, za pomocą funkcji Move (klawisz g). Wygodną opcją jest przesuwanie zaznaczonego obiektu poprzez kolorowe strzałki. Wybierając jedną strzałkę, przesuwamy obiekt tylko w wybraną stronę. Bywa to pomocne przy chęci zmiany położenia w określonym kierunku.
Gdy jesteśmy usatysfakcjonowani uzyskanym efektem, pozostaje wybrać opcję Save As z menu File i zapisać projekt w formacie *.blend (czyli format programu Blender). Dzięki temu w przyszłości będzie możliwość modyfikacji modelu.
Przed finalnym eksportem do formatu STL, należy połączyć dwa niezależne obiekty. Obecnie projekt zawiera w sobie model obudowy oraz napis AMIGA. Wygenerowanie jednego modelu w pliku STL, jest możliwe przez zaznaczenie obu obiektów oraz użyć opcji Join Objects (Ctrl J). Kolejnym krokiem jest wybranie opcji Export z menu File i zapisanie pliku STL.
Gotowy model przenosimy na już wspomnianego peceta
Na nim też, zależnie od modelu drukarki musimy mieć zainstalowany odpowiedni program tnący. Jednym z bardziej popularnych i jednocześnie darmowych jest (Ultimaker) Cura.
Plik STL należy zaimportować do slicera. Tu ewentualnie zmieniamy orientację modelu, tak by móc wydrukować go bez podpór. Na ogół pliki STL są zorientowane w przestrzeni w odpowiedni sposób. Niestety w naszym przypadku tak nie jest. Bazując na wcześniejszych założeniach i naszej wiedzy (np. możliwość drukowania bez podpór do kąta 45 stopni) ustawiamy odpowiedni model na stole drukarki. Warto jest też zaznaczyć opcję, która da dodatkową „przyczepność” do podłoża (Adhesion). Zdarza się, że podczas druku model potrafi się odkleić od powierzchni stołu. Tak więc te pierwsze warstwy są istotne dla udanego wydruku.
Zależnie od żądanej jakości i czasu wybieramy stopień dokładności wydruku (wysokość warstwy). Tutaj 0.175 mm daje około 3.5 godziny samego drukowania. Na czas wydruku ma też wpływ stopień wypełnienia modelu. Co to jest? Druk FDM można przedstawić jako tworzenie obrysu obiektu, a następnie jego wypełnienie. Tzw. Infill może przybrać wartość 100% (daje to „pełną bryłę”) lub w określony procent. Przyjmuje się, że wartości na poziomie 20-30% są wystarczająco satysfakcjonujące. Oczywiście to wszystko zależy od stopnia wytrzymałości, jaki chcemy uzyskać, a czasu wydruku.
Po dobraniu parametrów tworzymy podglądu wydruku (Preview). Tu możemy zobaczyć wirtualny proces kładzenia warstwy po warstwie. Dzięki temu można ocenić czy dobrane parametry, orientacja modelu mają szanse dać zamierzony efekt. Jeśli tak – zapisujemy plik G-code na dysku komputera lub zewnętrznym nośniku. Proste domowe drukarki nie zawsze wspierają transfer plików po sieci. Gotowy G-code przenosi się więc np. na karcie SD do drukarki i bezpośrednio z niej uruchamia się druk. Teraz już tylko pozostaje poczekać na wydruk. Warto też dać mu czas na wychłodzenie się, by łatwiej oderwać go od stołu.
Niebywałą szkodą jest brak programu do generacji plików G-code dla drukarek 3D. Byłoby to świetne uzupełnienie amigowego hobby, szczególnie że całkiem porządne domowe drukarki 3D można kupić już poniżej 1000 zł. Oczywiście Blender nie jest idealnym programem do projektowania mechanicznego. Jednak obecnie jest jedynym sensownym narzędziem do tego celu dla AmigaOS. Blender to program potężny i dostępny za darmo dla każdego zainteresowanego człowieka. Podobnie jest ze Slic3r, który jest właśnie tym brakującym ogniwem dla naszego komputera. Slic3r to jedne z popularniejszych programów do cięcia modeli dla druku 3D. Gdyby istniały porty niektórych aplikacji o otwartych źródłach, zdecydowanie zwiększona zostałaby użyteczność AmigaOS we współczesnych zastosowaniach.
Druk 3D potrafi sprawić wiele radości. Również w domu (nawet nie wspominając o naszym hobby) zawsze może się przydać dodrukowanie jakiegoś brakującego elementu. Obecnie, choć częściowo możemy do tego celu wykorzystać naszą Amigę.
’radzik’ – Amiga NG (9) 1/2020