prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.65k stars 1.92k forks source link

Feature request: "prime/dwell tower" as alternate/extension to auto-cooling "slow down" #766

Open VanessaE opened 6 years ago

VanessaE commented 6 years ago

Version

master branch, commit 4a90ab1f6a1390df4ce332b342536ee61db6ebfd

Operating system type + version

Debian 9.3

Behavior

Right now, Slic3r has the option to slow down the feed/flow rates of a layer to extend the layer time to meet a configured threshold. That works for some things, but not always for parts with small horizontal cross-sections, because creeping along too slowly in a small area, bumping to the next layer and repeating over and over as the part grows just dumps too much heat into that section, overheating it, and defeating the purpose of the slow-down feature. This problem is compounded when you use thinner layers.

In such cases, users are usually told to add more parts to the plate (or more copies of the single part), but that wastes filament if the user only needs the one part. Or, users are directed to add "sacrificial" columns/towers, but these require adding several custom settings, and they waste time if only a few layers need the extra delay.

To my mind, the best solution would be to have Slic3r generate a custom tower, to which several features would be applied when the user slices the model. It should be a cylinder, around 20 mm in diameter, with a sizable number of faces, to avoid having any sharp corners that could cause it to lift off of the plate, and each of its layers would vary in print time as needed.

This would entail a couple of small changes to the Filament profile "Cooling" page:

The tower should automatically appear on the plate as soon as the checkbox is turned on, to allow the user to move it as needed before slicing. It should be displayed in some unique color. Right-clicking the tower in the "3D" view should do nothing, or perhaps pop up a dialog to let the user adjust the minimum layer time. A left-click should display something in the "Info" section on the right to indicate that it is a prime tower, as if the unique color weren't enough of an indication. :stuck_out_tongue:

If the user slices the model, and it turns out that no part of the model actually needs a delay, then the tower should be completely omitted from the sliced results and its color in "3D" view should change to grey or something, at least until the user changes a relevant setting. An appropriate notice should be added to the "Print Summary". As an aside, it might not be a bad idea to add a notice for when slow-down gets invoked, as well (if the tower isn't being used).

Theoretically, one could set the skirt to go the full height of the object, but aside from probably using more filament than a tower, this would trap heat near the model, defeating the purpose (at least if you're printing with PLA or PETG).

Also note that if you're using especially wide traces, you may run into excess pressure at retract, resulting in more stringing/ooze than you'd otherwise expect (but stuff like Marlin's Linear Advance should be able to address that).

I understand that this fork has some kind of wipe/prime tower which I guess is used for multi-extruder setups, but aside from it not obviously being available for single-extruder bots, I guess it doesn't work like the above proposal.

Stl/model

N/A

[ This issue has been copied over, with minor changes, from upstream alexrj/Slic3r as it affects this fork also ]

bubnikv commented 6 years ago

We have had a discussion today about our wipe tower adjustments for the dual extruders. This topic is similar, maybe @lukasmatena could look into it.

wavexx commented 6 years ago

I'd like to chime in on this. I have similar issues when printing small features, such as a single cylinder going upwards. Cura has a "Lift Head" option that we should copy.

The "slow down" ruined the print in any case it kicked in. The overheating caused by the slow-down remelts the top surface of the thin support, causing blobs and gaps.

Is there any case where the slow down is beneficial? In my tests, it never was.

Cura has a "Lift Head" option in addition to minimal layer printing time. Similarly to Slic3r, Cura tries to slow down if the layer printing time is short. However, with the "Lift Head" setting, the extruder is just lifted and parked until the minimal layer time is reached.

In my experience, this works way better.

It's still not optimal though: if there is too much waiting, depending on the material, the nozzle will ooze a bit, causing other kind of defects (under-excluded starting points and extra deposited material). The print quality of the piece though was always way better than slowing down.

For perfect results I also add a sacrifical tower somewhere in the print bed.