If your machine has homing switches, it will establish a "machine home" position that's different from the "floating zeros" that correspond to the origin point of your CAD model. You set the floating zeros after homing the machine, and record the numbers in the DRO before zeroing them out. That way, if something happens and you lose position, you can re-establish it from the machine home. I don't know about Shape3D, but most CAM programs let you change the origin point before generating the G-code, so you can zero the axes in the corner, or in the center, or other places. But once the code is written, all the coordinates are referenced to those zero points.