Klipper CNC Feature (G38.2 gcode help)

I don’t think that probing can be implemented with just macros. I have implemented some XYZ probing feature in Klipper time ago which won’t be usable for you unfortunately, because it uses a load-cell based sensor, which you likely do not have. I decided to move away from that sensor type (for CNC milling - still using it for 3D printing bed probing) and instead use a normal 3D probe head, which will require me to implement this properly :slight_smile: It will be some weeks until it is ready for testing, also the probe head has yet to arrive (and then needs to be assembled by me).

What you might already try or at least look at is this code:

It allows to computed the coordinate system after probing the X and Y axes and apply a transform to all movements such that you always move along the probed coordinate system. It corrects not only for offsets (which is trivial) but also rotations. I have used this code already successfully for some milling projects. In theory it can be used together with some manual probe - you will just need to call the EDGE_TOUCH command with the right DIRECTION argument when the toolhead is in contact with the edge. If you repeat this for at least 3 points (so both axes are fully defined), you can run the COMPUTE_WORKPART command to get the transform computed and applied.

I have never used any firmware really made for CNC machines, so it would be good to get some feedback whether my approach and workflow makes sense or is somehow weird.

Also it would be good to get some feedback if the target audience of this feature would be big enough to get this merged into the Klipper main repository eventually.