PerfectVector
Autor: Irene Kim

SVG, STL czy 3MF: plik dla wypukłego logo

Porównaj jedno logo jako SVG, STL i 3MF. Sprawdź kontur 2D, wyciągniętą siatkę, jednostki, otwór i dane materiału przed wyborem kolejnego pliku do wysłania.

8 min czytania
Na tej stronie

Dla wypukłego logo zachowaj SVG jako edytowalną grafikę 2D, użyj STL, gdy odbiorca potrzebuje obsługiwanej siatki samej geometrii, a wybierz 3MF, gdy proces odbiorcy wykorzysta jednostki, obiekty i informacje o właściwościach. Właściwe przekazanie zależy od tego, co już wymodelowano i czego odbiorca potrzebuje dalej.

Płaski kontur nadal wymaga świadomie wybranej wysokości. Siatka nadal wymaga dalszych kontroli. Plik z końcówką .3mf może zawierać model bez ustawień potrzebnych do wznowienia konkretnego projektu slicera.

Wybieraj według zadania do wykonania przez odbiorcę

Obecne zadaniePlik do rozważeniaKontrola przed wysłaniem
Edycja sylwetki logo lub otworu literyOryginalny SVGRzeczywiste ścieżki, zamierzone wypełnienia, skala i faktyczne otwory
Przekazanie już wyciągniętego kształtu do procesu wymagającego STLSTLWymiary siatki, uzgodnione jednostki, zamknięta powierzchnia i zachowane otwory
Udostępnienie wymodelowanej geometrii z jawnymi jednostkami i obsługiwanymi danymi obiektów lub właściwości3MFZawarte zasoby, obsługa odbiorcy i wymiary po imporcie
Wznowienie konkretnej konfiguracji sliceraEksport projektu danej aplikacjiZapisywane ustawienia, zgodność aplikacji i wersji oraz konfiguracja drukarki odbiorcy

SVG, Scalable Vector Graphics, opisuje dokument dwuwymiarowy mogący zawierać geometrię wektorową i rastry. Samo rozszerzenie .svg nie potwierdza, że logo składa się z użytecznych ścieżek. Specyfikacja SVG definiuje ten model mieszanej treści. Zachowaj natywny oryginał wektorowy, jeśli istnieje; trasowanie zrzutu ekranu może zmienić geometrię, która już była edytowalna.

Siatka przedstawia powierzchnię za pomocą wierzchołków i ścian. STL przechowuje trójkątną geometrię powierzchni; dokumentacja eksportera STL Three.js wskazuje też dowolne jednostki i brak standardowego zapisu koloru lub tekstury. Przy wymianie uzgodnij zamierzony rozmiar fizyczny.

Sprawdź ten sam emblemat w trzech formatach

Utworzyliśmy kanciasty morski emblemat z prostokątnym otworem i zapisaliśmy SVG z obszarem widoku 40mm × 30mm oraz viewBox="0 0 40 30". Jedna ścieżka złożona zawiera kontur zewnętrzny i wewnętrzny; otwór jest przezroczysty, a nie namalowany na biało.

Dla próbki mały importer odczytał tylko przygotowane proste kontury M, L i Z. Zmapowaliśmy współrzędne SVG na model z niezmienionym x i y przekształconym na 30 − y, przypisaliśmy jedną współrzędną modelu na milimetr i wyciągnęliśmy do wysokości 3. To jawny wybór autorski, nie potwierdzenie interpretacji SVG przez dowolny CAD.

Three.js ExtrudeGeometry utworzyło płytkę z jednym krokiem i wyłączonym fazowaniem. Te same trójkąty zapisaliśmy jako binarny STL i mały pakiet 3MF. Próbką jest sam emblemat, bez osobnej podstawy. Wypukłe logo połączone z innym obiektem wymagałoby dodatkowego etapu modelowania.

Oryginalny emblemat SVG 2D obok programowych rzutów tych samych zapisanych siatek STL i 3MF z porównaniem jednostek, kontroli otworu i zawartych właściwości
Oryginalna natywna grafika i rzeczywiste zapisane pliki siatek. Widoki siatek rzutują trójkąty ponownie otwarte loaderami Three.js; nie są podglądami slicera ani fizycznymi wydrukami. Szarość pochodzi z przeglądarki STL, morski kolor z właściwości wyświetlania 3MF.

Niezależna inspekcja binarna i XML znalazła po 36 trójkątów w każdej siatce i identyczne zorientowane współrzędne trójkątów. Obie granice wynosiły 0…40 w X, 0…30 w Y i 0…3 w Z. Każda krawędź miała przeciwnie skierowaną parę, a objętość ze znakiem odpowiadała oczekiwanym 2952 sześciennym jednostkom współrzędnych w zadeklarowanej tolerancji 0.000001.

