If you have an ER collet type spindle that has no fixed end position then this is NOT for you.
If you have a quick change spindle e.g. BT30, CAT40 or similar then the end of the spindle is fixed and tool holders will always go back in the same place.
The first thing to do is work out the distance from the home position in Z to the top of the table using the end of the spindle and store that in a user #number.
To do this remove any tool holder from the spindle, home the Z axis then using a 100mm/4" slip block (most machines will not touch the spindle end on the table) feel the slip block in under the spindle. The Z axis machine DRO plus the slip block length is the figure you want.
Then you measure the distance from the end of the spindle probe to the end of the spindle and store that in another #number.
To do this put a clock in a mag base and touch the probe end on the clock, find the lowest point, zero the clock and z axis then move the machine to touch the end of the spindle on the clock until it reads zero. Read the distance from the z axis DRO.
Then you measure the distance from the spindle end to the top of the tool setter and store that.
With these 3 values you can work out tool lengths and set fixtures.
This way every tool has a length offset even the probe and once set and recorded they can be selected and its known length put into the offset and used without needing to be re-measured.