PerfectVector
Oleh Irene Kim

Periksa Urutan Jalur AxiDraw sebelum Plot SVG

Bandingkan pratinjau SVG offline AxiDraw untuk memeriksa urutan jalur, pembalikan, dan pergerakan dengan pena terangkat dari kertas. Pertahankan geometri gambar dan pahami apa yang dipertahankan oleh SVG yang disimpan.

8 menit baca
Di halaman ini

Untuk mengoptimalkan pergerakan pena SVG di AxiDraw, pertama-tama konfirmasikan bahwa jalur menggambar tanda yang Anda inginkan. Kemudian bandingkan pratinjau offline dengan geometri dan pengaturan tetap yang sama. Penataan ulang dapat memperpendek pergerakan pena dengan pena terangkat tanpa mengurangi jumlah pengangkatan atau mengubah bentuk yang digambar.

Simpan SVG asli Anda. Pratinjau di bawah memeriksa pemesanan dan pembalikan jalur opsional; itu tidak merekonstruksi garis tengah, memperbaiki garis luar yang tidak diinginkan, atau mengatur ulang objek SVG asli secara permanen. Pengujian kami menggunakan delapan goresan terbuka, bukan garis vektor dari PerfectVector atau gambar pena fisik.

Coba dengan gambar Anda sendiri
Buka alat lengkap
Gratis dicoba. Letakkan gambar untuk melihat pratinjau vektor Anda, tanpa perlu mendaftar.

Diagnosis lompatan sebelum mengubah urutan

Gerakan dengan pena menyentuh kertas merupakan jalur yang membuat tanda. Gerakan dengan mengangkat pena dari kertas merupakan gerakan antar tanda dengan mengangkat pena. Gambar yang terlihat pendek dapat memiliki gerakan panjang dengan pena terangkat dari kertas ketika objek yang berurutan berada berjauhan.

Apa yang ditampilkan pratinjauApa yang harus diatasi terlebih dahulu
Dua sisi di sekeliling garis yang seharusnya menjadi satu goresanBuatlah rute jalur tunggal yang diinginkan
Perimeter kosong di mana Anda menginginkan area yang teduhBuat jalur pena isi palka yang eksplisit
Nilai benar, tetapi lompatan berulang melintasi halamanBandingkan pengurutan jalur dan pengaturan pembalikan arah jalur di bawah ini
Garis-garis yang tidak diinginkan ditarik di antara tanda-tanda yang terpisahPeriksa geometri pen-down dan sambungan jalur sebelum menerima rute yang lebih pendek

Mengukur panjang jalur SVG menjawab berapa panjang geometri gambar. Hal ini tidak dengan sendirinya mencakup perjalanan mesin di antara jalur-jalur tersebut.

Referensi AxiDraw CLI membedakan pengaturan ini: 0 biasanya mengikuti urutan dokumen dengan penggabungan yang tersedia, 1 juga menyusun ulang jalur, dan 2 juga mengizinkan pembalikan jalur. Menghubungkan jalur gambar yang berdekatan adalah keputusan tersendiri. Untuk perbandingan ini, kita menonaktifkannya dengan min_gap = -1 sehingga guratan yang berdekatan tidak dapat menjadi satu tanda yang berkesinambungan.

Pembalikan dapat menjadi hal yang penting untuk pekerjaan yang sensitif terhadap arah. Jika gambar harus mengikuti urutan atau arah penulisan tertentu, rute pergerakan yang lebih pendek dengan pena terangkat tidak cukup menjadi alasan untuk menerima pengaturan 2. Lapisan juga membatasi penyortiran; grup bersarang tidak boleh diasumsikan mempertahankan urutan gambar dalam optimasi. Periksa pratinjau sebenarnya untuk dokumen Anda.

Jalankan tiga pratinjau offline pada SVG yang tidak diubah

Contoh ini memerlukan Python dan API AxiDraw Python resmi. Kami menguji API 3.9.6 dengan Python 3.9.6. Ikuti petunjuk penginstalan resmi jika modul tidak diinstal di lingkungan Python yang Anda gunakan.

