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

Cura 3.1 - Fill Gaps Between Walls extrudes into an existing wall line #3197

Closed
Thorinair opened this Issue Jan 27, 2018 · 21 comments

Comments

Projects
None yet
4 participants
@Thorinair
Copy link

Thorinair commented Jan 27, 2018

Application Version
3.1

Platform
Windows

Steps to Reproduce

  1. Load the following model: https://www.thingiverse.com/thing:2705552
  2. Make sure that you have a 0.4 nozzle and that Fill Gaps Between Walls is set to everywhere.

Actual Results
When filling gaps, Cura will cause extrusion directly into the middle, already existing, printed wall line. This will cause the extruder to clog up as it has no open space to extrude into. This happens on the vertical walls of the model linked above. Check image below to see which line gets filled incorrectly.

image

Expected results
Cura should not be filling an already existing wall. The width of these walls on the model is exactly 2 mm. This should be normally filled with 5 wall lines with no gaps needing to be filled. Maybe a rounding issue?

@smartavionics

This comment has been minimized.

Copy link
Contributor

smartavionics commented Jan 27, 2018

It doesn't look to me that it is filling the gap because that is normally shown in yellow. More likely what is happening is that the middle wall (innermost green wall) is not being sufficiently narrowed. The way the overlap compensation works is that when a wall can't fit in the available space it is narrowed. In this model because the part is 5 wall lines thick, one of the wall lines needs to be thinned down to nothing (remember the walls always come in pairs and you are using 3 walls so that means it will need to print 6 lines, one of which would need to be zero width). It's failed for some reason, the overlap compensation is pretty buggy so that doesn't surprise me. Sorry, I don't have a solution to the problem right now.

@Thorinair

This comment has been minimized.

Copy link
Author

Thorinair commented Jan 27, 2018

It actually is filling it. I know because I printed and observed my printer closely as it started clogging up. Sad that there is no solution...

@smartavionics

This comment has been minimized.

Copy link
Contributor

smartavionics commented Jan 27, 2018

I use a 0.4mm nozzle and I nearly always use a line width of 0.5mm. I believe that it is normal to use a line width that is > the nozzle width. Anyway, if you used a line width of 0.5mm you should get what you want.

@smartavionics

This comment has been minimized.

Copy link
Contributor

smartavionics commented Jan 27, 2018

Just tried that, it slices fine with a line width of 0.5mm with either 2 or 3 walls.

@Thorinair

This comment has been minimized.

Copy link
Author

Thorinair commented Jan 27, 2018

Theoretically, this issue would happen again on a 2.5mm thick wall, when using a 0.5mm line width, no?

@smartavionics

This comment has been minimized.

Copy link
Contributor

smartavionics commented Jan 28, 2018

That's right. It has to print a wall using an even number of lines. The overlap compensation is meant to adjust the width of the last line so that it will fit in the gap in the middle but, unfortunately, as I mention above, the overlap compensation has some problems (as discussed in Ultimaker/CuraEngine#586). So, if possible try and use a line width such that an even number of lines will fit into the wall.

@smartavionics

This comment has been minimized.

Copy link
Contributor

smartavionics commented Jan 28, 2018

One other thing, check in your profile that Compensate Inner Wall Overlaps hasn't been turned off. If it has that would not help at all. Even though the compensation is buggy, no compensation really would be bad when trying to print 6 lines where there is only space for 5!

Update: actually, I don't think the overlap compensation works at all well when the wall is exactly an odd number of line widths wide. So I tried using a line width of 0.401 and enabled the fill gaps between walls and it came out not too bad. See what I mean about the wall gap fill being yellow?

screenshot_2018-01-28_08-43-45

@Thorinair

This comment has been minimized.

Copy link
Author

Thorinair commented Jan 28, 2018

