• en
  • de
2020-04-12

Programowanie w 3D - jakie cechy powinien posiadać programista?

Do tej pory pisaliśmy głównie o technologiach 3D w kontekście podziału na kategorie, szczegółów działania, dostępności oraz korzyściach płynących z ich wykorzystywania w poszczególnych branżach. Dziś potraktujemy temat bardziej “od kuchni”, opisując branżę 3D od strony jej technicznej realizacji i rozwoju. Zmierzymy się z dwoma istotnymi zagadnieniami, jakimi są tworzenie oprogramowania do drukarek i skanerów 3D oraz użytkowanie drukarek 3D.

Programowanie drukarek 3D

Pod nazwą “programowania drukarek 3D” najczęściej rozumie się programowanie ich pracy, a więc sterowanie. W większości obecnie produkowanych drukarek 3D odbywa się ono za pośrednictwem Gcode’ów. Gcode to język programowania złożony z zestawów komend stworzony na potrzeby druku 3D. Komendy w pełni definiują przebieg procesu drukowania, określając parametry takie jak temperatura i położenie głowicy lub/i stolika, prędkość ich przemieszczania się oraz wiele innych.
W większości przypadków do obsługi drukarki wystarczą Gcode’y generowane automatycznie na podstawie wejściowego modelu 3D. Znajomość komend języka Gcode nie jest więc umiejętnością konieczną do skutecznego posługiwania się drukarką 3D. Z drugiej strony jednak w przypadku profesjonalnych operatorów drukarek 3D możliwość ręcznej modyfikacji zakodowanych instrukcji może okazać się niezbędna przy diagnozowaniu błędów druku i w innych nietypowych sytuacjach. Jest to więc cenna umiejętność na rynku pracy, który z pewnością będzie oferował coraz więcej ofert powiązanych z obsługą i programowaniem drukarek 3D.

Jakie kwalifikacje powinien posiadać programista od oprogramowania 3D?

Tworzenie oprogramowania do skanerów 3D w większości przypadków wymaga bardzo specyficznych umiejętności, które zależą od metody działania i przeznaczenia skanera. Niezbędna jest oczywiście znajomość języka programowania, w którym pisane jest dane oprogramowanie. Ze względu na dostępność bibliotek i szybkość działania często jest to C lub C++. Poszczególne funkcjonalności skanera zazwyczaj powiązane są między innymi z obliczeniami numerycznymi, obsługą urządzeń peryferyjnych i przetwarzaniem obrazów. Od strony teoretycznej najczęściej wymagane są również znajomość matematyki (głównie algebra liniowa i geometria analityczna) oraz fizyki (głównie optyki) przynajmniej na poziomie akademickim. Przydatna bywa także wiedza z zakresu przetwarzania sygnału. Jeżeli chodzi o wiedzę praktyczną, poza trudnym do zdobycia branżowym know-how ważna jest wiedza o projektorach, kamerach, lampach, obiektywach, filtrach i innych komponentów używanych w skanerach 3D.
Przy tworzeniu oprogramowania do drukarek 3D szczególny nacisk kładziony jest na zagadnienia powiązane z elektroniką i sterowaniem urządzeń. W tym przypadku również bardzo przydatne są umiejętności matematyczne. Niezbędna jest także znajomość wspomnianego wcześniej Gcode. Wiedza praktyczna dotyczy głównie płyt sterujących, termometrów elektronicznych, silników i pozostałych elementów występujących w drukarkach 3D.
Programowanie drukarek i skanerów 3D posiada wiele cech wspólnych, jak zdolności matematyczne czy wyobraźnia przestrzenna, warto jednak zwrócić uwagę na pewne różnice. Skaner 3D w porównaniu do drukarki 3D jest zazwyczaj bardziej skomplikowany od strony oprogramowania, a nacisk kładziony jest na przetwarzanie sygnału (najczęściej graficznego) i wydajne przeprowadzanie obliczeń. W przypadku oprogramowania drukarki 3D modele matematyczne są mniej rozbudowane, a najważniejszym elementem są podprogramy sterujące poszczególnymi urządzeniami, a więc zagadnienia powiązane z elektroniką i mechatroniką.