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.69k stars 1.93k forks source link

Feature request: use pressure equalizer for sharp corners #8959

Open vovodroid opened 2 years ago

vovodroid commented 2 years ago

As it's known, sharp turns can create bulges and even bumps, and linear advance should resolved this.

Unfortunately not all printers/firmwares support LNA, so why not use pressure equalizer (PE) not only for feature changes, but also for sharp corners (e.g. placers with abrupt speed changes)?

Describe how it would work Like PE slows/accelerates speed and flow rate toward moves to/from feature change it can do the same with corners.

image

n8bot commented 2 years ago

Basically, slicer-based pressure/linear advance. I might be down with this.

edit: It's not really like pressure advance. It's more like exactly the name pressure equalization: it just eases the transition.

Also could include variable retraction amount/speed based on travel distance. All while coordinating with the simulated motion planner to get accurate accel/decel profiles.

n8bot commented 2 years ago

A thought occurred to me. This would be almost equivalent to manually decreasing the jerk and acceleration. If you have low jerk and low accel, every corner will be slowed down upon like you wish.

vovodroid commented 2 years ago

This would be almost equivalent to manually decreasing the jerk and acceleration

Besides reducing print speed.

n8bot commented 2 years ago

Well, if you reduce jerk to something very low like 10 mm/s, then sharp corners like that will be performed at lower print speeds. If you reduce acceleration to something low like 200 mm/s^2, then the reduced corner speed will be more pronounced, and there will be a more gradual reduction in speed.

Since the E axis movement is coordinated with the X/Y axis, this will have the intended effect of reducing pressure in the nozzle.