PerfectVector
Por Irene Kim

AxiDraw: revisa el orden de trazados antes de dibujar

Compare las vistas previas SVG sin conexión de AxiDraw para comprobar el orden, la inversión y el movimiento de los trazados con el lápiz levantado del papel. Conserve la geometría del dibujo y comprenda lo que conserva el SVG guardado.

10 min de lectura
En esta página

Para optimizar el recorrido del lápiz SVG en AxiDraw, primero confirme que los trazados dibujen las marcas que desea. Luego compare vistas previas sin conexión con la misma geometría y configuraciones fijas. Reordenar puede acortar el movimiento del lápiz con el lápiz levantado sin reducir el número de levantamientos ni cambiar las formas dibujadas.

Mantenga su SVG original. La vista previa a continuación verifica el orden y la inversión de ruta opcional; no reconstruye líneas centrales, repara contornos no deseados ni reorganiza permanentemente los objetos SVG originales. Nuestra prueba utiliza ocho trazos abiertos de autor, no un contorno vectorizado de PerfectVector ni un dibujo físico con lápiz.

Pruébalo con tu propia imagen
Abrir la herramienta completa
Puedes probarlo gratis. Suelta una imagen y mira la vista previa de tu vector, sin registrarte.

Diagnostica los saltos antes de cambiar el orden.

El movimiento con el bolígrafo tocando el papel es el recorrido que deja marcas. El movimiento con el bolígrafo levantado del papel es un movimiento entre marcas con el bolígrafo levantado. Un dibujo de apariencia corta puede tener un movimiento prolongado con el lápiz levantado del papel cuando los objetos sucesivos se encuentran muy separados.

Lo que muestra la vista previaQué abordar primero
Dos aristas alrededor de una línea que debería ser de un solo trazoConstruya la ruta de una sola línea prevista
Un perímetro vacío donde querías una zona de sombraCrear trazados de pluma de relleno sombreado explícitos
Marcas correctas, pero saltos repetidos a través de la página.Compare las configuraciones de secuenciación de ruta e inversión de dirección de ruta a continuación
Líneas no deseadas dibujadas entre marcas separadasVerifique la geometría de la pluma y la unión de la ruta antes de aceptar cualquier ruta más corta.

Medir la longitud de la ruta SVG responde a la longitud de la geometría del dibujo. No incluye por sí solo el recorrido de la máquina entre esos caminos.

La referencia de CLI de AxiDraw distingue estas configuraciones: 0 normalmente sigue el orden de los documentos con unión disponible, 1 también reordena las rutas y 2 también permite la inversión de rutas. Conectar trazados de dibujo adyacentes es una decisión independiente. Para esta comparación, lo desactivamos con min_gap = -1 para que los trazos adyacentes no puedan convertirse en una marca continua.

La inversión puede ser importante para trabajos sensibles a la dirección. Si el dibujo debe seguir una secuencia o dirección de escritura particular, una ruta de movimiento más corta con el bolígrafo levantado no es razón suficiente para aceptar la configuración 2. Las capas también limitan la clasificación; No se debe suponer que los grupos anidados conservan una secuencia de dibujo bajo optimización. Inspeccione la vista previa real de su documento.

Ejecute tres vistas previas sin conexión en un SVG sin cambios

Este ejemplo requiere Python y la API oficial de AxiDraw Python. Probamos API 3.9.6 con Python 3.9.6. Siga las instrucciones de instalación oficiales si el módulo no está instalado en el entorno Python que utiliza.

La referencia de la API de Python define la vista previa como simulación fuera de línea. Establezca preview = True después plot_setup y antes plot_run. El siguiente script siempre lo establece y lo afirma; no contiene ninguna llamada de conexión del dispositivo.

Guarde este pequeño ejemplo como eight-strokes.svg o utilice un duplicado de su propio 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>

El archivo de prueba tiene una ventana gráfica de 100 × 80 mm y dimensiones de viewBox coincidentes. Esto asigna cada unidad de coordenadas a 1 mm aquí, siguiendo el mapeo de ventana gráfica y viewBox de SVG. Cada uno de sus ocho trazos tiene 8 mm de largo.

Guarde lo siguiente como 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)

Ejecútelo con el entorno Python que contiene la API oficial, usando un nuevo nombre de directorio de salida:

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

Guarda tres SVG de diagnóstico y distances.json. rendering = 3 incluye movimiento elevado y de dibujo. Los inicios aleatorios y la rotación automática están desactivados; La unión de rutas está deshabilitada. Mantenga esas opciones fijas al comparar su propio archivo. Este script es un método de inspección fuera de línea, no un comando para operar un trazador.

Compare el movimiento con el lápiz levantado y la geometría dibujada por separado

En nuestro archivo de prueba de ocho tiempos, el script exacto produjo:

ReordenarMovimiento estimado con el bolígrafo levantado del papel.Movimiento con el bolígrafo tocando el papel.Ascensos reportados
00,509749m0,064 metros8
10,223592m0,064 metros8
20,180919m0,064 metros8

Estas son estimaciones de software nativo para este archivo, incluidos los viajes desde el principio y el regreso a casa. La distancia de descenso se mantuvo en 64 mm y el recuento de levantamientos se mantuvo en ocho. Un movimiento más corto con el bolígrafo levantado del papel no significó menos levantamientos. No medimos un dibujo físico con bolígrafo, el tiempo de trazado transcurrido ni una mejora garantizada para otro dibujo.

Las vistas previas apiladas de AxiDraw muestran ocho trazos de dibujo azules sin cambios, mientras que las rutas de movimiento magenta con el lápiz levantado difieren entre ordenar cero y dos; Se mejoran el contraste de la pantalla y el grosor de los trazos.
Captura de Preview real de copias de visualización de rutas de SDK nativas apiladas, representadas con resvg. El azul es el lápiz hacia abajo; el magenta está arriba. Los colores y los grosores de los trazos se han mejorado para mayor legibilidad; Las coordenadas de la ruta nativa no cambian. No había ningún conspirador conectado.

La figura apilada compara las configuraciones 0 y 2; la tabla también incluye 1. Muestra copias de las rutas de vista previa del SDK nativo con colores azul y magenta más intensos y trazos más gruesos para mayor legibilidad. Estos son estilos de visualización, no anchos de lápiz físicos. Las coordenadas y transformaciones de la ruta nativa no cambian; la ventana gráfica de visualización recorta el espacio no utilizado. Se inspeccionaron las tres vistas previas nativas y una verificación de geometría independiente encontró los mismos ocho segmentos de dibujo horizontales, lo que permitió invertir el orden de sus puntos finales. Cada vértice muestreado permaneció en su segmento previsto.

Para su archivo, abra cada SVG de vista previa y examine la capa de dibujo por separado de la capa de recorrido elevado. Confirme el tamaño y la ubicación de la página previstos, todas las marcas esperadas, los agujeros o espacios sin cambios y que no haya ningún conector dibujado nuevo. Compruebe que cualquier trazo invertido sea aceptable. Rechaza una ruta que tenga marcas incorrectas incluso si su informe de distancia es menor.

Comprender lo que conserva la vista previa guardada

La documentación de reordenamiento de AxiDraw explica que la optimización ocurre en una copia temporal. Los objetos originales en un SVG de salida guardado conservan su orden original. Nuestros resultados también conservaron cada ruta stroke-* original y su secuencia original.

Por lo tanto, preview-order-2.svg es una vista previa de diagnóstico, no una prueba de que otro programa leerá un archivo de arte reordenado permanentemente. Mantenga juntos la fuente, la opción elegida y el informe de comparación. Cuando utilice el original con AxiDraw más adelante, aplique nuevamente la configuración de orden deseada en el flujo de trabajo de trazado apropiado.

Si su problema es dibujar una geometría no deseada, regrese al paso de creación de rutas. Si solo la ruta de movimiento con el bolígrafo levantado es un desperdicio, compare las vistas previas con configuración fija. El tamaño físico, el comportamiento del corral y el funcionamiento de la máquina aún requieren sus propios controles; este control fuera de línea no los prueba.

Dónde encaja PerfectVector antes de esta verificación

Si todavía solo tiene ilustraciones rasterizadas y desea que sus formas delineadas visibles con un relleno de color sean formas vectoriales editables, el vectorizador de imágenes de PerfectVector puede ser un paso previo adecuado. Inspeccione su vista previa comparándola con los contornos y agujeros de su fuente. No infiere una única línea central ni optimiza el orden de las rutas de AxiDraw; utilice el flujo de trabajo de línea central o sombreado cuando esas sean las rutas que necesita.

Si ya tiene las rutas SVG correctas, consérvelas y realice la verificación sin conexión directamente. Volver sobre un SVG no agrega información de pedido faltante. La vista previa protegida de PerfectVector es de sólo visualización; editar y exportar un resultado requiere desbloquearlo.

Preguntas frecuentes

¿El reordenamiento de AxiDraw cambia permanentemente el orden de los objetos de mi SVG? No. La optimización documentada utiliza una copia temporal. Una vista previa guardada contiene capas de movimiento de diagnóstico, mientras que los objetos de la obra de arte original conservan su orden. Conserve la configuración elegida por separado.

¿Por qué el movimiento con el bolígrafo levantado del papel se reduce mientras que el recuento de levantamientos permanece igual? Los mismos ocho trazos separados se pueden visitar en una secuencia o dirección diferente. En nuestra referencia de prueba con la unión de caminos deshabilitada, todas las configuraciones informaron ocho elevaciones y 64 mm de dibujo, mientras que el movimiento con el bolígrafo levantado cambió.

¿Se puede realizar un pedido para corregir un trazo de doble contorno o generar sombreado? No. Primero corrija las rutas de dibujo. Utilice un flujo de trabajo de línea central para un solo trazo o cree trazados de sombreado explícitos para sombrear el área y luego compare el orden en esa geometría aceptada.

Fuentes

  1. AxiDraw: referencia de la API de Python: define la vista previa y la representación sin conexión, con ejemplos que devuelven SVG de vista previa.
  2. AxiDraw — Referencia CLI: cubre la instalación, la secuenciación de rutas y la configuración de inversión de dirección de ruta, el manejo de capas y la optimización temporal.
  3. W3C — Sistemas de coordenadas, transformaciones y unidades SVG: explica el mapeo de la ventana gráfica utilizado en el ejemplo acotado.

¿Aún estás partiendo de un dibujo rasterizado cuyas formas delineadas con un relleno de color necesitas? Comienza gratis con tu propia imagen, luego inspecciona los contornos y agujeros de la vista previa con respecto a la fuente. Una vez que existan las rutas de lápiz deseadas, verifique su orden por separado con el método fuera de línea anterior.

Más del blog

PerfectVector

Convierte tu imagen en un
SVG editable

Vectoriza y revisa la vista previa gratis, sin límite diario.