-
-
Notifications
You must be signed in to change notification settings - Fork 909
[CURA-12446] Added settings for a different number of walls in top-/bottom-most skin. #2227
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: 5.11
Are you sure you want to change the base?
Conversation
This commit doesn't yet actually _use_ the wall-difference mind you. -- Note also that the top/bottom has to be calculated here from the rough outlines (as opposed to the actually printed outlines) since normally that would be calculated later. (And due to the previously mentioned print-outlines vs. outlines, it's not the same calculation, so we can't just move it back to here.) part of CURA-12446
Adding the possibility for separated top-/bottom-most wall line counts vs. 'normal' wall counts, which was the point of the ticket. should finish off the engine part of CURA-12446
|
Otherwise the walls will adhere less well to the model, and while this is a nice visual change, structural integrity (especially when briding) is more important. Also this is what it already says in the ticket is needed, nothing really specified about non-top, non-initial layers. part of CURA-12446
done as part of CURA-12446
wawanbreton
left a comment
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.
Just a few suggestions for readability, feel free to reject them
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.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'C++ Benchmark'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.50.
| Benchmark suite | Current: aed8b18 | Previous: 945c507 | Ratio |
|---|---|---|---|
SimplifyTestFixture/simplify_slot_noplugin |
1.8856092072748627 ns/iter |
1.2446332009368046 ns/iter |
1.51 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @nallath @jellespijker @wawanbreton @casperlamboo @saumyaj3 @HellAholic
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.
Pull Request Overview
This PR updates the engine's layer partitioning logic to support different wall settings on top‐ and bottom‐most skins. Key changes include:
- Enhancements to the createLayerWithParts function in src/layerPart.cpp to accept additional Shape parameters for bottom and top parts.
- Introduction of a new WallExposedType enum and updated wall count logic in WallsComputation.cpp to apply distinct wall settings.
- Updates in header files to reflect the new functionality and forward declarations.
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/layerPart.cpp | Modified function signature and logic to split layers into multiple parts with wall-specific handling, plus new helper getTopOrBottom(). |
| src/WallsComputation.cpp | Refactored wall count retrieval to use a mapping based on wall exposed type. |
| include/sliceDataStorage.h | Added the WallExposedType enum and a new member to track wall type on parts. |
| include/layerPart.h | Removed deprecated forward declarations and the old function signature declaration. |
Comments suppressed due to low confidence (2)
src/layerPart.cpp:31
- [nitpick] Consider expanding the doc comment for createLayerWithParts to include descriptions for the newly added parameters (bottom_parts and top_parts) to improve clarity.
/*!
src/layerPart.cpp:117
- [nitpick] Consider replacing the hard-coded value '5' with a clearly named constant, which would improve readability and maintainability.
const auto wall_line_width = settings.get<coord_t>(layer_nr == 0 ? "wall_line_width_0" : "wall_line_width") - 5;
rburema
left a comment
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.
I'm not sure how well this'd work for values of 'extension' less than the wall-line-width -- but it's probably OK.
CURA-12446 It caused interactions with the covered top/bottom surface
See also front-end PR: Ultimaker/Cura#20565