Setting Zero Memory

I would love to see Carbide Create have an option to save multiple zero settings. My machine gets tied up for days when I have a project that requires multiple layers of epoxy resin. I don’t like to switch in between projects and have to reset zero because it will be off a little when I switch back. It would be great if there were memory slots to save multiple zero settings. Then I would be able to go back and forth between projects with just a click on the saved zero settings.


Funny that you should post this, I had a similar thought this week when switching back and forth between projects.

I have at least a couple other wish list times I’d probably prioritize higher, but I definitely had this on my ‘I wish it did’ list this week.

The Quick Action menu lets you save the current zero so it can be restored with a button press.


Quick actions are what I use for this but lost them upgrading from 557 to 618. I just found them however. They were in the folder C:\Users\Username\AppData\Local\Carbide 3D\CarbideMotion and named Actions.json. Copy that file to C:\Users\Username\AppData\Local\Carbide 3D\CarbideMotion6 and it brought them back.


Not as quick as a preset button, but…

You could set your zero, then move the spindle to the home position (back, right, up). If you open the set zero screen it will show the coordinates in negative numbers. Write those down. When you need to get that particular zero again just jog from home to those same coordinates.

I haven’t tried this, but I think I should work.

Also, I second the idea for saved zero locations.

As an add on to my previous post about having lost and then found my Quick Actions I thought I would post an example of my JSON file. This has two quick actions and allows me to move to a front left zero, and another to move close to the back of my machine for faster initialization next time I initialize. The file needs to be saved actions.json and saved to the folder C:\Users\Username\AppData\Local\Carbide 3D\CarbideMotion6 on Windows. You can also put the commands in using the interface in Carbide Motion which is probably the best method but this at least gives and example of what the commands might look like. Be very sure that you have you coordinates right for your machine. Mine is a Shapeoko 3 XL for reference.

“code”: [
“G90 G21”,
“G53 G00 Z-10”,
“G53 G00 X-784.4 Y-326.9”,
“desc”: “Moves XY to front left for zero off bracket”,
“image”: “”,
“name”: “Front Left Zero”
“code”: [
“G90 G21”,
“G53 G00 Z-10”,
“G53 G00 X-20 Y-20”,
“desc”: “Move close to home for next startup”,
“image”: “”,
“name”: “Home”

If you click on the text “Position”, it will switch to machine co-odinates. Write those down.

You can then create a Quick Action to move to those exact co-ordinates, and at that point you just set zero there.

The code for such a Quick Action would be:

G90 G21
G53 G00 Z-10
G53 G00 X-10 Y-10

Just substitute the co-ordinate you wrote down into the third line. If you are using inches, on the first line change G21 to G20.

If you want to restore your Z as well, then add a third G53 line like so:

G53 G00 Z-50

substituting the value you wrote down.

How can one save zero if the piece isn’t 100% the same as the previous or next?

I have an L bracket mounted to the waste board in the front left corner. So as long as the part is zeroed from the front left corner the x and y never change.

1 Like

I believe what the OP meant was he wants to be able to have more than one project on the table at the same time and be able to revert to previous zero locations for whichever project he’s currently working on.

At least that’s how I took it and how I would use it.

I do like the L bracket solution. It would certainly last longer than my pencil marks LOL

1 Like

I do a good bit of epoxy projects too and I used to just do one at a time also. I got a corner square from PwnCNC and it allows me to set the X and Y zero and leave it. I can switch between projects and just rezero the Z using the bitzero on top of the work piece. I was nervous the first time I used it but have not had any problems. I did write down the machine coordinates for the X and Y zero just in case something happened. Once you have the X and Y set just press where is says position on Carbide motion and it will change to machine position and give the machine coordinates.


I have been doing a lot of surfacing lately. I have been using a start depth of 0.000 and a max depth of 0.250 (inches) cutting 0.050 depth per pass. When finished, many times I need to take more material off to get a clean surface so I:

  • Move the cutter outside of the workpiece
  • Rapid on Z to 6mm (0.236 in.) above zero
  • Manually move the cutter on the Z axis to -0.250
  • Reset the Z axis zero
  • Move the cutter up on the Z axis to clear the workpiece
  • Restart the job

How could this be more automated using a Quick Action?

I use an L bracket for most of my projects. The problem I face is I do a lot of clocks as well so I can’t use the bottom corner all the time. I have to reset my zero to the centre of my piece. In this situation it would be great to have a few memory buttons so I can go back and forth between both saved zero locations.

Unfortunately, this sequence can’t be done by a quick action - Quick Actions can-not reliably set Z Zero.

There is also a bug where quick actions mess up if the action has both incremental and absolute positioning, and without that it’s more difficult.

If the bug gets fixed, then the first three steps could be done in a quick action.

I was responding to the question asking how you can return to the same 0 when you can’t guarantee the piece is not the same as the previous when I mentioned the L bracket. I got the bracket from @gdon_2003 from this post.

It is really helpful for keeping a consistent x and y zero location in the lower left. I have threaded inserts in my waste board and traced the L bracket so I can remove it and place it back in place. I also insert a square into the corner when inserting and use the quick action to return to that location before locking it down and confirm that I have it lined up exactly. Saves me a ton of time for jobs I run a lot.

1 Like

I have my z set to the top of my table and the x,y set to the lower left corner with a square so everything is always in the same place no matter what project. I just square my part in the corner mount it then put the thickness in carbide create. So if I mill a board flat to .5in then pocket a hole to .25 then pour epoxy in the hole wait for to it dry then place it back on the maching and resurface it to .5in it should only mill the epoxy off. Do you guys really set a 0 for every new project?

I’ve had issues with this as well. Especially when you need it to be very accurate when coming back. Turning off the machine or re-homing will throw everything off slightly which is enough to mess up a delicate inlay. I bought a bit that comes to a precise tip and before I start a project I poke a tiny hole in my waste board for that zero. Then if anything goes awry I can manually re-zero with that pointed bit.


Did this get resolved?

Would it help it you put coordinates into the header of prgm?
This will be helpful if you have a solid locating point for Jobs
If you use ( ) the code should not be read by machine.

Example (x ----- y----)

You can insert this type comment anywhere for reference ect

I hope this helps

I hope that you don’t mind a question. I don’t use Carbide Create. When you design and save toolpaths in CC, do you also use CC to send the gcode to your CNC?

I ask because I use one program for the CAD/CAM functions and another as a gcode sender. In the gcode sender, I can use workspaces to do what you are wanting to do.

Most people using CC would use Carbide Motion to send the GCode to the machine.

CC doesn’t talk directly to the CNC, although it can send the GCode directly to Carbide Motion over the network without having to save to a file.

1 Like