I was thinking about "one corner" homing so that it will pretty much emulates a CAD drawing with the 0,0 point being the "bottom left" corner...it kind of makes sense??

Also, how should the software be setup regarding homing? For example, if I click the home button (in linuxcnc), it searches for the homing switch for that axis. But what if I want to manually home a cutter to the workpiece? I'm assuming I can override this in the software, but more importantly, the machine limits will now be wrong as it will have homed to an "unusual" position, thus moving the normal limits into crashing territory.

The more I think about it, the more I realise that it's not possible to define travel limits in software because the home position is not a constant. How is this normally overcome? Do users just put in some high numbers for the min/max travel and rely on the operator to ensure the workpiece is within limits? Or is there some other way that I'm missing? I've never operated a CNC machine, so this is all a bit new to me...