Anticipate feed rate change to avoid pimples/dimples #1203

whosawhatsis opened this Issue May 31, 2013 · 7 comments


None yet

7 participants


I've recently been experimenting with a bowden extruder, and have realized in the process that one cause of pimples (extra plastic at the start points of perimeter extrusion) and dimples (missing plastic at the start point of perimeter extrusion) is the delay in equalization of pressure in the nozzle when changing feed rates (and thus flow rate) when going from internal to external perimeters. My usual profiles all run the outer perimeter significantly (up to 3x) slower than the inner perimeters to get better detail, but when I tried one of these profiles with a bowden extruder, I started seeing huge pimples at the starts of my external perimeters, which went away when I set the internal and external perimeters to the same speed.

What's happening is that the pressure in the nozzle has to drop significantly when switching from high speed to lower speed, and a bowden extruder or a long hot zone will make this pressure change occur slowly. The fix is to always transition (preferably gradually, over the course of several segments) to the outer perimeter feed rate before finishing the inner perimeter (assuming inner->outer->fill order, different orders make it trickier) to allow the pressure to equalize at the new flow rate while the nozzle is still on the interior of the model.


I have to agree, I experience the same.

nophead commented Jun 1, 2013

Retract and restart distances should vary with the pressure and hence flow
rate. So when going from a fast track to slow it should retract more than
it restarts. I.e. retract should be enough to get the pressure to zero and
restart should be enough to get the pressure to the value it needs for the
flow it is about to start.

The speed at which it restarts should be such that the flow emerges from
the nozzle to hit the layer below.

On 1 June 2013 02:02, jballard86 wrote:

I have to agree, I experience the same.

Reply to this email directly or view it on GitHub

beanz commented Jun 6, 2013

Perhaps we can learn something about what the compensation should be like from Airtripper's experiments:



I can confirm especially the problem with speed-change between inner and outer perimeters. We usually print inner perimeters at like 25-30mm/s while going down to 15mm/s for the outermost perimeter for best quality. At the beginning of the outer perimeter, the extrusion width is significantly wider while going down to expected width over the next 10mm length. As this effect can not be observed when printing all perimeters at the same speed (inner & outer), I assume whosawhatsis' explanations are correct in terms of slowly dropping nozzle pressure after abrupt slowdown in nozzle-movement.

camera roll 1

Some kind of active deceleration befor moving to the outermost perimeter or at least going down to outer perimeter speed like 10mm length before may help a lot. In general I really really like the feature for different perimeter speeds, this feature is so powerfull concerning time savings while achieving highest quality surfaces and with some solution to the problem discussed here we'd get extraordinary results.


Maybe it would be possible to plant trajectory first, only placing extrusion type/speed hints into move sequence.
Than do second (bidirectional) pass and plan speed, fans, temperature etc...
This could quite elegantly solve some open issues - starting fan before bridge, keeping dual extrudes at standby temperature before use, adjusting extrusion speed ahead of perimeter, starting bridge with correct temperature, maybe even filtering speed so that machine resonance is not excited.
Most of required code is already in slic3r ...

alexrj commented May 26, 2014

I'm linking this to #2018

@Lenbok Lenbok referenced this issue in MarlinFirmware/Marlin Jul 13, 2014

New algorithm Velocity Extruding for more smooth print #916

@alexrj alexrj added a commit that referenced this issue Nov 24, 2014
@alexrj New experimental feature for pressure management. Credits to @llluis
…for the original implementation. #1203 #1677 #2018
alexrj commented Jan 18, 2015

Okay, we can close this one as it was implemented (pressure management).

@alexrj alexrj closed this Jan 18, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment