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.78k stars 1.94k forks source link

2.9.0-alpha1 - Changes to multimaterial segmentation have made things worse #13645

Open BaconFase opened 21 hours ago

BaconFase commented 21 hours ago

Description of the bug

The changes in 2.9.0-a1 to multimaterial/color things seems to have made things much worse.

All previous versions of PS' had a "hierarchy of overlapping colors" with the Painter Tool overriding modifier shapes which in turn overrode extruders set in the model list: Painter Tool > modifier shapes > extruder set in the model list

2.9.0-a1 seems to have changed that order to: Painter Tool > modifier shapes' top/bottom layers > extruder 1-5 set in the model list > modifier shapes' side perimeters > Default extruder in model list

Furthmore, having objects painted with the Painter Tool combined with modifier shapes that change the extruder sometimes results in missing extrusions. Or maybe its painter tool combined with multi-part objects that eat extrusions. Something wonky is going on. This is def one of the buggiest PS alpha's I've ever tried.

Project file & How to reproduce

Project File for below examples: 2.9.0-a1_bugs.zip

In previous versions of PS there seemed to be a hierarchy of color tools when overlap occurred where: Painter Tool > modifier shapes > extruder set in the model list

Example 1 Orange rectangle with some blue paint and a modifier shape to change extruder for an area.

In previous versions of PS there seemed to be a hierarchy of color tools when overlap occurred where: Painter Tool > modifier shapes > extruder set in the model list In PS 2.8.1: 2 8 1

That same project opened in 2.9.0-a1 slices this: 2 9 0-a1_top The bottom and top of the modifier shape is yellow, but for some reason the sides are not.

If the rectangle's extruder is changed from 1 to Default then the sides go back to yellow: 2 9 0-a1_top2

So the new hierarchy seems to be: Painter Tool > modifier shapes' top/bottom layers > extruder 1-5 set in the model list > modifier shapes' non-top/bottom perimeters > Default extruder in model list

--

Example 2 Now lets add another box-part to the model using extruder 2: 2 9 0-a1_top3 Blue painter tool extrusion which overlapped with the modifier shape is just gone.

--

Example 3 The 2.9.0-a1 changes have messed with using modifier shapes on painted-multi-part-models to force bridging on deboss areas. Example setup of a two-part-model with a debossed square 10mm above the bed resulting in floating perimeters.

Left model is not painted with Painting Tool; right model has a small line of yellow paint using Painting Tool. 2 9 0-a1_deboss00

In 2.8.1, the wanted and expected happens and both models show bridging over the debossed area: 2 8 1-a1_deboss03

In 2.9.0-a1, not only does the painted model still have floating perimeters, 2 9 0-a1_deboss01

It's also missing several layers for some reason: 2 9 0-a1_deboss02 2 9 0-a1_deboss03

--

Example 4 Seems like all these issues involve modifier shapes but no. XL5T_saucer.top.zip Here is an example of an old multi-color 3mf with all the colored non-top/bottom perimeters missing on a file with zero modifier shapes: voya-painted voya-sliced1

Compared to PS 2.8.1: voya-sliced-2 8 1

Checklist of files included above

Version of PrusaSlicer

2.9.0-a1

Operating system

Windows 10

Printer model

Prusa XL-5T

hejllukas commented 2 hours ago

Hi, thank you for your detailed report. It really helps with the investigation of those issues. Actually, there are two different types of issues: the first is missing layers caused by the integration of fuzzy skin painting, and the second is issues with the hierarchy of modifiers and their colors. So, I created two internal issues, no. SPE-2585 and SPE-2586. We will fix it in some of the next alpha releases.