Is there a way to “hard code” a set finish position in LB that would apply to every job, every time regardless of machine/software being reset/open/closed? I am building a rotary Laser cutter and want the Z to retract at the end of the job and the head to move up out of the way into its cubby so there is plenty of room to swap out the parts.
Also- Are there any modules within lightburn for gcode based touch probes/autofocus? I have a probe on the machine and have been trying to figure out some ways to get it to do what I want in regards to touch off the part and then setting the appropriate offset for the laser focus. Similar to the first question, I had tried to use the Start/End Gcode and ended up with wildly unpredictable results. I set it for Z to return to zero (home switch on top, working neg) but at the end of the job, it wouldn’t move at all and then the gantry would try and move into the cubby, hitting the chuck because it didn’t lift up. I checked coordinates using “get position” and it confirmed the machine was not at zero. (-38mm IIRC). I also tried to get it to just run the home procedure at the end of a job and it did the same thing, didn’t retract the Z at all and just tried to move X and Y. I even tried $HZ and it just did nothing at all. If I run $HZ outside of a gcode file it does just home the z axis. G28 and G28 Z are also ignored. I feel like this is a stupid issue and I am missing something there.
Machine is run via USB/PC and using absolute coordinates for the origin. Fun mess, eh?
Not sure if this will work but you can use a formula for the move like z-25 to raise z 25units to give you clearance or hit z end stop whichever comes first.
I had tried that and it sort of worked, I was able to plug in to raise 20 which is did and that was great, but for very small parts it needs to raise up quite a bit, so I plugged in 100 (max travel) and it just ran into the upper home switch and stalled the motor, switch didnt stop it. Not sure if thats a coding issue that it doesnt treat it as a limit switch or what. I also worry about the limit switch approach as doesnt hitting the limit switch also stop/lock the machine?
For the probing, I have it to where itll go down and touch the part and all, but I tried a G92 Z0 to set it to zero (or the focal point offset) but I have no way to confirm that the position has been updated. When I go to the motion tab and click get position, the z position is still something like -26 or whatever, depending on how far the Z had to travel down. In the end, my plan is to just adjust the probe so that the trigger offset matched the focal length, but then I am not sure how I could plug in any kind of a z offset ( in the lightburn cut/engrave settings menu) if I wanted to raise it up some in order to get a different burn on an item.
Bugga, yes it stops the machine but the job has ended anyway so should not matter. This is probably a case of where you really need lightburn to use a varialble, which mighnt be worth putting in a feature request for, the you could set a variable for the job like z-(varA) that raise it a set amount depending on how high you need it.
I have tried playing with the macro buttons but the lack of job coordinates versus machine coordinates has me unable to check if the code worked properly with resetting the zero for a stand alone probe routine. At the same time, I decided just having it probe at the start of every job takes only a few seconds and sort of idiot proofs it, which I like. The issues is that without a DRO, I really dont have any way to confirm what its thinking or doing, like with a G92 call. I also still cant get it to properly home the Z and then just move to X0Y0 at the end of a job. I am fine with the Z homing but would rather avoid the X/Y homing at the end just because that could induce smaller positioning errors. I would rather have this setup as entirely automated at the end of the job… It really doesnt seem like it should be that problematic and maybe its FluidNC causing issues, there is no reason why the single axis homing and then jog to X0Y0 should be ignored like it it.