Jump to content
Ultimaker Community of 3D Printing Experts
AirBronto

Is there a way to force Cura to print a single inner wall?

Recommended Posts

I am using Cura 3.3.1.  I've attached my settings export and the STL that I'm trying to print to this post.  The problem I'm noticing starts on layers 3+.

 

I print with a 0.8mm nozzle and a 1mm line width, and for me a wall thickness of 3mm is about perfect.  The issue I'm running into is that Cura 3.3.1 doesn't seem to want to let me print a single inner wall.  I set my outer walls to 1mm and inner walls to 1mm, and it skips the inner wall entirely:

 

5DFrzEF.png

 

 

If I set the inner wall to something slightly less than 1mm (0.999mm), then it will generate two inner walls, but it refuses to print it in a single step.  This is close to what I want but I don't want it to print the second nearly-invisible inner wall:

 

NcbT2wu.png

 

To see the problem I'm seeing, import the attached STL into Cura, slice it, and starting on layer 3 or 4 hit the 'Play' button to watch the extruder path.  I can't figure out how to show this in a picture so I'll just describe it.  What happens is that Cura prints the first inner wall at 0.999mm width, but since the wall in the model is actually 1mm, Cura thinks that it's missing 0.001mm.  Cura then dutifully traces back over the wall and tries to print at 0.001mm width, leading to an extrusion that is almost entirely invisible.  This causes my prints to take much longer than they should because Cura essentially has to trace over each inner wall twice, even though it only extrudes on the first pass.  This is a sample of the GCODE that it generates, you can see how the first perimeter extrudes a normal amount of material, but the second perimeter extrudes essentially nothing:

;TYPE:WALL-INNER FIRST PASS
;This is the first pass, notice how the E-rate is
;is multiple millimeters
G1 E1574.51586 ;Adjusted e by 0.21169mm
G1 F1860 X181.005 Y50.646 E1612.09411
G1 X181.005 Y127.656 E1629.9566
G1 X18.995 Y127.656 E1667.53486
G1 X18.995 Y50.646 E1685.39735

You can see the total amount extruded for the first pass of the inner wall is expected, many millimeters of filament is extruded.  However, this is the GCODE from the second extrusion immediately after this one:

 

;Whereas this is the second extrusion, and over the
;course of the entire perimeter it extrudes less
;than 2mm total
G1 F1860 X19.005 Y127.646 E1685.8477
G1 X180.995 Y127.646 E1686.37676
G1 X180.995 Y50.656 E1686.627
G1 X19.005 Y50.656 E1687.15606

 

Checking and unchecking all the Thin-Wall settings don't appear to have any effect.  Changing the outer wall overlap settings don't either.  It doesn't seem like Cura will let you print an infill without also printing an inner wall, so I can't seem to trick Cura into printing only the outer wall and then setting the rest as infill.

 

Is there a setting that I'm missing here?  I just want to print a single inner wall, but from everything I can see Cura only wants to print out even-numbers of inner walls.  I understand that for smaller nozzles you probably wouldn't want to do this, but for larger ones it saves a lot of time and material if I can configure Cura to print this way.

Cura_1mm_Test_20180526.curaprofile

Accessories_Tray_v3.stl

Edited by AirBronto

Share this post


Link to post
Share on other sites

Hi, this is a fundamental problem that Cura has. It can only print an even number of walls. The wall overlap compensation (when enabled) tries to reduce the width of walls that can't fit in the space available but the implementation is less than perfect and so the width of the overlap compensated lines can be wrong in places. Furthermore, in the situation where the last wall is thinned down to nothing (as in your example), Cura still tries to output a wall so the nozzle will travel around the wall path extruding very little. Depending on your extruder resolution this can make quite an ugly print.

 

I currently have a PR (pull request) on the CuraEngine to add an option to replace lines whose flow is below a threshold value (configurable) with travel moves (retraction optional). This provides a "band aid" solution to the problem you are suffering from. The PR has yet to be accepted but if it is (or something similar) then there will be a solution in a future release.

 

I hope this is helpful.

  • Like 1

Share this post


Link to post
Share on other sites

 

31 minutes ago, smartavionics said:

Hi, this is a fundamental problem that Cura has. It can only print an even number of walls. The wall overlap compensation (when enabled) tries to reduce the width of walls that can't fit in the space available but the implementation is less than perfect and so the width of the overlap compensated lines can be wrong in places. Furthermore, in the situation where the last wall is thinned down to nothing (as in your example), Cura still tries to output a wall so the nozzle will travel around the wall path extruding very little. Depending on your extruder resolution this can make quite an ugly print.

 

I currently have a PR (pull request) on the CuraEngine to add an option to replace lines whose flow is below a threshold value (configurable) with travel moves (retraction optional). This provides a "band aid" solution to the problem you are suffering from. The PR has yet to be accepted but if it is (or something similar) then there will be a solution in a future release.

 

I hope this is helpful.

 

That is extremely helpful, thank you!  I found your PR on GitHub, it looks like it's exactly what I want.  Fingers crossed that it gets implemented soon

Share this post


Link to post
Share on other sites
Quote

 

Hi

 

I am using the lates BETA 3.5 released 9/18/2018 

 

I am experiencing still the same issue or a similar issue, I have 2 outer walls and 1 inner wall, but the one inner wall gets a second pass with barely any extrusion at all, it is unnecessary as I can see the total 3 walls perfectly touching each other without gaps, how I noticed the behaviour or how it has created an issue for me is in the transition to the next layer, the nozzle has very little pressure after that unnecessary last pass and the new outer wall ends up starting under extruded. 

 

I have tried printing inner walls first and outer walls first but either way before the outer wall gets printed there is a barely extruded inner wall. I have also turned off compensation but this only makes the last unnecessary pass still happen with unnecessary extrusion and pressure builds up on the nozzle. 

 

I have no idea how to tell CURA to skip the unnecessary compensated inner wall with barely any extrusion

 

Hope there is an update soon.

 

I can post a video as I don't think images show the issue, 

 

Thanks,

 

 

Share this post


Link to post
Share on other sites

Hello @YairHH, as mentioned above, Cura always prints walls as pairs. Also, as mentioned above, there is now a setting that will not print walls when their flow has been reduced to below a threshold value that you can set. So the solution to the odd number of walls problem is to enable the overlap compensation and also set the wall min flow threshold to something like 20.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!