Ability to define post-cut spindle move

the defined post-cut spindle move (front left, just above the material) caused me to push an end-mill into a clamp today, destroying the clamp.

The way that action is defined now makes it impossible to clamp on the front left corner without also expecting the end mill to crash into the clamp.

my recommendation is to have the bit retract at least to 1-2 inches above the material, and then move back, behind the material we’re carving. Ideally, I could choose either Z=(full height)" + X=0" + y=24" or some other option. Honestly, I would use this option 99% of the time, and it would be my preferred option - I’d break fewer end mills and be able to work faster.

Yes, some people want to have the spindle at the front of the machine to change the bit, but that can be another option for preset, Z=(full height)" + X=0" + y=0".

And for those who are doing the same carve over and over we still need to access the clamps to change the material.

If you go into general settings you can set the saftey height to take care of that.


Wayne is specifically talking about the “Origin Safety Height” …


Brandon Parker


I will adjust the Origin Safety Height, but I also wonder if this governs all retractions and movement above the material? So if I have a multi-move carve, will every single retraction over the workpiece be to that height?

You can change both the origin and the safty height for your needs. just remember the higher you go the more time the carve takes.


yeah, that was my concern. I just simulated a carve, and I now understand better what the difference is.

1 Like

So that’s fixed the initial problem, but honestly, I’d still like to be able to define the “post carve” movement of my spindle. It would be so nice if the spindle just got out of the way once I was finished with a carve.

I still think there are three positions that need to be either defined or definable in Easel - 1) “Park” - which would be moving the spindle up and back and out of the way so that we had access to our work piece, 2) “bit change” - which would be high and up front so that you could have easy access to the spindle, and 3) “go to work home” - which would be either at [work 0,0,0] or [work 0,0,2]. You could easily add a fourth, 4) “go to X2 Y2 for depth probe” - would place the bit at [work 2,2,6] so that you could probe the material height, instead of having to jog the machine over to those locations.

I believe if you do a bit of research you will find i work around for all of those wishes. I can not tell you what they are but i know i have seen each of those here in the forums before.

1 Like

thanks for that advice. I can write the macro that’ll move the machine, or use G-Code to do it, but I’d really prefer to have Easel updated - they’d add a lot of functionality

1 Like

I am brand new to x-carve and easel, and with the few carves that I’ve made, this is already my frustration. After making a cut, I want to inspect it, and possibly unclamp it. I want the spindle OUT OF THE WAY. I could not figure out how to do this without toggling for several minutes. I came in here to research how to set “park” to the other side of the machine so that the darned thing is not constantly in the way. Per your comments, it appears that this is not a simple matter. I too would like a “get the heck out of my way” option

1 Like

G28 is your answer. I don’t use Easel though so I am not sure if this can be done but most g-code senders will allow you to define custom code before and after the generated code. In my case I use it at both ends. When a program starts and before any of the carving happens my G28 sequence will raise the bit past the gantry height wherever the spindle is located on X/Y. Then the spindle starts up and is followed by a brief pause/dwell (G4 P3) to get to speed. Only then will the program actually start by moving to the starting X/Y position of the carve, which happens with the bit still raised above the gantry.

When the carving program is complete another G28 sequence starts by raising the bit back up to the top of the Z axis (machine position Z-1 in my case). Then the spindle stops (M5) and finally the router moves out of the way to the rear left corner of the X/Y plane (machine X0,Y0 in my case). This keeps the bit clear of any potential crash, moves the gantry out of the way to make inspection easier and leaves the bit at a comfortable height to swap it out if needed (I have the 750 model).

Finding the purpose of G28 a few years ago was a game changer for me. I also fell victim to Easel’s “helpful” movements and lost several bits that way.
Hopefully you can add this to your Easel workflow otherwise you can dump the Easel code to a file, paste in the G28 sequence and then tell Easel to load it up again to send it.

However, implementing G28 requires that you first store the location of what G28 will see as its home base. This is done one time with the G28.1 command and MUST be done before you ever send a G28 instruction to the machine

I don’t have it at hand but if there is interest I can share me sequences here when I get to the computer. Good luck!

1 Like

Yes, if you would post that script/sequence, I would appreciate it.

It would be nice if Easel had a few definable buttons in it, so that we could take that kind of script and assign it to one of them, making it a single button push from then on.

I use a wood brace at the zero location that moves my clamp to the side or the bottom and clearly out of the corner. This has saved me from setting the origin safety to a higher point. I still have to pay attention to the simulation to make sure the first path and last path does not cross my clamps.

Those sound like great additions.

Hey @MarkRasmussen, sorry for the delay, the holidays got in the way. Anyhow, here are the header and footer sections of my g code template.

Header. The key here is that the first move the machine makes (G28) is to raise the router to the machine Z0 which is the top of the z axis on my machine. The spindle starts up (M3), there’s a pause to let it get to speed (G4). The next motion command is the G0 that moves the raised router to the start of the carve. This clears any clamps.

Remember that G28 motion commands use machine coordinates, not work coordinates.

G90 G94
G28 G91 Z0
S12000 M3
G4 P3.0
G0 X281.445 Y216.237
G1 X283.712 Y218.153 Z-3.635

That G0 above is the start of the generated g code.

Footer. Here the G1 and G0 moves are the end of the generated g code. I included them for illustration. Again note the first G28 move at the end of the carve is to move the router to the top of the Z axis. This again ensures all items below the cutting height of the gantry are cleared on the next G28 move which in my case sends the router to the rear right corner in order to get the router out of the way to inspect the work. Finally the spindle turns off and the machine is safe to approach :).

G1 X377.996 Y211.082 Z-0.321
G1 X377.703 Y210.924 Z-0.000
G0 Z1.000
G28 G91 Z0
G28 G91 X0 Y0

You do have to define the coordinate origin for G28 with G28.1 first so when you use the G28 move the controller knows where the reference origin for G28 is defined. The G28.1 command stores the values in the controller’s non volatile memory so they will be kept after powering the machine down.
Also, very important, note the G28 move also includes the G91 in the move AND the G90 after the move. This has to do with how G28 will interpret the axis values and it matters but I won’t go into the detail here. However you can read more on that detail on a separate post:

Good luck, let me know if you have questions. Like I said, not sure if Easel can be set up to automatically insert these snippets into its output, but you can certainly insert them manually if needed.

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