Dear Inkscape Developers,
I added a few features to Inkscape for use in embroidery, because the commercial tools available don't offer the artistic flexibility I want. I would like to have your opinion on if you think it makes sense to integrate such functionality into the Inkscape mainline, or if it would be too much of a stretch. It boils down to some LPEs and an export format. The commercial tool I have from Bernina (a Swiss sewing machine manufacturer) is based on Corel Draw.
Below is a list of the additions I did / I am working on.
Please let me know what you think about this. With these additions, Inkscape offers substantially more flexibility than affordable commercial SW (and affordable here means 500..1000$).
Best regards,
Michael
1.) Ways to fill an area with clusters of contours
Inkscape already offers 2 path interpolation LPEs which allow this. I plan to add a 3rd one which creates a set of equidistant inset/outset paths.
2.) A way to connect sub path of a path into one continuous path
I added an LPE to do this with various options of end interpolation. Maybe if I use bool-ops I need to extend it with some sort of sorting, cutting and auto reversing mechanism to keep the connections short.
3.) A way to cut a path into stitches (straight line segments) in a controlled way.
I added an LPE to do this, but it is quite primitive as yet.
4.) Bool ops on paths because in embroidery you cannot simply hide an object below another one.
I just added a bool-op LPE for this - needs some additional work to cut contours against a closed path.
5.) A tool to convert graphics output to some format an embroidery / sewing machines can read.
I wrote an external tool to convert HPGL to a common embroidery format (stitch/DST), but could also integrate this into Inkscape.
6.) Maybe a tool to hide connections between path segments below filled areas. For a sewing machine it is quite complicated to do a "pen up" - it has to cut the threads, so one typically hides connection paths below some embroidery to avoid thread cutting.
Currently I do this semi-manually. Doing this automatically might be quite complicated.