capu's blog
También en castellano, wachin

Let's try Seamly2D

Today I have a very basic sewing project: I want to make a bag to hold some spare bike parts, since the current solution doesn't seem to be holding up well:

a large ziplock bag with a few handlebars inside

...And I remembered a few weeks ago I saw a reddit post of someone making a tutorial for some open source pattern design software.

For context, so far I've been able to use freeCAD and Inkscape to design sewing patterns, you can read about my progress with that in a previous blog post

After watching the video I had a few takeaways:

I had to add a PPA for installing it, but whatever. Only the bionic ppa worked with debian buster, and I had to add the signer's key manually. Less than ideal, but I got it working.

After installing it, I tried to design this bag using the 'cut on fold' method I learned in the video.

The tool has three main modes of operation (views?), and kind of forces you into one particular (and in my opinion healthy) workflow:

It applies the principle of 'convention over configuration' to UX design, in a way.

Draw

The drawing interface doesn't feel as good as using freeCAD. It's just lines.

And for everything I drew I had to specify the dimensions in a floating dialog which only could be used with the mouse [1] , with no autocomplete for the variables.

screenshot of line creation modal in seamly2d

Oh, variables. That's a great feature.

For a set of patterns, 'increments' can be defined which act as a sort of variable which can then be referenced when defining lines. Other lines can also be referenced, so 'I want a line as long as this other one' is something you can communicate to the program very easily.

As an example, I defined the following increments:

screenshot of variables modal in seamly2d

So I finished the dimensions of my glorified square, and moved on to the Details mode

Details

Here you have to define a path following the already defined lines outlining a particular piece of the pattern.

It's possible to only use parts of a piece, for example I skipped the distinction between the channel for the string and the body of the bag (line from A1 to A7) and just followed the outer contour.

It's weird, but I don't see it bothering me in any way.

After that, the detail can be configured to have a label and seam allowances (which for this bag is pretty big since I'll try to do french seams).

Since I'm cutting this piece on a fold, I had to set the nodes from A3 to A5 to not have any seam allowance.

screenshot of detail view in seamly2d

Layout

Here you'll determine what size template you want to create, but I don't plan on printing the patterns with a large format printer, so I just chose whatever here. It's important for the template size to be bigger than the biggest pattern, of course.

screenshot of the layout dialog, where large format paper to use is selected preview of the large format print

After that, it's possible to create a ✨tiled pdf✨ on whatever print size, which makes using Inkscape to split the pattern totally unnecessary.

screenshot of the tiled pdf

This approach, while orders of magnitude better than splitting the pattern manually, it's still far from ideal because it first lays out the pieces with some fancy paper-efficient algorithm for the large format, but then the tiling for home printer usage is done in the dumbest way possible and is prone to wasting paper.

I realized this project was too simple to bother printing patterns for it, since the exact dimensions don't matter and it's basically a big square, but for reference this 80x40cm bag takes 12 Legal pages to print.

But don't worry, there'll be more complicated projects soon which'll put this tool to good use.

Some thoughts

Seamly2d is pretty unstable [2] and doesn't have a polished UX, but even with those important shortcomings, it allowed me to work as fast, or perhaps even faster, than when using freeCAD.

This shows how a piece of software created with a particular use case in mind can make the user happier than a general-purpose, more mature alternative.

When developing a product in the future, Seamly2d will be what I'll aspire to in terms of how to best focus development effort.

a large cloth bag with a few handlebars inside
[1]I usually give a lot of shit to Electron apps, but I have to recognize, if it were a webapp, I could easily get the 'use tab to switch fields' to work, but if I were to fix it in this native app, I would have to research a little more about how QT does forms.
[2]The most distracting bug is sometimes the variables table wouldn't open for no apparent reason, and I had to restart the program to be able to open it. Console output didn't report any errors.

Also on this blog:

Comments

Back to article list