-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Refactor infill rotation #10587
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
base: main
Are you sure you want to change the base?
Refactor infill rotation #10587
Conversation
Thank you very much for this fix. I took it for a spin and I have several observations. ![]() "Solid infill direction" is greyed out for whichever "Internal solid infill pattern" is selected and its value is not taken into account for the the "Solid infill rotation template". I couldn't find any "Internal solid infill pattern" for which the "Solid infill direction" was taken into account. Side note: |
Thank you for testing it. |
Tested, working as expected. Thank you! |
@SoftFever
This is most likely about compatibility with older configurations. The Rectilinear fill still comes from the all-original Slic3r and is calculated in a special, unique way that requires an internal rotation algorithm. It cannot be excluded just like that without possible errors. |
Yes, it makes sense. This does not carry any semantic load when it comes to "open" infills, for example, for translucent plastics. But for "programmable" infills, can assume the presence of an ordinary bridge that will run from wall to wall. Then users will be able to strengthen the models laterally, for example, every 10% of the height. |
Description
This PR refactors the infill rotation system
Refactored the UX logic for handling infill rotations. Now, "Sparse infill direction" and "Sparse infill rotation template" are mutually exclusive. When "Sparse infill rotation template" is used(non empty), both "Sparse infill direction" and the automatic 90-degree rotation logic (e.g., Line) are disabled.
Removed solid infill insertion-related code from the sparse infill rotation template, as it does not logically belong there. A new option should be created for this in the future. Additionally, the current implementation has issues because solid infill should not be inserted directly above sparse infill.
It will be addressed in another PR
Refactored the overall infill rotation logic to improve code quality and clarity.
This also fixes bug #10469.
Screenshots/Recordings/Graphs
Tests
Are you sure you want to enable this option?