Referensi API Python mendefinisikan pratinjau sebagai simulasi offline. Setel preview = True setelah plot_setup dan sebelum plot_run. Script di bawah ini selalu menetapkan dan menegaskannya; itu tidak berisi panggilan koneksi perangkat.

Simpan contoh kecil ini sebagai eight-strokes.svg, atau gunakan duplikat SVG Anda sendiri:

<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>

Perlengkapan ini memiliki area pandang 100 × 80 mm dan dimensi viewBox yang cocok. Itu memetakan setiap unit koordinat ke 1 mm di sini, mengikuti viewport dan pemetaan viewBox SVG. Masing-masing dari delapan pukulannya memiliki panjang 8 mm.

Simpan yang berikut ini sebagai preview-orders.py:

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)

Jalankan dengan lingkungan Python yang berisi API resmi, menggunakan nama direktori keluaran baru:

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

Ini menghemat tiga SVG diagnostik dan distances.json. rendering = 3 mencakup gerakan mengangkat dan menggambar. Mulai acak dan rotasi otomatis mati; bergabung dengan jalur dinonaktifkan. Pertahankan pilihan tersebut saat membandingkan file Anda sendiri. Skrip ini adalah metode pemeriksaan offline, bukan perintah untuk mengoperasikan plotter.

Bandingkan gerakan dengan pena yang diangkat dan digambar secara terpisah

Pada perlengkapan delapan langkah kami, skrip persisnya menghasilkan:

Menyusun ulangPerkiraan gerakan dengan pena terangkat dari kertasGerakan dengan pena menyentuh kertasLift yang dilaporkan
00,509749m0,064 m8
10,223592m0,064 m8
20,180919m0,064 m8

Ini adalah perkiraan perangkat lunak asli untuk file ini, termasuk perjalanan dari awal dan kembali ke rumah. Jarak pen-down tetap 64 mm dan jumlah pengangkatan tetap delapan. Pergerakan yang lebih pendek dengan pena terangkat dari kertas tidak berarti lebih sedikit pengangkatan. Kami tidak mengukur fisik gambar pena, waktu pembuatan plot, atau jaminan peningkatan untuk gambar lainnya.

Pratinjau AxiDraw bertumpuk menunjukkan delapan goresan gambar biru tidak berubah sementara rute pergerakan magenta dengan pena terangkat berbeda antara urutan nol dan dua; kontras tampilan dan bobot guratan ditingkatkan.
Pengambilan Pratinjau Aktual dari salinan tampilan jalur SDK asli yang ditumpuk, dirender dengan resvg. Biru adalah pena; magenta sudah habis. Warna dan bobot guratan ditingkatkan agar mudah dibaca; koordinat jalur asli tidak berubah. Tidak ada plotter yang terhubung.

Gambar bertumpuk membandingkan setelan 0 dan 2; tabel juga menyertakan 1. Ini menampilkan salinan jalur pratinjau SDK asli dengan warna biru dan magenta yang lebih kuat serta guratan yang lebih tebal agar mudah dibaca. Ini adalah gaya tampilan, bukan lebar fisik pena. Koordinat dan transformasi jalur asli tidak berubah; area pandang tampilan memotong ruang yang tidak digunakan. Ketiga pratinjau asli diperiksa, dan pemeriksaan geometri independen menemukan delapan segmen gambar horizontal yang sama, memungkinkan pembalikan urutan titik akhirnya. Setiap simpul pen-down yang dijadikan sampel tetap berada pada segmen yang dituju.

Untuk file Anda, buka setiap pratinjau SVG dan periksa lapisan gambar secara terpisah dari lapisan perjalanan yang ditinggikan. Konfirmasikan ukuran dan lokasi halaman yang diinginkan, semua tanda yang diharapkan, lubang atau celah yang tidak berubah, dan tidak ada konektor baru yang ditarik. Periksa apakah gerakan terbalik dapat diterima. Tolak rute yang memberikan tanda yang salah meskipun laporan jaraknya lebih kecil.

Pahami apa yang dipertahankan oleh pratinjau tersimpan

dokumentasi pemesanan ulang AxiDraw menjelaskan bahwa pengoptimalan terjadi dalam salinan sementara. Objek asli dalam SVG keluaran yang disimpan mempertahankan urutan aslinya. Output kami juga mempertahankan setiap jalur stroke-* asli dan urutan aslinya.

