A greedy path planning tool that optimizes SVG files for more efficient pen plotting by sorting drawing paths.
Svg Spatial Sort is a Python command-line tool that optimizes SVG files for pen plotting by reordering drawing paths to minimize travel distance. It solves the problem of inefficient plotting where plotters waste time moving between disconnected path segments, significantly reducing plotting time through intelligent path sequencing.
Pen plotter enthusiasts, digital fabrication artists, and anyone working with SVG files for physical plotting who wants to optimize their plotting workflow and reduce machine idle time.
It provides a simple, efficient solution specifically tailored for plotting workflows, with practical optimizations like bidirectional path drawing and automatic paper fitting that commercial SVG editors typically lack for this niche use case.
svg path sorter for more efficient (pen)plotting.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses a greedy algorithm to reorder SVG paths, minimizing pen travel distance and significantly reducing plotting time, as highlighted in the key features.
Includes path splitting for continuous subpaths, bidirectional travel to reduce pen lifts, and automatic paper fitting to standard sizes like A3, as detailed in the README.
Operates via straightforward terminal commands like 'svgsort input.svg out.svg' with clear options such as --dim and --repeat for customization.
Offers a repeat mode that draws each path twice in both directions, improving line quality for plotting, as mentioned in the features.
The README explicitly states that this is a personal tool not intended for collaboration, with no plans to accept PRs or address issues, making it unsuitable for teams needing reliable support.
Requires installation via setup.py and includes modified dependencies due to issues with pip, leading to a non-standard and potentially complex setup process.
Employs a greedy approach that prioritizes practical efficiency over theoretical optimality, which may not satisfy users seeking the most precise path sequences.