G-code Setting Part Zero

I have a series of dowel pegs drilled and installed in the X and Y axes of my table that I use to reference part raw stock to. I have set the following code under a User Quick Action within CC Pro to cause the machine to go to that part reference origin.
G90 G20
G53 G00 Z-0.002
G53 G00 X-30.456 Y-43.479
G54
When I select this Quick Action the machine runs to that position. I then have to set the X&Y axes to zero using the Zero buttons. My goal is to have this last step (set part zero) done as part of the Quick Action using machine code (if possible). I dont think I can just set X0.000 Y0.000, as I am afraid this would be changing the machine reference. I haven’t tried this for fear of crashing my machine. Does anyone know if this can be done, and if so, what is the machine code to make it happen.

If you are always placing your material in the same spot you do not have to set X and Y. X and Y are persistent over power cycles. You would still need to set Z zero but if I am making a cut through I use bottom of material so the Z is persistent over power cycles. The only thing you would need to do is to accurately set the material height in setup and you are good to go.

Recently @robgrz stated that some people never change their X and Y settings over years of use because they always place their material in the same place. When I got my SO3 5 years ago I got in the habit of always setting X and Y and Z if I was not cutting through because on those jobs I use the top of material. By using the bottom of material I have had my spoilboard almost untouched for the last two years.

1 Like

Thank you Guy. I did notice that what you state is true. While most of my part referencing is done at this location, I actually have two of these Quick Actions. The second one is for when i load a fixture on the table, it has its own part reference.
No worrys though. If a XY zero has to be set i will continue to do it manually. Like I said, most of the time it is the same spot.

Back in my CNC programming days before work offsets G54,56,57, ect…you could use “G92” with X and Y values to set the zero position. This was the distance from machine home to X0Y0. Not sure if this is true with GRBL.

I just put a new 48"x32" spoil board top on my Pro5 and plan on doing something similar, I’ll test this out this morning and see what happens.

G92 X-30.456 Y-43.479 Temporary work offset, machine will not move but set X and Y zero position

Assuming the use of G54 work offset

G10 L2 P1 X-30.456 Y-43.479 this should push the zero positions into the G54 work offset. Again machine will not move. Not sure about the negative number use. Distance may be from or too your X0Y0 position

Mike - I will look into this and see if it works. Thanks.

Mike, I just found time to play with this. I put G92 X0.000 Y0.000 after the last line of G54. It went to G53 position and then immediately went back to where I had X0.000 Y0.000 already set. Perhaps I am not understanding what you wrote above. When I added G10 L2 P1 X-30.178 Y-40.438 the machine went to the position i want to set to zero then took off for the machine home position. Attached is a picture of what i have entered.

Hi Steve,
I haven’t had time to mess with this sorry, What I meant by these would have been to try either one by their selves. Back in the day we would use the G92 X# Y# to set the distance to X0Y0 by itself on the first line of the program this was in the early 80’s not long after came the G54-G59 Work offsets which worked similar. The G10 statement is a custom Macro that pushes the offset into the variables for X0 and Y0. We would use the macro when we had a know zero position on a tooling plate. The macro statement should push the X0Y0 into the G54 Work Position.

Hope that wasn’t confusing.

Steve,

In MDI try the G92 X-30.178 Y-40.438 and hit enter to see what if anything it does. If it does nothing change screens to the “QUICK Actions” and press the move to X0Y0 to see if it had set the position, if not try using positive values and go thru the same procedure.

If that didn’t work try the same process with the G10 call.

So I figured out how to set multiple home positions using the quick actions under user. First line in the macro must tell the machine to go to machine home. Here is what the code looks like

G0G53X0Y0
G10L2P1X#####Y#####Z0.000

The X and Y values are metric.

Easiest way to do this is use the bit zero to establish the X and Y zero locations.
Then in MDI type G0G53X0Y0.
Machine will go to initialization home.
Write down those values and convert to metric values if necessary.

2 Likes