There are 3 main ways to to do this. Let me walk you through the most common way on the MPCNC.
1-Setup-The way I do it is set the leftmost bottom corner and bed surface as my “home” in the software. This lets you position the part to be printed anywhere you want on the plate in the slicing software. Remember this is relative to where you start the nozzle. Make sure you follow my setup and remove any starting gcode commands to “home” no need for endstops.
2-running-Start the nozzle in the leftmost bottom corner the first time you power on. When it is there make sure your display reads all zeros or question marks. If it does not the easy thing to do is just hit the reset button on the arduino. If you put the nozzle there, you slicer will make the part print exactly where you want it. If you are too high or too low you can use your hand to force the z axis to move up or down while your part is printing the skirt.
3-repeating- Now for clarity sake, and the way I use mine. When your print is done the arduino still knows where your nozzle is provided you do not touch it or power off. You can just hit print again, or even a different part. The nozzle will move to the start position and start a new print. If you move it for any reason or power it off, you need to go back to step 2. I print with mine for weeks at a time without ever needing to set “home” again.
If you slice your part in the center of the bed, it will print in the center of the bed.(depending on your slicer, some auto center things and then it causes a mess)