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

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

  • Our picks

    • Taking Advantage of DfAM
      This is a statement that’s often made about AM/3DP. I'll focus on the way DfAM can take advantage of some of the unique capabilities that AM and 3DP have to offer. I personally think that the use of AM/3DP for light-weighting is one of it’s most exciting possibilities and one that could play a key part in the sustainability of design and manufacturing in the future.
        • Like
      • 3 replies
×

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!