Ghostkeeper / SVGToolpathReader

Cura plug-in to read SVG files as toolpaths, for debugging printer movements.
GNU Affero General Public License v3.0
34 stars 7 forks source link

Multiple layers #1

Closed UnfoldAntwerp closed 4 years ago

UnfoldAntwerp commented 4 years ago

I was playing around with your excellent plugin and was wondering if multiple layers are supported? I tried loading SVG's with multiple layers but they got flattened into a single layer. Since you already take the layer height for that layer from Initial Layer Height, I was wondering if it is possible to support multiple layers. So if an SVG contains multiple layers, every layer would increment height in Z, height of each increment could come from Initial Layer Height or (even better)from Layer Height. Or am I overlooking something and am I creating my SVG's in the wrong way?

Ghostkeeper commented 4 years ago

This isn't supported yet. It's possible to implement this though and also planned to be developed: https://github.com/Ghostkeeper/SVGToolpathReader/projects/2 (the 8th card in the ToDo column there, "Multiple Layers").

I'm not giving this project a lot of attention right now since I restarted my Apex library again for my fix of interesting algorithmic problems. I'm sure that the SVGToolpathReader will become the flavour of the month again for me when I get stuck there.

Ghostkeeper commented 4 years ago

Planning this for the next version. Hopefully I can release this next month.

UnfoldAntwerp commented 4 years ago

Very excited to give it a try!

Ghostkeeper commented 4 years ago

The new version is now released in Cura's Marketplace. It's not perfectly polished, but it seems to work nicely. Prints fine!

UnfoldAntwerp commented 4 years ago

Wonderfull, thank you! Will let you know how it works.

Op 10 apr. 2020, om 01:39 heeft Ghostkeeper notifications@github.com het volgende geschreven:

The new version is now released in Cura's Marketplace. It's not perfectly polished, but it seems to work nicely. Prints fine!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Ghostkeeper/SVGToolpathReader/issues/1#issuecomment-611803754, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC3BA5AKRUW7QJEQP6QEQQLRLZMC7ANCNFSM4KIEVYPA.

UnfoldAntwerp commented 3 years ago

1 odd year later and finally found an opportunity to test the new layer function. But unless I'm mistaken, you've not implemented support for multiple SVG layers correct? What you added in Cura is the possibility to multiply a single SVG file over multiple gcode layers. What I'm looking for is that each layer in an SVG file, becomes a Gcode layer. From what I understand, SVG doesn't really have a specific element for layers although Inkscape or Illustrator support them, looks like they get implemented using groups (g). So not sure how they separate layers from groups although I think they are simply the highest in the g hierarchy, unless you only have one layer with groups on it...

Ghostkeeper commented 3 years ago

But unless I'm mistaken, you've not implemented support for multiple SVG layers correct? What you added in Cura is the possibility to multiply a single SVG file over multiple gcode layers.

Correct! It just repeats it. But possibly with different settings (like, not the initial layer bed temperature any more, etc.)

Yes, Inkscape saves layers as groups. I don't know about Illustrator, really. The problem though is that these groups can be nested, or appear inside other elements or as part of referenced symbols. This makes it ambiguous as to which groups to use as layers and which not, especially if there have been multiple editors involved which mix their structures.

The use case you mention is also not very user friendly. To create a 3D model you'd need to draw like 500 vector images and structure them all correctly in your image. This plug-in is designed as a simple way to create a precise print for someone not involved with 3D modelling. Originally as just a single layer, but I see this multiple-layer feature as something similar to the image heightmap importer of Cura. That feature kind of takes away the simplicity. I consider it out of scope, sorry.