G92 Support vs the hard way in Carbide Motion

I know GRBL supports G92. It’s one of my more used commands should something screw up, or not be right. It also simplifies workflow. For example, milling a PCB, and you were off by a little, so it didn’t come though the copper, you could do something like

G0 Z1
G92 Z1.1

(Or look at the current location, and simplify it to a single command )

In Carbide Motion, it doesn’t like this. I have a board I want to machine 2 sided. It flipped the image, so instead of the lower left corner being the origin, the lower right is. So just adding the following would make it work perfectly (no playing with homing, tapping buttons about 36 times… so much harder and easier to mess up than typing what’s below (Can we please have a go to coordinate X, Y, Z?), etc)

G00 X22.86 Y0.0000
G92 X0 Y0

Unfortunately I see it’s not supported, so I have 2 questions:

  1. Why isn’t it supported?
  2. Is there a similar way to do this. I’ve looked and basically anything having to do with zero seems to be not on the list, or in a few cases on the accepted but ignored.

G92 is not persistent. Between soft-resets and power cycles, the G92 offsets are cleared from memory. If you have a machine that doesn’t have homing switches, G92 is fine. With homing switches, like the Nomad has, G92 is pretty much useless. It’s much better to use the G52-59 work coordinate systems, which are persistent and kept in EEPROM. This allows you to restart a job and not have to relocate part zero, if you had to stop the job for some reason. Often your part zero reference point is milled away, so G92 make things harder in this situation.

FWIW, work coordinate systems can be used in the same way as G92 with a G10 L20 P0 X0 Y0 Z0 command, where this sets the current location of the active work coordinate system to [0,0,0].

2 Likes

I looked at those, however, per http://carbide3d.com/docs/list-of-supported-gcodes/ they are “Accepted, but ignored.”

G10 is also not on the list.

G10 is the only way to write G54-59 work coordinate offsets into Grbl. It’s probably safe to say that CarbideMotion does this when you set “zero”.