Re: Embroidery extension

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Embroidery extension

Susan Spencer-2
Hi Lex,
This is the dev list for Inkscape. There's a wide range in backgrounds for devs here, and new contributors are welcome.

Hi devs,
Meet Lex Neva, he's a fantastic programmer and has been contributing to the embroidery extension. He's done some mind blowing work with pattern fill. He's looking at a particular issue and has some questions for the math heads amongst you. 

Good luck with 0.92.2 release!

Best,

Susan Spencer

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Embroidery extension

Inkscape - Dev mailing list
Hi Lex,

I did the embroidery stitching LPE and the path cutter LPE, both are
very useful for embroidery design. What is the embroidery extension
Susan mentioned below? Hope we didn't do the same thing.

Any discussions on the topic are welcome. What is the math issue?

My next plan is to write an export filter in some documented and common
import format for stitching machines. Suggestions on the format are welcome.

Best regards,

Michael

On 28.07.2017 20:20, Susan Spencer wrote:

> Hi Lex,
> This is the dev list for Inkscape. There's a wide range in backgrounds
> for devs here, and new contributors are welcome.
>
> Hi devs,
> Meet Lex Neva, he's a fantastic programmer and has been contributing to
> the embroidery extension. He's done some mind blowing work with pattern
> fill. He's looking at a particular issue and has some questions for the
> math heads amongst you.
>
> Good luck with 0.92.2 release!
>
> Best,
>
> Susan Spencer
> http://valentina-project.org <http://valentina-project.org/>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Embroidery extension

Lex Neva
In reply to this post by Susan Spencer-2
Hi Michael,

Sorry for the delay!  I didn't even know there was an embroidery LPE.  I
don't see it in 0.92.1... how can I test it out?

The extension that Susan was referring to is here:
https://github.com/lexelby/inkscape-embroidery

It started off as a little project by jonh, and then it migrated to github,
and then I forked it and hacked the heck out of it.  I've rewritten most of
the major sections at this point.

For exporting, I'd recommend you examine embroidermodder2.  That project
seems to be mostly abandoned at this point, but it does have a nice little
library that understands all major (and many minor) embroidery machine file
formats.  You may even be able to get it to convert directly from an SVG to
a .PES file, for example.  I included some details on this in my README.

The math problem I'm having has to do with fill stitching.  The general
problem is: how do I fill a generic shape with rows of stitches?  The
specific parameters are:

1) Stitch back and forth (like mowing a lawn).
2) Don't cut the thread.
3) Don't sew over the same section twice.
4) Don't do running stitch over the top of areas you've already done rows
of stiches on.
5) Line all the stitches up to make a visually pleasing pattern.

I have an implementation already, described here:
https://github.com/lexelby/inkscape-embroidery#autofill

This works pretty well.  Give it a region and it will break it up into
sections (each of which by itself can be filled all in one go).  To get
between sections, it runs around the outline of the shape.  The idea here
is that usually, one will do satin stitch around the outside of a fill
region, covering up the running stitches.

As described in the README, the problem is when you give it a region with
holes in it.  Things get very complicated, and I have yet to come up with
an algorithm that a) can reliably fill all regions without getting "stuck"
with nowhere to go, and b) doesn't take forever to run.

Right now, my hacky workaround is to convert a region with holes into one
without holes by cutting a very small rectangular section out of the shape
(see the README).  This works, but it's not ideal and it requires a lot of
extra effort on the part of the user.

The ideal solution would somehow figure out an ordering for embroidering
the sections, such that every section gets filled in but none of the rules
above are violated.  Bonus points if it can avoid running around the
outside of the shape to get between sections.  It would instead run through
the middle of regions of the shape that have not yet been filled in, so
that the running stitch gets hidden by the rows of stitches that are filled
in later.

The biggest problems I have yet to wrap my head around are:

1) How to avoid getting into recursive/NP-complete hell.  Taking more than
10-20 seconds would really be a bad user experience; 2-3 seconds max is
really what I'm aiming for.
2) How to figure out how to get from point A to point B inside a closed
polygon, running over only sections that haven't been filled in yet.

