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

Shape in shape support issue #1220

Closed
peteruithoven opened this issue Dec 6, 2016 · 12 comments

Comments

@peteruithoven
Copy link

commented Dec 6, 2016

When moving (stacking) shapes on top of each other and they contain a shape inside them there is unnecessary support generated. I've created a small example, including a shape with no shape inside where this problem doesn't occur.
example shapes
screenshot from 2016-12-06 15 32 19
screenshot from 2016-12-06 15 38 15
Support issue example.zip

I'm using Cura 2.3.1 from the ppa.

Let me know if I can provide more information.

@nickthetait

This comment has been minimized.

Copy link
Contributor

commented Dec 6, 2016

Thanks for writing such a good good test case! You deserve some 🍰

Is this reproducible using a stock profile, only adjusting the support overhang angle right?

@peteruithoven

This comment has been minimized.

Copy link
Author

commented Dec 6, 2016

Thanks! :)
I rechecked this with stock profiles. You get a similar result when selecting the Ultimaker 2 or Ultimaker 3 and the Normal Quality profile and enabling support.
support issue.curaprofile.zip

@peteruithoven

This comment has been minimized.

Copy link
Author

commented Dec 7, 2016

If you guys know of some kind of workaround I'd love to know.

@Ghostkeeper

This comment has been minimized.

Copy link
Member

commented Dec 8, 2016

This reproduces for me too with support test.stl. I sliced on Ultimaker 2 with default Normal Quality settings except that support is enabled.

It seems to be caused by Support Join Distance. Setting it to 0 removes the effect (so there's your workaround). Setting it to 1.5 removes the effect too. Around 1.8 it seems to join the pieces. Support Join Distance is 2mm by default.

If you set the brim line width to 1mm, you can see in layer view that it fits 4 brim lines in between, so the distance between the inner part and the outer part seems to be about 4mm. But due to the resolution of the circle, the distance is smaller almost everywhere.

The "Support Join Distance" setting is implemented by expanding the support polygons by the value of the setting, then insetting them with the same value. Perhaps the "fix" would be to double the setting's value towards the user and then halve the effect, so that it is clear from the value of the setting that it can bridge a distance of 4mm by default (instead of 2mm).

@BagelOrb

This comment has been minimized.

Copy link
Member

commented Dec 12, 2016

The problem is, however, that there is a small gap in between the two pieces which requires support, but the gap is too small, so no support is generated between the models, while the ungenerated support does have influence via the support join distance.

I'm not sure whether all support areas are removed in the gap - there might be unprintably small areas designated to be filled with support, which cannot be printed because they re too small. If that's the case then the bug is a logical by-product of your settings. If it's not the case then we might need to tweak the algorithm such that support areas which are later removed never introduce new support areas.

@peteruithoven

This comment has been minimized.

Copy link
Author

commented Dec 12, 2016

@BagelOrb But that gap is filled with a support interface? Or are you referring to another gap? And then again this support shouldn't be generated above the empty areas (which triggers more support in this case)?

@BagelOrb

This comment has been minimized.

Copy link
Member

commented Dec 12, 2016

Oh of course; you are printing support interface. In that case this issue is a logical by-product of your settings.

Try turning the Support Join Distance down if you don't want the current behaviour.

However, PVA works best if it has a non-interupted line to the build plate. Without the support in the middle there is a high chance that the interface won't start printing on top of the model.

@BagelOrb BagelOrb closed this Dec 12, 2016
@peteruithoven

This comment has been minimized.

Copy link
Author

commented Dec 12, 2016

Please explain why it's logical it prints supports in areas it clearly doesn't need support? (The empty areas in between these shapes).

However, PVA works best if it has a non-interupted line to the build plate. Without the support in the middle there is a high chance that the interface won't start printing on top of the model.

True, found that out already: https://ultimaker.com/en/community/34824-pva-on-pla-adhesion-stacking-prints But using the Support Horizontal Expansion setting for this is a valid workaround.

@BagelOrb

This comment has been minimized.

Copy link
Member

commented Dec 12, 2016

I'm not saying it's logical that it prints support in places where it doesn't need to; I'm saying that where support is generated is a logical consequence of the settings and this case doesn't disprove that. We can't optimize the settings to be perfect for any print.

Support Join Distance is used to merge separate support pillars into one big pillar, which is sturdier and sometimes even requires less material. Your situation is a logical consequence of having a support join distance of 2mm. Just tweak that setting down to get your print the way you want.

@peteruithoven

This comment has been minimized.

Copy link
Author

commented Dec 12, 2016

Ah I finally get your point, when I scale up the example model this doesn't happen.

@peteruithoven

This comment has been minimized.

Copy link
Author

commented Dec 12, 2016

At 200%:
screenshot from 2016-12-12 14 14 07
Or probably when the distance between the support interfaces is more than 2mm (the default Support Join Distance).

@BagelOrb

This comment has been minimized.

Copy link
Member

commented Dec 12, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
4 participants
You can’t perform that action at this time.