Pierwszy eksport nie przeszedł kontroli kierunku krawędzi i objętości, ponieważ kontur otworu miał zły zwrot dla naszego kodu wyciągania. Odwróciliśmy go, wygenerowaliśmy oba wyjścia ponownie i powtórzyliśmy kontrole. Zmiana rozszerzenia zachowałaby wadliwą siatkę.

Oddzielna strona przeglądarki pobrała zapisane pliki loaderami STL i 3MF Three.js. Zadeklarowany test obejmował promień w dół przez otwór przy (14, 16) i drugi przez materiał przy (4, 15). Promień otworu ominął obie siatki; promień materiału trafił obie. To ograniczone kontrole plików i loaderów, nie pełna certyfikacja zgodności ani test slicera.

Dla przeglądarkowego importu SVG poradnik Three.js SVGLoader omawia inne zadanie: import ścieżek i kontrolę kształtu, orientacji oraz skali sceny. Nasz mały importer obsługuje tylko proste kontury tej próbki.

Jednostki są przekazywane inaczej

SVG deklaruje fizyczny rozmiar obszaru widoku oraz prostokąt przestrzeni użytkownika. Modeler odbiorcy nadal musi odwzorować geometrię na własne współrzędne. Zweryfikuj znaną szerokość po imporcie, zamiast polegać na pozornej wielkości rysunku na ekranie.

Nasz STL ma szerokość 40 we współrzędnych wierzchołków. Docelowa szerokość to 40 mm, ale plik nie ma standardowego pola jednostki przenoszącego to uzgodnienie. Jeśli odbiorca zinterpretuje liczby inaczej, rozmiar części się zmieni, choć trójkąty pozostaną identyczne.

Nasz model 3MF jawnie deklaruje:

<model unit="millimeter"
  xmlns="http://schemas.microsoft.com/3dmanufacturing/core/2015/02">

Specyfikacja 3MF Core definiuje atrybut jednostki oraz strukturę modelu, zasobów i budowania pakietu. Mimo to potwierdź wyświetlane wymiary w rzeczywistej aplikacji odbiorcy przed dalszą pracą.

Model 3MF i projekt slicera zawierają inne informacje

Nasz zapisany 3MF ma dokładnie trzy wpisy ZIP:

[Content_Types].xml
_rels/.rels
3D/3dmodel.model

W modelu zawarliśmy jeden obiekt siatki, jeden element budowania, tytuł i nazwany materiał bazowy z displaycolor="#315D6FFF". Loader przeglądarki odczytał morski kolor wyświetlania. Pakiet nie zawiera części projektu slicera.

Nazwy materiałów bazowych Core przekazują zamiar projektowy, a displaycolor jest właściwością renderingu. Specyfikacja jawnie oddziela ją od obietnicy koloru drukowanego materiału. Morski podgląd nie potwierdza przypisania filamentu ani udanego kolorowego wydruku.

Projekt slicera może zawierać dodatkowe dane właściwe aplikacji. Zapytaj nadawcę, czy plik jest wymianą geometrii, czy zapisanym projektem, i sprawdź faktycznie odtwarzane ustawienia. Samo rozszerzenie nie odpowie na to pytanie. Porównanie nie testowało projektu slicera, profilu drukarki, rozmieszczenia podpór ani wygenerowanych instrukcji maszyny.

Opakowanie siatki nie dodaje detali powierzchni

Oba końcowe pliki zawierają te same 36 trójkątów. Żaden nie zyskał szczegółów dzięki rozszerzeniu. Emblemat ma proste krawędzie, więc unika też porównania aproksymacji krzywych. Przy zakrzywionej grafice sprawdź teselację wybraną podczas modelowania lub eksportu, zamiast traktować nazwę formatu jak ustawienie gładkości.

Binarny STL miał 1884 bajty, a skompresowany 3MF 1326 bajtów. Rozmiary opisują tylko ten mały autorski przykład. Geometria, reprezentacja, kompresja i zawarte zasoby wpływają na wynik; nie jest to uniwersalna przewaga wielkości pliku.

Zachowaj źródłowy SVG i dokument modelowania, jeśli ważne są przyszłe zmiany. Eksportowana siatka trójkątów nie zachowuje pierwotnej edycji ścieżek ani historii modelowania tylko dlatego, że można ją ponownie otworzyć.

