I've found that finding the center of a bore while setting up a G55 offset to be very cumbersome and a lot of math and prone to simple mathematical errors. Is there a simple solution to this such as the example below modified to account for the difference of part G54 and using machine position used for G55?

This is the method I use to find part center of a bore using the standard part setup screen (G54).

Finding the Center of a Part

1. First check spindle RPM
2. Press the Manual Machine Mode Button
3. Press the Manual Function Set Up soft key
4. Look at spindle speed and change if needed
5. Press the Input Button
6. Press the PART SETUP Soft key
7. Put in an edge finder in the spindle – load your part in vise
8. Press the Spindle On then the flashing START CYCLE Button
9. Using the Hand wheel Jog over to the left edge of part with edge finder “When Close to Part Use Hand Wheel Only”
10. Look to see that cursor is at Part Zero X
11. When cursor is at Part Zero X press the Store Position button above hand wheel
12. Your Part Zero readout in the position display should read X 0.000
13. Jog the Edge Finder to the right side of the part, look at the Part Zero X position and take note of the number. On a 6” part is should be around 6.200”
14. Verify the cursor is at Part Zero X and type the value in the Part Zero Readout Display of X and math functions as follows… 6.100 / 2+Enter. The Part Zero Position for X should read half the value it was. You just split the difference in the X axis.
15. Now using the Hand wheel again jog over to the front edge of part…When Close To Part Use Hand Wheel Only”
16. Look to see that cursor is at Part Zero Y
17. When cursor is at Part Zero Y press the Store Position button above hand wheel
18. Your Part Zero readout in the position display for Y should read Y 0.000
19. Jog the Edge Finder to the Back side of the part, look at the Part Zero Y position and take note of the number. On a 3” part it should be around 3.200”
20. Verify the cursor is at Part Zero Y and type the value of Part Zero Readout Display for Y and math functions as follows…. 3.100/2+Enter The Part Zero Position for Y should read half the value it was. You just split the difference on the Y axis.
21. Press the Spindle Off button
22. Jog the Z up
23. Remove the tool from the spindle

How would you modify this procedure for use with G55?