Allow manual filament swap on shared physical slot with automatic pause insertion

Hello Snapmaker Team,

I would like to suggest a feature improvement for Snapmaker Orca, especially for the Snapmaker U1 and other printers without an automatic filament changing system.

The U1 is capable of impressive multi-color printing, but there is currently a limitation when printing models with many colors.

The problem:

In the slicer, we can see the virtual filaments and assign them to physical slots.

However, the slicer currently assumes that every virtual filament needs its own permanent physical slot.

Example:

Virtual filament assignment:

Black → Slot 1
Blue → Slot 1
Green → Slot 2
Yellow → Slot 3
Red → Slot 4

In this example, Black and Blue are not needed at the same time. The user simply wants to manually replace the filament in Slot 1 when the color changes.

Currently, the slicer does not understand this situation.

It sees:

“Slot 1 is occupied, therefore the filament is available.”

But the real situation is:

“Slot 1 currently contains Black. Later, Slot 1 needs Blue. A manual filament swap is required.”

The slicer already knows:

  • which color is needed,
  • where the tool change happens,
  • which physical slot is assigned.

The missing step is the logic to automatically insert a pause when two virtual filaments share the same physical slot.

Example workflow:

Start print:

Slot 1: Black loaded
Slot 2: Green
Slot 3: Yellow
Slot 4: Red

During the print:

Black → Blue required

The slicer detects:

Black and Blue share Slot 1.

Automatically insert a pause:

“Please replace Black with Blue in Slot 1 and continue.”

Later:

Blue → Black required again

Automatically insert another pause:

“Please replace Blue with Black in Slot 1 and continue.”

Why this would be useful:

Many multi-color models do not actually need all colors available at the same time.

For example:

  • Black and Blue may be used at different stages.
  • White may only be needed for a few small details.
  • Similar colors can share one physical slot.

Without this feature, users currently have to:

  • manually edit G-code,
  • search for exact tool-change positions,
  • manually insert pauses,
  • risk stopping at the wrong point.

A simple “shared physical slot / manual swap” feature would greatly improve the workflow.

Suggested implementation:

Add an option in filament management:

:check_box_with_check: Allow multiple virtual filaments on the same physical slot

Example:

Virtual Filament Physical Slot

Black Slot 1
Blue Slot 1 (manual swap)
Green Slot 2
Yellow Slot 3
Red Slot 4

The slicer could then automatically analyze the tool changes and insert the required pauses with a clear message.

This would make the U1 much more powerful for:

  • logos,
  • signs,
  • TCG accessories,
  • personalized products,
  • small business production,
  • complex multi-color prints without additional hardware.

The hardware is already capable. The missing part is the slicer workflow.

Thank you for considering this feature request!

I’ve not tested it myself, but have you tried going ahead with the virtual tool assignments T4, T5 etc?

The U1 (if you haven’t disabled automatic filament mapping) takes no notice of the T0-T3 physical toolhead assignments, and just looks at the filament specification required (material and colour), printing with whichever toolhead is loaded with the best match. If you (manually) unload a toolhead and load it with another filament (and declare it), when that filament gets demanded it will (I guess) be used regardless thar the slicer had called it “T4” (or whatever).

Then all you need to do is be alert to when you need to switch the filaments, or insert a pause at the appropriate layer in the G-Code (an operation available in the slicer).

This is the sort of process which drives the third-party external filament multiplexers.

I have the same challenge here and find the idea really great.

Currently, unfortunately, you can only assign the 4 loaded colors at the start - unfortunately.

Of course, there is still the option of working with pauses instead of the 8 colors, but then you have to unload/load not just 4 times, but 8 times. That might still be feasible for a 37-minute print.

It would be nice if not only a color change could be inserted, but also a pause at the same time - of course, the prerequisite would be that more than 4 colors can be assigned at the start of the print.

If I understand correctly, SnapOrca’s slicing already supports most of the features you mentioned:

  1. Using more than four color settings, mapped to four physical channels
  2. Manually inserting pauses in the slice interface; it’s not fully automatic, but it’s not complicated either
  3. Pausing during actual printing to wait for manual filament changes

The only feature I think could still be optimized is supporting the definition of filament change commands, automatically ejecting the filament during the pause. In cases where multiple filament changes are required, this would improve efficiency.

1 Like

Yes, theoretically, I can create many different colors using mixed colors.

However, this doesn’t help with a flat object, such as the example from earlier.

So, SnOrca can currently only add either color changes or pauses on the same layer—not both at the same time, which would be helpful.