Yep, Compensate Wall Overlaps makes exactly 0 difference in this case. This definitely looks like a bug to me that should be fixed. One shouldn't be forced to use a weird line width to compensate for strange behaviour in Cura. Cura should be able to recognize that there are 2 walls over each other and simply just not print one of them.

@smartavionics

This comment has been minimized.

Copy link
Contributor

smartavionics commented Jan 28, 2018

Rather embarrassingly, I think the problem you are seeing here is actually in my wall optimization code. There are bugs in the overlap compensation but this problem appears to be related to the wall optimization. I am currently trying to find where it's going wrong and will report back when I know more. Sorry for the inconvenience.

@Thorinair

This comment has been minimized.

Copy link
Author

Thorinair commented Jan 28, 2018

Thank you for looking into it! :)

@Thorinair

This comment has been minimized.

Copy link
Author

Thorinair commented Feb 8, 2018

The issue still persists in Cura 3.2, meh...

@smartavionics

This comment has been minimized.

Copy link
Contributor

smartavionics commented Feb 8, 2018

Yes, my PR has not yet been vetted/accepted by the Cura devs. Hopefully it will make it into 3.3.

@smartavionics

This comment has been minimized.

Copy link
Contributor

smartavionics commented Feb 8, 2018

As a workaround, I recommend using 2 walls rather than 3 if that is acceptable.

@smartavionics

This comment has been minimized.

Copy link
Contributor

smartavionics commented Mar 27, 2018

Still waiting for Ultimaker/CuraEngine#695 to get reviewed and merged.

@jackha

This comment has been minimized.

Copy link
Contributor

jackha commented Apr 25, 2018

I'm sorry to say that the CuraEngine fix does not (entirely) fix this problem. @smartavionics do you have time to look at it? With the same model it does 3 things:

  • First it lays a very thin line in the middle
  • Somewhat later a solid line in the middle
  • In the end it does tiny zig zagging in the middle; in the Cura preview it moves slowly along the line
    All of those lines are of type Inner Line (green).
@smartavionics

This comment has been minimized.

Copy link
Contributor

smartavionics commented Apr 25, 2018

OK, I'll take a look and get back to you.

@smartavionics

This comment has been minimized.

Copy link
Contributor

smartavionics commented Apr 25, 2018

Hi @jackha , I am not getting the same results so I am probably not using the right settings, please post a 3mf.

@jackha

This comment has been minimized.

Copy link
Contributor

jackha commented Apr 25, 2018

@smartavionics Thanks for looking at it :-) I just added an extra ".zip" in the file I used:

CFDMP_SSD_Mount_v2.curaproject.3mf.zip

@smartavionics

This comment has been minimized.

Copy link
Contributor

smartavionics commented Apr 25, 2018

Hi Jack, here's what's happening.

The fix in Ultimaker/CuraEngine#695 is working as expected but it's not the whole story. Because (as discussed before) Cura has to print walls as a pair when the gap is only large enough for a single wall it has problems. We have the (imperfect) wall overlap compensation and that is kicking in here and producing the very thin line you are seeing being printed in the middle. I have another PR pair (Ultimaker/CuraEngine#721 and #3479) that will replace very thin wall lines with travel moves and it would help in this situation.
The zig-zag crap is being created by the fill gaps between wall feature.

BTW, I notice that when I slice the project you supplied which uses Custom FDM Printer, there's a 5-6 second pause between pressing the button and the slicing starting. This doesn't occur when I slice for other printers. I think I have seen people mentioning this on the forum so it's definitely an issue.

@jackha

This comment has been minimized.

Copy link
Contributor

jackha commented Apr 26, 2018

Ah! Thanks for your detailed explanation ^^.
We'll have a look at the new PRs soon and close this issue as is.

@jackha jackha closed this Apr 26, 2018

@jackha

This comment has been minimized.

Copy link
Contributor

jackha commented Apr 26, 2018

I'll also make an issue for the slice delay. On my computer it's a little less than 5-6 seconds, but it's still annoying.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.