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.65k stars 1.92k forks source link

Objects no longer get printed in the set order #13021

Open KonradStuewe opened 2 months ago

KonradStuewe commented 2 months ago

Description of the bug

In previous versions of PrusaSlicer(I believe 2.7.4), the objects were printed in the order they were listed on the right.

This is no longer the case. It now seems to prioritize having the shortest possible travel between the objects.

While the idea is good to speed up the print by making the travel moves as short as possible, it also makes it quite a bit more unpredictable. To get the order I want, I now have to trick the slicer into choosing the right path.

If possible, I'd like to be able to go back to the old behavior.

Expected Print order: grafik

Actual print order: grafik

Project file & How to reproduce

Print Order.zip

  1. Add multiple objects to the build plate.
  2. Sort the objects in the list in the required order.
  3. Arrange the objects in a line on the built plate, while giving them a different order. grafik
  4. Slice the objects.
  5. The order in which the objects get printed is now different from the list. slicer

Checklist of files included above

Version of PrusaSlicer

2.8.0+win64

Operating system

Windows 10 22H2 19045.4529

Printer model

Prusa MK4 Kit

u89djt commented 2 months ago

Pausing to note that I'm a fellow user, not affiliated with Prusa, I wonder; what is the advantage in printing the objects in the same order as the list when you're not performing sequential printing?

KonradStuewe commented 2 months ago

Pausing to note that I'm a fellow user, not affiliated with Prusa, I wonder; what is the advantage in printing the objects in the same order as the list when you're not performing sequential printing?

I use it mostly to add my own prime tower when I do a filament swap. The nozzle tends to ooze a bit after making a filament change, so I add a little cube to clean the nozzle and give it a chance to properly pressurize.

Right now, I have to keep moving the prime tower around the build plate in the hopes that it actually gets printed first

u89djt commented 2 months ago

I think I have a workaround for you. wipe at 3p8 Print Order.zip image Add a layer height setting to the wipe object to be lower than the other objects at the level you want to wipe at so that it is extruded first because the stuff around it is higher. You could re-align them above that level to allow the slicer to optimize travel as well as possible while the print progresses up to the next filament change, or indeed stop the wipe tower as soon as it's done its job if there's only one change. I guess the wipe layer needs to let out enough filament, so if you're minimizing the diameter of the wipe tower, maybe set the layers out of step just /below/ where the change happens so the wipe extrusion is full-bore? Plenty of room for experiementation. And perhaps if you print things with adaptive layer height, you could potentially find it tricky to identify a bottom and top height for the wipe layer this way.

fe60 commented 2 months ago

In previous versions of PrusaSlicer(I believe 2.7.4), the objects were printed in the order they were listed on the right.

@KonradStuewe Are you sure about that?
I found at least two feature requests asking for this behaviour (Nov 21 #7318, Nov 20 #5175).