2 is especially hard for me, and I think it's the kind of thing that
inkscape devs probably already know how to do!  I really don't understand
how I can do pathfinding in an arbitrarily complex shape like that without
writing thousands of lines of code.

I know this kind of algorithm is possible.  Commercial embroidery design
software makes this look easy.  I want to bring that to the open source
world.  I haven't been able to find any discussion of this kind of
algorithm with repeated and creative googling.  The closest I can think of
is lawn-mowing algorithms, about which I found one paper that is
unfortunately a bit beyond my level of math understanding.

Some examples of what I've made so far:
https://github.com/lexelby/inkscape-embroidery/tree/master/images/patches

This one is an especially good example of a complex fill-region with a
hole:
https://github.com/lexelby/inkscape-embroidery/blob/master/images/patches/clinton_poker_league.jpg

The black circular section in the center contains a hole in the shape of
the white spade, because you can't do one color of fill-stitching on top of
another.  To make this, I manually broke the shape up into sections and
tinkered with ordering until it worked out.

Anyway, thanks for listening, and any help would be appreciated!
--Lex





On July 30, 2017 6:47:31 AM Michael Soegtrop
<[hidden email]> wrote:

> Hi Lex,
>
> I did the embroidery stitching LPE and the path cutter LPE, both are
> very useful for embroidery design. What is the embroidery extension
> Susan mentioned below? Hope we didn't do the same thing.
>
> Any discussions on the topic are welcome. What is the math issue?
>
> My next plan is to write an export filter in some documented and common
> import format for stitching machines. Suggestions on the format are welcome.
>
> Best regards,
>
> Michael
>
> On 28.07.2017 20:20, Susan Spencer wrote:
>> Hi Lex,
>> This is the dev list for Inkscape. There's a wide range in backgrounds
>> for devs here, and new contributors are welcome.
>>
>> Hi devs,
>> Meet Lex Neva, he's a fantastic programmer and has been contributing to
>> the embroidery extension. He's done some mind blowing work with pattern
>> fill. He's looking at a particular issue and has some questions for the
>> math heads amongst you.
>>
>> Good luck with 0.92.2 release!
>>
>> Best,
>>
>> Susan Spencer
>> http://valentina-project.org <http://valentina-project.org/>
>



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Embroidery extension

Inkscape - Dev mailing list
In reply to this post by Susan Spencer-2
Dear Lex,

I guess we are trying to solve the same problem, but differently. I
wanted to have more control than semi automated fillers provide, so I
added 3 LPEs, which are in Inkscape 0.92.2:

1.) A bool LPE to do intersections / unions, ... of areas, so that one
can construct the areas to stitch from drawing areas.

2.) A path / path group trimmer LPE, which restricts a set of paths to
an area (or oustide of an area. There are already two path interpolation
LPEs which allow to create sets of paths with fine control over local
direction and density.

3.) An LPE to convert a set of paths into stitches. This includes an
almost reasonable traveling salesman problem (TSP) variant solver for
ordering groups of stitches to minimize the traveling in between. It can
still be improved. It is a bit more complicated than standard TSP
solvers, because it looks into groups of parallel stitches which have 4
possible ends.


My approach is as follows

1.) Make a drawing

2.) Use the bool op LPE to create (in a new layer) the areas to fill
with each color / stitch style.

3.) Create a set of path to control density and direction using path
interpolation LPEs. This allows a great deal of control, e.g. for hair.
I don't think any commercial tool allows this amount of control.

4.) Use the path trim/cut LPE to trim the paths created in 3.) to the
areas created in 2.)

5.) Use the embroidery stitch LPE to convert the paths to stitches.

Sometimes I use the cut / trim filter also to create intermediate nodes
in paths to create special stitching patterns. These nodes are not
visible in normal drawing, but after stitching they are visible.

Of cause for simple cases, it would help to extend it with a more
automated approach, which is what you appear to be working at.

I am very interested in the import/export library you mentioned.

It would be great to work together on this.

Best regards,

Michael

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Embroidery extension

Windell H. Oskay
In reply to this post by Lex Neva
Hi Lex,
The generic fill shape problem is the same one that I reported seven years ago, in the context of LPEs: https://bugs.launchpad.net/inkscape/+bug/657139

