Use existing extruder assign. when converting to multipart object, if possible #14525
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.
When PS converts a model into a multipart object (after user says YES), it ignores any previously set
extruder
configurations per volume, substituting instead an incrementing counter which repeats (based on the number of extruders available).This change adjusts the behavior to retain the
extruder
config during this process. If theextruder
config isn't valid or doesn't exist, use the previous auto-increment strategy.Use case - I'm trying to print multi-color gridfinity labels (with embedded text), where each character ends up as a different part. It's a PITA to have to go in and manually select an extruder for each character for one label, let alone for all the characters on 30-40 labels. The changes above allow me to programatically set the extruder per object (by assigning the values in advance in Slic3r_PE_model.config).
newblah44.zip <-- 3mf file (created outside of prusaslicer, see ndevenish/gflabel#23)
Slic3r_PE_model.config:

note, myblah1 has an "invalid" id set of 15, myblah3 is set to extruder 5, and myblah5 and myblah7 aren't set (so should receive the autoincrement strategy).
Current behavior (2.9.2 - e70983a):
New behavior (with code from this MR)
(note that myblah3 is changed to extruder 5)