### What defines the speed at which a motor is retracting and how can it be changed?

• Given a Marlin firmware and a line of G-code such as the following:

G1 F100 X50 Y50 Z0 E-10

What defines the speed at which the stepper motor associated with the E-value is retracting? It is my understanding that the Feed Rate defines the speed of the movement (in this case 100mm/m) but I am not clear how I could accelerate a retraction?

The reason I am asking is that I am not seeing a swift removal of material as i retract. Could the slow feed rate be the issue? I am using a pellet printer (WASP 3MT) and generating G-code from polylines on Silkworm.

Considering this and all previous postings, if might be helpful to explicitly state why you are generating the G-code commands yourself instead of being generated by slicer programs. E.g. is that required for a pellet printer?

@0scar thanks a lot, I am printing in mid-air a truss-like geometry.I co-wrote an open-source plugin called Silkworm (for Grasshopper) that allows to export Gcode from polylines.

4 years ago

You instruct the printer to move from a certain X-Y position instructed by the previous move, to X=50 and Y=50. While moving at a feedrate of 100 mm/min, it will also retract 10 mm of filament (if the previous extruder distance was 0) during that move. If the movement distance is large, the retraction is slow. If you started from X,Y = 49.99,49.99 it would be very fast.

If you want a fast retraction, first move to a position, and than retract fast, so in separate commands. Do note that we usually do it the other way around: first retract fast and then move, this way there is less oozing of the nozzle.

To sum up, in your G-code command, the speed of retraction depends on the path of travel (the length and speed defined by the feed rate `F`). If it is fast retraction you are after, you should split the command into two separate commands.