supermerill / SuperSlicer

G-code generator for 3D printers (Prusa, Voron, Creality, etc.)
4.11k stars 520 forks source link

Purging volumes not calculating properly #4166

Open HitLuca opened 7 months ago

HitLuca commented 7 months ago

What happened?

When slicing a multicolor print a Purging volumes... button is available, which contains the purged amount of filament for each color transition. Even with Advanced wipe tower purge volume calculus enabled and various settings changed for it, the purge matrix keeps using default values (140) for any filament change regardless of the pigment % of each color.

image

image

The pictures above have tool 1 with pigment % of 1, and tool 2 with pigment % of 0 as an example. Also if using the same filament twice as tool color the matrix purges the same amount even if should be close to 0

Project file & How to reproduce

[mm]_Test_Print_9_Colors.zip

Version

2.4.58.5

Operating system

Windows 10

Printer model

No response

HitLuca commented 7 months ago

After some more testing I found out that the advanced volume calculus works as expected, but overrides the user-defined volumes in the matrix. I would assume that the values in the matrix are the final ones, and the smart calculus only defines the starting point. Disabling this feature allows me to properly change the purge volumes, and enabling it properly changes volumes between filaments based on their pigment %.

My suggestion would be to always start from the smart values if enabled, and if the setting is changed the user should be notified that the matrix values will be recalculated (or have the option to skip it)