Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

slic3r ignores slim slots #959

Closed
kefir- opened this issue Jan 28, 2013 · 13 comments
Closed

slic3r ignores slim slots #959

kefir- opened this issue Jan 28, 2013 · 13 comments

Comments

@kefir-
Copy link

kefir- commented Jan 28, 2013

Slic3r ignores slim slots when generating gcode. I constructed a sample to demonstrate and test the issue, where I have created a 20mm cube with 6 slots, of 0.1mm, 0.2mm, 0.3mm, 0.4mm, 0.5mm and 0.6mm width. The two slimmest slots are missing from the gcode, they are simply filled in as if they weren't there. So it appears that I can't make a 0.1mm or 0.2mm slot in my part, but that's what I need to do.

Here's a screenshot of the STL viewed in Blender:

slots-stl

and here's a screenshot of the gcode viewed with tatlin:

slots-gcode

I'll share the actual stl and gcode files when my web host is back up after a current outage.

@alranel
Copy link
Member

alranel commented Jan 28, 2013

Good test case, thank you.

@kefir-
Copy link
Author

kefir- commented Jan 29, 2013

Here's the STL:

http://dl.dropbox.com/u/8154223/test-slots.stl

and here's the gcode I got from slic3r 0.9.8:

http://dl.dropbox.com/u/8154223/test-slots-2.gcode

@mesheldrake
Copy link
Collaborator

The 0.1 and 0.2 mm wide slots are being lost to the default $safety_offset of 0.1 in Layer::Region::_merge_loops().

$safety_offset there would have to be < 0.05 to preserve the smallest 0.1mm wide gap in this model.

@alexrj - any objection to reducing the default $safety_offset in _merge_loops() from 0.1 to 0.0499? Might that be just about as likely to fix the problem cases the safety offset is supposed to fix?

Then "gap resolution" - minimum gap preserved - could be claimed as 0.1mm, instead of > 0.2mm.

safety_offset_0 0499_2
Smallest slots preserved with $safetey_offset = 0.0499:

@kefir-
Copy link
Author

kefir- commented Mar 11, 2013

Mike, sorry for the late reply, I've somehow missed your comment! And thanks for the workaround.

Are there any drawbacks to reducing $safety_offset for a clean STL? I guess the hard lower bound is XY resolution, or some multiple of that, so it probably shouldn't be set lower than that.

@kefir-
Copy link
Author

kefir- commented Mar 13, 2013

I can't verify this workaround. When trying to set $safety_offset to less than 0.05, I get core dumps when loading this test cube in slic3r (current git head).

@alranel
Copy link
Member

alranel commented Mar 13, 2013

@kefir-, problem is not really about resolution - that outset/inset roundtrip is there because some STL files happen to have very narrow (almost invisible) holes in horizontal surfaces, that are amplified when perimeters and infill are generated. I should find those test cases again and see whether what @mesheldrake proposed is okay.

@kefir-
Copy link
Author

kefir- commented Mar 13, 2013

Turns out I get core dumps even when I don't change that value with the current git head. Sorry about that, should have tested.

Anyway, thanks for the feedback. I tested SFACT and had the same issue there, but from what I hear, other slicers handle these slots without problems. Would be nice if slic3r also handled it. After all, slic3r is nicer. :)

@dr-mrsthemonarch
Copy link

I've been having issues with Slicer ignoring small details aswell, the most recent case seems to be with mr. alligator, where the infill for the entire bottom job is just ignored. (although some infill is added) As noted in the picture.

gocode

@kefir-
Copy link
Author

kefir- commented Mar 18, 2013

I can confirm that setting $safety_offset to 0.04 keeps the smallest detail in the print in my test cube (above), where the smallest slot is 0.1mm wide. I'm testing with current git head.

@Lodran
Copy link

Lodran commented Mar 20, 2013

kefir's change ( $safety_offset //= scale 0.04; ) also allows Emmet's gear bearing to print correctly (See #1056).

alranel added a commit that referenced this issue Apr 3, 2013
@alranel
Copy link
Member

alranel commented Apr 3, 2013

I set the offset to 0.0499 as proposed by @mesheldrake, can you confirm current git works?

@alranel
Copy link
Member

alranel commented Apr 18, 2013

No feedback... closing.

@alranel alranel closed this as completed Apr 18, 2013
@kefir-
Copy link
Author

kefir- commented Apr 18, 2013

Sorry, I've been away on holiday. I can confirm that setting 0.049 works, I'm currently using that myself with 0.9.9 in git.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants