supermerill / SuperSlicer

G-code generator for 3D printers (Prusa, Voron, Creality, etc.)
4.13k stars 520 forks source link

"Reverse on odd" has no effect on the print at all #3442

Closed VanessaE closed 10 months ago

VanessaE commented 1 year ago

What happened?

Title says it all :smile:

I'm trying to print a small part with horizontal holes, essentially using it as a calibration piece to reconfigure my 0.1 mm layers profile so that I can print more of them at this layer height, and am getting really messy corners and overhangs (my prints look good with 0.2 mm layer heights though).

One of the things I had hoped to employ to clean the overhangs up (and maybe the corners too) was to enable "reverse on odd", but no matter what "reverse threshold" I set, it just refuses to actually do anything to the print direction.

I tried setting the threshold as low as 0.01 and "bridge speed and fan" to a similarly tiny value of 0.01%, and while the latter does cause the "gcode preview" display to mark even the slightest overhangs as, well, overhanging, the print direction still doesn't change.

Project file & How to reproduce

Project file: horiz-hole.3mf.zip

Slice the part, scroll the layer position to 6.5 mm, and compare the print direction between adjacent layers -- every layer goes counter-clockwise no matter what.

Note that the steepest overhang in this model is about 45°, as it uses a variation on the old "teardrop holes" shape (the real model uses them, but I can't publish it yet, so I made this test object to focus on just this one issue). Maybe 45° isn't steep enough to trigger this feature?

Also note: this project contains untested changes, the result of a lot of trial and error, but only the "reverse on odd" feature is at issue here.

Version

2.4.58.5, using the official "late 2.4 edition" release Appimage. Happens with the 2.5.59.0 "Arachne" Appimage also (though I am not using that particular perimeter mode due to its low resolution).

Operating system

Debian "Bullseye" 11.5.0

Printer model

Custom-built Hypercube

VanessaE commented 1 year ago

Okay, apparently this feature requires that "extra perimeters / on overhangs" be enabled, BUT even with that feature enabled, the print direction does not change.

My best guess is that even on a perfectly round hole, if it's small enough, there won't be any reason for the slicer to add more perimeters (because nothing internal is exposed).

Can we just have this turned into a force-enable setting that relies only on its own threshold (the one that already exists), and flips the direction on odd layers regardless if extra perimeters are to be added?

nathanshearer commented 1 year ago

I am unable to reverse the printing direction on odd layers, with any setting. It seems this feature doesn't work at all.

RealDeuce commented 10 months ago

Reverse on odd is for overhangs (ie: in the overhangs section)... to get it to apply to all perimeters, you need to set the "Reverse threshold" (overhangs_reverse_threshold) to zero. Also, it doesn't work with Arachne, you need to use the Classic perimeter generator.

supermerill commented 10 months ago

Can reproduce on 2.4.58.5 Can't reproduce on 2.5.59.6, seems fixed.