Integrate external purge estimates (eg Blobifier) to the filament consumption UI #7508
+21
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
With external purging solutions becoming more common, I’ve come across a limitation when assembling mine - it is impossible to estimate the amount of filament purged during slicing!
For example, when using Happy Hare together with the blobifier, it is not possible currently to estimate the volume of filament purged, because there are no G1 Ex commands issued by the slicer, but rather the purge volumes are calculated and executed by the printer/ happy hare and blobifier software and macros themselves.
This PR aims to address this limitation by tagging the purge commands as specially formatted comments and use that to calculate the projected flushed filament volume. This is particularly useful in combination with Spoolman as you can actually compare now the projected filament use vs your available filament in the spool man UI.
This should be fairly accurate as the flush/purge volume matrix is read by Happy Hare and is used by the blobifier to execute the purge. Also this approach allows the user to apply the same correction variable to the volumes (variable_purge_length_modifier), if other than 0.
This also allows the user to include the combined filament consumption between external purge (in the blobifier) and any prime tower that the user may have enabled (eg. to ensure the nozzle is primed before printing).
To set it up, set the below in your Change Filament g-code:
If your variable_purge_length_modifier is not 1.0, then you can adjust the calculated purge volume like so (eg. if the value is 0.6).
Make sure purge in the prime tower is disabled:
Tests
Tested with Bambu and Voron printers. As this is a comment in the Gcode and the code is only invoked when the external purge tag is present, there are no side effects.