Open kefir- opened 11 years ago
I have a similar issue with "Avoid crossing perimeters". My model is basically a frame, with two ears on the short sides at the top. For printing these ears I need support, so there is support on the left and on the right of the frame. In this case, Slic3r (rev. 94330488730) generates long moves away from the currently printed support, just to return to where the print head was, and print the next line of support. Also, it sometimes even crosses the perimeters of the frame when changing between the two support islands.
The resulting GCode can be found at http://rohieb.name/stuff/case-lcd-T035ZT241F-mirror-nozzle40.gcode, an example video is at http://www.youtube.com/watch?v=zHWcXeJqdEs
Another problem is that this creates sharp corners at maximum (travel) speed, making the machine likely to skip and lose position. This feature needs to try to find more direct paths through empty interior space rather than always jumping to the outside (maybe use the normal travel path but divert around objects that are in the way, staying outside islands that are not being printed the same way it stays inside ones that are), and it would be nice if would limit the angle of corners in travel moves to smooth out the motion. It should also recognize when there is no unobstructed path (like passing through a ring to print something inside it) and just take the most direct route.
I may be straying from the issue here, but as mentioned, I only use the "avoid crossing perimeters" to make slic3r always finish each island before moving on. I actually don't see why that isn't the default - and only - behaviour. When is it a good thing to do all the perimeters on all the disjoint islands, and then come back to do the infills later? I can only see that this could make sense if printing with multiple extruders, but that's a different case. I'd like to suggest that slic3r should always finish each disjoint island, perimeter and infill, and I don't really think there's a reason to have an option to do all perimeters and then all infills when printing with one extruder. "Avoid crossing perimeters" could continue to exist like today, but I probably wouldn't use it most of the time.
An update: as @kefir- suggested, recent Slic3r versions always finish every island completely before moving onto next one, even if Avoid crossing perimeters is not enabled.
@kefir- is this still a problem then in 1.2.9 or 1.3.0-dev?
I enable "avoid crossing perimeters", not because I'm so bothered about crossing perimeters, but because I want prints to finish perimeters and infill on separate islands before moving on.
When I enable this, I sometimes get really long moves that don't really seem to make sense. Here's an example. This is based on a print of 2 items of the "Hollower calibration pyramid" from http://www.thingiverse.com/thing:29429
I'd like to make a couple of suggestions:
Here's the gcode the screenshot is taken from, config embedded. Gcode generated with current git head, but I've had similar issues with recent releases.
http://kefirshare.dreamhosters.com/Hollower_pyramid_20130715-225316_0.9.11-dev.gcode