There are both low-complexity solutions and high-complexity solutions to your “problem.” On the high-complexity end, take a look at my bitsetter solution for my Primo.
I’m not sure of your goals here, but you likely can get what you want without going to the complexity of workspaces. You don’t specify why you need to “home” your X and Y. Without endstops, if you want a repeatable home, you will need some stops that you can push the axes against. Once the axes are against the stops, you will need to engage the steppers. The steppers can be engaged by any XY movement, or you can use an M17 to engage the steppers.
For Z, you can use either a fixed placement touch plate as you suggest, or you can have a moveable one that you use on top of the spoil board. Note that the plate does not have to be level with the top of the spoil board. You just need to know the relative difference between the height the plate is triggered and the top of the spoil board, and your script can make the adjustment.
Personally, I find that sometimes I want to use the top of the stock as my reference, and sometimes the spoil board. For contour cutting, using the spoil board assures me that I cut all the way through the stock without gouging the spoil board. V-carving is very height sensitive, and I always home against the top of the stock.
There are at least two ways of dealing with top of the stock vs. top of the spoil board. The first is to specify which you want to use in the CAM. The CAM will automatically adjust for the height of the stock. To make this solution work, you cannot have a G92 in the start code.
The second way is to make a manual adjustment. Personally, I make a lot of mistakes in details, so I must keep my process consistent. I always author my CAM files with the top of the stock as reference. If I want to use my spoil board as reference:
- I write down the stock thickness used in my CAM.
- I home to the spoil board
- I electronically move up the authored thickness.
- I use G92 Z0 to set the current position as Z=0.
When I use this process, I typically set my stock thickness in CAM to 0.2mm or 0.3mm thicker than what my calipers read on the physical stock. This gives a bit of slop in case my stock is uneven with the only “downside” being that the first pass might not cut the amount of material specified in CAM.
Note that you can have multiple different touch-plate-like solutions using the same circuit and logic for your existing touch plate. For example, you can have both a moveable touch plate and a fixed touch plate. You just need to wire them in parallel.