Repository navigation
Conversation
Adds the inner_outer_inner value to the inset direction, used for both the Wall Ordering and the Initial Layer Wall Ordering settings. The walls deeper inside are printed first, from the inside out, then the outer wall, then the second wall, so the outer wall is printed between walls that are already in place. This is the wall sequence of the same name in other slicers. With two walls or fewer there is nothing to put the outer wall between, so the outer wall is printed first, then the inner one. The new order only applies when the outer wall and the inner walls are printed by the same extruder; otherwise it falls back to inside out. The group outer walls option is ignored with it, since that option assumes the outer walls are first or last. It works both with and without the optimized wall printing order. The order is expressed as order constraints between neighbouring walls, like the existing orders, so the path optimizer keeps picking the start points and the route. Contributes to Ultimaker/Cura#18955.
7 of 10 tasks
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Adds an Inner/Outer/Inner wall order, available for both Wall Ordering and Initial Layer Wall Ordering. The walls deeper inside are printed first, from the inside out, then the outer wall, then the second wall. The outer wall is then printed between walls that are already in place, which is the sequence people know as "inner/outer/inner" from other slicers. Requested in Ultimaker/Cura#18955.
(wall 0 is the outer wall, wall 1 the one just inside it.)
How it works:
InsetDirectiongets a third value,INNER_OUTER_INNER, parsed from the setting valueinner_outer_inner.InsetOrderOptimizerexpresses the order as constraints between neighbouring walls, like it already does for the other two orders, so the path optimizer keeps choosing start points and the route. Both existing code paths are covered: the per-region order (Optimize Wall Printing Order on) and the per-inset order (off).Behaviour to be aware of:
The matching change to the setting definitions (the new menu entry) is in the Cura repository: Ultimaker/Cura#21839
Type of change
How Has This Been Tested?
WallsComputationTest.WallOrderInnerOuterInner: checks the exact order constraints for 2, 3, 4 and 5 walls, and that the old outside-in flag does not change the result.main.Test Configuration:
mainChecklist:
.clang-format)