prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.64k stars 1.92k forks source link

Toolchanger wrong priming order with "Prime all printing extruders" #11243

Open jettoblack opened 1 year ago

jettoblack commented 1 year ago

Description of the bug

Using a toolchanger (not single nozzle multi-material).

When printing with 2 tools T0 and T1, the expected order of priming/printing would be:

T0 prime tool 0 print with tool 0 T1 prime tool 1 print with tool 1

(order of T0 and T1 doesn't matter)

This minimizes tool changes and ensures the prime happens just before the start of the print with that tool.

The actual generated gcode has this instead:

T1 prime tool 1 T0 prime tool 0 print with tool 0 T1 print with tool 1

It introduces an unnecessary tool change, as well as introduces unnecessary delay between priming T1 and printing with T1.

dual test cubes.zip

image

Project file & How to reproduce

Load attached 3MF, inspect gcode

Checklist of files included above

Version of PrusaSlicer

Version 2.6.0+win64

Operating system

Windows 11

Printer model

Voron 2.4 Toolchanger ( https://github.com/viesturz/TapChanger-lite )

jettoblack commented 1 year ago

Related to #10781 and #10586 , because T1 is insufficiently primed, and the first thing T1 tries to print is the inside of the wipe tower, which then fails.