AxiDraw: controlla l’ordine dei tracciati prima del disegno
Confronta le anteprime SVG offline di AxiDraw per verificare l'ordine, l'inversione e il movimento del percorso con la penna sollevata dal foglio. Conserva la geometria del disegno e scopri cosa conserva l'SVG salvato.
In questa pagina
- Diagnosticare i salti prima di modificare l'ordine
- Esegui tre anteprime offline su un SVG invariato
- Confrontare separatamente il movimento con la penna sollevata e la geometria disegnata
- Comprendi cosa conserva l'anteprima salvata
- Dove si inserisce PerfectVector prima di questo controllo
- Domande frequenti
- Fonti
Per ottimizzare la corsa della penna SVG in AxiDraw, conferma innanzitutto che i percorsi disegnano i segni desiderati. Quindi confronta le anteprime offline con la stessa geometria e impostazioni fisse. Il riordino può abbreviare il movimento della penna con la penna sollevata senza ridurre il numero di sollevamenti o modificare le forme disegnate.
Conserva il tuo SVG originale. L'anteprima qui sotto controlla l'ordine e l'inversione facoltativa del percorso; non ricostruisce le linee centrali, non ripara i contorni indesiderati né riorganizza in modo permanente gli oggetti SVG originali. Il nostro test utilizza otto tratti aperti creati, non un contorno vettoriale di PerfectVector o un disegno fisico a penna.
Diagnosticare i salti prima di modificare l'ordine
Il movimento con la penna che tocca la carta è il percorso che lascia i segni. Il movimento con la penna sollevata dal foglio è movimento tra segni con la penna sollevata. Un disegno dall'aspetto breve può avere un movimento lungo con la penna sollevata dal foglio quando gli oggetti successivi sono distanti.
| Cosa mostra l'anteprima | Cosa affrontare per primo |
|---|---|
| Due bordi attorno a una linea che dovrebbe essere un tratto | Costruisci il percorso a linea unica previsto |
| Un perimetro vuoto dove volevi una zona d'ombra | Crea percorsi penna con riempimento tratteggio espliciti |
| Segni corretti, ma salti ripetuti attraverso la pagina | Confronta le impostazioni di sequenziamento del percorso e di inversione della direzione del percorso di seguito |
| Linee indesiderate tracciate tra segni separati | Controllare la geometria del pen-down e l'unione del percorso prima di accettare qualsiasi percorso più breve |
La misurazione della lunghezza del percorso SVG risponde alla lunghezza della geometria del disegno. Di per sé non include il viaggio della macchina tra questi percorsi.
Il riferimento CLI AxiDraw distingue queste impostazioni: 0 normalmente segue l'ordine dei documenti con l'unione disponibile, 1 riordina anche i percorsi e 2 consente anche l'inversione del percorso. Il collegamento di percorsi di disegno adiacenti è una decisione separata. Per questo confronto, lo disabilitiamo con min_gap = -1 in modo che i tratti adiacenti non possano diventare un segno continuo.
L'inversione può essere importante per il lavoro sensibile alla direzione. Se il disegno deve seguire una particolare sequenza o direzione di scrittura, un percorso di spostamento più breve con la penna sollevata non è motivo sufficiente per accettare l'impostazione 2. I livelli vincolano anche l'ordinamento; Non si dovrebbe presumere che i gruppi nidificati preservino una sequenza di disegni in fase di ottimizzazione. Esamina l'anteprima effettiva del tuo documento.
Esegui tre anteprime offline su un SVG invariato
Questo esempio richiede Python e l'API AxiDraw Python ufficiale. Abbiamo testato l'API 3.9.6 con Python 3.9.6. Segui le istruzioni di installazione ufficiali se il modulo non è installato nell'ambiente Python che utilizzi.
Il riferimento API Python definisce l'anteprima come simulazione offline. Imposta preview = True dopo plot_setup e prima plot_run. Lo script seguente lo imposta e lo afferma sempre; non contiene alcuna chiamata di connessione del dispositivo.
Salva questo piccolo esempio come eight-strokes.svg o utilizza un duplicato del tuo SVG:
<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>Il file di test ha un viewport 100 × 80 mm e dimensioni viewBox corrispondenti. Qui ogni unità di coordinate viene mappata su 1 mm, seguendo la mappatura viewport e viewBox di SVG. Ciascuno dei suoi otto tratti è lungo 8 mm.
Salva quanto segue come 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)Eseguilo con l'ambiente Python contenente l'API ufficiale, utilizzando un nuovo nome di directory di output:
python3 preview-orders.py eight-strokes.svg preview-checkSalva tre SVG diagnostici e distances.json. rendering = 3 include sia il movimento in rilievo che quello del disegno. Gli avviamenti casuali e la rotazione automatica sono disattivati; l'unione dei percorsi è disabilitata. Mantieni fisse queste scelte quando confronti il tuo file. Questo script è un metodo di ispezione offline, non un comando per utilizzare un plotter.
Confrontare separatamente il movimento con la penna sollevata e la geometria disegnata
Sul nostro file di test a otto tempi, lo script esatto ha prodotto:
| Riordino | Movimento stimato con la penna sollevata dal foglio | Movimento con la penna che tocca la carta | Ascensori segnalati |
|---|---|---|---|
0 | 0,509749 mt | 0,064 m | 8 |
1 | 0,223592 m | 0,064 m | 8 |
2 | 0,180919 m | 0,064 m | 8 |
Queste sono le stime del software nativo per questo file, incluso il viaggio dall'inizio al ritorno a casa. La distanza di abbassamento della penna è rimasta di 64 mm e il numero di sollevamenti è rimasto di otto. Un movimento più breve con la penna sollevata dal foglio non significava meno sollevamenti. Non abbiamo misurato un disegno fisico a penna, il tempo trascorso per la stampa o un miglioramento garantito per un altro disegno.

La figura in pila confronta le impostazioni 0 e 2; la tabella include anche 1. Visualizza copie dei percorsi di anteprima dell'SDK nativo con colori blu e magenta più forti e tratti più spessi per garantire la leggibilità. Questi sono stili di visualizzazione, non larghezze fisiche della penna. Le coordinate e le trasformazioni del percorso nativo rimangono invariate; la finestra di visualizzazione ritaglia lo spazio inutilizzato. Sono state ispezionate tutte e tre le anteprime native e un controllo della geometria indipendente ha rilevato gli stessi otto segmenti di disegno orizzontali, consentendo l'inversione dell'ordine dei punti finali. Ogni vertice pen-down campionato è rimasto sul segmento previsto.
Per il tuo file, apri ciascuna anteprima SVG ed esamina il livello di disegno separatamente dal livello di viaggio in rilievo. Confermare le dimensioni e la posizione della pagina previste, tutti i segni previsti, i fori o gli spazi vuoti invariati e nessun nuovo connettore disegnato. Verificare che qualsiasi corsa inversa sia accettabile. Rifiuta un percorso che disegna segni sbagliati anche se il suo rapporto di distanza è inferiore.
Comprendi cosa conserva l'anteprima salvata
La documentazione sul riordino di AxiDraw spiega che l'ottimizzazione avviene in una copia temporanea. Gli oggetti originali in un SVG di output salvato mantengono il loro ordine originale. Allo stesso modo i nostri output hanno mantenuto ogni percorso stroke-* originale e la sua sequenza originale.
Pertanto, preview-order-2.svg è un'anteprima diagnostica, non una prova che un altro programma leggerà un file di grafica riordinato in modo permanente. Mantieni insieme la fonte, l'opzione scelta e il rapporto di confronto. Quando si utilizza l'originale con AxiDraw in un secondo momento, applicare nuovamente le impostazioni di ordinamento previste nel flusso di lavoro di stampa appropriato.
Se il problema riguarda la geometria del disegno indesiderata, tornare alla fase di creazione del percorso. Se solo il percorso di spostamento con la penna sollevata è dispendioso, confrontare le anteprime a impostazione fissa. Le dimensioni fisiche, il comportamento della penna e il funzionamento della macchina richiedono ancora controlli propri; questo controllo offline non li dimostra.
Dove si inserisce PerfectVector prima di questo controllo
Se hai ancora solo grafica raster e desideri che le sue forme delineate visibili con un riempimento di colore siano forme vettoriali modificabili, vettorizzatore di immagini di PerfectVector può essere un passaggio precedente adatto. Esamina la sua anteprima rispetto ai contorni e ai buchi della tua fonte. Non deduce una singola linea centrale né ottimizza l'ordine del percorso AxiDraw; utilizzare il flusso di lavoro della linea centrale o del tratteggio quando questi sono i percorsi necessari.
Se disponi già dei percorsi SVG corretti, conservali ed esegui direttamente il controllo offline. Ripercorrere un SVG non aggiunge informazioni sull'ordine mancanti. L'anteprima protetta di PerfectVector è di sola visualizzazione; la modifica e l'esportazione di un risultato richiedono lo sblocco.
Domande frequenti
Il riordino di AxiDraw modifica permanentemente l'ordine degli oggetti del mio SVG? No. L'ottimizzazione documentata utilizza una copia temporanea. Un'anteprima salvata contiene livelli di movimento diagnostici, mentre gli oggetti del disegno originale mantengono il loro ordine. Conserva separatamente l'impostazione scelta.
Perché il movimento con la penna sollevata dal foglio si è ridotto mentre il conteggio dei sollevamenti è rimasto lo stesso? Gli stessi otto tratti separati possono essere visitati in una sequenza o direzione diversa. Nel nostro test di riferimento con unione dei percorsi disabilitata, tutte le impostazioni riportavano otto sollevamenti e 64 mm di disegno, mentre il movimento con la penna sollevata è cambiato.
L'ordine può correggere una traccia a doppio contorno o generare ombreggiature? No. Correggere prima i percorsi di disegno. Utilizza un flusso di lavoro basato sulla linea centrale per un singolo tratto o costruisci percorsi di tratteggio espliciti per l'ombreggiatura dell'area, quindi confronta l'ordinamento sulla geometria accettata.
Fonti
- AxiDraw — Riferimento API Python — Definisce l'anteprima e il rendering offline, con esempi che restituiscono SVG di anteprima.
- AxiDraw — Riferimento CLI — Copre l'installazione, la sequenza dei percorsi e le impostazioni di inversione della direzione del percorso, la gestione dei livelli e l'ottimizzazione temporanea.
- W3C — Sistemi di coordinate, trasformazioni e unità SVG — Spiega la mappatura del viewport utilizzata dall'esempio quotato.
Stai ancora partendo da un disegno raster di cui hai bisogno di forme delineate con riempimento di colore? Inizia gratuitamente con la tua immagine, quindi esamina i contorni e i buchi dell'anteprima rispetto alla fonte. Una volta esistenti i percorsi penna previsti, controllarne l'ordine separatamente con il metodo offline sopra.
Altro dal blog
Profondità V-carve: i tratti larghi scavano di più
Scopri come larghezza della grafica e angolo della fresa a V determinano la profondità. Calcola un logo e distingui fondo piano, profondità di passata e contorni ricalcati.
SVG: linee di cordonatura e taglio, leggi la geometria
Esamina la geometria delle pieghe SVG prima di assegnare Score o Cut. Confronta tracciati aperti, bande piene e tratteggi, poi verifica il flusso documentato di Cricut.


