A really crazy idea? (A skip/advance button) Does it exist? Could it?

A TLDR break is below if you want to skip the rant.

Something I’ve been thinking about since I got my laser machine and sometimes the material cuts better than other times. It’s readily apparent when a cut has been successful, the beam is visible on the protector plate below and the smoke billows beneath the workpiece.

For this material, I am running 5 passes to cut, and it’s always a clean cut. But often, especially with smaller inside cut-outs, they will clear after the second or third pass. It would be just wildly insane to use a camera and sensors to detect a full cut and skip subsequent passes on the object. Or would it?

But then I started thinking simpler. If I use the camera viewer and place a cam - in this case, a USB borescope from AliExpres - under the honeycomb bed, I could just watch the process.


TLDR Start here


And this is where the wacky and crazy comes to something so simple, it might already exist and I just haven’t found the button. If not, then a suggestion.

Is there a way to “skip” to the next object while a job is in progress? I’ll watch the console and see
C22 pass 1 of 5
C22 pass 2 of 5
C22 pass 3 of 5

If there was an option to “advance” or “skip” and move on to the next object, forgetting pass 4 and 5, that would be so awesome!

I know you can sorta do this, by stopping a job, then starting by moving the slider in preview and all that jazz.

But typically I’m talking about a time savings of between 15 seconds per object, up to 2 minutes at most. The risk of misaligning something from a stop/start would be too high to justify that.

A skip or advance I think* (I’m not a programmer though) is a native G-Code command. So to do something like this, again speculating, I think would be as simple as beginning each new object with an identifier variable of some kind in the G-Code. Then the “advance/skip” button would account for whatever item it’s on, and +=1 to the next object.

I hope that was clear enough, or that nerd brains will understand what I’m trying to say. Let me know if I can explain better.

I did a bit of research. “goto” is the g-code command I’m thinking of. So when the stream is processing, the advance button would simply “goto” the next object.
Lightburn does or does not generate a full g-code file for every job? I don’t think it does, but could be totally wrong. If that’s the case, then back to my initial thought of assigning each object with it’s start line with variables or an array at the start.

Count each completed object and +=1 to advance.

1 Like

light burn does not realtime stream the data to the laser. It sends the job all at once. Your ideas does not work for the GRBL control.

I am often wrong 2 or more times a day… Please check my answer.

1 Like

I’m also wrong often, but I believe for typical controllers (ruida and similar excluded) that Lightburn streams data but it’s buffered and consumed at the controller with no feedback to Lightburn. Hence, realtime position is unavailable. Pause, can used to stop the job without losing position (again, I believe), but I don’t know what kind of delay this typically incurs. Working from the pause function, I could see potential for a “skip to” with the caveat that it be commanded some nebulous time in advance to allow the current instruction set to finish…assuming one wanted to wait until a complete shape/pass/layer was complete before pulling the proverbial plug.

Ruida controllers receive the entire job in one (binary) gulp, but GRBL controllers require drip-feeding G-Code into a smallish character buffer. They both behave the same way: LightBurn has no way to know what the controller is doing at any moment, because the controller doesn’t provide any feedback.

G-Code commands are all point-to-point motions, with no concept of the overall design, so skipping forward or backward to a specific command isn’t feasible.

Basically, you must regard the laser much like a printer: you send a job to it and something happens without any manual intervention. Sometimes, you must clear the resulting paper jam …

2 Likes

This is the key statement. Lightburn is typically 4-5 (+/-) lines of code ahead of the controller, depending on the controller buffer space.

You could set your cut for three passes, and have another identical layer, turned off, with two more passes if you need it. If it does not cut thru, turn off the other layers and turn on the reserve layer to make a final cut.

Or like I do, just change it from 4 passes to 1 on that layer and run it alone to make the parts let go…

1 Like

Interesting information from everyone. Much appreciated.

I should have mentioned, this is a GRBL machine.

I’m not so convinced that this couldn’t be done based on the feedback I’ve heard.

The machine doesn’t know what’s coming next if it’s being fed batches of data in a buffer. Lightburn would execute a process and update what it’s sending next, the machine none-the-wiser and no need for feedback from the controller.

Once the “advance” button is commanded, Lightburn would figure out what data has been sent already and find a suitable break-point, letting the machine finish it’s instructions and then be directed to the next cut/layer/object.

It doesn’t need to stop immediately, it can finish the entire pass if that’s needed to keep position.

And of course there are other workarounds. I could very easily make a duplicate layer for those smaller inside objects with one less pass.

I think there are many use cases beyond what I can think of now.

Or like I do, just change it from 4 passes to 1 on that layer and run it alone to make the parts let go…

There is only one* problem with this for my particular case. I’m using a blower with a hose to bring cold fresh air over the heatsink so I can keep the power high and temps low (Diode).

The machine is perfectly capable of the light strain the hose imposes, but when it returns to idle and stops the stepper motors, if it’s in a corner, the hose will pull the head out of alignment slightly.

As such - re-cuts are more of a hassle than un-needed passes.

I did get some wood that has a tendency to burn, even as low as 70% power. That’s the only present use case I have for an advance function.

  • For that material, and the lower power, I just disconnected the hose.

Otherwise, it’s just saving time, the other wood cuts very well and doesn’t burn, so I use it for shapely objects, the other stuff for larger square things.

GRBL - Set parameter $1=255 using the Console window. This will keep power on the steppers. I did mine. It keeps you from manually moving the head by hand too.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.