Fix internal bridges over Hilbert Curve / Octagram Spiral sparse infill - #5
Draft
aceRage wants to merge 3 commits into
Draft
Fix internal bridges over Hilbert Curve / Octagram Spiral sparse infill#5aceRage wants to merge 3 commits into
aceRage wants to merge 3 commits into
Conversation
…on_role (OrcaSlicer#15206) Export the existing rotation helper through Fill.hpp and set params.extrusion_role in generate_sparse_infill_polylines_for_anchoring so plane-path origins match make_fills(). Co-authored-by: aceRage <aceRage@users.noreply.github.com>
) Select Hilbert/Octagram bridge angles from the supporting layer's rotation template and model alignment, keep real sparse anchors, and sample curved boundaries at 4x resolution. Preserve Ultra's 3D Honeycomb / Cross Hatch fixed-angle fallback at the call site. Co-authored-by: aceRage <aceRage@users.noreply.github.com>
Port OrcaSlicer#15206 regression coverage for plane-path anchor alignment, Hilbert/Octagram bridge angles, and multi-region isolation. Drop Ultra-missing keys (sparse_infill_smooth_factor, separated_infills, relative_bridge_angle) and adapt init_print to the local test helper. Co-authored-by: aceRage <aceRage@users.noreply.github.com>
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
Port of OrcaSlicer/OrcaSlicer#15206 (open, mergeable) into Snapmaker-Ultra.
Internal bridges over Hilbert Curve and Octagram Spiral sparse infill could be generated mid-air because
determine_bridging_angle()sampled every local turning direction, then applied a blind Hilbert/Octagram offset. This port:scan_spacing)params.extrusion_roleon the anchoring fill path so plane-path origins matchmake_fills()Ultra-specific adaptations
calculate_infill_rotation_anglealready existed inFill/Fill.cppand is export-only viaFill.hpp. It is not duplicated.Fill.hppis the thin Filler wrapper; the helper is declared there soPrintObject.cppcan share the same rotation grammar as infill generation.generate_sparse_infill_polylines_for_anchoringdid not setextrusion_role; that is now wired likemake_fills().relative_bridge_angle,sparse_infill_smooth_factor, orseparated_infills. Those Orca keys were not introduced.init_print(..., config, comments)signature (nonullptrslicer argument).Paint-depth paths are untouched. Unrelated
bridge_over_infilllogic outside the PR hunks is unchanged.Screenshots/Recordings/Graphs
See upstream PR screenshots: OrcaSlicer#15206
Tests
Ported/adapted from Orca#15206:
Sparse plane-path anchors match the printed infill— Hilbert / Octagram / Archimedean, multiline, rotationInternal bridge angles follow the lower infill layer and model rotationTurning infill does not replace the anchors of another regionCloud compile limits: this environment cannot build the full slicer /
fff_print_testsbinary. Please run locally after deps are available: