Editors Note: This is part of a series of informational articles by Daniel Halvorson on the causes of different types of artifacts in 3D Printed objects. You can see more of his articles here.
Sometimes, infill is visible through the surfaces of a print. Even when the plastic is opaque enough not to show the infill by translucence, the infill pattern can sometimes be seen in the form of a slight structure or texture that it imparts to the outside of a print. This can occur two separate ways: for the top and the sides of a print.
Top Surface: “Pillowing”
Wide, flat top surfaces can sometimes show a bubbled image of the infill. These sample disks were printed with a 0.1mm layer height, and all but the last one were printed with three top layers of solid infill.
The first (left) has a raspy texture and was printed fast and cool with no layer cooling. The second (right) was printed fast and hot, also with no layer cooling. Its pillowing is just as visible, but it is considerably smoother. The hotter nozzle temperature served to increase bonding between adjacent layers and traces.
This third test disk was printed slow and hot with the layer cooling fan set to maximum. This completely flattened the pillowing to the point where the top surface feels smooth to the touch. However, the pattern of the hexagonal infill beneath shows through the surface as a difference of sheen and color. This effect is finally removed in the fourth test print, which was printed with identical settings to the third test print except that ten solid layers of infill were used instead of three. With every additional layer of top solid infill the effect becomes less and less visible, as the next layer of plastic serves to add opacity as well as to smooth any texture that may have transferred up from the last layer.
Pillowing is a quirk caused by the interplay between a bridging behavior and a layer adhesion behavior. In short, the better bridging quality a printer is tuned to have, the better the first few layers of pillowing will be; the better the layer adhesion (which can depend on material choice, speed, and temperature), the faster the pillowing will disappear with each added solid layer of infill.
Sometimes when trying to tune a printer specifically for bridging quality versus tuning it for interlayer adhesion, certain settings can reach very different values. For instance, a high nozzle temperature typically increases adhesion but decreases bridging quality; also, some materials may be better suited toward one or the other. To reduce pillowing, it’s generally best to stick with middle-of-the-road values for these shared variables and instead focus on the variables that improve both bridging and adhesion, or at least the variables that improve one without significantly harming the other. These include slow printing speeds and a higher number of layers of solid top infill, as well as increased airflow for layer cooling.
Textured stripes can occur where infill lines contact the sides of a print. The visibility of these lines will depend mostly on three slicer settings: the number of perimeters, whether the infill prints before the perimeters or vice versa, and the commanded overlap between the two. The first two will be briefly explained here, and the third will be dealt with in-depth in the article Advanced Infill Practices.
Going from left to right, these two sets of disks have one, two, and three perimeters. The first set is printed with each layer’s infill before the perimeters, and the second set is printed with the perimeters before the infill.
The general trend is clearly that more perimeter lines transmit less deflection from the infill lines to the exterior surface of the print. Also notice the visible improvement from the top three prints (where each layer’s infill was laid down before the perimeters) to the bottom three prints (where the perimeters came first). This improvement stems from the fact that the lines laid down first on each layer will push sideways on the next lines that contact them, but the first lines will not be significantly deflected by the new lines.
All sample models were printed with ColorFabb Pale Gold PLA/PHA, which is only slightly translucent. (This is useful for visibly demonstrating the effects of these settings.)
Editor's Note: This is the first in a series of articles written by Daniel Halvorson discussing technical topics around how to produce higher quality 3D Prints. The example prints shown in the article were printed on his Printrbot Simple Metal in colorFabb NGEN Silver Metallic.
There are two main opposing types of errors that can produce poor corners: ringing and corner swell. To achieve high-quality corners, certain parameters must be matched to the printer’s physical characteristics, and they must be balanced to avoid falling into either of these errors. Before reading this article, check out the explanations for Ringing and Corner Swell. Here, we brush up on the causes of these errors and the functions of the parameters involved, and in the application section, the solutions will be explored.
A printer’s maximum corner quality is ultimately limited by two main characteristics: ringing is allowed by the rigidity of the nozzle’s positioning, and corner swell is allowed by the stored compression in the extrusion system. For more information on those two, see the definition pages for Ringing and Corner Swell.
With these physical characteristics in mind, the relevant software and firmware settings are speed, acceleration, jerk speed, and those relevant to extrusion pressure.
Electronics: Speed and Acceleration Control at Corners
To understand the solution for balancing ringing and corner swell, we must dive into the processes behind how the printer’s microprocessor and stepper drivers choose to make the printer handle corners.
In an ideal world, a printer would be able to change directions instantaneously. However, since this cannot happen in real life without the printer being subjected to unnecessarily high forces, causing extreme ringing, there must be a short deceleration period applied before the printer encounters a corner. The slicer and microprocessor both know this, and account for this deceleration before the corner and acceleration after the corner.
If programmed deceleration/acceleration values were the only method a printer used to navigate corners, the nozzle would slow down to a complete stop at every acute corner. However, anyone familiar with a printer’s behavior knows this is not usually the case. If you recall the cause of Corner Swell, you will remember that there is stored compression in the filament between the drive gear and melt zone. This causes a small amount of extrusion to continue at the corner, when the speed has momentarily dropped to zero before the nozzle accelerates out of the corner. If a printer intentionally slowed down to a stop during direction changes, the corner swell would be exaggerated.
If the printer doesn’t decelerate at all when going around a corner, there will be extreme ringing and possibly even overshot steps. But if the printer decelerates all the way to a stop at every corner, there will be extreme corner swell, and sharp corners will be impossible. How can the printer avoid falling into either of these extremes?
It turns out that paradoxes like this are pretty common among robotics applications where stepper motors are used, so much so that these systems have a simple little trick up their sleeve—so simple and reliable that the user rarely sees it. It’s called maximum jerk speed, and it represents the highest speed that the microprocessor assumes the printer can decelerate to and accelerate from instantaneously. (Even though the term “jerk” is shared with the formal physics concept of the third time derivative of position, the two concepts are quite distinct from each other, so it’s important to recognize the differences. Maximum jerk speed is indeed a speed, and printers typically measure it in mm/s.) This is a good compromise: the printer doesn’t hit a corner at full speed, so ringing is manageable; yet the printer doesn’t slow down to zero, so corner swell is minimized. The maximum allowable jerk speed tends to have a larger impact on ringing than acceleration does.
So how can we use these concepts to improve print quality?
Rigidity and Accuracy: Ringing
The more rigid a printer’s structure is, the less capacity it will have for ringing. The first solution is pretty simple; get out those tools, square the printer up, and tighten it down, with some appropriate Loctite for good measure! To take it to the next level, the frame of most RepRaps can often be stiffened with printed gusset plates and such.
Proper belt tensioning is also important. Tensioning belts with inline springs that clip onto the belt is not recommended, because it introduces a huge amount of springiness into the position of the nozzle. The best tensioning systems are those that use one or more pairs of captive nuts and bolts, which allow you to precisely choose how tight you want the belt to be, and adjust it in precise, small, repeatable increments. Some printers come with these systems, but if yours doesn’t, you can find numerous printer-specific designs in various online file repositories, or design one yourself.
Extrusion Pressure: Corner Swell
All other things being equal, the lower the compression in the filament between the drive gear and melt zone, the better a printer will be at avoiding corner swell. Keeping the backpressure low by using a clean nozzle at a sufficiently high temperature is one of the only quick changes you can really do to a given printer. That being said, if you’re using a softer filament and you’re experiencing an undesirable level of corner swell, you can switch filament types to something more rigid, like PLA.
Electronics: Speed and Acceleration Control at Corners
This is the crux of this article: how to balance between a printer’s tendencies for ringing versus corner swelling. There are several reasons you may want to tweak this balance. Different models of printers (even different printers of the same model) usually have different optimal balances between the two. Or perhaps you want to specialize: maybe you mostly print structural parts that need sharp corners, but visible ringing isn’t a cosmetic issue; or maybe you’re printing figurine models at low speeds and low layer heights and you’re more concerned about reducing ringing at all costs. Well, the procedure for adjusting these variables is pretty straightforward: talk to your printer by connecting to it with any program with a terminal. (Octoprint, Repetier-Host, and Pronterface are common ones.) Enter the command M501, which asks the printer what some of its settings are (the ones stored in EEPROM). XY jerk speed is the one you’ll mostly be interested in. For Sprinter, Marlin, Smoothie, and Repetier firmware, the command you’re looking for is the X parameter of M205, “advanced settings.” The most common scenario is that you may want to adjust your printer to reduce ringing at the expense of slightly increasing corner swell, and you would do this by noting the current value for M205 X_____, subtracting a bit, entering it with M205 X[new value instead], and then saving it to memory with M500. Conversely, to reduce corner swell at the expense of worse ringing, increase the maximum jerk speed.
As an example, I printed two single-wall squares from identical g-code, identical in every way except that the printer’s EEPROM value for XY jerk was intentionally weighted toward producing either ringing or corner swell.
The print shown below from two angles has high ringing, but insignificant corner swell, as you can see. It was printed with very high jerk speed.
In contrast, this print was printed with a jerk speed of zero mm/s, and as you can see, it exhibits considerable corner swell (but has no visible ringing).
That's all, folks! Shoutout to Trevor Ward for his helpful feedback. If you have any questions, contact me. And as always, stay tuned for more articles arriving soon.
If you are active on any number of Facebook 3D Printing groups, there's a good chance you've had a positive interaction with Daniel Halvorson. I'm active on a lot of those groups, and I've noticed how good Daniel's advice usually is. Not only does he offer good advice, but he is usually very respectful and polite. Knowledgeable, helpful, and polite is such a rare combination in social media that I had to approach him to compliment him.
As we got to talking, an idea was born. Daniel would take his knowledge and use the Printed Solid blog as a platform to share his advice. He came up with the idea of establishing a series of articles for A Solid Foundation for 3D Printing. These articles would go through some of the basic concepts required to really produce great prints. If we get it right, they will be presented in a way that has enough technical depth to satisfy more experienced users but enough simple information that newbies aren't scared away.
Here is Daniel's introduction:
Hello, everyone! My name is Daniel Halvorson, and I’m an engineering student going into the field of additive manufacturing. Matt Gorton and I are kicking off a series of articles that will explore the engineering side of hobby-level 3D printing. Over the next few months, articles will be posted periodically to the Printed Solid blog. Whether you’re a garage tinkerer hoping to avoid design pitfalls as you build a DIY printer, a student learning about the theoretical intricacies of printing, or a hobbyist who’s focusing on the practical side of print quality troubleshooting, I hope there’s something here for you.
If you have ideas for new articles, get in touch with me! Likewise, if you feel that something could use more clarification or should be explained differently, or if you see a typo or think something is incorrect, don’t hesitate to contact me.
-- Daniel Halvorson
(You can find me on Reddit and Instagram as “techyfiddler”, or you can usually reach me quickly on Facebook.)