Fix non bambu wipe tower issues (skirt overlapping with tower, extreme travel moves outside plate boundary) #1263

Closed
opened 2026-04-05 17:07:45 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @igiannakas on 12/26/2025

Description:

The integration of the changes to the bambu wipe tower following upstream merge to support dual nozzle setups had caused some regressions on wipe tower handling for non bambu printers.

this is a first attempt at fixing the most "obvious" issues I've come across.

Issue 1: Extreme travel move when printing the wipe tower.

Root cause:
Uninitialised variable (tcr.tool_change_start_pos) generating gcode due to the PR below
87bb315773

Fix:
Initialize tcr.tool_change_start_pos with the start position of the tower. This is a safe default value.

Issue 2: Prime / purge tower bounding box not generated hence not used when calculating skirt position.

Root Cause:
Wipe tower 2 code relied on width and length only to set the bounding box. However the latest skirt code requires the bounding box to be set.

Fix:
Instead of patching the downstream skirt generation code to distinguish between wipe tower and wipe tower 2, fix upstream and expose a meaningful bounding box.

Screenshots/Recordings/Graphs

Before:
Image

After:
image

Tests

Tested with SEMM, multi toolhead (4x toolheads) and Bambu lab. No regression observed.

Fixes #11746
Fixes #11636

@SoftFever @Noisyfox I feel we are just scratching the surface of potential regression issues in multi-material handling post the upstream merge. Welcome a review on the two attached before merging please as well as would love your thoughts on how to perform a more thorough audit of the wipe tower handling for non bambu printers.

*Originally created by @igiannakas on 12/26/2025* ## Description: The integration of the changes to the bambu wipe tower following upstream merge to support dual nozzle setups had caused some regressions on wipe tower handling for non bambu printers. this is a first attempt at fixing the most "obvious" issues I've come across. ### Issue 1: Extreme travel move when printing the wipe tower. **Root cause:** Uninitialised variable (tcr.tool_change_start_pos) generating gcode due to the PR below https://github.com/OrcaSlicer/OrcaSlicer/commit/87bb315773d90bacb5eb861d9b263c6b4a99110b **Fix:** Initialize tcr.tool_change_start_pos with the start position of the tower. This is a safe default value. ### Issue 2: Prime / purge tower bounding box not generated hence not used when calculating skirt position. **Root Cause:** Wipe tower 2 code relied on width and length only to set the bounding box. However the latest skirt code requires the bounding box to be set. **Fix:** Instead of patching the downstream skirt generation code to distinguish between wipe tower and wipe tower 2, fix upstream and expose a meaningful bounding box. ### Screenshots/Recordings/Graphs Before: ![Image](https://github.com/user-attachments/assets/97cb43d2-e868-410a-9d9e-9a27dddfdb39) After: ![image](https://github.com/user-attachments/assets/9bfa2444-778d-4232-9722-98c17810fc7e) ## Tests Tested with SEMM, multi toolhead (4x toolheads) and Bambu lab. No regression observed. Fixes #11746 Fixes #11636 @SoftFever @Noisyfox I feel we are just scratching the surface of potential regression issues in multi-material handling post the upstream merge. Welcome a review on the two attached before merging please as well as would love your thoughts on how to perform a more thorough audit of the wipe tower handling for non bambu printers.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/OrcaSlicer#1263