PerfectVector
Autor: Jay Lee11 min czytania

Dlaczego pliki DXF mają zbyt wiele segmentów do pracy z CNC

Plik DXF staje się zbyt gęsty, gdy wynik wektoryzacji, eksportowane krzywe, zduplikowane ścieżki lub fragmenty tworzą zbyt wiele encji. Ustal przyczynę, a potem uporządkuj plik przed użyciem w CAM.

Na tej stronie

Plik DXF ma zbyt wiele segmentów, gdy krzywa trafia do niego jako setki krótkich linii, wektoryzacja odwzorowuje każdą drobną nierówność obrazu źródłowego, zduplikowane ścieżki nakładają się na siebie albo niepołączone fragmenty stają się osobnymi encjami. Samo rozszerzenie pliku nie stanowi diagnozy. Najpierw ustal, czy nadmierna gęstość istniała przed eksportem, pojawiła się podczas konwersji, czy dopiero stała się problemem w docelowej aplikacji CAM.

Ta kolejność ma znaczenie. Połączenie 500 segmentów w jedną polilinię może ułatwić zaznaczanie obiektu, ale nadal pozostawia 500 wierzchołków. Zamiana krzywej bez nadmiaru punktów na krótkie linie może wywołać odwrotny problem. Z kolei usuwanie punktów na ślepo może zmienić część, którą chcesz wyciąć.

Krótka diagnoza
  • Gęsty SVG przed eksportem: popraw wektoryzację lub uprość źródłowy plik wzorcowy.
  • Krzywa bez nadmiaru punktów po eksporcie zamienia się w wiele linii: zmień wersję DXF lub ustawienie eksportu krzywych, jeśli docelowe oprogramowanie obsługuje alternatywny typ encji.
  • Dwa identyczne kontury: usuń duplikaty; łączenie nie usunie drugiej ścieżki.
  • Setki drobnych, niepołączonych obiektów: usuń fragmenty lub odtwórz zamierzony kontur.
  • Uporządkowany plik, powolny lub odrzucany import: sprawdź, jakie encje DXF i konwencje dotyczące warstw obsługuje ta konkretna wersja CAM.

Co właściwie oznacza „zbyt wiele segmentów”

DXF może opisywać geometrię za pomocą różnych typów encji. Polilinia zawiera sekwencję wierzchołków; dokumentacja Autodesk DXF POLYLINE reference opisuje następujące po niej rekordy VERTEX. Krzywa typu spline zawiera natomiast stopień, węzły, punkty kontrolne i powiązane dane; Autodesk opisuje te pola w dokumentacji SPLINE reference.

Te reprezentacje nie są wymienne w każdym programie docelowym. Jedna aplikacja CAM może bezpośrednio obsługiwać SPLINE. Inna może podczas importu zamienić ją na linie. Starszy sterownik może preferować łuki i polilinie. Dlatego zarówno „zachowaj każdą krzywą jako spline”, jak i „eksportuj wszystko jako polilinie” to niepełne odpowiedzi.

Przydatne pytanie jest bardziej konkretne: ile encji i wierzchołków opisuje kształt i czy program docelowy prawidłowo je obsługuje?

Nasz test: od źródła przez SVG do DXF

Aby oddzielić gęstość geometrii źródłowej od zachowania eksportera, przygotowaliśmy pięć syntetycznych plików testowych SVG przedstawiających ten sam ogólny kształt fali. Jeden wykorzystywał dwie natywne krzywe Béziera trzeciego stopnia. Trzy przybliżały kształt za pomocą 16, 64 lub 256 prostych segmentów. W ostatnim dokładnie zduplikowano ścieżkę złożoną z 64 segmentów.

Każdy plik testowy wyeksportowaliśmy przy wymiarze 100 mm za pomocą eksportera DXF używanego w tym repozytorium, a następnie policzyliśmy zapisane rekordy POLYLINE, SPLINE i VERTEX. Powtórzyliśmy test i uzyskaliśmy pliki identyczne bajt po bajcie.

Źródłowy plik testowyPolilinie DXFKrzywe spline DXFWierzchołki DXFBajty DXF
2 natywne krzywe trzeciego stopnia0201 289
16 prostych segmentów10162 900
64 proste segmenty10649 128
256 prostych segmentów1025634 040
2 nakładające się ścieżki po 64 segmenty2012817 650
Jeden kształt, pięć reprezentacji
Kontrolowany test konwersji SVG do DXF porównujący dwie natywne krzywe spline z poliliniami złożonymi z 16, 64 i 256 segmentów oraz ze zduplikowaną polilinią złożoną z 64 segmentów
W tym kontrolowanym teście eksportera natywne krzywe pozostały dwiema encjami SPLINE, źródła złożone z prostych segmentów zachowały liczbę wierzchołków, a zduplikowanie ścieżki złożonej z 64 segmentów podwoiło liczbę wierzchołków w wyniku do 128.

Wynik ma ograniczony zakres, ale jest przydatny: ten eksporter nie dodał dodatkowych prostych segmentów w tych plikach testowych. Zachował reprezentację źródłową. Natywne krzywe pozostały natywne; gęste linie pozostały gęste; duplikat pozostał duplikatem.

Nie traktuj tych liczb jako uniwersalnego punktu odniesienia. Nie opisują każdego konwertera, każdej wersji DXF, każdego importera CAM ani typowego wyniku wektoryzacji w PerfectVector. Pokazują metodę diagnostyczną, którą możesz powtórzyć na własnym pliku.

Pięć powodów, dla których DXF staje się zbyt gęsty

1. Wynik wektoryzacji już wcześniej zawierał zbyt wiele szczegółów

Wektoryzacja obrazu może rozmieszczać punkty wzdłuż szumu kompresji, krawędzi wygładzonych antyaliasingiem, tekstury skanu lub drobnych wypukłości, które nie mają znaczenia dla produkcji. Eksport takiego SVG do DXF zmienia jedynie format zapisu, jeśli eksporter zachowuje ścieżkę.

Sprawdź wektorowy plik wzorcowy przed konwersją. Jeśli prosty łuk już wygląda jak łańcuch punktów, zacznij od diagnozy nadmiernej liczby węzłów SVG. Poprawienie źródła jest bezpieczniejsze niż oczekiwanie, że CAM naprawi je później.

2. Krzywe zostały podzielone na segmenty podczas eksportu

Ścieżki SVG mogą zawierać polecenia linii, krzywych Béziera trzeciego stopnia, krzywych Béziera drugiego stopnia i łuków; definiuje je specyfikacja ścieżek W3C. Eksporter DXF musi odwzorować je na encje, które wybrana wersja DXF i program docelowy potrafią odczytać. Niektóre procesy zachowują krzywą jako SPLINE lub ARC. Inne przybliżają ją krótkimi prostymi segmentami.

Jeśli SVG zawiera krzywą bez nadmiaru punktów, ale DXF pokazuje gęstą polilinię, porównaj ustawienia i wersje eksportu. Użyj reprezentacji, która najmniej zmienia geometrię i którą program docelowy niezawodnie obsługuje, a następnie sprawdź zaimportowaną krzywą przy dużym powiększeniu i zweryfikuj znany wymiar.

3. Zduplikowane kontury nakładają się na siebie

Duplikat może być niewidoczny na ekranie. Staje się oczywisty dopiero wtedy, gdy podgląd CAM zaznacza dwa kontury, tnie krawędź dwukrotnie lub zgłasza dwa razy więcej encji, niż oczekujesz.

Nasz plik testowy z duplikatem zachował się dokładnie tak, jak powinien: dwie ścieżki po 64 segmenty stały się dwiema poliliniami o łącznej liczbie 128 wierzchołków. Połączenie segmentów każdego konturu nadal pozostawiłoby oba kontury. Rozwiązaniem jest usunięcie duplikatów.

4. Drobne fragmenty stały się osobnymi obiektami

Drobinki w obrazie rastrowym, przerwy w skanie lub nieudane łączenie mogą utworzyć wiele krótkich ścieżek. Importer CAM może potraktować każdy fragment jako kontur, obiekt do zaznaczenia lub obiekt, któremu można przypisać osobną operację. Usuń fragmenty, które nie należą do projektu, ale najpierw je sprawdź; krótka linia może też być zamierzonym detalem.

5. Program docelowy nie radzi sobie z poprawną encją

Plik DXF może mieć poprawną strukturę, a mimo to źle sprawdzać się w konkretnym procesie pracy z maszyną. SendCutSend wskazuje, że gęsto rozmieszczone węzły mogą pochodzić z konwerterów innych firm lub z krzywych spline podzielonych na segmenty liniowe, i zaleca sprawdzenie źródła oraz ustawień krzywych właściwych dla danego oprogramowania w swoich wskazówkach dotyczących gęsto rozmieszczonych węzłów.

Sprawdź plik w programie docelowym, a nie tylko w podglądzie na komputerze. Jeśli SPLINE nie działa, ale ARC działa, odtwórz rzeczywisty łuk. Jeśli aplikacja wymaga polilinii, wybierz udokumentowaną tolerancję i zmierz wynik. To program docelowy decyduje, która reprezentacja jest praktyczna.

Łączyć, upraszczać, usuwać duplikaty czy rysować od nowa?

Te polecenia rozwiązują różne problemy:

DziałanieCo zmieniaKiedy je stosowaćGłówne ryzyko
ŁączenieŁączy punkty końcowe w dłuższy obiektPoprawne fragmenty należą do jednego ciągłego konturuZachowuje tę samą nadmierną liczbę wierzchołków
UpraszczanieUsuwa punkty lub ponownie dopasowuje krzywą w granicach tolerancjiKrzywa ma zbędne punktyZmienia narożniki, promienie, otwory lub dopasowanie
Usuwanie duplikatówUsuwa pokrywające się kopieTen sam kontur występuje dwukrotniePrzy zbyt dużej tolerancji usuwa zamierzoną geometrię równoległą
Ponowne narysowanie jako łuk lub krzywa splineZastępuje geometrię złożoną z prostych odcinków natywną krzywąProjekt jest rzeczywiście kołowy lub ma gładki przebieg opisany parametrycznieKrzywa dobrana na oko może nie odpowiadać zamierzonej części

W przypadku dekoracyjnych szyldów może wystarczyć kontrolowane upraszczanie. W przypadku gniazda łożyska, profilu współpracujących części, uszczelki lub zwymiarowanej części mechanicznej nie odtwarzaj geometrii na podstawie zaszumionego wyniku wektoryzacji. Zbuduj ją od nowa w CAD na podstawie wymaganych wymiarów.

Kolejność porządkowania, która zachowuje zamierzoną geometrię

  1. Zapisz nienaruszony plik wzorcowy. Pracuj na kopii, aby każdy krok porządkowania dało się cofnąć.
  2. Sprawdź geometrię przed eksportem do DXF. W SVG lub źródłowym projekcie powiększ proste krzywe i policz podejrzane węzły. Szukaj duplikatów, niepołączonych punktów końcowych i drobinek.
  3. Wyeksportuj jedną krzywą testową. Pojedynczy okrąg, łuk lub krzywa Béziera pokaże Ci, jak eksporter i program docelowy radzą sobie z typami encji, bez dodatkowych elementów całego rysunku.
  4. Policz encje według typu. Zapisz liczbę encji LINE, ARC, POLYLINE/VERTEX i SPLINE przed importem i po nim, jeśli narzędzia udostępniają te dane.
  5. Wprowadzaj po jednej poprawce. Najpierw usuń duplikaty, potem fragmenty, połącz właściwe części, a następnie upraszczaj lub rysuj od nowa tylko tam, gdzie jest to potrzebne.
  6. Zweryfikuj geometrię. Zmierz znaną długość, sprawdź zamknięte profile i porównaj uporządkowaną krzywą z nienaruszonym plikiem wzorcowym.
  7. Wygeneruj podgląd ścieżki narzędzia. Upewnij się, że zamierzony kontur jest zaznaczony tylko raz, kierunek i kompensacja są poprawne oraz nie pojawiają się nieoczekiwane drobne ruchy.

Jeśli zaczynasz od PNG lub JPG zamiast od istniejącej grafiki wektorowej, przed tą kontrolą DXF przejdź przez szerszy proces przekształcania obrazu w SVG do CNC. Jeśli programem docelowym jest Onshape, skorzystaj z przewodnika po przenoszeniu obrazu do szkicu Onshape przez DXF, aby wybrać między ręcznym odtworzeniem a geometrią uzyskaną przez wektoryzację. Jeśli decydujesz, w jakim formacie przekazać plik, porównanie SVG i DXF do cięcia omawia zgodność i jednostki.

Jeśli używasz QCAD, przewodnik po konturach i liniach środkowych w Trace Bitmap pomoże Ci zdecydować, czy do tej kontroli DXF powinien trafić zwektoryzowany kontur zewnętrzny, czy świadomie narysowana geometria CAD.

Jeśli wektoryzację wykonujesz wewnątrz CAM, przed przypisaniem ścieżek narzędzia skorzystaj z kontroli konturów Trace Bitmap w VCarve lub przewodnika po wektoryzacji i imporcie w Carbide Create. Obie metody nadal wymagają sprawdzenia otwartych konturów, fragmentów i zbędnych węzłów w docelowym obszarze roboczym.

Gdzie przydaje się PerfectVector

PerfectVector może przekształcić źródłowy obraz rastrowy w grafikę wektorową i przygotować plik DXF do sprawdzenia, co przydaje się, gdy nie masz wektorowego pliku wzorcowego do uporządkowania. Nie zna tolerancji Twojej maszyny, zamierzonych wymiarów, frezu, sterownika ani zasad importu w CAM. Te kwestie nadal musisz sprawdzić przed produkcją.

Przekształć oryginalny obraz w DXF, a następnie sprawdź wynik, zamiast traktować rozszerzenie jako dowód poprawności. Sprawdź, czy proste krzywe nie mają zbyt gęsto rozmieszczonych wierzchołków, usuń niezamierzone fragmenty lub duplikaty, zmierz znany element i obejrzyj podgląd ścieżki narzędzia w docelowym oprogramowaniu. Jeśli grafika przedstawia w rzeczywistości zwymiarowaną geometrię techniczną, narysuj ją od nowa w CAD, zamiast traktować wynik wektoryzacji obrazu jako wiarygodny wzorzec.

Najczęściej zadawane pytania

Dlaczego mój DXF ma tysiące segmentów? Źródło może już zawierać gęstą geometrię po wektoryzacji, eksporter mógł zamienić krzywe na krótkie linie, zduplikowane ścieżki mogą się nakładać albo drobne fragmenty mogły stać się osobnymi encjami. Porównaj liczby elementów w źródle i DXF, zanim ustalisz, która przyczyna występuje w Twoim przypadku.

Czy łączenie segmentów DXF zmniejsza liczbę węzłów? Zwykle nie. Łączenie scala fragmenty w dłuższą polilinię, co może ułatwić zaznaczanie konturu, ale zazwyczaj zachowuje wierzchołki. Przy zbędnych punktach użyj upraszczania lub ponownego dopasowania krzywej, przy nakładających się kopiach usuń duplikaty, a gdy geometria to uzasadnia, narysuj od nowa rzeczywiste łuki lub krzywe spline.

Ile segmentów to zbyt wiele dla CNC? Nie ma uniwersalnego progu. Dopuszczalna liczba zależy od złożoności kształtu, tolerancji, oprogramowania CAM, sterownika i operacji. Prosty okrąg złożony z setek drobnych linii wymaga sprawdzenia; szczegółowy kontur dekoracyjny może zasadnie potrzebować większej ilości geometrii.

Czy eksportować krzywe DXF jako krzywe spline, czy jako polilinie? Użyj typu encji, którego obsługę dokumentuje Twoje docelowe oprogramowanie i z którym niezawodnie sobie radzi. Krzywe spline pozwalają zachować gładką geometrię w zwięzłej postaci, natomiast niektóre starsze lub wyspecjalizowane procesy preferują łuki lub polilinie. Przetestuj jedną krzywą, sprawdź import i zweryfikuj wymiary przed konwersją całego pliku.

Czy mogę zmniejszyć liczbę węzłów DXF bez zmiany cięcia? Tylko w granicach tolerancji, która musi wynikać z wymagań zadania. Upraszczanie może przesuwać krawędzie, łagodzić narożniki i zmieniać elementy odpowiedzialne za dopasowanie. Porównaj uporządkowaną geometrię z plikiem wzorcowym i zmierz kluczowe wymiary; gdy liczy się dokładność, odtwórz geometrię mechaniczną w CAD.

Źródła

  1. W3C — SVG Paths — Normatywna definicja poleceń ścieżek SVG i reprezentacji krzywych.
  2. Autodesk — POLYLINE DXF reference — Dokumentacja źródłowa struktury polilinii i następujących po niej rekordów wierzchołków.
  3. Autodesk — SPLINE DXF reference — Dokumentacja źródłowa stopnia krzywej spline, węzłów, wag i punktów kontrolnych.
  4. SendCutSend — Preventing dense nodes — Wskazówki dotyczące wymagań programu docelowego, konwerterów, krzywych spline podzielonych na segmenty i porządkowania krzywych.

Dobry DXF nie musi mieć najmniejszej możliwej liczby encji. Powinien zachowywać zamierzoną geometrię w postaci, którą program docelowy potrafi wykorzystać. Jeśli Twoim jedynym źródłem jest obraz, przygotuj plik DXF do sprawdzenia w PerfectVector, przeprowadź opisane wyżej kontrole encji i wymiarów, a jeśli wyniki wskazują na problemy, odrzuć lub popraw go przed użyciem w CAM.

Więcej z bloga

Zamień grafikę o płaskich kolorach na DXF do sprawdzenia w CAD