I too have written a tutorial (very similar to yours) on how to get around the problem by taking a thin slice out of an object: http://wiki.evilmadscientist.com/Creating_filled_regions#Workarounds_for_hollow_geometry_hatch_fills


We did go a few steps further and write an extension ("eggbot_hatch") that could fill an arbitrary region with paths. It does not have awareness of thread, stitch length, and some of the other parameters, but is reasonably quick, does the back-and-forth rows, can manage insets, avoids overlapping lines, and does indeed handle cases of complex geometry. We use it in the context of pen plotters, to fill arbitrary regions with a pen path.

It's available as part of the EggBot project, here: https://github.com/evil-mad/EggBot/tree/master/inkscape_driver


As you note, this is a "solved" problem, since it is done extensively in other contexts as well. Aside from pen plotters and embroidery, one notable context is that of 3D printers, where the print head must fill arbitrary, complex regions that result from slicing through a physical object, without the print head overlapping its previous position (at any given height). If you would like another possible starting point for looking at this problem (aside from LPEs and the eggbot_hatch), you might consider starting with their existing codebases that manage this process. One well known "slicing" tool chain written in python is Skeinforge: http://reprap.org/wiki/Skeinforge


Side note: It would be really fantastic if embroidery file format support was eventually added.

Cheers,
-Windell

> On Jul 30, 2017, at 7:56 AM, Lex Neva <[hidden email]> wrote:
>
> Hi Michael,
>
> Sorry for the delay!  I didn't even know there was an embroidery LPE.  I don't see it in 0.92.1... how can I test it out?
>
> The extension that Susan was referring to is here: https://github.com/lexelby/inkscape-embroidery
>
> It started off as a little project by jonh, and then it migrated to github, and then I forked it and hacked the heck out of it.  I've rewritten most of the major sections at this point.
>
> For exporting, I'd recommend you examine embroidermodder2.  That project seems to be mostly abandoned at this point, but it does have a nice little library that understands all major (and many minor) embroidery machine file formats.  You may even be able to get it to convert directly from an SVG to a .PES file, for example.  I included some details on this in my README.
>
> The math problem I'm having has to do with fill stitching.  The general problem is: how do I fill a generic shape with rows of stitches?  The specific parameters are:
>
> 1) Stitch back and forth (like mowing a lawn).
> 2) Don't cut the thread.
> 3) Don't sew over the same section twice.
> 4) Don't do running stitch over the top of areas you've already done rows of stiches on.
> 5) Line all the stitches up to make a visually pleasing pattern.
>
> I have an implementation already, described here: https://github.com/lexelby/inkscape-embroidery#autofill
>
> This works pretty well.  Give it a region and it will break it up into sections (each of which by itself can be filled all in one go).  To get between sections, it runs around the outline of the shape.  The idea here is that usually, one will do satin stitch around the outside of a fill region, covering up the running stitches.
>
> As described in the README, the problem is when you give it a region with holes in it.  Things get very complicated, and I have yet to come up with an algorithm that a) can reliably fill all regions without getting "stuck" with nowhere to go, and b) doesn't take forever to run.
>
> Right now, my hacky workaround is to convert a region with holes into one without holes by cutting a very small rectangular section out of the shape (see the README).  This works, but it's not ideal and it requires a lot of extra effort on the part of the user.
>
> The ideal solution would somehow figure out an ordering for embroidering the sections, such that every section gets filled in but none of the rules above are violated.  Bonus points if it can avoid running around the outside of the shape to get between sections.  It would instead run through the middle of regions of the shape that have not yet been filled in, so that the running stitch gets hidden by the rows of stitches that are filled in later.
>
> The biggest problems I have yet to wrap my head around are:
>
> 1) How to avoid getting into recursive/NP-complete hell.  Taking more than 10-20 seconds would really be a bad user experience; 2-3 seconds max is really what I'm aiming for.
> 2) How to figure out how to get from point A to point B inside a closed polygon, running over only sections that haven't been filled in yet.
>
> 2 is especially hard for me, and I think it's the kind of thing that inkscape devs probably already know how to do!  I really don't understand how I can do pathfinding in an arbitrarily complex shape like that without writing thousands of lines of code.
>
> I know this kind of algorithm is possible.  Commercial embroidery design software makes this look easy.  I want to bring that to the open source world.  I haven't been able to find any discussion of this kind of algorithm with repeated and creative googling.  The closest I can think of is lawn-mowing algorithms, about which I found one paper that is unfortunately a bit beyond my level of math understanding.
>
> Some examples of what I've made so far: https://github.com/lexelby/inkscape-embroidery/tree/master/images/patches
>
> This one is an especially good example of a complex fill-region with a hole: https://github.com/lexelby/inkscape-embroidery/blob/master/images/patches/clinton_poker_league.jpg
>
> The black circular section in the center contains a hole in the shape of the white spade, because you can't do one color of fill-stitching on top of another.  To make this, I manually broke the shape up into sections and tinkered with ordering until it worked out.
>
> Anyway, thanks for listening, and any help would be appreciated!
> --Lex


Windell H. Oskay, Ph.D.
Co-Founder and Chief Scientist
Evil Mad Scientist Laboratories
175 San Lazaro Ave, STE 150
Sunnyvale CA 94086
http://www.evilmadscientist.com/


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Embroidery extension

Mark Schafer
In reply to this post by Lex Neva
This problem might also be viewed as the standard raster fill problem
common in CG texts for many years.  A lot of work has been done on this
including efficiency.
Polygon to raster conversion and filling.
I'd suggest starting with:
  -
http://what-when-how.com/computer-graphics-and-geometric-modeling/raster-algorithms-basic-computer-graphics-part-2/
  - https://www.cosc.brocku.ca/Offerings/3P98/course/lectures/2d/

but many more under a search like "raster fill algorithms"
To avoid going over the top of another embroidered thread consider
polygon clipping algorithms.


On 7/31/2017 2:56 AM, Lex Neva wrote:

> Hi Michael,
>
> Sorry for the delay!  I didn't even know there was an embroidery LPE.  
> I don't see it in 0.92.1... how can I test it out?
>
> The extension that Susan was referring to is here:
> https://github.com/lexelby/inkscape-embroidery
>
> It started off as a little project by jonh, and then it migrated to
> github, and then I forked it and hacked the heck out of it. I've
> rewritten most of the major sections at this point.
>
> For exporting, I'd recommend you examine embroidermodder2.  That
> project seems to be mostly abandoned at this point, but it does have a
> nice little library that understands all major (and many minor)
> embroidery machine file formats.  You may even be able to get it to
> convert directly from an SVG to a .PES file, for example.  I included
> some details on this in my README.
>
> The math problem I'm having has to do with fill stitching.  The
> general problem is: how do I fill a generic shape with rows of
> stitches?  The specific parameters are:
>
> 1) Stitch back and forth (like mowing a lawn).
> 2) Don't cut the thread.
> 3) Don't sew over the same section twice.
> 4) Don't do running stitch over the top of areas you've already done
> rows of stiches on.
> 5) Line all the stitches up to make a visually pleasing pattern.
>
> I have an implementation already, described here:
> https://github.com/lexelby/inkscape-embroidery#autofill
>
> This works pretty well.  Give it a region and it will break it up into
> sections (each of which by itself can be filled all in one go).  To
> get between sections, it runs around the outline of the shape.  The
> idea here is that usually, one will do satin stitch around the outside
> of a fill region, covering up the running stitches.
>
> As described in the README, the problem is when you give it a region
> with holes in it.  Things get very complicated, and I have yet to come
> up with an algorithm that a) can reliably fill all regions without
> getting "stuck" with nowhere to go, and b) doesn't take forever to run.
>
> Right now, my hacky workaround is to convert a region with holes into
> one without holes by cutting a very small rectangular section out of
> the shape (see the README).  This works, but it's not ideal and it
> requires a lot of extra effort on the part of the user.
>
> The ideal solution would somehow figure out an ordering for
> embroidering the sections, such that every section gets filled in but
> none of the rules above are violated.  Bonus points if it can avoid
> running around the outside of the shape to get between sections.  It
> would instead run through the middle of regions of the shape that have
> not yet been filled in, so that the running stitch gets hidden by the
> rows of stitches that are filled in later.
>
> The biggest problems I have yet to wrap my head around are:
>
> 1) How to avoid getting into recursive/NP-complete hell.  Taking more
> than 10-20 seconds would really be a bad user experience; 2-3 seconds
> max is really what I'm aiming for.
> 2) How to figure out how to get from point A to point B inside a
> closed polygon, running over only sections that haven't been filled in
> yet.
>
> 2 is especially hard for me, and I think it's the kind of thing that
> inkscape devs probably already know how to do!  I really don't
> understand how I can do pathfinding in an arbitrarily complex shape
> like that without writing thousands of lines of code.
>
> I know this kind of algorithm is possible.  Commercial embroidery
> design software makes this look easy.  I want to bring that to the
> open source world.  I haven't been able to find any discussion of this
> kind of algorithm with repeated and creative googling.  The closest I
> can think of is lawn-mowing algorithms, about which I found one paper
> that is unfortunately a bit beyond my level of math understanding.
>
> Some examples of what I've made so far:
> https://github.com/lexelby/inkscape-embroidery/tree/master/images/patches
>
> This one is an especially good example of a complex fill-region with a
> hole:
> https://github.com/lexelby/inkscape-embroidery/blob/master/images/patches/clinton_poker_league.jpg
>
> The black circular section in the center contains a hole in the shape
> of the white spade, because you can't do one color of fill-stitching
> on top of another.  To make this, I manually broke the shape up into
> sections and tinkered with ordering until it worked out.
>
> Anyway, thanks for listening, and any help would be appreciated!
> --Lex
>
>
>
>
>
> On July 30, 2017 6:47:31 AM Michael Soegtrop
> <[hidden email]> wrote:
>
>> Hi Lex,
>>
>> I did the embroidery stitching LPE and the path cutter LPE, both are
>> very useful for embroidery design. What is the embroidery extension
>> Susan mentioned below? Hope we didn't do the same thing.
>>
>> Any discussions on the topic are welcome. What is the math issue?
>>
>> My next plan is to write an export filter in some documented and common
>> import format for stitching machines. Suggestions on the format are
>> welcome.
>>
>> Best regards,
>>
>> Michael
>>
>> On 28.07.2017 20:20, Susan Spencer wrote:
>>> Hi Lex,
>>> This is the dev list for Inkscape. There's a wide range in backgrounds
>>> for devs here, and new contributors are welcome.
>>>
>>> Hi devs,
>>> Meet Lex Neva, he's a fantastic programmer and has been contributing to
>>> the embroidery extension. He's done some mind blowing work with pattern
>>> fill. He's looking at a particular issue and has some questions for the
>>> math heads amongst you.
>>>
>>> Good luck with 0.92.2 release!
>>>
>>> Best,
>>>
>>> Susan Spencer
>>> http://valentina-project.org <http://valentina-project.org/>
>>
>
>
>
> ------------------------------------------------------------------------------
>
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Inkscape-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/inkscape-devel
>
> ---
> This email has been checked for viruses by AVG.
> http://www.avg.com
>
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Embroidery extension

