-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Dynamic perimeter fan speeds are being applied to infill #11648
Comments
I nerd-sniped myself into taking a look. The problem is here: PrusaSlicer/src/libslic3r/GCode.cpp Lines 3267 to 3271 in 87a5867
Since a fan reset always happens at the end of an extrusion, the resulting string looks like ";_EXTRUDE_END;_RESET_FAN_SPEED". So in
And thus this later conditional is just unreachable code:
Given that the cooling buffer code already uses bit flags to manage this state, it sure seems like the set/reset flags need only be conditioned on each other, and not the rest of the flag state. In my testing that change produces correct output, so I'll post a PR. |
I just posted PR #11650. This is what it looks like with the PR applied, which is also how the same file looks in version 2.6. |
I poked around a bit more and found that the regression was introduced in fa0986c. Previously the ";_RESET_FAN_SPEED" was always wrapped in newlines. So, one potential fix is to just add the newlines back, but that seems more fragile to me than updating the flag setting in CoolingBuffer.cpp. Although, I tested and verified that either approach works. |
I merged your PR (with the modification that I mentioned there) into our private repository, so the commit will appear with the next release. |
Description of the bug
It looks like the fan speed is not getting reset when an external perimeter completes, so the last dynamic fan speed ends up getting applied to all of the infill. In the picture below the infill should be dark blue (no fan), but you can see that it's instead using the fan speed from the perimeter seam.
This showed up in the first 2.7 alpha, and continues to be present in the most recent beta.
Project file & How to reproduce
This is a simple test file that I used to generate the image above: external_perimeter_fan_test.zip
It just uses an extreme set of of fan speeds to make it easier to visualize what's happening.
Checklist of files included above
Version of PrusaSlicer
Version 2.7.0-beta1
Operating system
Windows 11 (but it's an OS independent issue)
Printer model
Prusa MK3S (but it's a printer independent issue)
The text was updated successfully, but these errors were encountered: