> [Site index](https://perfectvector.com/llms.txt) — available pages and descriptions.

# AxiDraw: sprawdź kolejność ścieżek przed rysowaniem

> Porównaj podglądy SVG offline AxiDraw, aby sprawdzić kolejność ścieżek, odwrócenie i ruch przy pisaku podniesionym z papieru. Zachowaj geometrię rysunku i poznaj, co zachowuje zapisany plik SVG.

Source: https://perfectvector.com/pl/blog/axidraw-path-order

Language: pl
Author: Irene Kim
Published: 2026-11-06T08:00:00+09:00
Updated: 2026-11-09T08:00:00+09:00

Aby zoptymalizować podróż pióra SVG w AxiDraw, najpierw upewnij się, że ścieżki rysują żądane znaki. Następnie porównaj podglądy offline z tą samą geometrią i stałymi ustawieniami. Zmiana kolejności może skrócić ruch pisaka z podniesionym pisakiem bez zmniejszania liczby podniesień i zmiany rysowanych kształtów.

Zachowaj oryginalny plik SVG. Poniższy podgląd sprawdza kolejność i opcjonalne odwrócenie ścieżki; nie rekonstruuje linii środkowych, nie naprawia niechcianych konturów ani trwale nie zmienia układu oryginalnych obiektów SVG. W naszym teście wykorzystaliśmy osiem autorskich pociągnięć, a nie wektoryzowany kontur z PerfectVector lub fizyczny rysunek piórem.

## Zdiagnozuj skoki przed zmianą kolejności

Ruch piórem dotykającym papieru to trasa, która zostawia ślady. Ruch z pisakiem podniesionym z papieru to ruch pomiędzy znakami z podniesionym pisakiem. Krótko wyglądający rysunek może wymagać długiego ruchu, gdy pióro jest podniesione znad papieru, gdy kolejne obiekty są daleko od siebie.

| Co pokazuje podgląd                                                   | Czym się zająć w pierwszej kolejności                                                                       |
| --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| Dwie krawędzie wokół linii, które powinny stanowić jedno pociągnięcie | Zbuduj zamierzoną [trasę jednoliniową](https://perfectvector.com/pl/blog/drawing-to-single-line-svg)        |
| Pusty obwód, w którym chciałeś zacieniony obszar                      | Utwórz wyraźne [ścieżki pisaków z kreskowaniem](https://perfectvector.com/pl/blog/hatch-fill-svg-pen-paths) |
| Poprawne znaki, ale powtarzające się przeskoki na stronie             | Poniżej porównaj ustawienia sekwencjonowania ścieżek i odwrócenia kierunku ścieżki                          |
| Niepożądane linie narysowane pomiędzy oddzielnymi znakami             | Przed zaakceptowaniem krótszej trasy sprawdź geometrię oparcia i łączenie ścieżek                           |

Pomiar [długości ścieżki SVG](https://perfectvector.com/pl/blog/measure-svg-path-length) pozwala odpowiedzieć na pytanie, jak długa jest geometria rysunku. Samo w sobie nie obejmuje przejazdu maszyny pomiędzy tymi ścieżkami.

[Dokumentacja CLI AxiDraw](https://axidraw.com/doc/cli_api/#reordering) rozróżnia te ustawienia: `0` zwykle przestrzega kolejności dokumentów z możliwością łączenia, `1` również zmienia kolejność ścieżek, a `2` pozwala również na odwrócenie ścieżki. Połączenie sąsiednich ścieżek rysunkowych to osobna decyzja. Na potrzeby tego porównania wyłączamy tę funkcję za pomocą `min_gap = -1`, aby sąsiadujące kreski nie mogły stać się jednym ciągłym znacznikiem.

Odwrócenie może mieć znaczenie w przypadku prac wrażliwych na kierunek. Jeżeli rysunek musi mieć określoną kolejność pisania lub kierunek, krótsza droga ruchu z podniesionym pisakiem nie jest wystarczającym powodem do zaakceptowania ustawienia `2`. Warstwy ograniczają również sortowanie; nie należy zakładać, że grupy zagnieżdżone zachowują optymalizowaną sekwencję rysowania. Sprawdź rzeczywisty podgląd swojego dokumentu.

## Uruchom trzy podglądy offline na niezmienionym pliku SVG

Ten przykład wymaga języka Python i oficjalnego interfejsu API języka Python AxiDraw. Przetestowaliśmy API 3.9.6 z Pythonem 3.9.6. Postępuj zgodnie z oficjalnymi [instrukcjami instalacji](https://axidraw.com/doc/cli_api/#installation), jeśli moduł nie jest zainstalowany w środowisku Python, którego używasz.

[Dokumentacja API Pythona](https://www.axidraw.com/doc/py_api/#preview) definiuje podgląd jako symulację offline. Ustaw `preview = True` **po** `plot_setup` i **przed** `plot_run`. Poniższy skrypt zawsze to ustawia i potwierdza; nie zawiera żadnego połączenia z urządzeniem.

Zapisz ten mały przykład jako `eight-strokes.svg` lub użyj duplikatu własnego pliku SVG:

```xml
<svg xmlns="http://www.w3.org/2000/svg" width="100mm" height="80mm" viewBox="0 0 100 80">
  <g fill="none" stroke="#152b3b" stroke-width="0.4">
    <path id="stroke-0" d="M 10 20 L 18 20"/>
    <path id="stroke-1" d="M 88 60 L 80 60"/>
    <path id="stroke-2" d="M 20 20 L 28 20"/>
    <path id="stroke-3" d="M 78 60 L 70 60"/>
    <path id="stroke-4" d="M 30 20 L 38 20"/>
    <path id="stroke-5" d="M 68 60 L 60 60"/>
    <path id="stroke-6" d="M 40 20 L 48 20"/>
    <path id="stroke-7" d="M 58 60 L 50 60"/>
  </g>
</svg>
```

Plik testowy ma rzutnię 100 × 80 mm i pasujące wymiary `viewBox`. To odwzorowuje każdą jednostkę współrzędnych na 1 mm tutaj, zgodnie z [mapowaniem rzutni i viewBox](https://www.w3.org/TR/SVG2/coords.html#ViewBoxAttribute) SVG. Każdy z ośmiu pociągnięć ma długość 8 mm.

Zapisz następujący plik jako `preview-orders.py`:

```python
from pathlib import Path
import json
import sys
from pyaxidraw import axidraw

source = Path(sys.argv[1]).resolve()
destination = Path(sys.argv[2])
destination.mkdir()  # Use a new directory; preserve previous results.
reports = []
for order in (0, 1, 2):
    ad = axidraw.AxiDraw()
    ad.plot_setup(str(source))
    ad.options.preview = True
    ad.options.rendering = 3
    ad.options.reordering = order
    ad.options.random_start = False
    ad.options.auto_rotate = False
    ad.options.report_time = False
    ad.params.min_gap = -1
    assert ad.options.preview is True
    output = ad.plot_run(True)
    if ad.errors.code:
        raise RuntimeError(f"Preview error: {ad.errors.code}")
    (destination / f"preview-order-{order}.svg").write_text(output)
    reports.append({
        "order": order,
        "pen_down_m": ad.distance_pendown,
        "pen_up_m": ad.distance_total - ad.distance_pendown,
        "pen_lifts": ad.pen_lifts,
    })
report = json.dumps(reports, indent=2)
(destination / "distances.json").write_text(report + "\n")
print(report)
```

Uruchom go w środowisku Python zawierającym oficjalny interfejs API, używając nowej nazwy katalogu wyjściowego:

```bash
python3 preview-orders.py eight-strokes.svg preview-check
```

Zapisuje trzy diagnostyczne pliki SVG i `distances.json`. `rendering = 3` obejmuje zarówno ruch uniesiony, jak i rysujący. Losowe starty i automatyczny obrót są wyłączone; łączenie ścieżek jest wyłączone. Zachowaj te opcje na stałe podczas porównywania własnego pliku. Ten skrypt jest metodą inspekcji w trybie offline, a nie poleceniem obsługi plotera.

## Porównaj ruch oddzielnie z podniesionym pisakiem i narysowaną geometrią

W naszym pliku testowym ośmiu uderzeń powstał dokładny skrypt:

| Zmiana kolejności | Szacunkowy ruch przy pisaku podniesionym z papieru | Ruch z piórem dotykającym papieru | Zgłoszone wzrosty |
| ----------------- | -------------------------------------------------- | --------------------------------- | ----------------- |
| `0`               | 0.509749 m                                         | 0.064 m                           | 8                 |
| `1`               | 0.223592 m                                         | 0.064 m                           | 8                 |
| `2`               | 0.180919 m                                         | 0.064 m                           | 8                 |

Są to szacunki oprogramowania natywnego dla tego pliku, obejmujące podróż od początku i powrót do domu. Odległość opuszczenia pozostała 64 mm, a liczba uniesień pozostała osiem. Krótszy ruch z pisakiem oderwanym od papieru nie oznaczał mniejszej liczby podniesień. Nie mierzyliśmy fizycznego rysunku piórem, czasu, jaki upłynął od wydruku ani gwarantowanej poprawy w przypadku kolejnego rysunku.

![Skumulowane podglądy AxiDraw pokazują niezmienione osiem niebieskich pociągnięć rysunkowych, podczas gdy trasy ruchu w kolorze magenta z podniesionym pisakiem różnią się od zera do dwóch; zwiększono kontrast wyświetlacza i wagę obrysu.](https://perfectvector.com/blog/axidraw-path-order/axidraw-proof.webp)

*Rzeczywiste Preview przechwytywania skumulowanych kopii wyświetlania natywnych ścieżek SDK, renderowanych za pomocą resvg. Niebieski jest długopisem; magenta jest długopisem. Kolory i grubość obrysu zostały ulepszone w celu zapewnienia czytelności; współrzędne ścieżki natywnej pozostają niezmienione. Żaden ploter nie był podłączony.*

Skumulowany rysunek porównuje ustawienia `0` i `2`; tabela zawiera także `1`. Wyświetla kopie natywnych ścieżek podglądu SDK z mocniejszymi kolorami niebieskim i magenta oraz grubszymi kreskami dla zapewnienia czytelności. Są to style wyświetlania, a nie fizyczne szerokości piór. Natywne współrzędne ścieżki i transformacje pozostają niezmienione; rzutnia wyświetlania przycina nieużywaną przestrzeń. Sprawdzono wszystkie trzy natywne podglądy, a niezależna kontrola geometrii znalazła te same osiem poziomych segmentów rysunku, co umożliwiło odwrócenie kolejności ich punktów końcowych. Każdy próbkowany wierzchołek pozostawał w zamierzonym segmencie.

W przypadku pliku otwórz każdy podgląd SVG i sprawdź warstwę rysunku oddzielnie od warstwy z podniesionymi ruchami. Potwierdź zamierzony rozmiar strony i lokalizację, wszystkie oczekiwane znaki, niezmienione dziury lub odstępy i brak nowego narysowanego łącznika. Sprawdź, czy dopuszczalny jest każdy skok odwrócony. Odrzuć trasę, która rysuje nieprawidłowe znaki, nawet jeśli jej raport dotyczący odległości jest mniejszy.

## Dowiedz się, co zachowuje zapisany podgląd

[Dokumentacja dotycząca ponownego zamawiania](https://axidraw.com/doc/cli_api/#reordering) AxiDraw wyjaśnia, że ​​optymalizacja odbywa się w kopii tymczasowej. Oryginalne obiekty w zapisanym wyjściowym formacie SVG zachowują swoją pierwotną kolejność. W naszych wynikach również zachowano każdą oryginalną ścieżkę `stroke-*` i jej oryginalną sekwencję.

Dlatego `preview-order-2.svg` jest podglądem diagnostycznym, a nie dowodem na to, że inny program odczyta plik graficzny o trwale zmienionej kolejności. Zachowaj źródło, wybraną opcję i raport porównawczy razem. Jeśli później użyjesz oryginału w AxiDraw, zastosuj ponownie zamierzone ustawienia kolejności w odpowiednim procesie drukowania.

Jeśli Twoim problemem jest niechciana geometria rysunku, wróć do kroku tworzenia trasy. Jeśli tylko droga poruszania się z podniesionym pisakiem jest marnotrawstwem, porównaj podglądy ze stałymi ustawieniami. Rozmiar fizyczny, zachowanie pióra i działanie maszyny nadal wymagają własnych kontroli; ta kontrola offline ich nie potwierdza.

## Gdzie pasuje PerfectVector przed tą kontrolą

Jeśli nadal masz tylko grafikę rastrową i chcesz, aby jej widoczne kontury z wypełnieniem kolorem były edytowalnymi kształtami wektorowymi, [wektoryzator obrazu PerfectVector](https://perfectvector.com/pl/image-to-vector) może być odpowiednim wcześniejszym krokiem. Sprawdź jego podgląd względem konturów i otworów źródła. Nie wyznacza pojedynczej linii środkowej ani nie optymalizuje kolejności ścieżek AxiDraw; użyj linii środkowej lub kreskowania, jeśli są to trasy, których potrzebujesz.

Jeśli masz już prawidłowe trasy SVG, zachowaj je i bezpośrednio przeprowadź kontrolę offline. Odtworzenie pliku SVG nie powoduje braku brakujących informacji o zamówieniu. Chroniony podgląd PerfectVector można tylko przeglądać; edycja i eksport wyniku wymagają jego odblokowania.

## Często zadawane pytania

**Czy zmiana kolejności AxiDraw trwale zmienia kolejność obiektów w moim pliku SVG?**
Nie. Udokumentowana optymalizacja wykorzystuje kopię tymczasową. Zapisany podgląd zawiera diagnostyczne warstwy ruchu, podczas gdy oryginalne obiekty graficzne zachowują swoją kolejność. Zachowaj wybrane ustawienie osobno.

**Dlaczego ruch pióra podniesionego znad papieru zmniejszył się, podczas gdy liczba uniesień pozostała taka sama?**
Te same osiem oddzielnych pociągnięć można odwiedzać w innej kolejności lub kierunku. W naszym teście referencyjnym z wyłączonym łączeniem ścieżek wszystkie ustawienia zgłaszały osiem podniesień i 64 mm rysunku, podczas gdy ruch przy podniesionym pisaku uległ zmianie.

**Czy zamawianie może naprawić podwójny ślad lub wygenerować cieniowanie?**
Nie. Najpierw popraw trasy rysunku. Użyj przepływu pracy z linią środkową dla pojedynczego pociągnięcia lub skonstruuj jawne ścieżki kreskowania do cieniowania obszaru, a następnie porównaj kolejność na zaakceptowanej geometrii.

## Źródła

1. [AxiDraw — dokumentacja API Pythona](https://www.axidraw.com/doc/py_api/) — definiuje podgląd i renderowanie offline, z przykładami zwracającymi podgląd SVG.
2. [AxiDraw — dokumentacja CLI](https://axidraw.com/doc/cli_api/) — obejmuje instalację, sekwencjonowanie ścieżek i ustawienia odwrócenia kierunku ścieżki, obsługę warstw i tymczasową optymalizację.
3. [W3C — Układy współrzędnych SVG, przekształcenia i jednostki](https://www.w3.org/TR/SVG2/coords.html#ViewBoxAttribute) — Wyjaśnia mapowanie rzutni użyte w zwymiarowanym przykładzie.

***

Wciąż zaczynasz od rysunku rastrowego, którego kontury z wypełnieniem kolorem są Ci potrzebne? [Zacznij od własnego obrazu](https://perfectvector.com/pl/image-to-vector), a następnie sprawdź kontury i otwory podglądu względem źródła. Gdy już istnieją zamierzone trasy piór, sprawdź ich kolejność osobno, korzystając z powyższej metody offline.

## Explore

- [Read the HTML article](https://perfectvector.com/pl/blog/axidraw-path-order)
- [Głębokość V-carve: szerszy element logo sięga głębiej](https://perfectvector.com/pl/blog/v-carve-width-depth.md)
- [Linie bigowania i cięcia SVG: odczytaj geometrię](https://perfectvector.com/pl/blog/svg-score-lines-vs-cut-lines.md)
- [Product facts](https://perfectvector.com/product-facts.md)
- [FAQ](https://perfectvector.com/faq.md)
- [Pricing and credits](https://perfectvector.com/pricing.md)
