prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.63k stars 1.92k forks source link

Add setting for Support Expansion #1341

Open AbeFM opened 5 years ago

AbeFM commented 5 years ago

Version

1.40.x

Operating system type + version

win

Behavior

When using soluble supports, differential materials or soluble interfaces supports can form rigid solid structures which are very hard to remove. This negates the advantage of the expensive soluble supports.

Consider a vertical collum with horizontal discs. The support grows out into the surround space, and when you try to remove it it self-reinforces. This is generally desirable but many times can be limiting.

In cases like this, it would be preferable to have a lower support inflation so the support can be separated in Z

Is this a new feature request? YES

bubnikv commented 5 years ago

I do not quite understand. Would you please provide drawings?

On Fri, Oct 19, 2018 at 1:51 AM AbeFM notifications@github.com wrote:

Version

1.40.x Operating system type + version

win Behavior

When using soluble supports, differential materials or soluble interfaces supports can form rigid solid structures which are very hard to remove. This negates the advantage of the expensive soluble supports.

Consider a vertical collum with horizontal discs. The support grows out into the surround space, and when you try to remove it it self-reinforces. This is generally desirable but many times can be limiting.

In cases like this, it would be preferable to have a lower support inflation so the support can be separated in Z

Is this a new feature request? YES

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/prusa3d/Slic3r/issues/1341, or mute the thread https://github.com/notifications/unsubscribe-auth/AFj5I6k0pLvEWMmwQkxNoJFf5RA8z08Mks5umRQdgaJpZM4XvbvY .

AbeFM commented 5 years ago

Here is a series of curved shelves from a needlessly complex test print. They are supported with the same material as the body of the print, but with a different material interface. noexpan The above print has no "expansion" so it is not printed beyond the limits of what it is supporting.

Here we see the same part, printed with 3 mm of "expansion", which I've circled some of. 3mmexpan

The far right pictures are colored not by material, but by type, it makes it easier to pick out support against the body of the part.

As you can see, removing the support from the later case is much more difficult - in printing a Christmas Tree, for example, you could end up with the part entirely enclosed by non-soluble support, as I had on my part.

Unless I am missing the setting, I do not see this variable exposed under print settings.

AbeFM commented 5 years ago

Is this sufficient? Am I happy to generate a better description if I am not being clear.

bubnikv commented 5 years ago

This explanation is clear, thank you.

The support algorithm by the current Slic3r PE works differently from Cura: It projects the supports into a grid, which to some extent improves the stability of supports with the trade-off of higher print time and material consumption. It is surprisingly difficult to write an optimal support generator, but we certainly do not give up on the goal.

On Sat, Oct 20, 2018 at 9:44 PM AbeFM notifications@github.com wrote:

Is this sufficient? Am I happy to generate a better description if I am not being clear.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/prusa3d/Slic3r/issues/1341#issuecomment-431612361, or mute the thread https://github.com/notifications/unsubscribe-auth/AFj5IwCxMgOuvJoB_FJic5UQYYC2OuGTks5um30mgaJpZM4XvbvY .

AbeFM commented 5 years ago

I assumed this to be the case - the edges of stuff seemed too coincidentally where the next grid would lay.

I don't really expect this to be a trivial problem, and my posted example was chosen for clarity not use-case-justification, but I can assure you many of my prints just come out very poorly this way.

I don't yet have a great suggestion on how to fix it - printing a ring of support matching the outer layer and using that to trim the overshoot could work... But if it seems people agree it's a good idea I'd like to keep collecting ideas here.

bubnikv commented 2 years ago

Duplicate of https://github.com/prusa3d/PrusaSlicer/issues/2377

morphias2004 commented 4 months ago

+1

Running into an issue directly related to this.

With multi material printing on the XL and using dissimilar materials for supports, this has become more critical.

The support a not generated with a sufficient margin beyond the model for the print to be successful.

The model is effectively printed hard on the outer edge of the supports and will cause print failures.

image

image

Here you can see the initial perimeters of the first layer on the model have gone off the edge of the support interface layer.

image

Increasing the support pattern spacing helps somewhat, but still isn't ideal.

image

pavolNovak commented 4 months ago

Yes please make this new feature. Would greatly improve printing.

morphias2004 commented 4 months ago

The issue is also more prominent in round prints. Square or rectangular prints generate the support sufficiently beyond the model.

image

morphias2004 commented 4 weeks ago

Still an issue.