Brynn
In reply to this post by Lex Neva
Welcome Lex!

I'm not a developer.  But just wanted to comment from a user perspective.

This has often been requested in forums.  I know one member who has managed to
take Inkscape designs to machine embroidery.  But he has to use a different
product in between.  An all-Inkscape product would be awesome!

Good luck :-)
brynn

-----Original Message-----
From: Lex Neva
Sent: Sunday, July 30, 2017 8:56 AM
To: Michael Soegtrop ; Susan Spencer ; [hidden email]
Subject: Re: [Inkscape-devel] Embroidery extension

Hi Michael,

Sorry for the delay!  I didn't even know there was an embroidery LPE.  I
don't see it in 0.92.1... how can I test it out?

The extension that Susan was referring to is here:
https://github.com/lexelby/inkscape-embroidery

It started off as a little project by jonh, and then it migrated to github,
and then I forked it and hacked the heck out of it.  I've rewritten most of
the major sections at this point.

For exporting, I'd recommend you examine embroidermodder2.  That project
seems to be mostly abandoned at this point, but it does have a nice little
library that understands all major (and many minor) embroidery machine file
formats.  You may even be able to get it to convert directly from an SVG to
a .PES file, for example.  I included some details on this in my README.

The math problem I'm having has to do with fill stitching.  The general
problem is: how do I fill a generic shape with rows of stitches?  The
specific parameters are:

1) Stitch back and forth (like mowing a lawn).
2) Don't cut the thread.
3) Don't sew over the same section twice.
4) Don't do running stitch over the top of areas you've already done rows
of stiches on.
5) Line all the stitches up to make a visually pleasing pattern.

I have an implementation already, described here:
https://github.com/lexelby/inkscape-embroidery#autofill

This works pretty well.  Give it a region and it will break it up into
sections (each of which by itself can be filled all in one go).  To get
between sections, it runs around the outline of the shape.  The idea here
is that usually, one will do satin stitch around the outside of a fill
region, covering up the running stitches.

As described in the README, the problem is when you give it a region with
holes in it.  Things get very complicated, and I have yet to come up with
an algorithm that a) can reliably fill all regions without getting "stuck"
with nowhere to go, and b) doesn't take forever to run.

Right now, my hacky workaround is to convert a region with holes into one
without holes by cutting a very small rectangular section out of the shape
(see the README).  This works, but it's not ideal and it requires a lot of
extra effort on the part of the user.

The ideal solution would somehow figure out an ordering for embroidering
the sections, such that every section gets filled in but none of the rules
above are violated.  Bonus points if it can avoid running around the
outside of the shape to get between sections.  It would instead run through
the middle of regions of the shape that have not yet been filled in, so
that the running stitch gets hidden by the rows of stitches that are filled
in later.

The biggest problems I have yet to wrap my head around are:

1) How to avoid getting into recursive/NP-complete hell.  Taking more than
10-20 seconds would really be a bad user experience; 2-3 seconds max is
really what I'm aiming for.
2) How to figure out how to get from point A to point B inside a closed
polygon, running over only sections that haven't been filled in yet.

2 is especially hard for me, and I think it's the kind of thing that
inkscape devs probably already know how to do!  I really don't understand
how I can do pathfinding in an arbitrarily complex shape like that without
writing thousands of lines of code.

I know this kind of algorithm is possible.  Commercial embroidery design
software makes this look easy.  I want to bring that to the open source
world.  I haven't been able to find any discussion of this kind of
algorithm with repeated and creative googling.  The closest I can think of
is lawn-mowing algorithms, about which I found one paper that is
unfortunately a bit beyond my level of math understanding.

Some examples of what I've made so far:
https://github.com/lexelby/inkscape-embroidery/tree/master/images/patches

This one is an especially good example of a complex fill-region with a
hole:
https://github.com/lexelby/inkscape-embroidery/blob/master/images/patches/clinton_poker_league.jpg

The black circular section in the center contains a hole in the shape of
the white spade, because you can't do one color of fill-stitching on top of
another.  To make this, I manually broke the shape up into sections and
tinkered with ordering until it worked out.

Anyway, thanks for listening, and any help would be appreciated!
--Lex





On July 30, 2017 6:47:31 AM Michael Soegtrop
<[hidden email]> wrote:

> Hi Lex,
>
> I did the embroidery stitching LPE and the path cutter LPE, both are
> very useful for embroidery design. What is the embroidery extension
> Susan mentioned below? Hope we didn't do the same thing.
>
> Any discussions on the topic are welcome. What is the math issue?
>
> My next plan is to write an export filter in some documented and common
> import format for stitching machines. Suggestions on the format are welcome.
>
> Best regards,
>
> Michael
>
> On 28.07.2017 20:20, Susan Spencer wrote:
>> Hi Lex,
>> This is the dev list for Inkscape. There's a wide range in backgrounds
>> for devs here, and new contributors are welcome.
>>
>> Hi devs,
>> Meet Lex Neva, he's a fantastic programmer and has been contributing to
>> the embroidery extension. He's done some mind blowing work with pattern
>> fill. He's looking at a particular issue and has some questions for the
>> math heads amongst you.
>>
>> Good luck with 0.92.2 release!
>>
>> Best,
>>
>> Susan Spencer
>> http://valentina-project.org <http://valentina-project.org/>
>



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel 


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Loading...