I am attempting to get the tool change scripts to work the way I would like, but I am having trouble. My current setup is that when tpre is called, the bed drops 10mm, and the head picks up a tool. Then tpost is called and the bed is raised 10mm. When tfree is called, the bed drops 10mm the tool is docked, and then the bed is again raised 10mm. All of that is working fine. However, my problem is that the tool offset, which is currently set at -5mm in the config.g file, is not actually applied until some other movement in one of the axes is made. In other words, the bed does not drop by the tool offset amount until the head is moved. This is probably fine if you are printing something in the front or the middle of the bed. Because, by the time the head moves to the front or the center, the bed has time to drop the required tool offset distance. But, if the print is at the back of the bed, it is possible for the nozzle to strike the print before the bed has time to drop the distance set by the tool offset. Why the offset isn't applied as soon as the tool is picked up, I don't know. In order to fix this issue, or work around it, I created a macro to "bump" the head once a tool is picked up so that the nozzle is never over the bed until after the bed has been lowered by the tool offset. My thought being that the macro would move the head so that the bed would then lower the tool offset distance. At the end of tfree, I used M98"\sys\ybump.g" to call the file I named "ybump.g" Then in ybump.g I just did G91 G1 Y-1 G90 This moved the head -1mm, but did not work to "activate" the tool offset. I would like to make it so that it is impossible for the nozzle to be over the bed before the bed has been lowered by the tool offset. Any help in resolving this would be appreciated.