-
Notifications
You must be signed in to change notification settings - Fork 173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add params for "TRIM after" and "STOP after" #29
Conversation
This should be ready for final testing: https://github.com/lexelby/inkstitch/releases/download/devel-commands-v5/inkstitch-devel-commands-v5-Linux-x86_64.tar.gz @wwderw This branch incorporates libembroidery directly and allows you to choose any of libembroidery's supported output formats in the Embroider extension dialog. There's also now an "Additional Settings" tab in Params that lets you add a STOP or TRIM after any object. Conversion of TRIM to 3 JUMPs for DST isn't done yet, because that's going to require submitting a patch to embroidermodder. Until then, maybe you can test using another format that your machine supports? |
This is the error that I got when did my first SatinColumn. This was using the Trim After tick box. It still generated changes to the XML file. ' Traceback (most recent call last): File "embroider_params.py", line 168, in pair_changed File "embroider_params.py", line 156, in update_toggle_state File "embroider_params.py", line 174, in dependent_enable File "embroider_params.py", line 180, in set_toggle_state AttributeError: 'NoneType' object has no attribute 'SetValue' ' The CSV output with both a Trim After and Stop After (on different objects) generated Unknown codes. I'm going to run the DST on the Barudan and the PES on the Brother to see if the way that the CSV is behaving is independent of DST and PES (directly exported from the extension, not converted from the CSV) output, may not be the case, but I thought I would try when I'm at those machine. |
Looking back on the embroidery layer, it still renders a jump stitch between objects when a trim was invoked. That might still be a hold over from the previous version. I'll wait on the test at the machine to see. |
Ok, had a chance to upload the files to the machines. Tested on Brother PRs 650 and 1000 and a Barudan C01 using DST file(only one that the Barudan can read that is supported my libembroidery for writing to) and PES. I tried out both on the Brother machines. PES file showed up as corrupted or unrecognized by the Brother machines. The DST files showed up, but showed up as 4 different colors (I only used 1 for digitizing) on both machines. It also looks like there is a huge jump stitch between the top left of the design space to the first object. I looked at the CSV and there are only 2 jump functions at the beginning, so that's probably where that huge jump stitch is coming from. Is the top left where all designs start in this version? Possible another feature down the road would be to enable the user to choose where the start/end points for the entire design? The stop code on the Barudan for sure triggered a color change and that can be worked with in the Barudan machine. On the Brother, that's not quite as easy, but it can be done as well. It seemed like both functions triggered color changes even the trim. I do think the tick boxes are a logical way to make these functions accessible via the UI. And I really like being able to have a drop down box and export to all the functions that libembroidery can read to. Its coming together nicely. |
I think I may have an idea for the stop code. Since inserting a stop code seems to initiate a color change in the various softwares, the biggest difference is that it communicates that change to be a stop and not an actual different color. So, one method is have that stop tick box when invoked on the print pdf instead of using whatever thread color was used for that object, it just says Stop. Like in the PDF that I sent. We would digitize a different color for a section, so we can use the stop tick box, but that stop tick box only affects the print pdf and not try to do a function itself in the actual file that is specifically a stop. That would tell me at the machine, instead of assigning C01-C15 for whatever color, I use C00, which tells the machine to stop. Either that, or we do away with the stop period and we create a spot color for all palettes that is called stop (may actually want to do that for applique sections as well, if we don't implement stop in the PDF print out). So then on the print out, the name that would be pulled would be stop. Does that make sense? I'm thinking for trims, we just need to setup to do 3 jump stitches for all formats. All formats should be able to read that, even newer ones that may recognize the new Trim function by itself. I think that would just make everything easier for the trim function. Thoughts? |
Oops, I introduced a bug. Will fix shortly.
Yup. The CSV output is a bit naive and says UNKNOWN when both TRIM and STOP are set at the same time. Other formats like DST can handle that, I think.
Yup, definitely a hold-over. I forgot to update the rendering code, so it's ignoring the TRIM.
Huh, that's really puzzling. I have a Brother SE400, and it reads libembroidery PES files fine. Can you try a really basic running stitch with no TRIM/STOP and see if that also shows as corrupt?
As far as I can tell from the DST specs, libembroidery code, and other DST-parsing code I found out on the web, DST doesn't contain any information about the actual colors. It just signifies when color changes happen. And in fact, I couldn't see any difference in your files between STOP and color-change. What exactly would you expect to see on your machine? Just one color?
This one's tricky. I'm really not at all sure what happened before versus now. As far as I can tell, inkstitch previously always started with a JUMP to the coordinates of the first stitch. Libembroidery seems to always insert a stitch at (0,0) at the start, no matter what you do. The code comments say that this is necessary to "home" the machine. The CSVs created by inkstitch previously never had that (0,0) stitch, but when you'd use In any case, the JUMP for the first stitch is an accident in the code, and I could get rid of it if it's causing problems.
Well, that's really chosen by the first and last objects in the SVG. What would you expect this feature to do? Perhaps we should discuss in another Issue.
......no. :) I'm afraid I'm really running into my complete lack of experience with commercial embroidery machines. I don't know what you mean by "assigning C01-C15". How do you usually handle colors when using something like Wilcom? I'm not clear on whether C00 would normally indicate a stop or whether you're just suggesting we set it that way as a workaround for libembroidery's quirks. Ideally, I'd really like to figure out what the magic is with STOP in the DST format and get that fixed in libembroidery. It's possible I'm just missing something in the file format. Having those exact stitch positions where the STOP and COLOR changes happened for the files you gave me would be useful so that I could try to correlate with the bits 'n bytes I'm seeing in the file.
Are you sure? Reading through libembroidery's source code, it looks to me like other formats do support TRIM directly. What I mean by that is that there are actual bits that are set in the file that mean "this stitch is a TRIM". DST does not seem to have anything like that, probably because it was originally designed for a machine that couldn't trim at all. Then when they did make machines that could trim, the machine creators decided arbitrarily that three jumps in a row in a DST mean trim. I don't think that's the way other formats do it. Ideally I'd just sit down with a commercial machine and try various things in files until I figured everything out. Alas, we don't have that option :) |
Here's an idea: could you create me two DST designs in wilcom, both identical except that one has a color change, and the other has a STOP at the same place? In other words, two files:
and make the running stitch exactly the same for both? In theory, I should be able to compare the two files, and whatever the difference is, that's how you encode a STOP versus a color change. |
That is correct, it does not show true colors. That's why the PDF printout is necessary on complex multi color designs. Or even not so complex mutli color design. For instance, a 2 color alternating design (Color 1 > Color 2 > Color 1), will show up as 3 colors instead of 2. The stop is 2 part process, 1 in the software and 1 at the machine. I do one color (Black) with a stop in the middle. At the machine, when I go to assign needles to color blocks, I will see 3 spots. 1 to start using black, 2 for the stop portion and 3 to either resume the color or to pick another color. A work around for software that doesn't have stop function (ie Thred) would be to do Black, a little bit of green (or whatever color, I would do it manual stitches) and then black again. For the green portion, instead of assigning a needle, I would assign C00. That tells the machine to continue to use the same color that was previously used (in this case black) and to stop when finished with this specific color block. The biggest difference between the 2 would be, if I force a stop with software that can't do it, I have to generate more stitches in that off color versus a commercial software that would generate it in just 1.
C01-C15 is what I do at the machine when assigning needles to specific color blocks. For instance, if I want Black on my machine. That's on needle 14, so I tell the machine for this color block to use needle 14 which is C14. That's not done in the software at all. C00 does 2 things. 1, it tells the machine to use the previous color assigned (if this is at the beginning of the design, it uses whatever needle is active on it right then, if that is the wrong needle, the operator will have to change it before starting the design) and when the machine hits the end of this color block to stop. So, if I was assigning a stop code for a single color pattern (as in all my attached examples) for black, I would do C14, C00, C14. I'm attaching SVG files, both the PES and DST versions and the ones with Software in the name would not be from the extension. There was not one file that was 1 color (even the run with no extra functions) on either the Brother or the Barudan at the machine. The PES files on my end, still generated a corrupt message, the DST versions did not, but had multiple colors. The files with the trim functions also generated color changes on my end. Those functions should not generate color changes in of themselves. They might happen to coincide with a color change when the trim comes at the end of a color block, but they shouldn't initiate one on their own in the middle. That was happening on both machine. At most, I would expect to see 3 changes for the stop files on the Barudan. But the trim and run only files should all be 1 color. |
Ok, I did a test with the old version of InkStitch before the functions and the libembroidery was added. I did a satin stitch with a run stitch after, 1 color. So it is effectively like the run stitch with no functions that I attached in the previous msg. It showed up as 1 color as I expected. While the new dst without any functions, done just like I would did for this test, does show up as having color changes. Where any changes done to the actual libembroidery component in how it handles files or was it just added into the extension itself? |
New version, this time with several fixes:
I think this gets us really close to ready to merge this pull request. Here's the tarball: https://github.com/lexelby/inkstitch/releases/download/devel-commands-v10/inkstitch-devel-commands-v10-Linux-x86_64.tar.gz |
Got the latest version this morning. Digitized a couple of files (one for Trim and the other for Stop). Hopefully be able to stitch them out later today to see how they behave on the machine. No errors at all with the digitizing portion. |
Excellent, thanks! It's probably worth testing a normal color change too, since I redid the code for that. |
Oh, I didn't realize that. Done. Digitized a regular file with a color change. |
Success!!! All 3 stitched out exactly like I would have expected. All 3 showed up on the Barudan for needle assignments like I would have expected. |
Wilcom hatch has a full feature 30 day trial
No dia sábado, 20 de janeiro de 2018, wwderw <notifications@github.com>
escreveu:
… Embird and Embrilliance both have demos of their software. I think the
issue there is that they are "non-saving" and I take that to mean is that
you won't get a resulting stitch file. Or, it might mean that you get a
stitch file, but you don't get to save their proprietary format. Although,
might still be worth checking out, you might be able to still see what you
need to see.
MasterWorks used to give you a demo (of course, my knowledge of this is
over 10 yrs old, so I'm sure things have changed since then and it was also
saving files back then), but I can't see anything about a demo on the site
now.
Wilcom, Pulse, and Wings all want you to deal with a rep. They make no
mention of having a trial, but that doesn't mean that they don't have a
demo.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#29 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AKke-sNmg5SQ3pgF68pDa_dn3fK-ErIlks5tMeqqgaJpZM4RidW_>
.
--
Com os melhores cumprimentos,
Vinicius Silva
|
Just FYI, since I'm following this thread and have an interest, I currently use SewWhat. It has a full-featured 30 day demo that allows you to save your results. I use it to convert SVG files to PES for my wifes Brother Designio DZ820E. |
Millennium III also has a demo but has to be requested
2018-01-23 17:22 GMT+00:00 wwderw <notifications@github.com>:
… Wilcom hatch has a full feature 30 day trial
I keep on forgetting about Hatch. Even though it's a "home" version, it
has a lot of good features. I don't know about the specialty functions
(such as stop, it does through the Applique module, but I don't know about
how we are doing it, which would be at the individual object level).
Worth a shot though, that one might be the best to bridge the gap with
what I have and you helping telling me what I need to do to help get the
desired stitch file.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#29 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AKke-qjQnWEiSTjK4w327KnLxGMKzjrvks5tNhVQgaJpZM4RidW_>
.
--
Com os melhores cumprimentos,
Vinicius Silva
|
This is the way that MasterWorks was like as well. Although, the requested demo came by mail. I don't even think they do that anymore.
I always forget about Hatch. This one would probably be the easiest and closest to get to what I would have (I know some that actually have both Hatch and ES). It does do some things that ES doesn't do and vice versa, but it's probably going to be the closest in how things are implemented. |
I did have a Hatch trial awhile back, but it expired. I'd have to try to trick them into giving me another trial. I hadn't gotten around to doing that because I haven't seen anything in the documentation for Hatch that leads me to believe it handles things like the STOP function and sequins... How about SewWhat and Millennium, do they? |
Alright! :D I think it's about time to ship this thing and call it version 1.1.0! Thank you so much for your help! Inkstitch really is shaping up :D |
To my knowledge, it does not have anything with the sequins (which is one of the reasons why I never tried it, although, I know quite a few that have both ES and Hatch and like each one for various reasons). As far as stop goes, only within the applique module do I believe it handles stop. It would probably "render" the same functionality as what we were dissecting, but only within the confines of applique. The stop function that is in InkStitch now would work for applique as well. Just have to digitize all the individual components (placement, 1st tack down, 2nd tack down etc) ourselves, but it works.
I do think Millennium would give you the best bet. I think SewWhat is geared like Hatch as far as it's target base.
To me, it's getting exciting. I'm really liking how this is coming out.
My pleasure, I can't contribute to code, but I'll do my best where I can. |
I've only just started. I have tons of ideas. :D |
@lexelby @wwderw thank you both for the great work you have been putting into this 👍 Hopefully I will be able to use this at our local Makerspace to teach embroidery with the Happy embroider we have there :) Next month i'll reserve some time to go there and test it out i'll try to contribute back with some documentation :) |
@X3msnake Yay, that sounds great! Where's your makerspace? I'm really looking forward to seeing more folks start using inkstitch. |
Since we have the trim and stop commands stable, I was going to start doing tutorials on the extension, try to get word out there. Most of my YouTube viewers are Thred users, but it is so much nicer to have a far more current and viable option. Now, I know Thred can run in WINE decently, but I don't know how many are Linux users versus Windows. |
I belong to altLab hackerspace and i collaborate with Fabrica Moderna
makerspace here in Lisbon Portugal.
I've been trying to get the happy embroider there up to work and in a good
shape to use to teaching people how to design and embroid. The biggest wall
I was having so far was no open source software to use for teaching
2018-01-24 3:33 GMT+00:00 Lex Neva <notifications@github.com>:
… @X3msnake <https://github.com/x3msnake> Yay, that sounds great! Where's
your makerspace? I'm really looking forward to seeing more folks start
using inkstitch.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#29 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AKke-oUXtqHHGsOsS8ZBqCCnRf6icintks5tNqR6gaJpZM4RidW_>
.
--
Com os melhores cumprimentos,
Vinicius Silva
|
@wwderw What's your yt channel so i can add you to my sub list ;) |
Tutorials, that'd be really great! Wow, it's cool that things seem to be really taking off :D And wow, we have 97 stars... including @MattRix, creator of one of my favorite Android games?! (trainyard) |
@wwderw did you get to do any tutorials since this? you never told us your youtube channel btw |
Since pull #29 trim and stop are integrated so no external edit needed anymore
@X3msnake here's my channel: https://www.youtube.com/channel/UCa2UAUBoB92eFtZJQkFG1OA |
@lexelby yours was how i came to find inkstitch, not going by that name then, on my search for open embroidery. Been a subscriber for a while ;) |
In order to implement TRIM and STOP, this PR rips out the original embroidery file format code and replaces it with Embroidermodder's libembroidery. This means that Inkstitch automatically gains support for saving in a ton of embroidery file formats!
WIP, need to update the travis build to compile and bundle libembroidery.