Skip to content

Add "Swap with" submenu to filament context menu#15252

Open
mpeddicord wants to merge 1 commit intoprusa3d:masterfrom
mpeddicord:master
Open

Add "Swap with" submenu to filament context menu#15252
mpeddicord wants to merge 1 commit intoprusa3d:masterfrom
mpeddicord:master

Conversation

@mpeddicord
Copy link

This is an implementation for the missing feature:
Changing filament assignments for a Multimaterial painting #14903

Adds a "Swap with..." submenu to the filament right-click menu so users can swap two filament positions without redoing multi-material painting.

When you load a 3MF with MMU painting but your filaments are in different slots than the painting expects, you currently have to redo the painting from scratch. This lets you rearrange the filament assignments in software instead.

The swap covers filament presets, extruder colors, wipe tower purging volumes, and custom G-code extruder references. Painting and object extruder assignments stay in place, that's intentional. The filaments move to match the painting,

Testing included:

  • Swap two filaments and verify the sidebar updates
  • Swap the same pair again to confirm it restores the original state
  • Add color changes at different layers on different extruders, swap, and check the extruder numbers update correctly
  • Paint a model, swap, confirm the paint stays on the same faces but picks up the new filament color
  • Slice after a swap and verify the preview looks correct
  • Unit tests cover the wipe matrix and G-code extruder swap math

Swapping filament 2 with custom G-code with filament 4
image

Swapped
image

Lets users swap two filament positions from the right-click menu so they
can match their physical filament order to existing MMU painting without
redoing the painting.

Swaps filament presets, extruder colors, wipe tower purging matrix, and
custom G-code extruder references. Painting and object extruder
assignments stay in place intentionally.
@mpeddicord mpeddicord marked this pull request as ready for review February 15, 2026 07:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant