Comparing Impact Resistance of 21 Filaments for 3D Printing.
by edemargerie in Workshop > 3D Printing
1931 Views, 9 Favorites, 0 Comments
Comparing Impact Resistance of 21 Filaments for 3D Printing.
Hi everyone. I built a simple testing bench to compare the impact resistance of various filaments, including PLA, PETG, ABS, ASA, HIPS, PC, Nylon, PP, TPU and PLA+. Technical data sheets exist for most filaments, but data is rarely directly comparable between manufacturers, because of various testing methods. Also, most often the impact resistance is only reported for samples printed horizontally (XY), but data lack for samples printed vertically (i.e. testing layer adhesion along the Z axis). Hence the need for some comparable data, for XY samples and for Z samples.
Below I describe the testing bench and method, and I report the results I got for the various filaments. This might help chose the right filament for your next project with functional parts exposed to impacts. In my case I mostly build outdoor camera support devices for my research work, and also some RC car/plane parts, as a hobby.
Supplies
- one 650*650 mm wood board for the vertical stand. This board must be flat, stiff and heavy enough, I recycled a 18 mm-thick chipboard.
- one 650*85 mm wood board for the horizontal stand supporting the vice. I used 15 mm-thick plywood.
- two 150*55*25 mm wood blocks for stiffening the link between horizontal and vertical stands.
- one ~300 g hammer with a ~240 mm stiff wood handle. I bought a cheap one from the DIY shop, just make sure there is no play between the metal head and the handle.
- two 18-28 mm 8 mm inox collars for clamping the hammer handle to its plastic support
- a piece of P100 grit sanding paper that will be glued to the hammer support to prevent any slipping of the hammer.
- two ball bearings (608zz type, as used in roller skates, 8*22*7 mm)
- one 57 mm piece of 8 mm tube (aluminium or carbon fiber) for the pendulum axis
- stiff filament for 3D printing the axis and hammer supports (I used PETG)
- one small Proxxon MS 4 vice for holding the samples (ref 28132 ~16€). The samples below are designed for a tight fit in this specific vice model.
- fourteen 5*40 mm wood screws for the wood part assembly (vertical + horizontal stands + stiffening blocks)
- six 4*25 mm wood screws for attaching the axis support to the bench board
- four 5*50 mm screws and corresponding plugs for attaching the bench to the wall
- one M3*6 mm bolt for attaching the axis cap and setting the needle tension
- two 8.5*16mm washers for the axis (see below)
- paper sheets for printing the bench dial
Printing Bench Parts
Here you have the .STL files for the 5 bench parts.
- axis support
- hammer support
- needle
- axis cap
- axis cap support
Use a stiff material such as PLA or PETG for these parts, as a more flexible material would absorb some energy from the impact, which would bias the measure. I printed these parts in PETG, with 4 perimeters and 70% infill.
I also added a pdf file for the bench dial that can be printed and glued on the bench board.
Assembly of the Testing Bench
The assembly is quite straightforward but for a reliable output one should pay attention to a few points:
- the wooden stands assembly should be as rigid as possible. I used as many as 14 screws and secured the assembly with wood glue.
- the bench should be firmly fixed to a wall or any other very heavy support.
- the CF or aluminium axis tube is held by force in its plastic support (retrospectively an improvable point), and this should be very tight, or the tube will progressively slide out, which will affect the results. Sand the tube with very fine grit (P200+) until it barely slides in its support with a strong force.
- glue a piece of P100 sandpaper in the hammer support so that after tightening the collars, the hammer cannot slide in any direction. I fixed the hammer so that the vertical distance between the tip of the hammer and the vice is 18 mm.
- the pendulum swinging movement should be as free as possible, but with as little play as possible, so that impact energy is not dissipated through vibration.
- The two 8.5*16 mm washers ensure that only the inner ring of ball bearings are in contact with the needle and axis, even when tightening the axis cap.
Printing Samples
I had to try a few different sample designs, because they should break from the hammer strike energy, but not too easily so that there is some measurement range. Also the sample should hold tight in the vice, without any possible movement, as this would dissipate energy and bias the output. Preliminary tests converged to a 6*8 mm rectangular beam, with a larger base with ridges that fit the grooves in the vice.
I print the samples 4 at a time, with 2 printing orientations : flat (XY) and vertically (Z). Note that the flat-printed samples will be struck from the layers' edge, i.e along the XY plane, not perpendicular to the layers. This can have some influence on the XY resistance results, and ideally I should have printed and tested all 3 orientations. However, I anticipated most of the limiting results would be on the Z samples, so I settled for a single XY orientation.
All samples were printed on a Prusa i3 MK3S+, with the standard 0.4mm noozle, 3 perimeters and 100% infill. For each filament type I used the default printing settings from the PrusaSlicer filament profile database (see table). I only did a few experiments with printing settings, which are explained at the end of this instructable. Depending on the filament type, printing 4 samples took between 40 min and 1h40 min.
Adjust the Needle Tension
The bench needle should move easily when pushed by the hammer, but stay in place afterwards. The tension is set by turning the 3 mm bolt in the axis by small amounts.
- The hammer is hanging down vertically. Align the needle down with the hammer.
- Raise the hammer (not the needle) to its maximal height (vertical position, i.e. the 59 cm height mark on the outer dial) and let it fall to the right.
- Without any sample in the vice, the hammer will pass the downward, zero position with maximal speed and swing to the left, pushing the needle as it climbs up.
- Because there is a small amount of friction, the hammer will not reach its initial height, but not far from it. On my bench, it can reach 58 cm (i.e 98% of the initial height), with the needle staying in place afterwards.
- if the needle goes beyond 58cm, and/or does not stay in place, screw the 3mm bolt by 1/8 turn and try again.
- if the needle does not reach 58cm, there is too much tension, unscrew the bolt by 1/8 turn and try again.
Testing !
The testing method is as follows:
- Let the printed samples cool down to ambient temperature, for at least 30 min. Also check ambient temperature, which should be as constant as possible for all tests. Not easy to achieve when tests are spread over weeks or months, but I still could perform all tests between 20 and 24°C ambient.
- Carefully remove printing artifacts (brim, extra widths of the bottom layers) from the sample with a knife and place the sample base in the vice.
- Tighten the vice knob with constant force (I chose to tighten it to the max torque I could apply with a single hand). Check that there is no play between sample and vice. If there is play, remove more plastic on the base edges.
- Place the needle pointing downward (along the hammer).
- Raise the hammer (not the needle) to its maximal height (vertical position) and let it fall to the right until it hits the sample.
- The sample should break, absorbing a part of the energy from the hammer (this removed energy is the impact resistance), and let the hammer swing to the left part of the bench. The hammer pushes the needle and climbs up to a given height that the needle will indicate, and that we note down for each sample.
- When the hammer swings back down to the zero position, stop it with your hand (or it will push the needle back down - wrong design sorry)
- Repeat the test with another sample. As resistance can vary quite a bit from one sample to another, it is beneficial to test several samples from each plastic. I usually tested 4 samples for each plastic and each orientation (XY, Z). Sometimes when I only had a short length of filament, or time was short, I settled to 2 replicates only, but if you can, allow for at least 4 replicates per condition and average the results.
Compute the Impact Resistance
Let h be the height indicated by the needle after a test. If you're not keen on maths, you can compare your filaments using only h, with the idea that the higher h, the lower the impact resistance.
If you prefer to get a measure in kJ/m2, here are the (simplified) formulae I used, decomposed in three steps:
- the potential energy (in Joules) accumulated in the pendulum at the highest position is Ep = M*9.81*2*r, with:
- M: mass of the pendulum (in kg)
- r: radius between the pendulum axis and the center of gravity of the pendulum, (in m). To know r, take the hammer+support out of the bench, and balance it on a pen or your finger to find the position of the CG.
In my case, the mass of the hammer+support assembly was 0.3745 kg. The distance between the CG and the axis was r = 0.206 m. Hence my pendulum has an initial potential energy of 1.514 J.
- then, from h indicated by the needle after a test, we can know Ei, the energy absorbed by the impact. Ei = Ep*[1 - (h / hmax)], with:
- hmax: maximal height attained by the needle, when there is no sample in the vice. Here we set the needle tension so that hmax = 58 cm. So if after breaking the sample, the needle indicates h = 50cm, then Ei = Ep * (1 - 50/58) = Ep*0.138 = 0.21 J. In this example, the sample absorbed 13.8% of the initial pendulum energy, that is about 0.21 J.
- Note that here you can measure h and hmax in cm or meters (or inches), as long as you use the same unit for both.
- finally, we want to standardize the result for the cross-section of the sample. IR (kJ/m2) = 0.001 * Ei / A, with:
- A: the cross-section of the sample at fracture point, in m2. Here the samples are 6*8 mm, or 0.000048 m2. In the previous example, for h = 50 cm, we get IR = 0.001 * 0.21 / 0.000048 = 4.3 kJ/m2.
If you prefer it wrapped up in a single formula, then IR(kJ/M2) = 0.001*2*9.81*M*r*[1-(h/hmax)] / A
To the more math-friendly readers, keep in mind that this is an approximation, and that the IR, even in kJ/m2, is vastly dependent on the shape/size of the sample, pendulum speed etc. So it is not safe to compare absolute results directly between studies / lab / benches.
Results for Standard PLA
I tested 3 standard PLA filaments :
- Radiospares Pro PLA (white)
- Dailyfil PLA (pastel pink)
- Prusa PLA (galaxy silver, the one shipped with the Prusa i3 MK3S+)
Impact resistance was similar between brands and also between XY and Z printing orientations, around 7 kJ/m2.
In other words, I measured nearly isotropic impact resistance, that is almost as much resistance for an impact that will brake layers (XY), as for an impact that will separate layers (Z). This suggests that PLA-printed parts have very good inter-layer adhesion.
Note that even though the 7 kJ/m2 value is calculated after taking the sample cross-area and the hammer kinetic energy into account, it still depends strongly on the sample size, shape and on the hammer speed, so please do not compare this value directly to results from other test benches.
However, the ~7 kJ/m2 value for PLA will serve as a convenient reference for the other tests performed on my bench.
Results for PETG
I tested 3 PETG filaments :
- Radiospares Pro PETG (black transparent)
- Radiospares Pro PETG (yellow transparent)
- Colorfabb PETG Economy (white)
Here the results were, contrary to PLA, a bit all over the place. XY impact resistance was equal or better than PLA (7-14 kJ/m2), but Z resistance was equal or lower than PLA (2-7 kJ/m2). There were differences between brands, with the Colorfabb economy PETG performing poorer, and differences between both colors of RS PETG (color effect is a well known phenomenon, see this excellent video from Stefan at CNC kitchen).
There were even large differences between samples of the same filament and orientation, as shown by the wide error bars (which represent the full range of measured values). As PETG easily absorbs moisture, and I did not bother to dry filaments before printing, it is possible that this caused some of the variability observed here. Stefan from CNC kitchen also sometimes experienced a bit random mechanical results with PETG.
Overall, PETG can have better impact resistance than PLA, but only in the XY plane, and results can be a bit random.
Results for the ABS-ASA Family
This is where results become really interesting, as ABS is often considered the go-to filament to get better impact resistance than PLA.
I tested 3 ABS and 2 ASA filaments:
- BASF Ultrafuse ABS fusion+ (black)
- Dailyfil ABS (white)
- Formfutura rTitan ABS (black)
- Prusament ASA (signal white)
- Formfutura ApolloX ASA (black)
Impact resistance for the XY printing orientation (when the fracture goes through layers) was high (16-23 kJ/m2), twice or three times the ~7 kJ/m2 resistance of standard PLA. However, Z resistance for vertically-printed samples (when the fracture just separates layers) was much lower than PLA, with values ranging 1.5-3.3 kJ/m2. In other words, inter-layer resistance was an issue with ABS/ASA, and these filaments produced very anisotropic resistance of printed parts.
This raises questions when choosing ABS/ASA for printing impact-resistant parts: parts that are essentially planar (plates, struts) and can be printed flat on the bed will have very good impact resistance, much higher than standard PLA. But on the contrary, parts with a 3D shape, that have significant height (cubes, vases, etc) and make really use of the Z axis for printing, will be much more prone to breaking between layers when printed in ABS/ASA than when printed in PLA. This can seem counterintuitive, but is in line with results of previous tests already reporting that ABS/ASA inter-layer adhesion is lower than PLA (see for example this CNC kitchen video).
Admittedly, there are ways to improve inter-layer adhesion, such as printing in a heated enclosure, and I will come back to this later. Still, it is a bit disappointing that these ABS/ASA filaments, reputed to be tough and also pretty difficult to print (prone to warping), offer worse Z impact resistance than standard PLA, when printed on a standard, open printer. And guess what, from my experience, the Z impact resistance is often lacking in technical datasheets from manufacturers (a notable exception being BASF).
Last, a small issue with testing, especially with ABS should be mentioned: XY samples did not break completely, leaving the two parts of the broken sample attached through a small slat of perimeters (see picture). Because of this connexion, the hammer experiences supplementary friction against the tip of the sample after passing the zero point on the bench, hence the final resistance reading might be biased to a small extent, possibly resulting in a slightly overestimated XY resistance for the 3 ABS filaments. Probably no big deal here, but I have added a small 'PB' sign - for 'partial break' - on these less reliable results. Note that contrary to XY samples, Z samples usually broke cleanly into 2 separated parts (see other picture), as expected for this test.
Results for HiPS, PC and Nylon
I tested 2 HiPS filaments:
- Formfutura Easyfil HiPS (black)
- DailyFil HiPS (white)
2 PC-based filaments:
- BASF Ultrafuse PC-ABS-FR blend (black)
- Polymaker Polymax PC (black)
1 Nylon filament:
- BASF Ultrafuse PA (natural)
The HiPS had the same issue as the ABS/ASA family: good XY resistance (about 16kJ/m2, that is more than double the resistance of standard PLA), but extremely weak Z resistance, less than 1 kJ/m2, for both brands. Here interlayer adhesion will really be problematic for any part that has a 3D shape and must endure impacts that can separate layers. The name "High impact polystyrene" is almost misleading, as the resistance is in fact extremely anisotropic, with a ratio attaining 20x between XY and Z resistance.
PC is often considered as a highly resistant option, for very demanding, "engineering" applications. Indeed, for XY samples, PC shines, as both brands of samples did not break (NB = no break on the graph), indicating that their XY resistance is higher than 31.5 kJ/m2 (the highest energy my pendulum can apply). That is higher than 4 times the resistance of PLA, and more than twice the resistance of ABS/ASA/HiPS. Great, but ... for Z samples, the figures are much more modest, from a weak 1.8 kJ/m2 for the BASF PC blend, to an honorable 5.4 kJ/m2 for the Polymax PC.
Please note that the two PC filaments were printed at 260°C, because my printer had issues to get stable temperature above this, so it is possible that Z resistance would have been slightly higher when printed at the default profile temperature (275 / 270°C respectively).
Nylon filament (PA, for polyamide) is another "engineering" filament, and its results on my bench were similar to the Polymaker PC, with excellent resistance in XY (no break), and a fair Z resistance of 5.4 kJ/m2. Here it should be stressed that as for other filaments, I did not dry it before printing. As PA is hygroscopic, mechanical properties can vary greatly depending on the drying. Much so that in their technical datasheet, BASF reports double resistance values: 5.7 (XY) and 1.7 kJ/m2 (Z) for dried filament, but "no break" (XY) and 10.1 kJ/M2 for undried ("conditioned") filament. So keep in mind that you can get very different results with PA depending on the drying, and that impact resistance will surprisingly be much higher with undried filament (but at the cost of a much more less stiff part, as samples printed with dried filament are almost 5 times stiffer according to the same datasheet).
Results for PP and TPU
I tested 3 semi-flexible filaments:
- BASF PP (natural)
- Fiberlogy PP (black)
- BASF TPU 64D (white)
(Note that TPU samples were printed with the specific BASF TPU 64D printing profile, but with an accelerated volumetric limit of 3 mm3/s and a 20% fan speed).
Samples printed with these filaments were extremely resistant to impact, and for the first time we get higher resistance than PLA for both XY and Z orientations. However, we trade stiffness for impact resistance here, as all 3 filaments are much more flexible than PLA. In quantitative terms, the elastic modulus of BASF PP is about 500 MPa, BASF TPU 64D is about 200 MPa (and Fiberlogy PP is in-between). This should be compared to moduli in the 2000-3000 MPa range for PLA/ABS/PC. In other words, PP and TPU will be adapted for parts that really have to withstand a lot of impacts (for example protective parts, bumpers and so on), but will probably not be stiff enough for structural parts that must keep their shape under load.
Results for PLA+
Today PLA comes in a multitude of forms, and many brands propose improved PLA, often named "PLA+", "PLA pro", "tough PLA" etc. So I decided to test 2 of these PLA+ filaments:
- Polymaker Polymax PLA (black)
- Polymaker Polylite PLA pro (purple)
I am very glad I did. These filaments were the first to show higher resistance than standard PLA in both XY and Z, while not sacrificing stiffness.
Polymax PLA managed to offer 4x higher resistance than standard PLA in XY, while at the same time attaining about 8.7 kJ/m2 in Z, which is 25% more than standard PLA. Contrary to flex filaments, Polymax PLA has a standard elasticity modulus near 2000 MPa (see data under "material comparison" here), so parts will be stiff *and* impact resistant. The other benefit of PLA+ fillaments is that they remain really easy to print. So we finally have a winner here, that ticks many boxes. Polymaker Polymax PLA is not a cheap filament though, but at least you get what you pay for.
Polymaker Polylite PLA Pro is also pretty interesting, with XY resistance more than twice that of standard PLA, and thus in ABS territory, while simultaneously absorbing 8 kJ/m2 in Z, which is a little better than standard PLA, and much higher than ABS/ASA. Polylite PLA Pro is also cheaper than Polymax PLA, and has very high stiffness near 3000 MPa, so this is another very interesting option for stiff and impact resistant parts.
As PLA+ filaments build upon the already excellent layer adhesion of standard PLA, I am confident that other PLA+ filaments from other brands should perform well. If you have a favorite brand that you would like to get tested, you can contact me at edemargerie@gmail.com, or even better build you own testing bench !
Main Conclusions
Here I summarized the results in a single graph. In a single sentence by filament type :
- standard PLA: basic resistance in XY, but excellent layer adhesion allows Z resistance to be almost as high as XY.
- PETG: as good or better than PLA in XY, but often less resistant than PLA in Z, and too variable results.
- ABS/ASA: high impact resistance in XY, but poor in Z.
- HiPS: high impact resistance in XY, but very poor in Z.
- PC and PA: excellent resistance in XY, but still not quite as resistant as PLA in Z.
- PP and TPU: excellent resistance in both XY and Z, but low stiffness limits applications.
- PLA+: winner, much better than PLA in XY, and also slightly better than PLA in Z.
So, will I print all my parts in modified PLA now ? Yes, it will certainly be my go-to filament, as it is stiff, resistant to impact and easy to print. The main limitation is the limited thermal resistance of PLA-based filaments (about 50°C) which can be a problem for parts exposed to high heat. In this special case, I would probablly go for ABS/ASA if the part is essentially flat, or Polymaker Polymax PC if I need a fair amount of Z resistance. Both these filaments can resist to about 100°C.
Playing With Cooling Fan Speed
After noting that ABS/ASA samples had weak Z impact resistance, I was a bit surprised and thought that maybe my printing conditions were not ideal. The first thing I tried is reducing the fan speed during printing. Indeed, when printing 4 Z samples, because of the small cross section, prusaSlicer adaptive "auto-cooling" kicks in and sets the fan at some level to help cool down the print. Here are the fan speed that prusaSlicer applies when printing 4 Z samples:
- BASF ABS fusion+ (specific printing profile in PrusaSlicer): 20% fan speed
- Dailyfil ABS (generic ABS profile): 15% fan speed
- Prusament ASA (specific profile): 20% fan speed
- Formfutura HiPS (generic HiPS profile): 20% fan speed
- BASF PC-ABS-FR (specific profile): 20% fan speed
- Polymaker polymax PC (specific profile): 0% fan speed
I thought that this auto-cooling feature probably decreased inter-layer adhesion, so I manually set it to 0% instead of the auto 15-20%, and printed a new set of Z samples. Tests show that this usually improved Z impact resistance, but was not a game changer :
- ABS and HiPS Z resistance was improved when printing without cooling, but did not attain PLA Z resistance.
- Prusament ASA did attain PLA Z resistance (7.5 kJ/m2) when printed without cooling, but the print quality deteriorated significantly, with deformed overhangs on the sample base (print quality issues are shown with * on the graph).
- The BASF PC blend followed the same trend, but did not attain PLA Z resistance, nor the Z resistance of Polymaker Polymax PC (which is printed without cooling by default).
Overall this suggests that disabling cooling can clearly improve Z resistance for ABS/ASA/HiPS/PC, but this sometimes comes at a cost in printing quality.
Another similar test was printing BASF PP filament (240°C, 100% cooling by default) with the Fiberlogy PP profile which provide much less cooling (245°C, 25% cooling). This resulted in a spectacular increase in Z resistance, from 13.2 to 28.7 kJ/m2, making the BASF PP the second most Z-resistant filament in my dataset, after TPU (but remember, low stiffness for PP and TPU).
Interestingly, PLA and PLA+ samples are printed by default with 100% fan speed, and despite this the layers merge together very well (probably due to the lower fusion temperature of PLA). I tried to lower cooling of Polymaker Polymax PLA to 50%, but this did not improve Z resistance, which is already excellent with default parameters.
Adding an Enclosure
Using an enclosure around the 3D printer is supposed to increase inter-layer adhesion, so I had to try this, too, at least for a few filaments. I used stiff bubble wrap to construct a temporary enclosure, which increased the ambient temperature from 20-24°C to 34-48°C.
This was not a game changer either:
- Dailyfil ABS was a bit more Z-resistant when printed in an enclosure, and a tiny bit more when also disabling cooling (enclosure - no fan condition on the graph), but this came at the cost of very low print quality.
- Prusament ASA could also benefit somewhat from an enclosure, but this effect did not seem to add up with zero cooling.
- BASF PC blend did benefit quite a bit from an enclosure + no fan, but here again at the cost of very low print quality.
- Polymaker Polymax PC did attain PLA-level Z resistance when printed in an enclosure, without a visible effect on print quality, which is encouraging (keep in min though that my samples were quite simple shapes, with small overhangs).
- Polymaker Polymax PLA remained stable overall, with high Z resistance regardless of the use of an enclosure.
Overall, adding an enclosure, like disabling cooling, was always beneficial, but did not change the fact that in my tests ABS/ASA/PC cannot beat PLA and PLA+ for Z impact resistance. With some filaments (Prusament ASA, Polymax PC), using these printing "tricks" allowed me to equal PLA Z resistance, but never to exceed it.