I'd like to suggest an expansion on this tool:

The idea would be to expand it in such a way that it would calculate total run length between two point, taking into account the vertical.
This is ideal for M&P. On the plumbing side, this helps with knowing the total distance in the XY and YZ between drains.