Feature request: Carbide motion, probe x AND y

Sometime, I want to zero my Z based on the top of the spoil board. Then, in order to zero all three axes, I have to currently do the following:

  1. Select the probe X, Y, and Z (existing Probe function) with the BitZero in the corner of my workpiece
  2. Select the probe Z only with the BitZero on the wasteboard


  1. Select probe X only with the BitZero in the corner of my workpiece
  2. Select probe Y only with the BitZero in the corner of my workpiece
  3. Select probe Z only with the BitZero on top of the wasteboard

What I’d really like is a Probe X and Y only that zeroes both X and Y. Then I can use the Probe Z only for the Z axis after moving the BitZero to the wasteboard.


This feature would be great for my work flow as well. About 90% of the time I zero X,Y,Z on the corner of my stock. Then immediately rezero Z on my fixture plate.



Twenty characters so I can post.


If that Z-Zero never (or rarely) changes because you’re zeroing off of a fixture plate or your wasteboard, I’d just use a macro (quick action?) that re-establishes that Z-zero with a G10L2Znnn command.

Can you interpret the G10L2Znnn command for the less savvy among us?

My Z-Zero does change as I switch between an MDF spoil board and the threaded table, so using the G10L2Znnn command wouldn’t help much.

So make two macros?

G10 Explanation:
When you set zero the “standard” way, you (or your machine controlling UI of choice…Carbide Motion in this case) are sending a G10L20 command. Let’s say you are setting your XYZ zero by eye, you would jog to the location of your desired work origin and then send G10L20X0Y0Z0. When you use the BitZero, the numbers for XY&Z are adjusted for the probe thickness. Behind the scenes, that is calculating your work offsets or how far away your work zero (origin) is from your home location (your limit switches, MACHINE zero, the absolute reference).
Another way to set zero is to tell the controller your work offset, rather than have it calculate it. To do this you’d use a G10L2 command (notice the two in place of the twenty). If I know my wasteboard is exactly 122.37mm below my Z limit switch (Z-122.37 MACHINE position), I can send the command G10L2Z-122.37 to set my Z-zero at the surface of my wasteboard. You can do this regardless of your actual position on the machine. You can home the machine, send that command, and that’s where your zero will be. If you want your zero to be 19mm above that because that’s where you set it in CAM, then just add 19mm to -122.37 and send G10L2Z-103.37.

I hope that makes sense. Now, your relying on the repeatability of the homing switches for this to be perfect. Personally, despite my enjoyment of automating probing, I find that a V-bit and my eye is currently more reliable than inductive or conductive switches / probes.

To directly address the thread…I would guess that C3D doesn’t have an probe XY only option because the Z location is needed to ensure proper probing depths on the other axes.


Neil, thanks for that explanation! Do the values you send always have to be in mm and can you recommend documentation where these types of things can be studied?

1 Like

I could use a macro for the threaded table, as it will be a constant thickness, but the MDF spoilboard occasionally is resurfaced, so the distance wouldn’t be constant.

This macro of which you speak… Is this created in the CC Program or outside and run independently?

I do not see where to create said macro in the program. I’d like to see a sample of a macro of which you speak.

These would be “Quick Actions” in Carbide Motion. I don’t use Motion, so take my advice as a guide. Testing will be required. The gcode works with GRBL, but Motion might require something else. For example, Motion might not like the command without a P-word. By default the P value is zero when not included, like this:
That P0 means that the offset is changed for the currently active WCS (Work coordinate system) which is, by default, P1, or G54. Motion might want a P1 there instead…I don’t know.

It’s just a one-liner of gcode, like I posted above.

No. You can add a G20 to the beginning of the line to ensure you are in inch mode.
G20G10L2Z-103.37 . If you’re switching units, always double check things. I recommend using metric for everything (design can be done in any unit of measurement) because GRBL’s internals use metric anyway.


Noob caveat.

I understand you want “quick” command on a menu. In reading the other comments, I’m left wondering why not just use some stop plates/blocks/jig for X & Y… then put your work there?

I’m also the “X,Y, Z zero every time guy” so I ask with humility.

I do have a reference for most jobs, but others start in a different place, especially when I’m using some scrap fro a previous job an it doesn’t align well.

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