Polylines in SVG are essentially the same thing as paths, but with no curves.
But inkscape-embroidery treats polylines as literal stitches; it does not
do satins, fills, etc but instead takes the coordinates and uses them directly
as stitches.
The advantage in this case is that one can re-run the extension on its own
output and get back the same stitch output. Why would you want to do this?
Consider the case where you have a basic embroidery machine that can only do
a 4x4" square. If you have something that's a bit bigger than 4 inches wide,
it might still fit in the square if you turn it at an angle. But working with
your entire design rotated at an angle is a total pain, and you'd also have to
rotate the angles of all the fills to compensate.
Instead, just run the extension, rotate the stitches to fit, and re-run, and
your stitch file will work on your 4x4" machine.
The Embroidery Params filter now pops up a full GTK dialog. This alows it to
load existing values in the selected shapes and present them to the user. The
user can also load and save presets.
If selected shapes have differing values for a given param, the values are
presented in a dropdown so the user can select one to apply to all.
This lets us auto-fill regions with holes in it. Just cut the region exactly
along the fill angle to convert a region with a hole to a region without.
This:
__________________
| |
| ______ |
| | | |
| | | |
| | | |
| |______| |
|__________________|
Becomes this:
__________________
| |
| ______ |
| | | |
| | | |
===== | |
| |______| |
|__________________|
The cut ( ===== ) is less than the width of the row spacing. Any connecting
stitch that follows this path becomes hidden among the rest of the fill --
an extra row of stitching isn't visible so long as the staggers line up.
Split into classes for Fill, Stroke, and SatinColumn. Renamed params to be
the same across XML attributes and OptionParser. Added distinct stitch length
params for satin underlay. Renamed "satin underlay" to "contour underlay" and
split out "center walk underlay" and "zigzag underlay".
The code is ten times more readable, parameters make more sense, and everything
is specified by the user in millimeters. Basically, everything is way better.