Embroidermodder / libembroidery

Library for reading/writing/manipulating machine and design embroidery files
https://www.libembroidery.org
zlib License
45 stars 13 forks source link

Opening SVG files #128

Closed DwerewolfT closed 2 years ago

DwerewolfT commented 8 years ago

Sirs,

I have managed to compile Embroidermodder2 on Ubuntu 14.04 64bit using Qt5 and successfully transferred a few of the sample files to PES format and embroidered them on my Brother Innov-is V7.

However every time I attempt to open any SVG file Embroidermodder2 crashes.

Is this because of 'work in progress' or do I have something wrong?

My main interest at this time is to convert jpg to svg via inkscape then embroider using Embroidermodder which isn't going to work if I can't import an svg file.

Help please.

regards

JoshVarga commented 8 years ago

Sorry to hear about the problems. This is the "work in progress" portion. I will run through soon to see what the issue is if this is most SVG files.

Regards

On Sat, Dec 26, 2015 at 4:50 PM, DwerewolfT notifications@github.com wrote:

Sirs,

I have managed to compile Embroidermodder2 on Ubuntu 1404 64bit using Qt5 and successfully transferred a few of the sample files to PES format and embroidered them on my Brother Innov-is V7

However every time I attempt to open any SVG file Embroidermodder2 crashes

Is this because of 'work in progress' or do I have something wrong?

My main interest at this time is to convert jpg to svg via inkscape then embroider using Embroidermodder which isn't going to work if I can't import an svg file

Help please

regards

— Reply to this email directly or view it on GitHub https://github.com/Embroidermodder/Embroidermodder/issues/84.

geeksareforlife commented 8 years ago

Hi, I understand your team had a recent loss, but was wondering if this project would be continuing? I have the same issue as the OP, and would like to use this software as we are about to buy a new embroidery machine.

I completely understand if it it is not going to continue, just thought I would ask.

tatarize commented 8 years ago

A proper and fully fleshed out SVG reader for such things is a pretty hard project. And in many ways it's a project in its own right. Even a casual glance at the source code and I found a few different flaws. The svg number parsing doesn't accept 'e' within the float, it doesn't properly accept +. I might be wrong, but it looks like it supposes path commands are always preceded with the command rather than allowing things like "m4.5+5-3+8.4e0l7 2v 4 5 5 6.6.3.3" and that's not even noting how the required translations events are supposed to be processed. The groups are ignored. Like the code is { } for group. It checks the currentelement for color rather than understanding that color could have been set into group three levels back, with a style element.

tatarize commented 8 years ago

I do a lot of higher level stuff stuff with embroidery. I wrote a raster image to vector lines converter. And was looking into getting LibEmbroidery to do the .svg to various format conversions, but I might well have to simplify the SVG into having base elements of polylines which specifically and expressly provide the color. That or have it convert from the DST format to other formats as I output that. Or I also wrote an Android app (TouchEmbroidery) which can load up fully realized and proper SVG files according to the given specs, and save out DST files. Even if this doesn't continue, there's a free version of my app that'll load up SVGs properly, save DSTs and then you could use LibEmbroidery to convert them to PES. But, as is this doesn't actually do SVG files, not remotely properly.

Metallicow commented 8 years ago

@geeksareforlife Yes, the project will be continuing. The code base is immortalized now. It will always remain free and continue in the spirit of open source. It will undeniably take us a bit of time for us too recover/search for new talents to help start replacing/repairing his(Jon) prowess as a lead engineer(Parametric/Architectural/CNC/Artistic/Open source/Vectorization/etc...). As tatarize explained, this idea/part of the code base is not as easy as some might think it, and will take skilled/familiar SVG'ers to implement properly.

I believe a separate grouped crowdfunding effort for the SVG work might possibly be the best route for interested contributors, past getting to the stable moddable v1.0 milestone. Alas, the vast amount of knowledge that was lost will take time and effort to recover. I have lots of books/hardware full of project code to recover, but little time for reviewing it all at present as life itself is very demanding and this type of work wasn't exactly my first hobby/skilled trade.

In the meantime, questions and code pull requests are still very much welcome. Seek out JoshVarga or others from the fellow githubbers/mailing lists for help with processing svgs, until a time that this issue can be better addressed. Thanks.

robin-swift commented 2 years ago

I think the strongest discussion on SVG is on #136 so I'm closing this as a duplicate