mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-07 07:41:06 +00:00
Support extruder variants on every printer (#15964)
# Description Extruder variants (Standard, High Flow, extra high flow) now work on any printer. Any vendor profile can declare them, and a multi-variant filament picks up the right variant on every printer. In the sidebar, users can switch the printer variant and set the nozzle volume type of each extruder on multi-extruder printers. This also fixes a later filament printing at the first filament's temperature on a P1S or X1C with a High Flow nozzle. The profile checks now reject variant arrays of the wrong size and outdated variant strings. Every shipped vendor profile passes them, and the orca-profiles skill documents the rules. Slicing output changes only where the wrong variant was used before. # Screenshots/Recordings/Graphs <img width="393" height="218" alt="Screenshot 2026-09-28 at 11 28 07 PM" src="https://github.com/user-attachments/assets/8bee4b0e-c38c-4039-8c11-096ace6fbad0" /> <img width="448" height="267" alt="Screenshot 2026-09-28 at 11 28 37 PM" src="https://github.com/user-attachments/assets/e767cd97-a5d0-4728-b010-c8ea2bc94ca7" /> <img width="746" height="603" alt="Screenshot 2026-09-28 at 11 28 54 PM" src="https://github.com/user-attachments/assets/23c8af3b-c679-46e5-9fd0-2e43df0449b3" /> https://github.com/user-attachments/assets/10d75d72-86a3-42e8-8a95-b1627bd58e91 ## Tests <!-- > Please describe the tests that you have conducted to verify the changes made in this PR. --> <!-- > A guide for users on how to download the artifacts from this PR. --> [How to Download Pull Requests Artifacts for Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)
This commit is contained in:
@@ -1317,7 +1317,9 @@ Print::ApplyStatus Print::apply(const Model &model, DynamicPrintConfig new_full_
|
||||
extruder_count, extruder_volume_type_count, filament_keys,
|
||||
"filament_self_index", "filament_extruder_variant",
|
||||
&dynamic_slot_indices);
|
||||
else if ((extruder_count > 1) || different_extruder)
|
||||
// Orca: also on a printer with a single extruder variant once a filament defines several
|
||||
// (e.g. Standard and High Flow), so each filament takes its variant for that extruder.
|
||||
else if ((extruder_count > 1) || different_extruder || new_full_config.has_multi_variant_filament())
|
||||
new_full_config.update_values_to_printer_extruders_for_multiple_filaments(m_ori_full_print_config, extruder_count, extruder_volume_type_count, filament_keys,
|
||||
"filament_self_index", "filament_extruder_variant");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user