Page 1 of 2

[FIXED] Only retract when crossing open spaces doesn't work

Posted: Thu Oct 29, 2015 5:21 pm
by pbmax
Has anyone else noticed that "Only retract when crossing open spaces" sometimes causes the nozzle to cross open spaces without retracting, even with "Minimum travel for retraction" set to 0? I see this frequently in prints with lots of small islands - I end up with strings everywhere. It seems like the software isn't terribly skilled at detecting open spaces. Anyone know if there's some setting I need to tweak?

Thanks for looking!

Re: "Only retract when crossing open spaces" doesn't always

Posted: Thu Oct 29, 2015 9:21 pm
by billyd
Agreed not sure the software's definition of open spaces is the same as mine.

Re: "Only retract when crossing open spaces" doesn't always

Posted: Fri Oct 30, 2015 4:55 am
by JoeJ
Seems to work fine here.. can you post a screenshot and a factory file? can't really provide much suggestions without it since it's working fine for me as far as I can tell.

Re: "Only retract when crossing open spaces" doesn't always

Posted: Fri Oct 30, 2015 6:26 pm
by pbmax
*sigh*

I'm stretching the limits of the slicer with bad model behavior... and expecting it to behave just how I expect it would, which isn't terribly fair. :oops:

I often design objects comprised of cubes on a 3D grid. When 2 cubes on the same horizontal plane have touching corner edges but nothing else, this results in a non-manifold .STL. S3D does a remarkably good job of slicing these (especially if you move the object around on the build plate a little when slicing errors are encountered), but it doesn't properly calculate open spaces when this happens. I get it... and honestly I'd rather trim strings than shred filament from too many retracts.

I created a bunch of test shapes, all of which sliced correctly without a non-manifold edge involved.

I've attached a screen grab with the problem area highlighted. You can see that there are no retracts on that non-island. If only I could have my cake and eat it too... :D

Re: "Only retract when crossing open spaces" doesn't always

Posted: Wed Jan 20, 2016 6:58 pm
by pbmax
I believe I've found a real problem here. I have a fully manifold model this time and I'm seeing no retract when traveling from support back to the model itself. This causes lovely crusties in a very tidy line across my model. When I turn off "only retract when crossing open spaces" this problem goes away. The space is very clearly open.

This is a preview shot of the problem area. Note the lack of retract inside the red circle. The nozzle has just moved off of there following the red travel path in the direction indicated by the arrow I added.
No retract before travel across an open space (only retract when crossing open spaces is checked)
No retract before travel across an open space (only retract when crossing open spaces is checked)
This is a preview shot of the same problem area when I turn off "only retract when crossing open spaces". Note that it performs a retract in this case.
Retract before travel across an open space (only retract when crossing open spaces is UN-checked)
Retract before travel across an open space (only retract when crossing open spaces is UN-checked)
Is anyone else seeing this behavior??

Re: "Only retract when crossing open spaces" doesn't always

Posted: Wed Jan 20, 2016 7:18 pm
by dkightley

Re: "Only retract when crossing open spaces" doesn't always

Posted: Wed Jan 20, 2016 7:38 pm
by pbmax
Thanks! I cross-linked it for more visibility. This bugs me... :|

Re: "Only retract when crossing open spaces" doesn't always

Posted: Thu Jan 21, 2016 5:42 am
by CompoundCarl
Can you post a factory file with a simple manifold model that does this? I just did a few tests, and it works correctly with every model I have tried so far...

Re: "Only retract when crossing open spaces" doesn't always

Posted: Thu Jan 21, 2016 9:07 am
by pbmax
I guess I didn't hit submit when adding the factory file. Here it is.

When you generate the g-code you can see that sometimes it retracts off of the support under the left side of the tail of the "aircraft" (when looking from the back) and sometimes it doesn't. With "Only retract when crossing open spaces" unchecked it always retracts there. See the red circle below.
S3D retract issue bad 2.jpg

Re: "Only retract when crossing open spaces" doesn't always

Posted: Thu Jan 21, 2016 9:23 am
by pbmax
And here's the difference in the g-code generated with the option ON (no retract between printing support on layer 52 and printing an inner perimeter on layer 53; note the big move just after the "inner perimeter comment"):

; support
G1 X6.400 Y-30.120 F12000
G1 Z10.400 F12000
G1 E3.0000 F1200
G1 X6.400 Y-21.880 E0.3289 F1500
...<snip>...
G1 X-13.867 Y-25.880 E0.0426
G1 X-13.867 Y-29.620 E0.1493
G1 X-13.867 Y-30.120 F1500
; layer 53, Z = 10.6
; inner perimeter
G1 X-1.702 Y22.780 F12000
G1 Z10.600 F12000
G1 X-2.780 Y21.702 E0.0609 F2250
G1 X-2.780 Y10.780 E0.4359


And with the option OFF (retract / unretract in bold):

; support
G1 X6.400 Y-30.120 F12000
G1 Z10.400 F12000
G1 E3.0000 F1200
G1 X6.400 Y-21.880 E0.3289 F1500
...<snip>...
G1 X-13.867 Y-25.880 E0.0426
G1 X-13.867 Y-29.620 E0.1493
G1 X-13.867 Y-30.120 F1500
G1 E-3.0000 F1200
G1 Z12.600 F12000

; layer 53, Z = 10.6
; inner perimeter
G1 X-1.702 Y22.780 F12000
G1 Z10.600 F12000
G1 E3.0000 F1200
G1 X-2.780 Y21.702 E0.0609 F2250
G1 X-2.780 Y10.780 E0.4359