Retractions causing filament to be pulled off the layer
I have a stock Ender 3 v2 and I'm printing a model aircraft wing sections from PLA 0.4mm nozzle, 40mm/s and it calls for 0.2mm layer height, and 0.4mm line width, single perimeter and no top/bottom layers. I'm printing it at 200oC as I've had good results with this filament before at 200, and hopefully the temp will help layer adhesion. However, there are sections of the print where it looks like some of the filament has been dragged from the wall as the retraction happens. There's also a fair amount of stringing, which I'd take as a trade off for good layer adhesion and uniform walls!
Do you think I should dial down the retraction settings? Lower the print temp?
Also, can suggest settings to tweak to try to get as strong a print as possible please?
Would any advantage be gained from using a 0.6mm nozzle?
With zero infill and only a single perimeter, the tuning of your printer will be extremely critical to get good results (i.e. a solid wall). Any slight mishaps at the start or end of a layer will result in gaps like you're seeing in your walls. In particular, printing at 0.4mm with a 0.4mm nozzle means a line width equal to your nozzle diameter, which is about the minimum you can go before the lines start breaking due to lack of thickness. Typically you'd print at 1.1-1.25x nozzle diameter, so most slicers would default to up to 0.48mm extrusion width with a 0.4mm nozzle. If a 0.4mm extrusion width is critical to achieve the right center of gravity or for maximum performance (weight reduction) then you might actually achieve better results with a 0.35mm or 0.3mm nozzle. If you were to change up to a 0.6mm nozzle, your minimum extrusion width for guaranteed stability would be 0.6mm. You will most likely achieve a very poor result trying to print at 0.4mm extrusion width with a 0.6mm nozzle. The bead of plastic coming out of the nozzle would break and the print would look spongy and crumble in your hands.
Mind you, it should be possible to print at 0.4mm extrusion width with a 0.4mm nozzle. It would appear that a factor in your print is that you may possibly be under-extruding slightly. To confirm, print a 20mm calibration cube and post photos of the top layer such that the texture of the top is visible. From that we can determine if, and by how much, your extrusion multiplier needs to be increased. That should help a little with artefacts like these:
The next thing to tune are the retraction settings. Can you indicate what slicer you're using and what your settings are? The easiest way here is to upload your slicer profile, or a project file with the wing on the plate (PrusaSlicer: File -> Save Project As; Simplify3D: File -> Save Factory File; Cura: File -> Save Project). That will give me all your settings plus the model you have loaded including print orientation and any additions. Generally speaking, if you're noticing the gaps occuring after a retraction, you might benefit from a small positive value in the "retraction extra prime amount" field. That makes the printer inject a little extra filament when restarting printing after a retraction, to make up for any filament that oozed out during the travel. If you don't do that, it might take a few milimeters of printing to re-establish proper flow, and the result is pores and holes where the nozzle restarts printing after a retraction. If the value is too positive, the result would be a blob everywhere it restarts printing after a retraction, as the extra filament has nowhere else to go.
Lastly, with regards to the stringing, that's normal on the insides of prints. It's governed by settings that basically avoid putting retractions when travelling over "infill" areas (basically empty space in your print). The idea is that retractions take time, put wear on the extruder system and tend to cause flow problems on restart, so the printer can print more efficiently if retractions aren't done when travelling within infill since in a normal print you'll never see those areas (as they're closed off from all sides). In your case with no top/bottom layers or infill, the internal parts of the print remain visible to you, so if you want to improve the aesthetics you can switch off this shortcut. In cura it's combined with the travel path planning in a rather complicated way and lumped under "combing" settings - https://support.ultimaker.com/hc/en-us/articles/360012611299-Travel-settings but in a nutshell turning combing to "off" should make it retract everywhere (while also affecting the nozzle path, which might give you worse quality prints, but you'll have to test to find out).
In PrusaSlicer it's rather more isolated and easy to understand, if you want it to retract everywhere you just uncheck this box -
And in Simplify3D it's similarly easy, just uncheck this box -
Hope this helps, looking forward to your feedback 🙂
Thanks for the reply. Here's the project file from Prusa Slicer
"Only retract when crossing perimeters" was already unchecked
Here's some pics of the calibration cube
Could you explain your rationale for printing this with one perimeter and no infill? The lack of overlap between the center brace and the skin means that there will be almost no joint there. You can see that they're printed with distinct, non-overlapping perimeter lines:
That will make it weak in that area - in fact it will be held in place only by any excess plastic extruded while printing the walls, because if the printer was absolutely perfect (with no overextrusion or blobs whatsoever) the central channel would separate immediately from the skin. I'm assuming the central channel is intended to hold a balsa stringer attached to the fuselage to support the weight of the aircraft? Once the joint fails the wing will be free to move forwards/backwards (unless restrained by some kind of joint where the wing meets the fuselage).
If you were to print with two perimeters, that joint becomes solid by virtue of the inner perimeter:
However weight does almost double, from 8.8g to 16.00g. I don't know whether this is within acceptable limits for this build?
Now, to get to the print profile -
Tick "avoid crossing perimeters" - it reduces the number of travel lines that can leave strings. From this:
It goes to this:
Increase the extrusion width to the default (set all boxes to 0 like so):
This raises weight to 9.97g but will give you a stronger print with more reliable extrusion
Another option to try is to change the seam position to "aligned". This will put all starting points under each other so it makes the visual appearance better (more consistent) but might result in an area of weakness since now all the weak starting points will be concentrated in one region not spread out all over the print. You'll have to experiment to see if it works better than "nearest".
Under filament settings, set extrusion multiplier to 1.02. Your cube and your photos from your first print indicate some marginal underextrusion. Also, consider raising temperature to 210°C to get a marginally stronger print (this will however marginally worsen your stringing).
Cooling threshholds - enable fan if layer print time is below - set to 60 seconds. More fan means less stringing. Also, disable fan for the first 3 layers not just 1, that way you'll have more reliable adhesion and less chance of warping.
In your printer extruder settings, set your lift z to 0.2mm - your existing value of 1mm is a bit on the high side and is needlessly putting extra wear on your leadscrew and slowing your print down.
Disable "retract on layer change" and "wipe while retracting" - wiping worsens print quality (especially if it's just a single thin wall like yours) and may contribute to stringing by smearing molten plastic to the outside of the nozzle. Yet on some other printers wiping helps with stringing. You'll have to test it on yours to see if it comes out better.
For retraction length, have you done a retraction test to determine that 5mm is the optimum value? On my CR-10 mini (similar mechanics to your Ender 3) I use 6.5mm. More retraction distance will reduce stringing to a point, but you will never completely eliminate it. You can burn off those fine strings with a heat gun (on high-power setting) or a butane lighter.
Let me know how it goes with the above tweaks 🙂
So my basis for the settings was given by the plane's designers. It's specified for Printing Category A single perimeters, no infill etc
they go into more detail here:
and I think they have to be this way to get the weight low enough. The printed spar along the wing seems to be surprisingly durable and I've seen videos of these flying, but I'm a little skeptical.. Anything but the gentlest of landings and I'll be back to reprinting the wrecked parts ha ha
They also suggest the seam position as "front left". How do I set this in Prusa Slicer please?
I'm curious, is there a way to only set the first few layers with 2 perimeters (and the top few layers on some wing sections) and the rest as 1?
Hi Matt, terribly sorry for the delay in replying. I'm making a detailed post to explain how to set seam position and have different settings in different parts of the print in PrusaSlicer - I will post instructions and an updated .3mf file for you to examine and print within a few hours.
I've taken a look at the PDF and the website. The lightweight (foamed) PLA is very interesting - though not useful for many applications other than aircraft-building 😆. From the look of your print I'm going to assume you're using regular old PLA. Now, the all-up-weight of the Prandtl is reported to be in the range of 400-800g. Adding an extra perimeter to the wingtip doubled its weight, but doubled its strength as well. You may try printing as the designers intended at first, then re-printing any failed parts with 2 perimeters for more strength once experience shows you where the weak spots are (hopefully no expensive batteries or RC gear destroyed during the test runs!).
Weak layer adhesion is something you absolutely don't want in structural load-bearing components such as wings. Especially since in the orientation you're printing them, the bending loads in the wings will put tension on the layer lines at the bottom and it's most likely to fail from there in flight.
Of course you will have a wooden spar in the middle to bear most of the bending loads so this point is moot if you have good load transfer to the spar in flight (but not so much upon hard landings or during crashes though! 😬 )
One way to achieve lighter weight would be to use a smaller nozzle. You could print stable 0.3-0.4mm skins easily with a 0.3mm nozzle, though print time would be somewhat longer and at 0.3mm you have 75% of the strength of 0.4mm walls (though also 75% of the weight). A more extreme solution would be to use a 0.2mm nozzle and print two walls (2 x 0.2mm = 0.4mm wall made of two perimeters). This will take 4x longer though (since aside from doubling the perimeters, you can only print at 0.1mm layer height with a 0.2mm nozzle so you'll have double the layers as well). Personally if I were printing this, I'd target durability and reliability over light weight, and go with a 0.4mm nozzle and a wall thickness (extrusion width) in the range of 0.40-0.48mm.
PrusaSlicer doesn't let you specify a starting coordinate in X and Y like Simplify3D does, nor does it let you specify a corner like Cura does. However, by setting seam position to "rear", it starts the layer at the most-positive y-coordinate (maximum Y, i.e. the "rear" of the print). You can therefore just rotate the print to make it start where desired.
For example, let's say I wanted my seam to be at the leading edge of the wing. I'd set seam position to rear:
Then use the rotate tool to rotate the wing around the z-axis, to get the leading edge at the back of the plate -
End result is that almost all the seams are done at the leading edge of the wing as we wanted -
Now, if they wanted "front left" in the original orientation, that would probably be this part of the wing -
So rotate until that's on the rear, and you'll get the desired result (assuming I interpreted the "front left" correctly) -
To vary the number of perimeters at certain heights, you add a height modifier. Right click the print, click Height Range Modifier -
On the right set the range -
Then right-click the gear icon, click "layers and perimeters" -
And then you can change the perimeters for your selected height range using the entries on the right. For example, here I've made the first milimeter of print have two perimeters, and the rest have 1:
You can repeat the process for as many height ranges as you want to strengthen particular layers as needed, by highlighting "layers" and clicking the plus sign near the bottom to add more ranges -
Alternatively, you could insert a modifier mesh and apply the overrides to that volume. To do that, right click the print and click add modifier, and pick a shape -
Manipulate the shape to get it sized, positioned and rotated as needed -
Then apply overrides on the right as usual -
And result is that where the box is, your overrides will be applied -
Note that overriding wall count part of the way through a layer like I showed here tends to give unexpected (usually negative) results - you can see the defects in the walls where PrusaSlicer is transitioning from one two perimeters in the middle of the layer -
So if you're going to go this approach, make sure the whole layer has the same number of perimeters (or better yet use height range modifiers only when changing layer settings).
The modifier mesh method is more useful for adjusting things that aren't wall count. For example, it's great for modifying infill density -
Hope this helps expand your arsenal of printing tools 🙂
Updated .3mf to follow shortly.
Here's the amended 3mf file -
- Set seam position to Rear and rotated so the old "front left" is at the rear, where the seam is
- Increased extrusion widths to the default (1.125x nozzle diameter = 0.45mm) for more strength and reliability at the expense of 10% more weight.
- Increased extrusion multiplier to 1.03 since you were underextrusing at 1.00
- Raised filament temperature to 210°C for stronger layer adhesion
- Cooling - turned off fan for first 3 layers to promote better bed adhesion. Set "slow down if layer print time is below" to 5 seconds to comply with the PDF (your old setting was 20 seconds). This change cut print speed by 30% - now the whole thing will print in just 1h34m instead of 2h14m
- Turned off retraction length filament override (no point for it if the number is the same as the overall length setting under the printer settings)
- Machine limits - increased max z acceleration to 500mm/s
- Extruder - increased retraction distance to 7mm to help with stringing a bit
- Removed retract on layer change and wipe while retracting. With Bowden printers like yours, less retractions is better.
- Decreased z-hop distance to 0.2mm for less wear and less print time.
- Set deretraction speed to be the same as retraction speed.
Let me know how this goes 🙂
Thanks for all the help so far, I'm definitely learning and expanding my arsenal of printing tools! But...
I tried printing from your amended file without changing anything, but I'm still getting gaps:
It looks like this is happening when the print head travels and it pulls the filament off the layer a little.. This is also happening on the internal box section.
Thanks again for your help, as I'm stumped!
Given the appearance in your photo I've refined the settings as follows:
- Set seam position to "aligned" again so the seam is on the sharp trailing edge where it's less critical
- Raised extrusion multiplier to 1.05 for more stability
- Reduced nozzle temperature down to 195°C to make the filament more viscous and less likely to break in that beginning section
- Lowered jerk limits to 5mm/s and e-acceleration to 500mm/s2
- Added +0.1mm extra length on restart to try and fight the gaps you're getting after restarting after a retraction.
Here's the updated file -
Could you try printing the first 1cm or so of the print and checking if you still see gaps? If not keep printing the whole thing. If there are still gaps, abort the print and try increasing extra length on restart to 0.2mm. This basically injects extra material when the printer starts printing again after a travel move. The more you increase this value, the less likely you are to get those holes, but then the more likely you are to get blobs in their place where the z-seam is if the extra material is too much.
If you're unable to get a satisfactory result by tweaking the extra length on restart value, reduce the layer height to 0.15mm and start again from an extra length on restart of 0.1mm. Smaller layer heights give smaller defects and more stable printing (down to an extent) but will increase print time, slightly increase weight in this case, and also slightly reduce strength.
If all else fails, the easiest solution is to add an extra perimeter/wall. I know this is against the instructions and will double the weight of the part, but it's the only sure-fire way to get a perfect print and to strongly weld the spar to the skin.
It is extremely difficult to achieve perfect skin when printing just one single perimeter because there's absolutely no room for error when the printer is unretracting. In your case it becomes even more difficult as your printer is a Bowden (like all of mine) which suffer from less precise behaviour of the filament within the tube which makes it hard to get a perfectly tuned, uniform start to each line. Under normal circumstances that gets hidden on the inside perimeter, but with just a single perimeter it's going to feature prominently on the outside of your print.
Looking forward to your feedback 🙂
Thanks Luke, that did the trick! Even with the extrusion width at 0.4mm...
Much appreciated 🙂
Glad you got it sorted! Happy to help 🙂
We’re a bunch of 3D printing and design nuts. We just want to make great 3D design available to everyone.
Good design takes time, great design takes a process. You can learn this with us, to build your skill set in this rapidly expanding market.