Image2gcode engraving - how to improve it

@Jason - I’m attaching a good test image for white space skipping. Please send PEP5 Gcode when you get a chance. Just use default settings for full power, 8-bit PWM (power 0 to 255) and white-space skipping enabled. I appreciate the help!

@Leo69 here is the code.

Largemouth-Bass-Final2coloured.rar (1.72 MB)

Not sure why but I keep getting a message saying the file can’t be downloaded.

It’s because it is a .rar file. I can try to fix that but it will take some time.

How can I use image2gcode to engrave / carve an image into wood without a laser? I’m sure I’m missing something simple but repetier will not load the file I save from there.

Oh OK. @jason please zip the file instead when you have a moment. Thanks

@brian mage2gcode is only for laser engraving. Another user on the forum, Barry I think, did an awesome job with an image using Estlcam with wood cutting tool path. It looked very much like a dithered photograph when he was done. Maybe he’ll respond.

I used Estlcam for the engraving.

Here is the ZIP version @Leo69

Largemouth-Bass-Final2coloured.zip (2.52 MB)

@vicious1 I notice you posted new firmware. The Marlin_RC8 is the one I should download and config? So if it solves my issue?

It has the lcd refresh update in it so I think it is what you want. Let me know if it doesn’t. I still have not had a chance to put the laser on. I have been cutting parts for the other prototype still.

Once my replacement lasers come in I will definitely give it a good test. Got a back log of work lol

Just a quick update. I haven’t had as much time to work on the I2GC revision but I’ve definitely given it some thought and know exactly how I need to implement white space skipping without losing quality. I’m also thinking of a “black/white” mode for images that have no grayscale, just black and white. I think we can just combine all of the black pixels in one single linear G1 move instead of doing one pixel at a time in this case and it should speed things up and greatly reduce file size. I’ll have to see how the acceleration values will affect something like this. I started with the rotary stuff and have a nice preview screen that shows how much the image will wrap around the stock diameter as well as displaying a % coverage. Should be helpful for the rotary engravers. If anybody would like to see any other features then let me know and I’ll see what I can do.

Do you think you could link laser power to acceleration? I guess if it is an issue, you are thinking we might get darker beginning and ending shades?
So have the program use m-commands to control accel per picture and ramps up the laser power at the same time. This would also let us mess with accel values without re-flashing and you would know exactly what values are being used.

Or is that just nucking futz?

That is a crazy suggestion but worth experimenting with. I think we’re currently using false, exaggerated accel values for grayscale engraving. We’re only moving about .18mm per line of gcode so we never ramp up to full speed anyway which forces us to jack the values up to compensate.

Your suggestion makes sense for images that only have 2,3, or maybe 4 colors though. We could record the position where the color change starts and ends, figure out the linear distance, set accel proportionate to that distance, and do a single G1 move for the entire row of like colored pixels. Might have to play with the values but it could be a big time saver for some people.

On a side note, I have all my components for the Dewalt PID project:) Can’t wait to get some time off of work. I have 5 of everything. Definitely expecting to see some magic smoke along the way so I’m preparing.

Yeah full grey scale I couldn’t imagine any way to make it faster other than a color skip, but 2 color the acceleration ramping might be sweet for really large projects.

I got dibs on a PID…I have cash sitting on the desk for you whenever it happens. If they work well and you need an investor…

You’ll definitely get the first prototype to test. I just do it for fun but if you think it’s worthwhile then we can talk later on for sure.

One thing I was thinking would be a time saver feature is this. Say your image looks like this


|Text |
| |
| Text |
| |

Text

Normally it would make long passes across the entire diagonal width of the image. If the software could be made smart enough to look at blocks and engrave in sections. So for example it would engrave the bottom left “Text” then move to the middle section then finish up at the top. Removing all the unnecessary travel would make large engraving jobs way way faster.

If its not possible to have it “sense” where it needs to engrave you could setup quadrants or sections and then it would engrave sections in order.

Not sure if that makes any sense or not.

ok well it didnt format my example properly so attached is an image.

2nd image is my idea of sections. It would engrave in the order as numbered.

That’s an ambitious upgrade there. Separating the image into quadrants or even smaller chunks is doable but will take more time than I can commit at the moment. It’ll be next on my list after the white-skip and rotary upgrade but I’ll be focused on the router PID control first. I think I can have the software do it a few different ways and keep track of total movement for each iteration, then select the optimal route. I don’t commit much more than an hour or two on this stuff in a typical work week so it’ll be a while.