slic3r / Slic3r

Open Source toolpath generator for 3D printers
https://slic3r.org/
GNU Affero General Public License v3.0
3.36k stars 1.29k forks source link

Alternatively invert clockwise direction of perimeters #1073

Open rohieb opened 11 years ago

rohieb commented 11 years ago

Like mentioned in #328, printing overhangs with edges tends to cause upward curling. In my case, this even happens with a print speed of 20mm/s and full ventilation when printing the small extruder gear (which basically only consists of edges) for the @reprappro Mendel. I observed this issue a while when printing things, and I think the core problem here is that the extruder pulls the still hot filament with it in its travelling direction, causing edges to be "shortened out". But since the filament is still attached the the lower layer, this causes tension inside the print, which in turn causes the edge to curl upwards.

So, as a possible solution to this problem, I propose to print the perimeters in clockwise and anti-clockwise direction alternatively, in order to eliminate this effect. Since I haven't tested this in practice (no favor for crafting my own GCode ;-)), I currently cannot say anything about the effectiveness of my solution.

nophead commented 11 years ago

I do that in my own software but I don't think it helps with curling. It does improve the symmetry of gear teeth though and generally makes corners a bit sharper. The downside is any backlash shows up as ridginess.

On 29 March 2013 20:55, Roland Hieber notifications@github.com wrote:

Like mentioned in #328 https://github.com/alexrj/Slic3r/issues/328, printing overhangs with edges tends to cause upward curling. In my case, this even happens with a print speed of 20mm/s and full ventilation when printing the small extruder gearhttps://github.com/reprappro/Extruder-drive/blob/master/Print-mendel-mult-material/Individual-STLs/small-gear-1off.stl(which basically only consists of edges) for the @reprappro https://github.com/reprappro Mendel. I observed this issue a while when printing things, and I think the core problem here is that the extruder pulls the still hot filament with it in its travelling direction, causing edges to be "shortened out". But since the filament is still attached the the lower layer, this causes tension inside the print, which in turn causes the edge to curl upwards.

So, as a possible solution to this problem, I propose to print the perimeters in clockwise and anti-clockwise direction alternatively, in order to eliminate this effect. Since I haven't tested this in practice (no favor for crafting my own GCode ;-)), I currently cannot say anything about the effectiveness of my solution.

— Reply to this email directly or view it on GitHubhttps://github.com/alexrj/Slic3r/issues/1073 .

alranel commented 11 years ago

As in, printing one layer's perimeters in one direction, and then using the other direction in the upper layer?

rohieb commented 11 years ago

@alexrj exactly.

alranel commented 11 years ago

@nophead, do you think it would be a good idea to make this the default behavior, without any option to disable it? It would force people to eliminate backlash from their printers.

nophead commented 11 years ago

It does show up any backlash, so prints do generally look prettier without it. I expect you will get complaints from the people that print vases, owls and yodas if you don't make it optional.

On 10 May 2013 18:08, Alessandro Ranellucci notifications@github.comwrote:

@nophead https://github.com/nophead, do you think it would be a good idea to make this the default behavior, without any option to disable it? It would force people to eliminate backlash from their printers.

— Reply to this email directly or view it on GitHubhttps://github.com/alexrj/Slic3r/issues/1073#issuecomment-17732336 .

harriv commented 10 years ago

@alexrj I think this should be default behavior when not using spiral vase mode. I noticed same problem with my print and "invented" same solution as @rohieb.

mrbi11 commented 10 years ago

This would have the effect of immediately going back over or by fills that were just laid down, and so are not yet solidified, and not yet cooled, which also means they are larger than they will be when they are cooled.

What benefit do you think this will have?

*peace, Bill Kelley

On 3/2/2014 1:07 PM, harriv wrote:

@alexrj https://github.com/alexrj I think this should be default behavior when not using spiral vase mode. I noticed same problem with my print and "invented" same solution as @rohieb https://github.com/rohieb.

— Reply to this email directly or view it on GitHub https://github.com/alexrj/Slic3r/issues/1073#issuecomment-36462937.

harriv commented 10 years ago

@mrbi11 There's usually also the infill to print which gives some time to cool down. The benefit would be reduced curling in overhangs, especially when doing sharp corner over half-empty space. When doing perimeter always same direction, sharp corner slowly "travels" (and curls) to the direction of nozzle movement if it hasn't completely solidified yet. More cooling, yes, but at least in my test piece it would require stopping printing for a while between layers to allow even more cooling what my fan can achieve..

jamiehs commented 5 years ago

I think this could benefit me too. I am running into an issue where my keycap prints appear to be twisted only when mounted to a key switch despite being square and dimensionally accurate.

I'm printing keyboard keycaps and the stem socket (a very small cross shaped hole) appears to be twisted very slightly once the keycap is mounted. My theory is that this would be negated if I could alternate path directions when Slic3r is drawing the paths for the stem. As a test I cut the model down the center of the stem (to force Slic3r to divide it up into two symmetrical paths) and it seems to solve the issue; although other factors could be at play with such a wild test.

These images show the center printed keycap below Scroll Lock is straight (this is the cut one) and the other three surrounding it are all tilted slightly to the counter-clockwise direction. (the stem cross gcode is drawn in a CCW direction)

supermerill commented 5 years ago

I coded that in my fork (see https://github.com/supermerill/Slic3r/wiki/Extra-perimeters-if-needed-:-overhangs).

Easy change. But how it should be implemented? new option? all my changes? In the last issue i opened about it, the review was mixed.

supermerill commented 5 years ago

Would I be able to just install one of your releases over my current version of Slic3r? I would LOVE to try this and put my hypothesis to the test.

If you're not on mac, sure, no problem. Note: my new "extra perimeters if needed" can be very cpu-intensive.

Also, the picture in my wiki was taken before i implemented the direction-swing (you can see the drop at the right).

VanessaE commented 5 years ago

@supermerill link to the previous issue (with the mixed reviews)?

supermerill commented 5 years ago

https://github.com/slic3r/Slic3r/issues/4476

VanessaE commented 5 years ago

Well, offhand I would say just bring it all in, with options to enable/disable each feature.