Oleh karena itu, preview-order-2.svg adalah pratinjau diagnostik, bukan bukti bahwa program lain akan membaca file karya seni yang disusun ulang secara permanen. Simpan sumber, opsi yang dipilih, dan laporan perbandingan. Saat menggunakan dokumen asli dengan AxiDraw nanti, terapkan kembali pengaturan pengurutan yang diinginkan dalam alur kerja plot yang sesuai.

Jika masalah Anda adalah menggambar geometri yang tidak diinginkan, kembali ke langkah pembuatan rute. Jika hanya rute pergerakan dengan pena terangkat yang sia-sia, bandingkan pratinjau pengaturan tetap. Ukuran fisik, perilaku pena, dan pengoperasian mesin masih memerlukan pemeriksaan sendiri; kontrol offline ini tidak membuktikannya.

Dimana PerfectVector cocok sebelum pemeriksaan ini

Jika Anda masih hanya memiliki karya seni raster dan ingin bentuk garis luarnya terlihat dengan isian warna sebagai bentuk vektor yang dapat diedit, vektorizer gambar PerfectVector dapat menjadi langkah awal yang sesuai. Periksa pratinjaunya terhadap kontur dan lubang sumber Anda. Ini tidak menyimpulkan satu garis tengah atau mengoptimalkan urutan jalur AxiDraw; gunakan alur kerja garis tengah atau penetasan jika itu adalah rute yang Anda perlukan.

Jika Anda sudah memiliki rute SVG yang benar, simpan rute tersebut dan lakukan pemeriksaan offline secara langsung. Menelusuri kembali SVG tidak menambahkan informasi pemesanan yang hilang. Pratinjau PerfectVector yang dilindungi hanya dapat dilihat; mengedit dan mengekspor hasil memerlukan pembukaan kuncinya.

Pertanyaan Umum

Apakah penataan ulang AxiDraw mengubah urutan objek SVG saya secara permanen? Tidak. Pengoptimalan yang terdokumentasi menggunakan salinan sementara. Pratinjau yang disimpan berisi lapisan gerakan diagnostik, sedangkan objek karya seni asli mempertahankan urutannya. Pertahankan pengaturan yang dipilih secara terpisah.

Mengapa gerakan dengan pena yang diangkat dari kertas menyusut sementara jumlah pengangkatannya tetap? Delapan pukulan terpisah yang sama dapat dikunjungi dalam urutan atau arah yang berbeda. Dalam referensi pengujian kami dengan penggabungan jalur dinonaktifkan, semua pengaturan melaporkan delapan pengangkatan dan gambar 64 mm, sementara gerakan dengan pena terangkat berubah.

Dapatkah pemesanan memperbaiki jejak garis ganda atau menghasilkan bayangan? Tidak. Perbaiki rute gambarnya terlebih dahulu. Gunakan alur kerja garis tengah untuk satu goresan, atau buat jalur penetasan eksplisit untuk penetasan area, lalu bandingkan urutan pada geometri yang diterima.

Sumber

  1. AxiDraw — Referensi API Python — Mendefinisikan pratinjau dan rendering offline, dengan contoh yang mengembalikan SVG pratinjau.
  2. AxiDraw — Referensi CLI — Meliputi instalasi, pengurutan jalur dan pengaturan pembalikan arah jalur, penanganan lapisan, dan pengoptimalan sementara.
  3. W3C — Sistem Koordinat, Transformasi, dan Unit SVG — Menjelaskan pemetaan area pandang yang digunakan oleh contoh dimensi.

Masih memulai dari gambar raster yang bentuknya digariskan dengan isian warna yang Anda butuhkan? Mulai gratis dengan gambar Anda sendiri, lalu periksa kontur dan lubang pratinjau terhadap sumbernya. Setelah rute pena yang dimaksud sudah ada, periksa pesanannya secara terpisah dengan metode offline di atas.

Lebih banyak dari blog

PerfectVector

Ubah gambar Anda menjadi
SVG yang dapat diedit

Vektorisasi dan periksa pratinjau secara gratis, tanpa batas harian.