slic3r / Slic3r

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

Attach single walls to loops #1237

Closed kefir- closed 8 years ago

kefir- commented 11 years ago

When printing some slim pieces, I've noticed that slic3r draws a perimeter, and then later draws a tiny blob off the sharp end:

slic3r-detached-blob-detail

In a case such as mine, where there is only one such tip, the part would have been better if the print started or ended at this tip, and then completed loops as necessary from there.

When there are several such protruding details, this gets more difficult. It may be possible for two protrusions, but for many it gets impossible to print them all in a single uninterrupted pass. But rather than printing such blobs alone, it might be better if slic3r started at a suitable spot along the perimeter, printed some perimeter distance, and then ended in the protrusion. From there, travel back to a new suitable spot along the perimeter, and print a suitable perimeter distance, and finish on the protrusion. Here's a sketch, pardon my bad free hand drawing :) What I think happens today to the left, and a hopefully understandable sketch of what I'm suggesting to the right.

protrusions-path

kefir- commented 11 years ago

Sorry, forgot to mention: 0.9.10-dev updated to current git head today, the sliced part is http://www.thingiverse.com/thing:25587, and if you want my gcode or settings I'll be happy to share :)

alranel commented 11 years ago

Yes @kefir-, agreed. @mesheldrake has been working for several months on a new algorithm for single walls that tries to join them in a smart way like you proposed. I think Mike would appreciate if you try to run the thinwall-bpv branch to see how his new code works with your test case. Also, if you look for issues tagged "Thin wall" here you'll find some similar cases.

mesheldrake commented 11 years ago

Here's a similar result to your diagram that I happen to have at hand at the moment - the purplish lines being the toolpath:

gear

mesheldrake commented 11 years ago

Actually that's not like your diagram, but the same principles are involved. Here's a slice from the object in #226 that's similar though: 226_49

kefir- commented 11 years ago

Thanks for the feedback! I'm reran the slice with my current settings to confirm that the tip was still detached. Then I checked out the thinwall-bpv branch, and tried again. This time it's attached:

tweezer-tip-thinwall-bpv

but I'm not sure why the tip is split into two segments that are at an angle, instead of one straight line. Here's a picture of the part itself (it's the cross-tweezer-tough.stl from the linked page, direct download here: http://www.thingiverse.com/download:76780 ):

tweezer-stl

Ideally, I'd think those two segments should be one straight line, and infill should take care of any filling necessary. That would seem to match the STL better.

mesheldrake commented 11 years ago

That's as designed for now. It is possible to improve that, but it's not as simple as it seems. See how it prints though. I've had decent results with a couple similar objects.

Just as for a thin wall, we're running a single extrusion down the middle of the thin point here, until it gets to be about two extrusion widths wide, where it then jumps over to the left or right side to merge with the normal perimeter. We can make the transition smooth in the 1x to 2x extrusion width zone, instead of having that jump, but it's tricky to do that in consistent, general way, so I've disabled that for now, in the interest of getting the other benefits of the new thinwall code integrated sooner.

The main benefit here with the new thinwall approach is that these thin fragments will now be made continuous with the outer perimeter.

kefir- commented 11 years ago

Here's another example where attaching the thin details would improve the part. The sharp thin end of the wing is printed as a separate extrusion, so it's not properly attached to the rest.

https://docs.google.com/file/d/0B947HPmfcUmTLXZBaUk5ZkVNWDQ/edit?usp=sharing

This is the part mentioned in issue #1281, sliced with latest thinwall-bpv branch.

lordofhyphens commented 8 years ago

Is this still a noticable issue on 1.3.0-dev or 1.2.9?

If so, could someone reopen and provide an exported config.ini and screenshots from current 3d preview?

My config: config.zip

Thin wall detection disabled: base-nothin

Thin wall detection enabled: base