Zweryfikuj przekazanie w procesie odbiorcy

Przed wysłaniem wymodelowanego logo podaj zamierzoną szerokość, wysokość, grubość i przeznaczenie pliku. Następnie poproś o sprawdzenie:

  1. Wymiarów: znana szerokość i wysokość wyciągnięcia odpowiadają zamierzonym jednostkom fizycznym.
  2. Otworu: pusty obszar przechodzi przez całą płytkę, zamiast kończyć się na ukrytej ścianie.
  3. Orientacji i struktury bryły: emblemat jest skierowany właściwie, a wymagane podłoże lub mocowanie istnieje.
  4. Właściwości: oczekiwane dane obiektu i materiału przetrwały; kolor podglądu nie jest mapowaniem materiału maszyny.
  5. Przygotowania produkcji: rzeczywisty proces modelowania lub slicingu przechodzi własne kontrole i przegląd ścieżek narzędzia.

Jeśli SVG importuje się bez użytecznego obszaru, skorzystaj z diagnozy wyciągania SVG. Jeśli wybrano OpenSCAD, użyj listy kontroli importu i wyciągania SVG. Te pytania aplikacyjne są oddzielne od wyboru formatu wymiany.

Gdzie jest miejsce odzyskiwania wektorów

Jeśli masz edytowalną grafikę wektorową, zachowaj ją i pracuj na kopii do modelowania. Jeśli płaskie logo istnieje tylko jako PNG lub JPG, proces SVG do druku 3D PerfectVector może utworzyć proponowane kontury do oceny przed modelowaniem. Sprawdź sylwetkę, rzeczywiste otwory, niechciane kształty tła i skalę w narzędziu odbiorcy.

Etap rastra do wektorów dostarcza grafikę 2D. Wysokość, podstawy, tolerancje, przypisania materiałów i przygotowanie druku pozostają na później. Zachowaj fotografie lub malowane tekstury jako rastrowe referencje, jeśli płaska sylwetka usunęłaby zamierzony rezultat; mogą potrzebować innej metody 3D.

Szersza ścieżka obrazu do SVG dla druku 3D omawia tę wcześniejszą decyzję przygotowania źródła. Nasz oryginalny emblemat zaczął jako natywna geometria wektorowa i nie był trasowany ani konwertowany przez backend.

Częste pytania

Czy SVG jest plikiem druku 3D jak STL? SVG opisuje grafikę 2D. Program może wykorzystać wypełnione granice do stworzenia modelu 3D, ale trzeba podać wysokość i inne decyzje modelowania. STL opisuje już wymodelowaną powierzchnię trójkątną.

Czy 3MF zawsze zawiera ustawienia drukarki? Nie. Sprawdzony 3MF zawiera geometrię modelu, jednostki i właściwość wyświetlania materiału bazowego bez części projektu slicera. Sprawdź, co aplikacja źródłowa faktycznie zapisała i co odbiorca może odtworzyć.

Czy konwersja STL na 3MF naprawi otwór logo? Sama zmiana pakietu nie naprawia źródłowej siatki. W pierwszym eksporcie kierunek ściany otworu wymagał korekty przed ponownym wygenerowaniem obu formatów. Sprawdź rzeczywistą geometrię po każdej naprawie.

Czy wysłać usłudze druku SVG czy gotową siatkę? Zapytaj, jaki etap wykonają. SVG może dostarczyć płaski kontur, jeśli oferują modelowanie; obsługiwany STL lub 3MF może dostarczyć wymodelowaną powierzchnię. Dołącz docelowe wymiary i potwierdź wymagania usługi, zamiast zakładać akceptację na podstawie rozszerzenia.

Źródła

  1. W3C — Scalable Vector Graphics 2 — Definiuje dwuwymiarowy wektorowy i mieszany model dokumentu SVG.
  2. Three.js — STLExporter — Dokumentuje powierzchnię STL, dowolne jednostki i eksport binarny.
  3. Three.js — ExtrudeGeometry — Dokumentuje parametry głębokości, kroków i fazowania użyte w autorskiej próbce.
  4. 3MF Consortium — Specyfikacja Core — Definiuje jednostki modelu, strukturę pakietu, materiały bazowe i ograniczenia koloru wyświetlania.

Masz tylko płaskie rastrowe logo? Utwórz kandydacki SVG do etapu modelowania, sprawdź granice i otwory, a potem wybierz siatkę lub projekt, których odbiorca rzeczywiście potrzebuje.

Więcej z bloga

PerfectVector

Zamień plik obrazu w
edytowalny SVG

Bez karty kredytowej