Repository navigation
Fix: modifier/part settings lost when importing (Add) a 3MF (#961) - #962
Open
docteurzoidberg wants to merge 1 commit into
Open
docteurzoidberg wants to merge 1 commit into
docteurzoidberg wants to merge 1 commit into
Conversation
When a 3MF saved by Snapmaker Orca / OrcaSlicer / Bambu Studio is added with the Add button (load_config = false), Plater::priv::load_files() reset every ModelVolume config except the extruder, so modifier settings such as sparse_infill_density were lost. Upstream OrcaSlicer handles each En3mfType in its own branch and never reaches this reset for slicer 3MFs; in this fork those branches are disabled, so skip the reset for From_BBS. Fixes Snapmaker#961 Co-Authored-By: Claude Opus 5.5 <[email protected]>
2 of 3 tasks
Author
|
Debug log excerpt (Snapmaker Orca 2.4.0, Windows 11,
|
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.
Fixes #961.
Problem. When a 3MF saved by Snapmaker Orca (or OrcaSlicer / Bambu Studio) is added with the Add button of the Prepare tab, which is the import path with
load_config = false, every per-volume setting is wiped. For example, a modifier withsparse_infill_density = 100%falls back to the object's 15 %. Onlyextruderis kept. Opening the same file with Open project works. Upstream OrcaSlicer keeps these settings with Add.Debug log when adding the file:
Cause. In
Plater::priv::load_files(), upstream OrcaSlicer handles eachEn3mfType(From_Orca,From_BBS,From_Other) in its own branch of anif / else ifchain. The finalelse if (!load_config)branch, which resetsmodel_object->configand everymodel_volume->configexceptextruder, is therefore never reached for slicer 3MFs. In this fork, those type-specific branches are disabled (else if (false)), so every imported 3MF, including Snapmaker Orca's own (From_BBS), falls through to the reset.Fix. Skip the reset for
From_BBSfiles, so that adding a slicer 3MF keeps its part/modifier settings as upstream does. Geometry from other applications is still reset.Testing. I could not build the project locally. The change is a one-line condition. Reproduction file attached to #961.
🤖 Generated with Claude Code