Add dual-material interface layers, multi-STL stacks, free-form layer heights - #1
Open
SchoepsLabs wants to merge 2 commits into
Open
Add dual-material interface layers, multi-STL stacks, free-form layer heights#1SchoepsLabs wants to merge 2 commits into
SchoepsLabs wants to merge 2 commits into
Conversation
Add separation layer and different shape stacking + more control of inter tile gab and unlimited height
… native assemblies
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.
I've been using MultiStack on a Bambu H2D but couldn't get reliable separation with the air gap + ironing approach at 0.24/0.3 mm layer heights. This PR adds a dual-material interface mode plus several robustness fixes, all print-tested. Everything keeps the single-file, no-dependency design (earcut is inlined, MIT).
Interface layer mode (filament 2)
New "Separation mode" toggle: Air gap or Interface layer. Interface mode inserts thin slabs between tiles, assigned to extruder 2. With a non-bonding pairing (PLA interface between PETG tiles, or PETG between PLA) stacks pop apart cleanly with no fusing and no ironing tricks.
Everything is snapped to the slicing grid
The user enters their layer height; gaps and interfaces are specified in whole layers and placed exactly on layer boundaries (a sub-layer pad absorbs tile heights that aren't layer-height multiples). Without this, at 0.24/0.3 mm layer heights the old fixed 0.20 mm gap lands mid-layer and tiles fuse, and interfaces partially vanish from the sliced output.
Native multi-part assemblies
Each stack is emitted as a single 3MF object with tiles/interfaces as components at fixed relative positions, with per-part settings in model_settings.config. This removes the "multi-part object detected" dialog on import and fixes a nasty failure where Bambu Studio dropped the interface object to the build plate (shifting every interface down one boundary and causing gcode-conflict warnings).
Multi-STL stacks
Upload several STLs (tiles, corners, edges) in one job; each gets its own stack height. Stacks are shelf-arranged with 12 mm spacing and centered, with a log warning if the layout exceeds 256 mm.
Smaller changes
Tested
Happy to split features into separate PRs if you'd rather take them piecemeal.