Jump to content
Ultimaker Community of 3D Printing Experts
3rdpig

Gaps between top layers and walls

Recommended Posts

This has been driving me nuts for days. These small gaps where the upper layer meets, or fails to meet, the inner wall. I've got a project for a client and need to get this resolved. This has been repeatable on 3 different printers, CR-10, Ender 3 and Alfawise U20. The picture below is a small test piece I created to try to solve this problem. I've tried every setting I could think of including over extruding by 10% and even with obvious signs of over extrusion it still hasn't fully solved the issue. I'm putting a picture below and a link to the STL file. The original model was created in Fusion 360.

 

I appreciate any assistance, I've probably got 20 of these pieces printed now and still haven't completely solved it.

 

hole tier test v1.stl

 

IMG_20180815_153557.thumb.jpg.2ff13e18863a7097e8b04db89e2f9e76.jpg

 

 

 

 

 

 

Edited by 3rdpig

Share this post


Link to post
Share on other sites

Well the fact that it is not symmetrical means that part of the problem is backlash/play.  Most likely only in one axis (X or Y but probably not both).  With power off try pushing the nozzle around and see if it moves before the stepper moves.  Usually play is caused because the belts are loose or the friction is very high.  On an Ultimaker style gantry, put the print head in a corner and pluck the belts and they should be around 100Hz.

 

But that is not the primary problem.  The primary problem is probably underextrusion although it doesn't look that bad.  Are you using Cura?  Make sure you explicitly set all the line widths the same and to a value equal or only a little smaller than the nozzle width and make sure the wall width is an integer of the line widths.  For example if the shell width is 0.35mm the wall width could be 0.7mm but not 0.8 or 0.6mm (which could cause this issue seen here).

 

As a quick fix also try increasing the skin overlap.  But if the inner most shell is messed up (say it's set to 0.1mm) then you reall need to fix that instead.

 

Another quick fix is to drop the speed by 25% and increase the flow by 25%. But this is not a great idea.

 

Share this post


Link to post
Share on other sites

The parts in the pictures were both sliced in Cura 3.4.1, one was printed on an Ender 3 and one on an Alfawise U20. Yesterday I had a friend print one on his CR10 that I sliced in Cura and all 3 have almost identical gaps in pretty close to the same places. He also sliced the part for me in S3D and the top surface came out perfect (but the side walls of the holes weren't any where near as good as Cura). I sliced another one in Ideamaker and while it had problems elsewhere, the top layer was fine.

 

With the above in mind it seems unlikely that it's a backlash/play issue, but I will check to make sure.

 

I really want to use Cura, with the exception of the top layer it's producing the best parts and in the fastest times. It's ability to hide the Z axis hop makes me very happy. I also find it very easy to work with. But the top layer issue is killing it for me. It doesn't do it on everything I design, but where I have holes near straight walls it does it most of the time. 

 

I will try your suggestions, I've increased flow to 105% (110 was way too much) and I've increased the skin overlap, that produced the parts in the pictures, by far the best I've gotten. And no, it's really not that bad, but I don't want it there at all if possible. Tomorrow I'll try your suggestions about line and wall widths and see if that helps.

 

Thanks very much for responding!

Edited by 3rdpig

Share this post


Link to post
Share on other sites

Hello @3rdpig, I printed out one of your widgets and it came out fine. No gaps around the skins. It was printed in PETG using a 0.4mm nozzle.

 

IMG_20180816_135953952.thumb.jpg.82697749c3245fe1b398de75f53de814.jpg

 

The settings I used are all in the gcode file which isn't much use to you as you don't have the same printer.

 

Here it is anyway.

 

KXL_160651971_holetiertestv1.gcode

 

Here are the settings from that file:

 

{"extruder_quality": ["[general]\\nversion = 4\\nname = PETG XL\\ndef
inition = fdmprinter\\n\\n[metadata]\\nposition = 0\\nsetting_version
 = 5\\ntype = quality_changes\\nquality_type = normal\\n\\n[values]\\
nacceleration_wall = None\\nbridge_skin_density = 60\\nbridge_skin_de
nsity_2 = 60\\nbridge_skin_material_flow = 100\\nbridge_skin_speed =
50\\nbridge_skin_speed_2 = 30\\nbridge_skin_speed_3 = 40.0\\nbridge_w
all_material_flow = 100\\nbridge_wall_speed = 50\\nbrim_width = 5\\nc
ool_fan_enabled = True\\ncool_fan_full_at_height = 4\\ncool_fan_min_a
t_height = 2\\ncool_fan_speed = 50.0\\ncool_fan_speed_max = 100.0\\nc
ool_fan_speed_min = 50.0\\ncool_min_layer_time = 10\\ncool_min_layer_
time_fan_speed_max = 15\\ncool_min_speed = 15\\nexpand_skins_expand_d
istance = 2\\nfill_perimeter_gaps = nowhere\\ninfill_before_walls = F
alse\\ninfill_enable_travel_optimization = True\\ninfill_line_width =
 0.5\\ninfill_overlap = 10\\ninfill_pattern = zigzag\\ninfill_sparse_
density = 15\\njerk_wall = 5\\nline_width = 0.5\\nmaterial_flow_layer
_0 = 110\\nmaterial_print_temperature = 240\\nmaterial_print_temperat
ure_layer_0 = 245\\nmin_skin_width_for_expansion = 0.5\\noptimize_wal
l_printing_order = True\\nouter_inset_first = False\\nretraction_amou
nt = 2.5\\nretraction_combing_max_distance = 10\\nretraction_extra_pr
ime_amount = 0\\nretraction_hop = 0.5\\nretraction_hop_enabled = True
\\nretraction_min_travel = 2.5\\nretraction_prime_speed = =retraction
_speed\\nretraction_retract_speed = =retraction_speed\\nretraction_sp
eed = 25\\nroofing_layer_count = 1\\nskin_outline_count = 0\\nskin_ov
erlap = 20\\nskirt_brim_minimal_length = 500\\nskirt_brim_speed = 20.
0\\nskirt_gap = 8\\nspeed_infill = 50\\nspeed_layer_0 = 40.0\\nspeed_
print = 50\\nspeed_roofing = 20.0\\nspeed_topbottom = 40.0\\nspeed_tr
avel = 300\\nspeed_wall_0 = 50.0\\nspeed_wall_x = 50.0\\nspeed_walls_
layer_0 = 15.0\\nsupport_angle = 60\\nsupport_bottom_enable = False\\
nsupport_fan_enable = True\\nsupport_infill_rate = 25\\nsupport_inter
face_enable = True\\nsupport_interface_height = 0.6\\nsupport_pattern
 = zigzag\\nsupport_xy_distance = 1\\nsupport_z_distance = 0.2\\ntop_
bottom_pattern = zigzag\\ntop_bottom_thickness = 0.8\\ntop_skin_expan
d_distance = 3\\ntop_thickness = 0.8\\ntravel_compensate_overlapping_
walls_enabled = True\\nwall_0_wipe_dist = 0\\nwall_line_count = 2\\nw
all_thickness = 1\\nz_seam_corner = z_seam_corner_none\\nz_seam_relat
ive = True\\nz_seam_type = back\\nz_seam_x = 10\\nz_seam_y = 0\\n\\n"
], "global_quality": "[general]\\nversion = 4\\nname = PETG XL\\ndefi
nition = fdmprinter\\n\\n[metadata]\\nsetting_version = 5\\ntype = qu
ality_changes\\nquality_type = normal\\n\\n[values]\\nacceleration_en
abled = False\\nadhesion_type = brim\\nbridge_settings_enabled = True
\\njerk_enabled = False\\nlayer_height = 0.2\\nlayer_height_0 = 0.2\\
nmaterial_bed_temperature = 70\\nmaterial_bed_temperature_layer_0 = 7
5\\nretraction_combing = noskin\\nspeed_slowdown_layers = 1\\nsupport
_enable = False\\ntravel_retract_before_outer_wall = True\\n\\n"}

 

Share this post


Link to post
Share on other sites

Slightly easier to read settings:

 

{"extruder_quality": ["[general]
version = 4
name = PETG XL
definition = fdmprinter

[metadata]
position = 0
setting_version = 5
type = quality_changes
quality_type = normal

[values]
acceleration_wall = None
bridge_skin_density = 60
bridge_skin_density_2 = 60
bridge_skin_material_flow = 100
bridge_skin_speed = 50
bridge_skin_speed_2 = 30
bridge_skin_speed_3 = 40.0
bridge_wall_material_flow = 100
bridge_wall_speed = 50
brim_width = 5
cool_fan_enabled = True
cool_fan_full_at_height = 4
cool_fan_min_at_height = 2
cool_fan_speed = 50.0
cool_fan_speed_max = 100.0
cool_fan_speed_min = 50.0
cool_min_layer_time = 10
cool_min_layer_time_fan_speed_max = 15
cool_min_speed = 15
expand_skins_expand_distance = 2
fill_perimeter_gaps = nowhere
infill_before_walls = False
infill_enable_travel_optimization = True
infill_line_width = 0.5
infill_overlap = 10
infill_pattern = zigzag
infill_sparse_density = 15
jerk_wall = 5
line_width = 0.5
material_flow_layer_0 = 110
material_print_temperature = 240
material_print_temperature_layer_0 = 245
min_skin_width_for_expansion = 0.5
optimize_wall_printing_order = True
outer_inset_first = False
retraction_amount = 2.5
retraction_combing_max_distance = 10
retraction_extra_prime_amount = 0
retraction_hop = 0.5
retraction_hop_enabled = True
retraction_min_travel = 2.5
retraction_prime_speed = =retraction_speed
retraction_retract_speed = =retraction_speed
retraction_speed = 25
roofing_layer_count = 1
skin_outline_count = 0
skin_overlap = 20
skirt_brim_minimal_length = 500
skirt_brim_speed = 20.0
skirt_gap = 8
speed_infill = 50
speed_layer_0 = 40.0
speed_print = 50
speed_roofing = 20.0
speed_topbottom = 40.0
speed_travel = 300
speed_wall_0 = 50.0
speed_wall_x = 50.0
speed_walls_layer_0 = 15.0
support_angle = 60
support_bottom_enable = False
support_fan_enable = True
support_infill_rate = 25
support_interface_enable = True
support_interface_height = 0.6
support_pattern = zigzag
support_xy_distance = 1
support_z_distance = 0.2
top_bottom_pattern = zigzag
top_bottom_thickness = 0.8
top_skin_expand_distance = 3
top_thickness = 0.8
travel_compensate_overlapping_walls_enabled = True
wall_0_wipe_dist = 0
wall_line_count = 2
wall_thickness = 1
z_seam_corner = z_seam_corner_none
z_seam_relative = True
z_seam_type = back
z_seam_x = 10
z_seam_y = 0

"], "global_quality": "[general]
version = 4
name = PETG XL
definition = fdmprinter

[metadata]
setting_version = 5
type = quality_changes
quality_type = normal

[values]
acceleration_enabled = False
adhesion_type = brim
bridge_settings_enabled = True
jerk_enabled = False
layer_height = 0.2
layer_height_0 = 0.2
material_bed_temperature = 70
material_bed_temperature_layer_0 = 75
retraction_combing = noskin
speed_slowdown_layers = 1
support_enable = False
travel_retract_before_outer_wall = True

"}

Share this post


Link to post
Share on other sites

Thanks for the help, I appreciate it. I had to get that one print done by Friday, so I had my friend slice in in S3D for me and it's printing now, but what I'm making is personalized so I'm either going to have to figure this out or buy S3D, but that's just admitting defeat, and I'm not there yet. lol

 

I made the chances to both wall line width and some of the changes in the gcode above including a large jump in skin overlap and while it's different, it's still there. It's just odd that it's in the same place almost every time. Maybe I should rotate the part 180 on the bed and see if it moves with the part. 

 

Ideamaker gets the top surface right, but messes up the inner walls and floor in the hole. I haven't tweaked it much, I don't care much for the UI.

 

I'm going to work more on this over the weekend, I'd really like to get this figured out, if only for my own sanity.

Share this post


Link to post
Share on other sites
11 hours ago, smartavionics said:

How much fan are you using? I wonder if it's too much and that's causing shrinkage and poor adhesion between the skin and the wall.

 

 I typically run the part cooling fan at 80% after the second layer for PLA. 

 

One of my original thoughts was that the gaps were only on one side because the part cooling fan on the U20 blows from one side only. So I ran the same part on my Ender 3 with the Petsfang cooler and had the same result.

 

I've got prints in progress now, but as soon as one is done I'll try lowering the fan speed and see if that helps. There's no bridging on this particular part so a high fan speed probably isn't necessary But it still brings up the question of why among 3 slicers, Cura, Ideamaker and S3D, why Cura is the only one exhibiting this problem?

Share this post


Link to post
Share on other sites

@3rdpig I am having the exact same issue. Did you ever find a solution? It is very frustrating.

 

I have been using Cura for years and this issue started happening out of nowhere. First with Cura 3.2 and now with Cura 3.5 after I updated. I have tried every potential solution listed in this post (one at a time) to try and resolve the issue but nothing works. The parts look nearly the same no matter what setting I change. If I use a different slicer the parts come out perfect on top, but I really would prefer to use Cura. 

 

My printer is a custom built Ultimaker 2 clone running Marlin. I have been using it for a couple years now and it has been great. I am about ready to update the firmware - maybe I'll get lucky and that will fix it. 

Share this post


Link to post
Share on other sites

@James2858 No, I have never completely resolved it. And yes, it's very frustrating. I tried some Cura profiles from Facebook and some printed my test pieces without the gaps, but when I print the things I really need to print the gaps are back.

 

So for now Cura is not usable for me for those items. I was hoping that the upgrade to 3.5 would improve it, but if anything it made it worse. This is happening to me across 4 printers, my own 2 Ender 3's, my Alfawise U20 and a friends CR10. I've upgraded firmware multiple times without any changes.

 

Bugs the heck out of me, but for now I've got better things to do so it's gone on the back burner.

Share this post


Link to post
Share on other sites

Hey @3rdpig, I asked 2 months ago for you to make the gcodes produced by Cura and S3D available so I could compare them and maybe come up with a reason why you are not getting the quality you desire from the Cura print. Unless you provide that or other similarly useful data then it's very unlikely that the issue, if there is an issue, will be fixed. Thanks.

Share this post


Link to post
Share on other sites

@smartavionics Sorry, I was under a lot of pressure at that time to get a particular job done and this problem got shoved to a back burner. I've got two prints to get shipped today and another one to get started printing and as soon as that's done I'll either find or recreate those gcodes and attach them.

 

I'd really like to use Cura because some of the new features like "Make overhangs printable" are awesome.

 

Thanks again for your help with this. I'll have those gcodes up asap. 

Edited by 3rdpig

Share this post


Link to post
Share on other sites

@smartavionics I didn't save the original gcode files, but the STL file is in my first post and I recreated the gcode in Cura from that and my friend sliced it in S3D for me, files attached. I printed the Cura gcode to make sure the problem was still occuring, pic below. 

 

 

 

 

cura gap test.gcode

S3D gap test.gcode

cura gap test.jpg

Edited by 3rdpig

Share this post


Link to post
Share on other sites

OK, thanks for the gcodes. A quick compare shows that the S3D file is printing those skins using quite different parameters. The speed is 60mm/S compared to 30mm/S for the Cura slice but, more interestingly, the extrusion rate is approx 30% greater for the S3D gcode. The skin lines look to have a similar spacing (certainly not 30% different) so I am wondering what accounts for the big difference in extrusion rate. Could you please attach the Cura project that created that gcode. Thanks.

 

S3D

 

Screenshot_2018-10-18_07-55-21.thumb.png.b00ef8a3ce6952be9c4f526dd0fc13f2.png

 

Cura

 

Screenshot_2018-10-18_07-41-47.thumb.png.f9934ccbb4cc50d3e2394de477f64c0a.png

Share this post


Link to post
Share on other sites

I did the calculations and those extrusion rates correspond to a line width of 0.5mm in S3D and 0.4mm in Cura. Maybe you should try using similar speeds and line widths? Personally, with a 0.4mm nozzle, I always use a line width of 0.5mm or greater unless I really need a thinner line.

Share this post


Link to post
Share on other sites

I have seen this issue also, and it seems to go as randomly as it arrived I had one issue where I was getting gaps when printing a horizontal line only in one part of the print, if I rotated the print (the now horizontal) line was fine with no gaps, simply put if I had a certain model in a certain orientation I would get a gap the same as you are seeing. I deleted my model in Fusion 360, remade it and re-sliced and it had no gaps regardless of orientation !. @smartavionics is a top man and really knows his stuff, but for my random gaps we never got to the bottom of it. As is said I rebuilt exactly the same model (and various test pieces) all with the same dimensions and none of them came out with gaps. We looked at Gcode and nothing jumped out

 

I wish I know what it was, like you a tired overlap, more heat on the nozzle to correct potential under extrusion and nothing fixed it.

 

However...... I spent a bit of time looking at where this occurred on some models and it looked like the top layer was sinking where there were gaps where the infil met the wall. In Cura you can have an extra line for skins which essentially makes the top skin ingress into the model more than the infil. In 3.5 there is an option to have 'extra infil wall count', make sure this is set to 1 (if extra skin wall count is also set to 1), this was you have a full supported top layer. Give that a try and see if it helps.

Share this post


Link to post
Share on other sites

@smartavionics - 2 questions:

1) What gcode analysis software are you using?  I've used 3 different ones but this one looks better than the ones I've been using.

 

2) Wow - 0.5mm line width with 0.4mm nozzle?  Cura defaults in the other direction: 0.35mm line width using a 0.4mm nozzle.  What is up with that?  What is the reasoning/logic of going one way versus the other?  Personally it seems like you are at a higher risk of underextrusion using the wider-line method as the extruder has to push that much harder.

Share this post


Link to post
Share on other sites

Yes I had the same thoughts about the line width, I increased mine from 0.35 to 0.4 as it gives me a nicer finish to overhangs but it made no difference to this gap issue when I had it. I don’t see how increasing the line width would help as Cura just compensates the spacing for the line width you specify, so the gap will be constant as I saw. 

Share this post


Link to post
Share on other sites
1 hour ago, gr5 said:

@smartavionics - 2 questions:

1) What gcode analysis software are you using?  I've used 3 different ones but this one looks better than the ones I've been using.

 

2) Wow - 0.5mm line width with 0.4mm nozzle?  Cura defaults in the other direction: 0.35mm line width using a 0.4mm nozzle.  What is up with that?  What is the reasoning/logic of going one way versus the other?  Personally it seems like you are at a higher risk of underextrusion using the wider-line method as the extruder has to push that much harder.

 

Hi @gr5,

 

1 - that's craftware (running on Linux). I never use the slicer part of it but the gcode viewer is very useful even though it has at least one bug that often introduces weirdness (I just ignore the weirdness). In terms of being able to step through the gcode and determine all the numbers, it's top notch. I was hoping the cura layer view was going to end up similarly useful but they stopped somewhat short!

 

2 - I've always used a line width greater than the nozzle size and have never had any problems I could attribute to doing that. I even use 0.6mm lines with a 0.4mm nozzle with no problems. I'm sure there's arguments either way (which I have never bothered to follow).

 

Share this post


Link to post
Share on other sites

Great information everyone, thanks so much!

 

@smartavionics here's the Cura project.

 

Funny thing, back when I was originally trying to solve this I'm almost sure I tried a wider line width and rejected it for some reason that I can't remember now. But that's a moot point, here's the print with a .5 line width, it seems to have totally cured the problem.

 

Thanks everyone! 

 

P.S. Smartavionics, I owe you a beer or six. 

 

 

hole tier test v1.3mf

IMG_20181018_114902.jpg

Share this post


Link to post
Share on other sites

Result !, however you shouldn’t really have to do that to fix it, Ultimaker run line widths of 0.35 and obviously don’t assume a gap will be present. Maybe there is a bug in Cura which means the width calculation gets messed up in some strange scenario ?. @smartavionics Will be best placed to comment on that. 

 

If if you have time go back to 0.4 width and check the infil setting I spoke about. Really interested to hear if it work ! ??

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

    • Introducing Ultimaker Cura 3.6 | Beta
      Ultimaker Cura 3.6 | Beta is available. It comes with new features, bug fixes, and UX improvements. We would really like to have your feedback on it to make our stable release as good as it can be. As always, you can download the beta for free from our website, for Windows, MacOS, and Linux.
        • Like
      • 92 replies
    • Print Core CC | Red for Ruby
      Q: For some users, abrasive materials may be a new subject matter. Can you explain what it is that makes a material abrasive when you are not sure which print core to use?
      A: Materials which are hard in a solid piece (like metals, ceramics and carbon fibers) will generally also wear down the nozzle. In general one should assume...
        • Like
      • 30 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 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!