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

Not allow elephant compensation to shrink parts thinner than 2 layer lines. #1757

Closed
oleost opened this issue Feb 2, 2019 · 17 comments
Closed

Comments

@oleost
Copy link

oleost commented Feb 2, 2019

Version

1.41.2+win64

Operating system type + version

Windows 10

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

Prusa mk2s

Behavior

When elephant compensation is used, it should not be allowed to shrink parts that are less than 2 layers wide. This causes issues printing some thin parts.

Se example pictures:

  1. layer with elephant comp turned off:
    image

  2. layer with 0.33mm elephant comp:
    image

Orignal 3d model:
image

Is this a new feature request?
no

Project File (.3MF) where problem occurs

livspuck.zip

@supermerill
Copy link
Contributor

Why you can't/don't want to lower the value?
Are there a clear benefit to change the behavior (simple->complicated)?

@bubnikv
Copy link
Collaborator

bubnikv commented Feb 3, 2019

This is a known issue. The elefant foot compensation should be smart enough to not shrink single line or single perimeter features so much that they disappear.

This bug is a reason, why at Prusa3D we are not enabling the feature by default.

@oleost
Copy link
Author

oleost commented Feb 3, 2019

@bubnikv Couldnt find any open Issues so I figured I create one.

@probonopd
Copy link
Contributor

I second this. With Elephant foot compensation enabled, this

becomes this

which results in an unprintable object because the second layer will be printed in mid air.

The solution could be to restrict elephant foot compensation to the outermost perimeter of the model.

@supermerill
Copy link
Contributor

supermerill commented Mar 2, 2019

The solution could be to restrict elephant foot compensation to the outermost perimeter of the model.

It is. It just reduces the "size" of the polygon by a fixed amount.

@bubnikv maybe if we do a
union(offset(poly, -efc), diff_ex(poly, offset2_ex(poly, -ext_peri_width-efc, ext_peri_width+efc), true))
instead of
offset(poly, -efc)
it should "resolve" this issue. But it's not very pretty, as it's a brutal threshold.

@probonopd
Copy link
Contributor

With "detect thin walls" on I get this:

walls

See how the honeycomb is no longer connected to the rest?

Also not very printable.

@supermerill
Copy link
Contributor

See how the honeycomb is no longer connected to the rest?

that's a thin wall problem, i'm working on it.

Also not very printable.

why?

@probonopd
Copy link
Contributor

why?

Probably because the 1-line honeycomb can easily be ripped out. Dunno.

@supermerill
Copy link
Contributor

supermerill commented Mar 3, 2019

I already used a one-line pattern for some "mask" i needed. With a good heated PEI surface, i had no problem (90% of success). If you need a thicker first layer for the pentagons, maybe you have to modify the object geometry.

the setting is here for the one (like me) that print with a too thin first layer (real height < first layer height), and so the width is a bit too large. The setting allow the slic3r to take that into account. If your model is too thin for the thick first layer width, you have to modify your model, or print with a thinner first layer width (nozzle at the right height->elephant correction at 0, or lower "first layer width").

@bubnikv
Copy link
Collaborator

bubnikv commented Mar 4, 2019 via email

@bubnikv
Copy link
Collaborator

bubnikv commented Mar 6, 2019

This is not working well:
First, the thin parts get detached from the large part.
Second, the operation
diff_ex(poly, offset2_ex(poly, -ext_peri_width-efc, ext_peri_width+efc), true)
creates thin slits around the contour of poly even where it should not. I am afraid this is not a robust solution.

@supermerill
Copy link
Contributor

ah, yes. my bad.

Maybe a special rule for thin wall in the first layer if this parameter is activated? i.e, reduce the threshold for minimum width to (firstlayerwidth - elephant * 2). I will do some testing on that.

@bubnikv
Copy link
Collaborator

bubnikv commented Jan 2, 2020

The elephant foot compensation improvements are part of PrusaSlicer 2.2.0-alpha2. Closing.

@bubnikv bubnikv closed this as completed Jan 2, 2020
@probonopd
Copy link
Contributor

This rocks.

@bubnikv
Copy link
Collaborator

bubnikv commented Jan 4, 2020

Yeah, there are features, that one writes for himself :-)
I hate to scrap the elephant foot off, and the current feature allows one to set it and forget it.

@JohnOCFII
Copy link

It is working well in my testing too!

@bitingsock
Copy link

bitingsock commented Aug 16, 2022

I would make the point that with the inclusion of arachne this behavior should be opened back up. Consolidating to a single line is useful sometimes and arachne can make it wider to split the difference.
Personally, I don't like the limitation and prefer to look for these problems on my own, though I suppose most others would not.
Moreover, this limitation was never forced on normal XY compensation and thus seems arbitrary.
Short of reversion, I would request an override to this behavior.

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

No branches or pull requests

6 participants