How do you solve PLA corner-curling short of printing really, REALLY slow?

I've been trying a lot of different things to combat corners curling upward in the first few tens of layers after the bottom skin. To be clear, I'm not talking about corners of the first layer printed on the bed, but rather the points of the outline in layers above the base where direction of print motion changes discontinuously (discrete corner) or abruptly (turn with very tight curvature). Here's an image I found (not mine) that demonstrates:

And a pic during print of the type of curling I'm talking about:

And some previous worse prints:

My go-to worst test case for this now is a 20mm tall hollow dodecahedron with 0.8mm shell (hollow geometry, not just empty infill; 0% infill on a non-hollow model does even worse, shown above). For everything else I've tried, I've mostly been able to sovle the problem with combinations of

• Improved cooling fan duct
• Lowered bed temperature or unheated bed (but this is a tradeoff; it seriously hurts first layer quality and increases risk of non-adhesion)
• Disabling Cura's overhang detection mode (non-uniform print speed causes a huge increase in the curling due to latency of extrusion rate response)
• Increasing motion acceleration limits or decreasing speed limits (also mitigating the latency in extrusion rate response)

but I can't get all 5 edges of the worst-case dodecahedron completely warping-free without just heavily slowing down the print; during print it's obvious that the curling at the corners in each layer is the source of the warping. Increasing Cura's cool_min_layer_time to 10 seconds (default is 6, and I usually get by fine with 3-4.5 for most things) mostly but not entirely solved it, and going much slower than that seems likely to introduce other surface artifacts from extremely slow extrusion.

Are there any additional tricks I'm missing for solving this? I'd like something that's easy to leave on all the time or at least to automate, as opposed to hacks like adding in a junk tower off to the side to waste time between layers.

My printer is an Ender 3 with stock gear except for improved fan duct. The problem was worse with the stock fan duct.

• Hi, please provide us with the types of PLA (opaque, transparent, filled) and vendor, and, equally important, what temperatures you're using, what print speeds, etc. I've successfully printed various thin-wall objects without any deformation at the corners. Jul 15 '19 at 15:41
• @CarlWitthoft: It seems worst with real "natural" PLA (supposedly no additives, clear), but also happens with opaque blue and probably others (I could try if needed). I'll add some pics and further details in the question Jul 15 '19 at 16:18
• Someone commented then deleted the comment that I haven't yet added pics. I've had my printer hacked up for a few days and been busy with other things, but I do intend to get back to this. It looks like the problem might (fingers crossed!) actually be soolved by Marlin 1.1.9 with linear advance; I just tried to reproduce the problem for a pic and got a perfect print. If I can confirm that setting K=0 makes it come back, I'll write up a self-answer based on that. Jul 29 '19 at 20:52
• Still having trouble reproducing it really bad, even with linear advance turned off and bed temp back up to 60°C. Either Marlin 1.1.9 fixed some subtle problems with synchronization of extrusion with motion vs the stock firmware, or there's some environmental issue like ambient temperature or humidity. I'll try later and see if I can reproduce with some clear/natural PLA which seemed to be more problematic, and see if I can find some examples from my scrap box showing the warping. Jul 31 '19 at 15:26
• OK, it reproduces easily with plain clear/"natural" PLA. Added pics. Jul 31 '19 at 15:51

While I tried a lot of things to solve this, including tuning temperature, fan, speed, etc., ultimately the single biggest factor that causes or prevents it is the state of Cura's Outer Before Inner Walls (outer_inset_first) option. With outer walls first, I don't have the problem at all. With the default (inner walls first), I have it to varying degrees depending on geometry and a lot of other factors.

I don't have a good explanation for why this happens so I'm asking a new question about it.

• In Simplify3D, this setting is in the process settings on the 'Layer' tab. It's called "Outline Direction". Changing this from the default "Inside-Out" to "Outside-In" somehow fixed the curling issue I was having Sep 30 '21 at 20:31

Cura has an additional setting that you can make visible called "Lift Head". My recommendation is that you do the following:

1. Set your minimum print speed to something actually reasonable like 30mm/s or higher. Printing too slowly negates the following two settings and is not beneficial to printing small features.
2. Set your minimum layer time to something higher, like 15s or so. The slower you print, the higher this number needs to be. Using too small of a minimum print time prevents adequate layer cooling.
3. Enable "Lift Head". This must be used to allow the small features on your print to properly cool. Without the "Lift Head" setting, your nozzle will remain parked on your print and provide both radiant and convective heat which prevents cooling and causes sagging of small features.

The combination of these settings will rapidly deposit the layer, then move the nozzle high and away from the print until the minimum layer time is reached, such that the radiant heat from the nozzle doesn't continue to heat the soft PLA while it's trying to cool.

Enabling all three is how I got perfect tiny features on all of the printers here at my office - a fleabay i3 clone, an Anet A8, and a couple Monoprice printers of various levels.

Edit:

I forgot to mention, keep your bed temperature at a reasonable setting too. For PLA, normally people may recommend up to 70C, but realistically, for very small prints, you can keep your bed much colder without detrimental effects. For tiny items, my PLA prints used to use a bed temperature of about 30-40 C depending on the specific filament. Very tiny prints are unlikely to warp even with a cold bed.

Basically, the colder the bed is, the less heat is getting conducted up through the print to the top layers that are molten, and the faster those layers cool. Keep the bed temp down and it'll benefit your layer cooling.

• These are some new ideas to try, especially "lift head". But 15s hardly meets "short of printing really, REALLY slow". If my layers can print in 2-4 seconds, 15s is something like 5x slower, for the whole ptint, for the sake of fixing warping in a very small part of it. Jul 26 '19 at 3:50
• There's plenty of trial and error that goes into these settings. What I've given was just a launch point, if you find that you can print at 100mm/s on a layer and only need to cool it for 6s or so, then more power to you. Unfortunately, just because of the physics involved, there's not a good way to print tiny detailed objects that doesn't involve letting them cool quite a bit. You could also try printing a new fan shroud that works with a 50x15 blower, but you may run into your thermal runaway triggers that way. Jul 26 '19 at 15:42
• 2-4s per layer is at 30mm/s not 100mm/s. I've actually considered trying to further upgrade the part cooling fan not with stronger airflow (which warps the just-deposited material by air pressure against it) but rather by adding a TEC in the duct and having it gently blow out air at ~5°C. Would have to worry about drainage of condensation though... Jul 26 '19 at 16:19
• If you have warping on small layers that print in 2-4s, but no warping in other larger sections of the print, a 15s minimum layer time would only effect those small layers. The other larger layers would already take longer and any pauses would be minimal. Even a 6s minimum time might be helpful in this case, if it causes the print head to move away that may be just enough for the small layer to cool adequately. For me, the real problem with this strategy is the filament that will leak out the nozzle while the print head waits. Jul 31 '19 at 13:57
• Filament leak during wait is a valid concern but Cura retracts during the waits, and you can just set your retraction settings a bit higher to make this particular issue a mostly non-issue with most kinds of filament, PETG excluded because PETG is a bear to print with. Aug 1 '19 at 2:18