Embroidery design on Linux now possible with Thred

Embroidery design on Linux now possible with Thred

So you are into arts and crafts, and as much as you love Linux, you could never find a real tool for creating embroidery designs. Your quest might soon be over: Nathan Summers contacted us to tell about Thred, a free embroidery editor for Linux he's been working on since last year.

Creating stuff with your own hands is so very Linux, yet vendors of hardware like embroider machines fail to understand that deep in the core those hairy UNIX sysadmins would rather be glad to contemplate a network restructuring strategy over a good cuppa of tea and a knitting pattern or maybe do a very reasonable Richelieu while backups are being copied between hosts.

Naturally, all of the active Libre Graphics World staff stands up to applaud Nathan who seems to radiate Coolness Through Having Things His Way. After all, even Linus himself doesn't seem to have got much further than creating pesconvert.

But let's not get carried away. Last year Nathan Summers and Wife © looked this grave situation inna face and decided they could beat ten kinds of mouline out of it.

In Nathan's own words:

My wife and I bought an embroidery machine last year, and I was appalled at the lack of available Linux software for designing machine embroidery. I found a program available for Windows that had the source code available for people who "want to see what makes [it] tick", but no clear license, and convinced the author to let me port it to Linux and make the source code available under GPL3.

What Nathan did next was a considerably straightforward move: he ported the application to Linux using winelib, published source code at Gitorious.

Thred's main window

So LGW asked Nathan a few questions.

I see that there are two branches of the app at Gitorious. Why?

The 3.x branch is the original software ported over as closely as possible, while the master branch is for new development work. At this point the major difference is that all the inline assembly has been translated to C, so that eventually it will be possible to use the software with an instruction set other than 32-bit x86.

How would you characterize the UI yourself?

As it's just a straight port, it looks and feels pretty much exactly like the Windows version. The interface has a Blender feel to it, both in the fact that it deviates from platform user interface standards and in the way that keyboard and mouse pointer interact.

I bet any true Linux users out there would say “Yuk! Winelib!”. Any grand plans regarding that?

My first priority is to try to wean it off the winelib dependencies and to have the Linux build use GTK+ for the display. Since it already compiles for Windows with the native toolkit, it would be a shame to to lose that ability, and so I'll have the ability to build with either. Maybe sometime someone will create an Android back-end as well.

A DST vignette

There is also some low-hanging fruit like moving menu items to more usual locations that should be done. After that's taken care of I'll assess bigger changes, like maybe adding a toolbar.

What are the most urgent, interesting or simply missing things you'd like to implement first?

Most urgent is support for more file formats. Every machine seems to require a different one, and Thred doesn't even support the format our machine takes (it only reads DST, PCS and it own files). It would be cool for someone to create a command line converter a-la SoX and ImageMagick for machine embroidery — I would name it "stitx" myself.

What seems most missing is support for beziers — right now you have to do everything as lots of little straight line segments. Hence it would be interesting to have an SVG import ability, so that you could do the design in Inkscape and then specify how to stitch it using Thred.

Embroidery is interesting in that it's even more “vector” than the kind of graphics normally done in Inkscape. Inkscape's abilities to edit outlines are much better than Thred's, and so they could be a great combination.

So what embroidery design workflow exactly do you propose?

The typical workflow for designing embroidery is to start with outlines ("forms" in Thred terminology) that may or may not be actually stitched in the final design. The program then applies various user-specified effects in order to determine where to place the actual stitches. The output of that step can then be hand-tweaked as necessary.

“Machine” formats like DST and PES only save the results of that last step. The original outlines are not preserved. So opening those formats for editing only allows you to adjust individual stitches — an impractically tedious and error-prone process.

What I am suggesting is to create the outlines in Inkscape, and then import them into Thred. That way you can take advantage of Inkscape's far superior outline editing abilities and then use Thred for the automated and manual placing of stitches.

Thred is currently available as both source code and daily builds for Ubuntu. We encourage you to try it and help Nathan making a real native application.

News logo and at least one of the examples are deliberately taken from www.4-hobby.com.

Was it useful? There's more:

33 Responses. Comments closed for this entry.

  1. This is great! I’ve been looking for something like this for 6 years now. I have an SWF Single-head embroidery machine. Hope I can help someway with testing and maybe translation and documention in the future.

    //Casper Nilsson

  2. Its really beautiful and creative stuff embroidery designs. Really Appreciable.


  3. How far have you analyzed the C-sources ? First thing to find out to connect to Inkscape would be how & where the Beziers are coded in Thred IMHO; do you agree ?

  4. Consulted the Thred infos again. Seems that it DOESN’T use any Beziers at all :) ... But there’s an Inkscape extension to transform Beziers into Polylines (line segments) and these could be transformed into native input (i.e. so-called “Forms”) to Thred quite easily. What do you think ?

  5. Great designs, love it, great write up too.

  6. Trying to write a SVG to Thred converter in C just now with the help of a local “hacker”.
    Would be nice if Nathan could contact me to avoid double work in this area. Planned workflow is: Scanned Image -> PoTrace (EPS-Files) -> Inkscape (SVGs) -> SVG2Thred (to be written) -> Thred

  7. As far as I know, Nathan is not the author of Thred.

    I wonder that nothing here such a link to http://www.thredworks.com/ (the original site of Thred) while we were talking about THRED.

    Did we have forgot the creator (and his dedicated time to create) and celebrate the modificator?

    I notice for respect to such as addressing to Mr. Marion McCoskey who build Thred from scratch.

    Nathan’s work is also good contribution for Linux & Thred, anyway.

  8. Alexandre Prokoudine 26 September 2012 at 6:49 pm

    As far as I know, Nathan is not the author of Thred.

    That’s exactly what the text says. With a backlink to thredworks.com. Perhaps you didn’t notice it?

  9. Hi Guys.  Marion, my husband and the author of Thred, finds this pleasing.  Me too. Although I’m more concerned with making embroidered product than code.

    He also wrote aArtline, which allows you to make forms usable in Thred.  He’s going to share the source code for that later today.  http://www.aartline.com/

  10. @Alexandre Prokoudine:

    Ooops..!! Yeah, I finally found that backlink. :)
    I am sorry for not carefully looking for.

    I was not seeing that because that is not explicitely visible, and the (“program”) link text color is seem as near similar as normal text for me.

    Anyway, If someday I could make another embroidery program in Linux, might I tell you this one? I am also in developing a Thred based software in Pascal Language (Delphi/Lazarus).

    @ Ms. Alfie McCoskey:
    Thanks for sharing the code of Thred & aArtline. I found it very usefull.


  11. Alexandre Prokoudine 27 September 2012 at 5:36 pm

    @Alfie McCoskey Glad to see you here! :) Any chance you could ping us, when aArtline’s code is released?

    @x2nie No worries :)

  12. http://www.aartline.com/

    The aArtliine source code is ready for download now.


    Alfie and Marion

  13. Looks fantastic. It’s amazing that it took so long for an embroidery tool to be ported to linux. Good on Nathan Summers for getting it done, I’m sure many people (my girlfriend included) will be very thankful for this!

    Ty from BMHQ

  14. I have used Thred software forever on unix using Merge.

    Since then I also now have linux ubuntu, so I look forward to putting Thred on linux under wine or possibly using under CodeWeavers on linux. I had just never gotten around to trying it on linux, so I do not know if it does work without any porting ?

    I can not begin to tell you the hours & years, that Marion put into writing this code and adding features.

    I’m so very glad to see interest in using Thred on linux. I was very sad to see the end of further development of this fine software.
    Marion McCoskey is a brilliant programmer.

  15. I hope they come out with 64bit 12.10 version

  16. It’s nice to see that more and more awesome stuff gets ported to Linux. All I am missing is a Photoshop Replacement ;)

  17. Beautifull here.. thank’s

  18. Is there a version that will run on
    Ubuntu 10.04 Lucid ( 32 bit ) or do
    I have to have a newer vesion of Ubuntu ?

  19. This is cool. I use Ubuntu 14.04 64bit and Wine. This do not crash and just work. My only problem is I use .pes files (Brother). I know some other people using Brother .pes and would love if the pes format can be included. Sorry i do not know coing to help. Wil the pes format be included in the near future.

  20. This is a topic that is close to my heart… Best wishes!
    Where are your contact details though?

  21. This is really really creative and great, if you can provide a guide and tutorial from the beginning,

  22. beautiful graphics design!!

  23. An update of this article would be really nice. A lot of the links are outdated.

    The Ubuntu DEB files from https://launchpad.net/~rockwalrus/+archive/thred-daily don’t work with the latest Ubuntu version. (They need wine1.2 Ubuntu has wine1.6).

    The website http://www.aartline.com has a iPhone app.

    Gitorious is being acquired by GitLab and gitorious.org will shut down. Is there a new home of the source code?

  24. Some more notes from my embroidery with open source tools research:

    - UniConvertor supports some embroidery file formats:
    - There is an embroidery output extension for Inkscape:
    - And a second one as part of Embroidermodder:
    - And there are two other embroidery opensource programs: Embroidermodder 1 and Embroidermodder 2

  25. Although great, it is difficult to see how the everyday home sewing machine project is going to incorporate these designs in an actual real life project.

    It seems more practical for commercial uses.

  26. Due to the fact you cant make proper holes i started to use Sophie Sew with Wine. It is free but you have to save and save because it is very prone to crash. Put holes in and i will use it. Use the free Wilcom TrueSizer_e3.0 to convert to .PES and make color prints.

  27. I have done some checks and this great project seem DEAD.

  28. http://www.thredworks.com/dwnlod.php

    I have the original version from this site working on ubuntu 10.04 lucid 32 bit,  under wine and also under the paid version of Crossover. Previous to that I used it on Unix under Merge.

    No porting or whatever just the download file from that page, not sure exactly what this project has done or changed from the original, as I understand you still need to use wine ?  Or does this newer version actually run on linux without the use of wine ?
    My ubuntu is 32 bit , so I can not try out the 64 bit to find out the answer.

    Also the source code can be found
    on this page also http://www.thredworks.com/dwnlod.php
    So anyone can start up their own development of it .

    The best answer for anyone wanting other output formats than .dst or .pcs , should find a conversion software and just convert to that for their own particular machine . There are some free conversion softwares as well as many paid conversion softwares.

    This project does seem Dead and needs another person to start a new development .

    There is a HOLE tutorial on that same download page.

  29. Yes there is a hole method but is very crude and not so good at times compared to other software.

  30. I tested some free embroidery tools last year and the results are mixed:


  31. I’ve been using Thred to learn digitizing.  Ive been machine embroidering/editing for years.  I like the program but some of it doesnt make sense.  There is a handbook but not enough detail in many areas.  Changing some of the variables doesnt produce the effect anticiapted.  Still fun to play with for the average embroidery person.  Would love to help out on the actual stitch out process, conversions, etc if anyone ever restarts this thred.  (See what I did there? :)