Projekt zajął II miejsce w konkursie w dziale Druk 3D Parametryczny projekt osłony przeciwsłonecznej

Parametryczny projekt osłony przeciwsłonecznej

Zdecydowana większość projektów przygotowywana do druku 3D jest tworzona raz- pod konkretne zastosowanie. Nie posiadając oryginalnego pliku oraz programu w którym projekt został stworzony, nie uda nam się w łatwy sposób przerobić obiektu w przypadku zmiany założeń początkowych. Gdy mamy więc projekt który będzie się różnił dla praktycznie każdego użytkownika, to najprościej jest to rozwiązać poprzez  projektowanie parametryczne.

1. Pomysł

Projektowanie parametryczne, czyli pokrótce uzależnienie (powiązanie) wartości z których zbudowanie jest projekt ze zmiennymi (parametrami), pozwalające na zmianę jednej lub wielu z wartości i spowodowanie, że projekt sam się do tych zmian zastosuje, niepowodując dziur czy innych artefaktów. Ten sposób projektowanie jest z powodzeniem wykorzystywany w programach graficznych (m.in SolidWorks czy AutoCAD) i gdy mamy dostęp do oryginalnego pliku możemy go łatwo i szybko edytować.

Problem pojawia się, gdy chcemy udostępnić swój projekt szerszemu gronie odbiorców – różne osoby używają różnych programów graficznych, więc jesteśmy ograniczeni tutaj nie tylko dostępnością do oprogramowania, ale i także umiejętnością jego obsługi (np. DesignSpark Mechanical jest darmowy, ale nie wszyscy potrafią go obsłużyć, w tym ja).  Z takim problem spotkałem się planując projekt osłony przeciwsłonecznej do mojego tabletu, którego używam jako nawigacji samochodowej. Była bardzo nikła szansa, że ktoś jeszcze używa tego modelu do w tym celu razem z tym samym uchwytem.  Ilość możliwych konfiguracji ze względu na różne modele telefonów/tabletów/nawigacji jest naprawdę ogromna.

 

Przypomniałem sobie wtedy, że na Thingiverse są dostępne projekty, które można z poziomu strony modyfikować i generować STLki potrzebne do wydruku. Tylko jak przygotować taki projekt?  Właśnie za pomocą projektu opartego na parametrach. Niestety, nie możemy użyć do tego jakiegoś kombajnu do grafiki 3d, podejście musi być bardziej hardcorowe- ale tylko na pierwszy rzut oka. Do stworzenia projektu musimy użyć darmowego programu OpenSCAD. Jest to program, gdzie obiekty tworzymy pisząc kod, a nie klikając myszką, jest mu raczej bliżej do programowania niż do typowej grafiki 3D. Jako ciekawostkę dodam, że sam program jest niewielki (zaledwie 30MB), a mój projekt zajmował zaledwie 9kB! Pogram po dopaleniu niektórych będzie straszył pustką, innym może się podobać ten ascetyzm.

Programu nawet nie trzeba nawet instalować – gwarantuję, że odpali nawet na starych komputerach :) To nie będzie poradnik jak projektować w OpenSCAD, bo świetny i prosty tutorial możemy znaleźć na youtube: https://www.youtube.com/watch?v=eq5ObNeiAUw Trzy filmy i dwadzieścia minut później wiemy już na tyle dużo, żeby stworzyć coś własnego. Sam program ściągniemy ze strony http://www.openscad.org/ Przydatna będzie też ściąga ze strony programu http://www.openscad.org/cheatsheet/index.html opisująca funkcje i ich wykorzystanie.

Tak jak wspomniałem wyżej, nie będę opisywał tutaj jak powstają konkretne obiekty w programie, ale pokaże na co zwrócić uwagę przy tworzeniu projektu dla jego wykorzystania na Thingiverse, czy po prostu do udostępnienia go innym, tak by nie musieli zagłębiać się w kod programu.

2. Projektowanie

Co do założeń samego projektu, to starałem się stworzyć projekt jak najbardziej uniwersalny, niezależny od modelu urządzenia które używamy do nawigacji oraz sposobu jego przymocowania. Pooglądałem urządzenia dostępne w moim domu i wyciągnąłem wnioski dotyczące potrzeb skalowania poszczególnych elementów osłony.

Ja na samym początku stworzyłem wstępny projekt, praktycznie bez zmiennych, głównie w celu sprawdzenia czy w ogóle dam radę coś zaprojektować. Starałem się tylko dzielić kod na odpowiednio dużo modułów, co znacząco wpływa na jego czytelność i ułatwiło mi późniejsze wprowadzanie zmian. Tutaj ważna uwaga na sam początek – polecam pracować na dodatnich osiach układu współrzędnych. W moim projekcie wartości na osi X mogą przyjmować wartości ujemne – jest to problem przy wrzuceniu projektu na Thingiverse, a to dlatego, że w ich edytorze można podawać tylko wartości dodatnie (i zero). Nie jest to może duży problem, bo później możemy dopisać parę linijek kodu (ja tak zrobiłem) i wszystko będzie działać, ale to zawsze zaciemnia kod.

Niestety, edytor kodu na Majsterkowie nie posiada wyboru składni OpenSCAD, więc analizę kodu polecam zdecydowanie przeprowadzać w samym programie. Teraz aby to wszystko zadziałało na zasadzie wprowadzania wartości do zmiennych, musimy takie zmienne stworzyć. Tutaj trzeba się zastanowić, na jak wiele chcemy pozwolić w przyszłej edycji- trzeba tutaj pamiętać, że im więcej udostępnimy do edycji, tym łatwiej będzie można projekt “zepsuć”, a tym samym będziemy musieli stworzyć wiele instrukcji warunkowych. Oczywiście zmienne najlepiej wprowadzać już na samym początku pisania kodu, choć zrobienie tego trochę później w niczym nie przeszkadza. Sam projekt też cały czas ewoluował, więc różni się lekko od tego co pokazałem wyżej.

Tak przygotowany obiekt jest już łatwy w edycji bez wnikania w sam kod. Pora przyjrzeć się jak to dokładnie wygląda na Thingiverse- najlepiej wejść na tę stronę https://customizer.makerbot.com/docs i pobawić się kodem na końcu strony. Najważniejsze to zauważenie, że nazwa zmiennej będzie zostanie wyświetlona pogrubiona, komentarz nad zmienną będzie jej opisem, a w komentarz obok ustalamy zakres w jakim będzie można edytować obiekt. Co ważne, wszystko co znajdzie się w edytorze ustalamy w kodzie w OpenSCAD, różnica we wrzuceniu pliku .scad od zwykłej stlki polega na zafajkowaniu jednej opcji, nic więcej. Sam przerobiłem kod by lepiej wyglądał w edytorze Thingiverse i teraz prezentuje się następująco:

 

Kod nie jest idealny, powinienem tam wstawić jeszcze parę if-ów, ale jest jak najbardziej funkcjonalny. Plik możemy wrzucać na Thingiverse, tak jak wspomniałem wyżej, musimy pamiętać o zaznaczeniu opcji This is a Customizer

Wtedy przy naszym projekcie w menu po prawej stronie pojawi się opcja Open in Customizer po kliknięciu w którą będziemy mogli zobaczyć czy nasz kod działa tak, jak planowaliśmy

 

Sam jeszcze na tym etapie wyłapywałem błędy w kodzie – pewnie się jeszcze jakieś znajdą, ale nie są one już krytyczne (mam przynajmniej taką nadzieję). W modelu można zmieniać wiele parametrów, najważniejsze to oczywiście dostosowanie do wielkości naszego urządzenia oraz ustalenie wielkości otworów na każdej ściance – przyjąłem, że po dwa otwory na każdą stronę powinny wystarczyć. Dodatkowo, można zmienić grubość ścianki oraz wysokość “chwytów” – nawet pod bezbramkowca jesteśmy w stanie dostosować tę osłonę. Poniżej grafika, w jaki sposób powinniśmy mierzyć nasze urządzenie by wprowadzić prawidłowe dane:

3. Druk

Po ustawieniu odpowiednich parametrów klikamy Create Thing i ściągamy STLke- oczywiście w OpenSCAD też możemy ją wygenerować. Ja wprowadzając dane dla swojego tabletu musiałem pamiętać, że głośniki ma z przodu (potrzebowałem wycięcia dla nich) oraz zachować dostęp do gniazd- audio i USB oraz do przycisków fizycznych. Grubość ścianek ustawiłem na 2mm

Tablet pasuje idalnie

Nie ma też problemu z dostępem do przycisków czy montażu uchwytu:

Przyszedł czas na test w samochodzie

Zrobiłem też zdjęcia z trochę większej odległości, żeby pokazać, że osłona nie zmniejsza znacząco pola widzenia (wiem, że ten tablet wygląda jakby zabierał znaczną cześć pola widzenia, ale spokojnie, nie przeszkadza mi on w prowadzeniu samochodu)

Powyższe zdjęcia powinienem zrobić z miejsca pasażera z tyłu, ale nie chciało mi się przesiadać, wiec musicie uwierzyć na słowo, że w rzeczywistości wygląda to lepiej.

Projektem można się “pobawić” na stronie Thingiverse: https://www.thingiverse.com/thing:2558519 sam plik również załączam tutaj, chociaż można z powodzeniem skopiować kod do OpenSCAD i również będzie działało.

Zachęcam do tworzenia modeli parametrycznych- dzięki temu więcej osób skorzysta z nasze pracy, zwłaszcza gdy nie potrafią jeszcze sami projektować.

 

Pliki załączone do artykułu:

Ocena: 4.86/5 (głosów: 14)

Podobne posty

Jeden komentarz

Odpowiedz

anuluj

Masz uwagi?