In this article we are going to discuss some of the most common errors we often see from customers using FDM technology and how to manage dimensional tolerances.
3D printing is a great manufacturing tool that can produce near-net shape geometry without multiple operations. For producing complex geometries which would typically involve multiple setups and stages with traditional machining or forming methods, 3D printing can allow you to go from digital asset (3D CAD) to finished part (or almost finished part) in a single step. However, no manufacturing technology is perfect for every application. Most commercially available 3D printing technologies has yet to offer the precision and accuracy of machining processes. Having said that, just like working with any other manufacturing methods, we can work around the shortcomings once we understand the limitations of the technology.
Ways to manage dimensional tolerances
Resolution (slice height) vs Accuracy
Many users often get the misconception about the relationship between resolution and accuracy. Using higher resolution ( equals thinner slice) will provide the ability to produce finer details and smoother surface finish if the geometry profile is dominantly in the vertical plane but it does not always improve the dimensional accuracy. To some degree, using thinner slice also allows the minimum toolpath width to be narrower and you can therefore put material in tighter spaces on the XY plane as well – but again, it does not affect the dimensional tolerance in XY axes.
The bigger issue here is when the height of critical geometries in Z axis does not divide evenly by the slice height. Let’s dig into an example.
We are about to 3D print this electronics enclosure shown below. Take note of the Z axis dimensions of the trapezoid cutout on the front face.
Now let’s put this file in the slicer and process it in two different resolutions – 0.010” and 0.007”. As you can see in the comparisons below, slicing at 0.010” yielded in its net shape without any error. On the other hand, slicing at 0.007” (which is the higher resolution), it ended up shifting the position of the cutout up by 0.005” and making the cutout taller by another 0.001”. Isn’t higher resolution the better? No, not in this case. This enclosure was simply not designed to be 3D printed in 0.007” The next option would be printing in 0.005”, which will result in the perfect net shape but it sure is an overkill – the printing time nearly quadruples going from 0.010” to 0.005” without any meaningful functional advantage of the final product.
The important lesson here is that your design intent must include the resolution you want to use when 3D printing that part. Even if you are using the coarsest resolution at 0.013”, the part could have very good accuracy if your dimensions were made to fit that resolution. A good designer always has the manufacturing method in mind.
A seam in 3D printing is the point where the extrusion toolpath begins and ends. As the start of the extrusion creates a little blob at the beginning of the toolpath (imagine drawing a line with a glue gun) the part surface will end up with a line of these blobs once the part is finished. In many cases, the slicing software such as Insight or GrabCAD Print will do a decent job of ‘hiding’ the seam by placing the toolpath start/end point to a sharp corner from its ability to analyze the vectors.
For rounded features that have no sharp corners where the seam can’t be hidden, this can be a problem and throw you a curve ball in terms of the fit of the part into an assembly. A popular scenario is where the part has close-fit holes for mounting bolts or other fasteners.
One easy workaround for this problem is adding a ‘corner’ into the ID of the hole. If this hole is a clearance hold, a slight alteration wouldn’t be an issue – no further post processing required.
However, if this is supposed to be a hole for something with more precise fit, say a locator pin or a dowel, then we will need to undersize this hole slightly (approx. 0.015” in diameter) and chase it with a reamer to get the perfect surface inside the hole. The user must not forget to increase the contour counts (i.e. wall thickness in GrabCAD Print) to ensure there is enough material to cut without getting too close to the raster fill.
Going further, using features such as Avoid Seam in GrabCAD Print can help reducing the size of the seam quite effectively but it will not completely remove it without risking the integrity of the part. For Stratasys Fortus systems and F370 users, using Insight software can help with this situation even further. First, by using custom groups the user can reduce the toolpath width of the contour on the inner diameter. Narrower toolpath decreases the overall size of the seam as the print head does not need to compensate for potential under extrusion as much as it did for wider toolpath. Secondly, enabling Link Contours (it is the same feature as Avoid Seam in GC Print) will either tuck away either of the start point or the end point of the toolpath. This is not the magic cure for removing seam lines but it certainly helps with the overall finish of the part. Keep in mind that the size of the seam also depends on the type of material you use. For example, ABS tends to produce larger seams than ASA (about 30-50% difference depending on the build parameters and machine types).
Like any machinery with a moving load, the printer does not like rapid accelerations. On a CNC cutter, the spindle speed can remain relatively constant for a given toolpath. However, the issue becomes a little more complicated for a 3D printer because the extruder speed must be precisely synchronized with the head movement. A sharp 90-degree corner can create what is best described as ‘chatter marks’ as the head tries to ramp-up / slowdown but the acceleration / deceleration of filament extrusion is ever-so-slightly out of sync. This was a lesser problem when the 3D printers operated at much slower speeds. It is a small trade-off we get by nearly doubling the overall printing speed with similar build parameters.
A good way for getting around this is adding fillets (R .100” or larger) to provide the intermittent step to slow down in one axis and the step to ramp up in another.
If adding a fillet is not an option due to geometry restrictions, reduction of the contour width (approx. 20% from the default setting) along with contour-to-contour airgap of 0.001” – 0.002” also helps with reducing the chatter mark on critical surfaces.
Additionally, on belt driven systems such as Fortus 450/400/380/360 and F-series printers, dirty pulleys and worn out belts can cause surface chatters as well. So keep an eye out if you have not cleaned your 3D printer for a while. A clean printer runs better – no surprises there!
Believe it or not, a large chunk of dimensional error in X or Y axis for parts printed with FDM technology comes from the thermal stress of the material from uneven shrinkage. We found that this is generally insignificant for small to medium sized parts that can fit inside 6”x6”x6” envelope. Once the part becomes larger, there could be random spots that will not shrink correctly and result in parts oversized by as much as 0.5%. The best way to avoid this is designing the part to be a shell form rather than a block and maintaining the wall thickness as uniform as possible throughout the part. If shelling the part is not feasible, adding a small raster-to-raster (or adjacent raster) airgap of 0.001” can help mitigate the issue.