-
-
Notifications
You must be signed in to change notification settings - Fork 938
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
Fixed a bug that caused curled edge detection not to work as expected for left facing edges when using Arachne. Enabled fan speed control for curled overhangs #3034
Conversation
…ng updated estimate_points_properties algorithm Updated curled detection logic from latest prusa 2.7 release, including updated estimate_points_properties algorithm
Ready for review, test and merge. Please test with a benchy facing left and then right on the plate. Slowdown should be visible on both directions. |
I've pushed an additional change / bug fix where the variable fan speed logic for overhangs would not be run on curled edges, even though they would benefit from it. |
@igiannakas |
I’ll tell you, this was a pain to debug. What I noticed is that the individual layer curls where calculating correctly at the points however they were not accumulating properly across layers - the accumulation was varying by the degree of rotation of the benchy. This led me to triage it down to the estimate points properties function as this one does the addition of curvature against the previous layer neighbouring curves. So I discovered that when I ported the feature I had used the estimate_points_properties of the current Bambu legacy/ orca source which was missing the curvature accumulation logic in the above function (in the end of the function block). I thought it was ok at the time (as it appeared working) but was wrong :) So I upgraded that function from the latest prusa code porting over the missing code and fixes etc they had done since. |
I’ve also noticed that the aabb tree class has been upgraded for improved performance compared to the one orca currently uses - I’ll submit a new PR for this at some point as it affects more features than just this one. |
Take a look here:https://github.com/prusa3d/PrusaSlicer/commits/c54c4d0a1f893dc97160fb2a33fe6213a24e86a7/src/libslic3r/GCode/ExtrusionProcessor.hpp 8th of aug 23 commit, |
Haha, I can feel your pain. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good
Welcome :D |
Found bug where the curled logic would not apply on the left most side of the prints and its amount of slow down would change based on model orientation. Also fixed a bug/introduced feature where the filament variable fan speed logic for overhangs would not be run on curled edges, even though they would benefit from it.
Facing left
Facing right
Fixed:
(ignore the changes in speed in the upper part of the model - I am testing it with 0 minimum layer time)
Facing left:
Facing right:
Also the factors I used needed updating post the above fix to match Prusa's.
Filament fan speed logic for overhangs enabled for curled edges:
Finally introduced const variable in the SupportSpotsGenerator.hpp to adjust the area & magnitude over which the slowdown is performed for potential future use. Left to default 1.0 in the code.