Dobrze znany, neutralny format plików STL (Standard Tessellation Language lub StereoLithography) jest historycznie pierwszym formatem CAD 3D dedykowanym technologiom przyrostowym. Jego prezentacja miała miejsce jednocześnie z powstaniem pierwszej, przyrostowej metody wytwarzania, czyli stereolitografii (oznaczenie SL lub SLA). Zaletą formatu STL jest przede wszystkim możliwość odwzorowania przy jego pomocy nawet najbardziej skomplikowanych geometrycznie modeli trójwymiarowych, przy bezproblemowym podziale na warstwy z wykorzystaniem prostych algorytmów komputerowych. Ponadto warto wspomnieć iż format STL nie został zastrzeżony przez twórców – firmę 3D Systems, co pozwoliło wykorzystywać go przez pozostałych producentów urządzeń do wytwarzania przyrostowego. Warto wspomnieć, iż aktualnie praktycznie wszystkie (jeżeli nie dosłownie wszystkie) systemy CAD posiadają opcję eksportu właśnie do STL’a w bardzo szybki i prosty sposób.
Ograniczenia związane z formatem STL
Niestety, począwszy od swojej premiery, jego funkcjonalność oraz sposób przechowywania danych pozostały niezmienione. Przede wszystkim format STL ogranicza nam opis modelu jedynie do jego geometrii, nie znajdziemy w nim informacji nt. autorstwa, praw autorskich, koloru, tekstury, rodzaju materiału czy układu współrzędnych. Brakuje również sposobów zabezpieczania pliku jak i skutecznego sposoby weryfikacji poprawności eksportu geometrii podczas jej konwersji. Dodatkowo, największą wadą formatu STL, jest jego największa zaleta, czyli sposób reprezentacja geometrii w postaci siatki trójkątów. Trójkąty powodują, iż zwiększenie dokładności odwzorowania oryginalnej geometrii CAD, wiąże się z ogromnym wzrostem rozmiaru wygenerowanego pliku. Nie trudno jest spotkać modele o wadze nawet setek megabajtów.
Czytając powyższe wady i ograniczenia może nasuwać się wniosek, iż format STL nie nadąża za rozwojem jaki obserwujemy w technologiach przyrostowych. Pomimo tego, to właśnie ten rodzaj pliku jest wciąż najbardziej popularnym i najczęściej wykorzystywanym plikiem do druku 3D. Wcześniej wspomniałem, iż brakuje również skutecznego sposobu na weryfikację poprawności podczas triangularyzacji modelu (eksportu do formatu STL). Stąd wywodzi się temat wpisu – najczęściej spotykane błędy i problemy w pliku STL i co możemy z nimi zrobić? Te informacje znajdziecie poniżej. Jeśli chcesz dowiedzieć się więcej nt. samego STL’a warto cofnąć się kilka wpisów wcześniej i zajrzeć do wpisu pt. „Format STL – co i jak?”
Problemy pojawiające się z plikiem STL
Czy poza wcześniej opisanymi niedogodnościami wynikającymi z „wieku” samego formatu STL, pojawiają się też inne problemy? Niestety tak i to one najczęściej uprzykrzają nam pracę. Poniżej opisane błędy są związane zarówno z niedoskonałością modeli natywnych, algorytmów eksportu geometrii jak i samą specyfiką formatu STL. Poprawność modeli możemy sprawdzać w oprogramowaniu służącym do jego edycji i naprawy (zobacz wpis: Darmowe oprogramowanie do edycji i naprawy plików STL). Polecam po każdym eksporcie skorzystać z takiego programu celem weryfikacji poprawności eksportu. Zobaczmy jakie błędy tam spotkamy i co z nim możemy zrobić.
Za duża (niepożądana) liczba skorup (shells)!
Zazwyczaj nasz model powinien składać się z jednej tzw. skorupy (z ang. Shell) – oznacza to, że nasza wyeksportowana geometria składa się z jednego modelu 3D. Oczywiście w przypadku np. ruchomych względem siebie elementów, liczba skorup będzie większa, lecz w takim przypadku będziemy świadomi dlaczego oprogramowanie zwraca nam uwagę.
Metodyka postępowania podczas naprawy uszkodzonego pliku STL może być następująca:
– Naprawa oryginalnego modelu – unifikacja (połączenie) brył, powierzchni, itp. do jednego, poprawnego modelu,
– Przeprowadzenie połączenia (operacja boolowska) lub/i usunięcia zbędnych szumów, które pojawiły się eksportu czy wcześniejszego łączenia skorup.
Przecinające bądź nakładające się trójkąty!
Strategia postępowania naprawy w ten sposób uszkodzonego pliku STL w tym przypadku może być następująca:
– Naprawa oryginalnego modelu – musimy mieć na uwadze, że właśnie większość błędów w pliku STL pojawia się z tego powodu (upewniamy się że nasz model nie posiada przecinających/nakładających się brył, powierzchni),
– Zmiana dokładności eksportu STL – może zdarzyć się, że algorytm odpowiedzialny ze przybliżenie geometrii przy pomocy trójkątów akurat przy określonej przez nas liczbie wygenerował dużą liczbę błędów, przy mniejszej bądź większej efekt może być mniejszy bądź w ogóle zniknąć,
– Automatyczna naprawa w dedykowanym oprogramowaniu (Autodesk Netfabb, Materialise Magics czy nawet 3D Builder od Microsoft’u – który notabene bardzo dobrze radzi sobie z tego typu błędami).
UWAGA: Zawsze sprawdź swoją czy geometria nie uległa zniekształceniu po użyciu narzędzia automatycznej naprawy pliku.
– Ręczna naprawa w dedykowanym oprogramowaniu – zdarza się tak, ze przy pomocy automatycznego algorytmu nie jesteśmy w stanie naprawić wszystkich błędów, które pojawiły się w pliku, wtedy do działania musimy wkroczyć sami, usuwając błędnie wygenerowane trójkąty (a często również te dobre w okolicy zaistniałego źródła problemu), aby następnie ręcznie je dodać. Ta metoda sprawdza się jedynie, jeśli błędów jest naprawdę mało.
Odwrócone trójkąty/odwrócone normalne!
Idąc tropem właściwości trójkąta w formacie STL, możemy doświadczyć kolejnego typu defektu –niepoprawnie określonej, wewnętrznej części modelu (odwrócony zwrot określający istnienie bryły). Negatywny wpływ odwróconych trójkątów ujawni się podczas cięcia modelu na warstwy. W efekcie końcowym może: wypełnić puste przestrzenie, dodać dodatkowe ściany lub wygenerować dodatkowe ubytki w materiale. Jest więc bardzo istotne aby trójkąt wskazywał poprawnie kierunek i zwrot istnienia bryły.
Naprawa odwróconych trójkątów/normalnych w uszkodzonym pliku STL może przebiegać na różne sposoby:
– Sprawdzenie oryginalnego modelu – jak w każdym przypadku najwięcej błędów wynika z niedoskonałości geometrii, warto sprawdzić czy ściany/bryły naszego modelu są połączone i poprawnie zaprojektowane,
– Automatyczna naprawa w oprogramowaniu do edycji plików STL – jeśli błędów nie jest wiele większość programów poradzi sobie z tym typem błędu. Oczywiście końcowo należy sprawdzić czy nasz model jest zgodny z tym co zaprojektowaliśmy w oryginalnym środowisku. Warto skorzystać z narzędzia służącego do tzw. przekroju poprzecznego, aby obejrzeć wnętrze naszego modelu.
Brakujące trójkąty - otwory w powierzchni modelu!
Geometria wyeksportowana do postaci STL jest przedstawiona w postaci siatki trójkątów. Może się zdarzyć, że niektórych z nich będzie brakować, czyli pojawią się otwory w powierzchni modelu. W przypadku jeśli posiadamy dużą dokładność odwzorowania oryginalnego modelu, mogą być ona nawet niezauważalne. Podobnie jak w przypadku odwróconych trójkątów, brakujące trójkąty wpłyną na poprawność cięcia modelu na warstwy. Otwory pojawiają się nie tylko podczas konwersji oryginalnego modelu do formatu STL, ale również podczas naprawy wcześniej uszkodzonych plików.
Metodyka postępowania naprawy takich błędów w modelu STL, tj. gdy pojawią się otwory w siatce trójkątów to między innymi:
– Sprawdzenie oryginalnego modelu – do znudzenia przypominać będę, że warunkiem koniecznym (ale często nie wystarczającym!) poprawnej siatki STL jest poprawnie wykonany model oryginalny. Należy więc unikać sytuacji w których model wzorcowy jest uszkodzony, ponieważ ww. błąd może pojawić się również podczas jego naprawy,
– Zmiana dokładności eksportu STL – w niektórych przypadkach zabieg zmniejszania bądź zwiększenia dokładności traingularyzacji może korzystanie wpłynać na pojawiąjące się otwory w modelu,
– Automatyczna naprawa – jedna z najczęściej wykorzystywanych metodologii postępowania przy tego typu błędach, jej skuteczność zależy od stopnia uszkodzenia geometrii,
– Ręczna naprawa – czasem bardzo przydatna może być umiejętność ręcznego dodawania trójkątów w uszkodzone miejsca (oczywiście jeśli nie są one rozległe).
Niepoprawne krawędzie!
Z niepoprawną krawędzią spotykamy się zazwyczaj gdy nie należy ona do żadnego z trójkątów, a mimo to jest częścią modelu, zaburzając jego poprawny kształt. Jako, że powierzchnie i krawędzie nie określają żadnej grubości, nie powinny mieć wpływu na ostateczny kształt modelu. Większość programów do „cięcia” modeli (podziału na warstwy) jest odporna na tego typu błędu, lecz nie możemy wykluczyć, że szczególny przypadek połączenia z innymi błędami lub nietypową geometrią spowoduje niepoprawne wyznaczenie warstw.
Naprawa niepoprawnych krawędzi dla plików STL odbywa się zazwyczaj poprzez:
– Sprawdzenie poprawności oryginalnej geometrii użytej do eksportu,
– Automatyczna naprawa – ze względu na łatwe rozpoznanie i stosunkowo prosty algorytm naprawy (zazwyczaj usunięcie dodatkowej krawędzi) ta metoda postępowania jest najczęściej wykorzystywana i w większości przypadków skuteczna.
Szumy!
Mianem szumów określa się małe skorupy (shells), które zazwyczaj powstają jako artefakty podczas eksportu bądź naprawy uszkodzonej geometrii STL.
Metodologia powstępowania dla naprawy w przypadków szumów w pliku STL jest prosta:
– Sprawdzenie oryginalnej geometrii – możliwe, że podczas projektowania w naszym oprogramowaniu pojawiły się już jakieś szumy, które zostały wyeksportowane razem z właściwą geometrią. Szumy będą pojawiać się bardzo często w plikach wykonanych na podstawie skanów 3D,
– Zmiana dokładności eksportu STL – ze względu na skomplikowanie geometrii może okazać, się, że przy określonej dokładności (zbyt małej i rzadziej za dużej) uszkodzenie skorupy powodują powstanie szumów,
– Ręczna naprawa – polegająca na rozdzielenia pliku na osobne skorupy a następnie rozpoznaniu tych które posiadają małą powierzchnię (składają się z małej liczby trójkątów) i objętość, a następnie ich usunięcie,
– Automatyczna naprawa – metodologia postępowania jest taka sama jak w przypadku ręcznej naprawy lecz to oprogramowania decyduje za nas, które skorupy są szumem, a którą należy połączyć z właściwą geometrią.
Podsumowując powyższe informacje – pracując z plikami o formacie STL zawsze należy pamiętać, że geometria w nich przedstawiona jest jedynie przybliżeniem (interpolacją) modelu właściwego, natomiast ich naprawa może prowadzić do niepożądanych jego zmian.