Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimisation: ERS - Reduce redundant gcode commands from extrusion rate smoothing #7398

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

igiannakas
Copy link
Contributor

@igiannakas igiannakas commented Nov 6, 2024

Extrusion rate smoothing (pressure equaliser) materially increases gcode size due to significant redundancies in the produced gcode.

This PR aims to reduce this, making the gcode smaller and hence, more easily printable due to reduced gcode commands / second issued to the printer.

The changes in this PR:

  1. Address a bug where even 0 change in flow rate would result in a line split
  2. Filters out inconsequential variances in flow rate (less than 5mm/sec speed for a 0.25 mm nozzle) which would have otherwise led to increased line splitting for no visual gain, as the flow delta is insignificant.

Examples:

ERS splits continuous straight lines to segments irrespective of extrusion rate smoothing being applied or not.
image

This PR fixes this - lime splitting is significantly reduced:
image

Total Gcode volume reduction:
Before: - 157169 lines for the test cube
After: 65199 lines for the test cube

2.4x gcode volume reduction.
This gcode volume reduction should also help reduce stuttering in the visual preview of the model as the UI rendering is now much lighter.

Tests:
No regressions observed.

Before:
image

After:
image

@igiannakas igiannakas marked this pull request as ready for review November 6, 2024 19:32
@igiannakas igiannakas changed the title Optimisation: Reduce redundant gcode commands from extrusion rate smoothing Optimisation: ERS - Reduce redundant gcode commands from extrusion rate smoothing Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant