Jack000 / Deepnest

An open source nesting application for laser cutters, plasma cutters and other CNC machines
893 stars 265 forks source link

Request to recognize and color interior holes in parts #5

Open marmilicious opened 6 years ago

marmilicious commented 6 years ago

Typically in laser cutting we want to cut out all the interior lines (holes in a part) before cutting around the perimeter of a part. When a part is cut free from the sheet material sometimes it's position shifts a little bit. If holes are cut second then they can be slightly misaligned from their correct location.

SVG file of above image: https://pastebin.com/4dfXWb0c

If Deepnest could recognize interior lines (holes) and color these with a different stroke color when exporting SVG files then it would make if very easy to select these (select all lines with same stroke color), and be able to tell the laser cutter to cut those first. Ideally there would be an option to set the stroke color for interior and exterior lines.

deece commented 5 years ago

What laser cutting software are you using? Both RDWorks & Lightburn automatically recognise internal cuts & do them first.

napter commented 5 years ago

This feature would be helpful to me too. In order to cut holes first on a glowforge laser you have to import an SVG with the interior cuts (holes) a different color than the exterior cuts.

marmilicious commented 5 years ago

@deece We are using a Glowforge laser. As @napter noted, the Glowforge needs to have interior lines be a different color in order to recognize and be able to cut those first. But I could see this option being useful to others not using software as awesome as Lightburn. (Lightburn really is great! Unfortunately we can't use it with the Glowforge.)

deece commented 5 years ago

It's probably worth pinging Glowforge to add this feature then, it's obvious and essential, and you shouldn't have to rely on third party applications to pre-process the data.

napter commented 5 years ago

At the very least I think it would make sense for Deepnest to leave the original color of any path, currently it removes the colors and sets them all to black.

deece commented 5 years ago

This is true. I do find that I get colours out when exporting as SVG (rather than DXF), although sometimes it is lost.

marmilicious commented 5 years ago

@napter I agree, it would be good if input has color that it be preserved. In our case we are using Onshape to design parts. Onshape exports parts as a single color though, thus the wish that Deepnest might have an option to color holes differently on export and streamline the process a bit. Anything to help simplify the work flow is appreciated.

deece commented 5 years ago

@marmilicious @napter Have you raised this with Glowforge? It's a feature common in many other laser cutting packages (even Chinese ones), and with a few people asking, they might make it a priority.

napter commented 5 years ago

@deece @marmilicious Is glowforge the only laser that allows you to change job settings based on color? A quick google shows the option to do color mapping with Epilogs.

Regardless, if mapping cuts to colors isn't something to consider - keeping the original colors rather than losing them would be helpful. Thanks!

marmilicious commented 5 years ago

@napter Yes, Epilog has the ability to choose presets based on color. Keeping original colors (as set in design software) could certainly be useful to those users.

deece commented 5 years ago

@napter Most do, which is why the software should preserve colours. Any feature which deliberately alters the colours should be off by default.

Identification & sequencing of inner cuts is something that your CAM software is responsible for, so if it's missing, you should raise it there.

At the moment, it seems like @Jack000 has gone walkabout, so not only are there no patches to Deepnest coming in from him, but PRs are not getting merged either. If you want action, you'll need to look elsewhere.

zaped212 commented 5 years ago

I would love to have this feature as well. I have a full spectrum laser and it uses colors to set speed, power, cut order, and what should be raster engraved.

It would be great if each level of nesting could be given its own unique color so parts ( with holes ) nested inside other parts would have 4 different colors one for each interior line.

PowPodg commented 5 years ago

One of the reasons that the holes are not recognized is shown in #59

rschenk commented 3 years ago

I would love this feature as well—Deepnest preserves the original color of shapes when exporting as SVG.

@deece you mentioned that some laser cam packages can automagically detect internal holes/features and sequence them first. That's fine if you only have internal holes that should be cut with the same settings as the outer perimeter, but supposing you wanted to also etch labels for those internal holes. Now you need a different power setting for the etch. I set all this up with with different stroke colors in my design, but unfortunately Deepnest removes the colors and exports everything as black. It's a big pain in the neck to go back through and re-color the etches.

Edit: I think I misunderstood the original intent of this feature request, and @deece's reply that I linked above. It seems the original request is to have Deepnest perform the coloring by itself. For my use-case, it would suffice to simply preserve the original color that I've already specified in my input files, which is actually #99. My apologies for the confusion.

jestelle commented 3 years ago

Me too! Unfortunately Jack isn't working on this project right now. But I'm interested in reviving it. Any developers out there want to help? See #123