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

Inconsitent slicing on edges #304

Closed
uepsie opened this issue Jun 20, 2020 · 10 comments
Closed

Inconsitent slicing on edges #304

uepsie opened this issue Jun 20, 2020 · 10 comments
Labels
also in prusaslicer enhancement fix is live in the last release Please download /build the last release and try to reproduce.

Comments

@uepsie
Copy link

uepsie commented Jun 20, 2020

Version

2.2.51

Operating system type + version

Win10 64Bit - 1909 (18363.900)

3D printer brand / version + firmware version (if known)

Prusa i3 MK3 + Klipper

Behavior

Slicing a benchy from the original stl provided by 3dbenchy.com - default settings for Prusa MK3, Prusa PLA and Quality 0.15mm

It seems that the layer vary at edges (one vertex)
it is visible in the slicing preview and also on the model:
superslicer_edge1

It seems to start at the same height as the vessel's side starts to rise and ends at the top of the box.
but there are other inconsistencies at the same edge.

From comparing the layers with a gcode viewer you can see that the curve geometry seems to change between layer 10.85mm and 11mm
superslicer_edge2

even though there's no change in the stl triangles
superslicer_edge3

@n8bot
Copy link

n8bot commented Jun 20, 2020

This is due to a built-in limitation to the libslic3r library.

In the file libslic3r.h, you can find this line: #define RESOLUTION 0.0125

(That is as it stands in current master branch of SuperSlicer. Current version of slic3r and aplha versions of PrsuaSlicer have a different line, using constexpr.)

The variable represents the minimum value of the Slicing setting "resolution," even if that setting is set to 0 in GUI. I have built custom versions of both PrsuaSlicer and SuperSlicer, replacing 0.0125 with 0.001 with great success. No more misaligned layers, no more simplification of meshes (beyond 1 micron simplification). Try it! If you'd like, I can share my windows binaries with the change implemented already (as well as increasing E_NUM precision to 6, which allows 6 decimal places of E output instead of 5).

The one major downside of making this modification, is that the "secondary" 3D gcode visualization begins having errors, with parts of the toolpaths missing completely from screen. The underlying g-code is unaffected, though. It's just the visualization.

@n8bot
Copy link

n8bot commented Jun 20, 2020

I forgot to mention, in combination with the change I made to libslic3r.h, I had to set "Model rounding precision" to 0 in GUI in order to achieve smooth layers. If that value retains its default value of 0.0001, there were tiny layer misalignments remaining, even with #define RESOLUTION 0.001 in libslic3r.h.

I also have "Slice gap closing radius" set to 0 in GUI.

@supermerill
Copy link
Owner

I tried multiple times to put the resolution as a setting but it creates bugs. not as easy as it sounds.

@uepsie
Copy link
Author

uepsie commented Jun 21, 2020

@n8bot thanks a lot
I am going to try this tonight

@supermerill Thanks for your amazing work! You should accept donations :-)

@n8bot
Copy link

n8bot commented Jun 21, 2020

I tried multiple times to put the resolution as a setting but it creates bugs. not as easy as it sounds.

What bugs did you see? I am only experiencing missing segments in the gcode visualization, but only after the gcode file itself is reloaded. Inspecting the gcode reveals no missing segments. Were there other errors I should be aware of?

@supermerill
Copy link
Owner

supermerill commented Jun 21, 2020

@uepsie Thanks for your amazing work! You should accept donations :-)

there is a "sponsor" button on the top of the page if you want to.

@n8bot some hard crash, surely because i was modifying too many things at the same time. this resolutions is used at various stage, to simply geometry, and i was trying to clean up that. I'll surely try it again when i'll have the occasion.

@Erider-yoann
Copy link

I am extremely interested in resolving this issue because I am regularly confronted with it on many projects and the imprecision ruins some parts.

Annotation 2020-09-08 192402

Unfortunately I didn't manage to compile SuperSlicer by modifying libslic3r.h as suggested by n8bot due to lack of knowledge about compiling, installing libraries (especially Boost) etc ...

In any case thank you @supermerill for all the time and energy you put in this project ! Love SuperSlicer !

supermerill added a commit that referenced this issue Dec 8, 2020
It can go lower than 0.0125 for the perimeters.
It's kept at a minimum of 0.0125 for infill & thinwalls/gapfaill for performance reasons
and to avoid too much artifacts / corners case.
@supermerill
Copy link
Owner

should be better since 2.3.56.
reopen if you continue to have issues.

@supermerill supermerill added the fix is live in the last release Please download /build the last release and try to reproduce. label Jun 2, 2021
@qwewer0
Copy link

qwewer0 commented Jun 2, 2021

@uepsie Could you please test it on the latest release?

@uepsie
Copy link
Author

uepsie commented Jun 3, 2021

works perfectly fine now with 2.3.56.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
also in prusaslicer enhancement fix is live in the last release Please download /build the last release and try to reproduce.
Projects
None yet
Development

No branches or pull requests

5 participants