Move print bed to front at the end of a print rather than the back I have a Monoprice Maker Select Plus, currently using Ultimaker Cura 3.6.0 with the default settings for a Wanhao Duplicator i3 Plus. Right now when a print finishes, the bed retreats towards the back of the machine. I'd rather present the bed forward for easier part removal.

Here is my ending G-Code:


M104 S0      ;extruder heater off 
G91          ;relative positioning
G1 E-1 F300  ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more
G28 X0 Y0    ;move X/Y to min endstops, so the head is out of the way
M84          ;steppers off
G90          ;absolute positioning


It looks like I need to change that G28 line third from the bottom, but I'm not sure what to change it to. I've not yet done any g-code manipulation of my own. I don't know what units it's using, and it looks like it still has relative positioning, so even then I don't know it's a good idea to just set it for the max size of the bed. 

So how can I change this code to move the bed as I want?
Note that this reference states that:


  Because the behavior of G28 is unspecified, it is recommended not to automatically include G28 in your ending GCode. On a Cartesian this will result in damaging the printed object. If you need to move the carriage at the completion of a print, use G0 or G1.


So you need to use a G0 or G1 move.

When using Ultimaker Cura (like many other slicers), there is built in functionality known as keywords with a complete list found here.

The keyword machine_depth is the one that is of use to you, embed this in your end G-code in between curly brackets and it will expand to the bed size of your machine (replacing G28 X0 Y0):

G1 X0 Y{machine_depth}

For me this compiles to (e.g. for my coreXY printer):

G1 X0 Y300

To set the speed, just add the following command prior to the one above:

G1 F2500

Adding this line before the actual move ensures that the speed is constant, if F2500 would have been included in the move command (like G1 X0 Y{machine_depth} F2500), this defines the end speed, it would start moving at the last speed value prior to the move.

This results in adding the following lines in your endscript:


G1 F2500
G1 X0 Y{machine_depth}