Fix: Filament count not syncing to extruder count for dual-extruder printers. #59

Open
opened 2026-04-05 16:18:18 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @re3Dev on 3/30/2026

Description

Issue

  • When switching between dual-extruder presets, the sidebar only shows 1 filament instead of 2. The only way found to add back the second filament is shown in this video:

https://github.com/user-attachments/assets/1f8dc418-9b19-43eb-8cdd-c47547582970

  • This affects all dual/multi-extruder printers where single_extruder_multi_material = false.

Suspected Cause

  • During a printer preset switch, PresetBundle::update_selections() reloads filament_presets from the saved app config. If the printer profile has never been used before, the loop finds nothing and filament_presets stays at a size of 1, instead of the printers actual extruder count.

Proposed Change

  • Add checks/fallback in Tab.cpp that:
  1. Check if count is less that printers extruder count and call set_num_filaments() to fill in missing slots.
  2. Add a fallback sync for when the extruder count didn't change but filament_presets is still undersized.

Screenshots/Recordings/Graphs

After changes, new build:

https://github.com/user-attachments/assets/a85d8f13-2443-4e23-8bfd-dbb912c66b31

Tests

  • Built on Linux Ubuntu.
  • Verified filament count syncs with extruder count.
*Originally created by @re3Dev on 3/30/2026* # Description ## Issue * When switching between dual-extruder presets, the sidebar only shows 1 filament instead of 2. The only way found to add back the second filament is shown in this video: https://github.com/user-attachments/assets/1f8dc418-9b19-43eb-8cdd-c47547582970 * This affects all dual/multi-extruder printers where single_extruder_multi_material = false. ## Suspected Cause * During a printer preset switch, PresetBundle::update_selections() reloads filament_presets from the saved app config. If the printer profile has never been used before, the loop finds nothing and filament_presets stays at a size of 1, instead of the printers actual extruder count. ## Proposed Change * Add checks/fallback in Tab.cpp that: 1. Check if count is less that printers extruder count and call set_num_filaments() to fill in missing slots. 2. Add a fallback sync for when the extruder count didn't change but filament_presets is still undersized. # Screenshots/Recordings/Graphs After changes, new build: https://github.com/user-attachments/assets/a85d8f13-2443-4e23-8bfd-dbb912c66b31 <!-- > Please attach relevant screenshots to showcase the UI changes. > Please attach images that can help explain the changes. --> ## Tests * Built on Linux Ubuntu. * Verified filament count syncs with extruder count.
MrUnknownDE added the bug-fixbug-fixbug-fixbug-fixbug-fixbug-fix labels 2026-04-05 16:18:18 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/OrcaSlicer#59