inkstitch / inkstitch

Ink/Stitch: an Inkscape extension for machine embroidery design
https://inkstitch.org
GNU General Public License v3.0
962 stars 171 forks source link

"Frame Out" Functionality #124

Closed wwderw closed 6 years ago

wwderw commented 6 years ago

Main purpose of this is for when the machine stops with the hoop in an outward position to make it easier to apply the fabric when doing appliqué.

It doesn't get stitched, it's a series of jump stitches that go to a certain spot (use the guide lines, just label them "frame out" instead of "embroidery origin" to keep them separate).

Initially discussed in issue #112, I would suggest making it available even if not being used with the appliqué function mentioned in #112, in case there are different needs for a particular project.

wwderw commented 6 years ago

I forgot this.

There is going to need to be some "initiating" command and since we are going to want it to stop at this position, I'm thinking we make it a condition of the "stop after" function that we already have.

If the extension "sees" that we have the guides accurately done, the extension "knows" to go to that intersection point and stop first. If no guides are present (or not accurately done), it stops like it already has been. So the presence of the guides would supersede the standard behavior of stopping right after the object.

This will also allow this functionality to be useful for something like puff embroidery as well.

Thoughts?

X3msnake commented 6 years ago

All stops would refer to the stopOrigin then correct?

2018-03-12 15:23 GMT+00:00 wwderw notifications@github.com:

I forgot this.

There is going to need to be some "initiating" command and since we are going to want it to stop at this position, I'm thinking we make it a condition of the "stop after" function that we already have.

If the extension "sees" that we have the guides accurately done, the extension "knows" to go to that intersection point and stop first. If no guides are present (or not accurately done), it stops like it already has been. So the presence of the guides would supersede the standard behavior of stopping right after the object.

This will also allow this functionality to be useful for something like puff embroidery as well.

Thoughts?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/lexelby/inkstitch/issues/124#issuecomment-372348448, or mute the thread https://github.com/notifications/unsubscribe-auth/AKke-k4wE2iBhwsVnV3VK5C0QjG8_EXDks5tdpLggaJpZM4Slg8t .

-- Com os melhores cumprimentos, Vinicius Silva

wwderw commented 6 years ago

All stops would refer to the stopOrigin then correct?

Yes, if there are more then one stops within a pattern, all would go to the same point as setup via guidelines.

lexelby commented 6 years ago

We should use Command markers like in #20 and #192. One for the frame out position, and perhaps you could tag an object with "frame out" to tell it to stop after sewing that object and eject the frame.

lexelby commented 6 years ago

...perhaps "eject" is too strong a word. Now I'm imagining the hoop, with the embroidered piece, flying across the room.

wwderw commented 6 years ago

...perhaps "eject" is too strong a word. Now I'm imagining the hoop, with the embroidered piece, flying across the room.

I was actually thinking the same thing.

Biggie thing is symbol. I was thinking maybe a rectangle with a down arrow to symbolize coming out? I dunno, this one is kinda stumpin' me (but that's not all that hard to do to me).

Thoughts?

I am diggin' this new symbol system.

lexelby commented 6 years ago

Well, the "eject" metaphor is kind of hilarious, but maybe it just might make sense in this case. How about if we use the standard media "eject" symbol? I like using media icons because it seems like they're relatively universal and may stand a chance of making sense to users in other countries.

tatarize commented 6 years ago

In reality this is one of the reasons why such project like these need some code to do pre-processing for writing a file to disk.

It would be rather easy to flag some point as a frame out location. Then have the embroidery writer turn that into the relevant events. Namely cut, jump to that location, stop, jump to the next location, start stitching. There are obvious limits to how much work such a thing should do. As a practical matter you could say that a frame-out is the same as a stitchplan with zero stitches in a particular location, with a stop afterwards, but if you're messing with that kind level of minutia it's gotta be wrong.

While clearly some aspects of rendering the embroidery files should be done in a proper large algorithmic engine, other aspects should be just flagged and sent to the backend bit figuring out how that gets written to a file. Mostly if how such a thing gets implemented is about the commands written to the file rather than how to arrange datapoints etc.

This functionality was in the works in the Java version of LibEmbroidery for a bit, there's still unused command flags in there and the code'll be like five lines. And I've added an issue for pyembroidery to deal with it there.

lexelby commented 6 years ago

Whoops, looks like #160 was a duplicate of this. There's a bit of discussion there too that we should read through before implementing this one.

lexelby commented 6 years ago

@wwderw How would you expect to specify the "frame out" position? The goal is to cause the frame to extend outward from the machine (downward, from the perspective of the design). In order to do that, I'll have to jump the needle upward relative to the design.

Would you expect to place your frame out marker in Inkscape above the design, or below? I'm thinking you'd put it above, but I want to be sure we're on the same page.

wwderw commented 6 years ago

Yes, in most instances it would be above. For some items, a design may have to be rotated depending on the hoop used, but more often then not, it would be above.

lexelby commented 6 years ago

Got it, thanks! A PR with frame-out support should be up today or tomorrow.

wwderw commented 6 years ago

Awesome!