J. Peterson's Writing About Electronics, Reviews, 3D Modeling, etc.

The Fit Testing Block

Fantasy version of the fit testing set, milled to the micron in stainless steel

How Accurate is Your 3D Print?
I Tested Nine Services to Find Out

Updated Nov 2021 to add PCBWay prints.
Updated Sep 2023 to add InkBit3D prints.

Decades ago, if you wanted to create your own printed circuit board, you had to make it yourself. This was quite involved – you bought a copper plated blank board, created the circuit patterns on it with resist (tape, rub-on patterns, or Sharpie), then dunked it in noxious chemicals to etch the unmarked copper away. It was also up to you to drill the holes. Then you tracked down problems because too much (or not enough) copper was dissolved, opening or shorting your circuits. It was messy, tedious and frustrating.

Here in the future, all those problems are solved. You design the board in a CAD program, then the Internet whisks the design to a far-off fabrication house. A few weeks later your boards arrive, perfectly manufactured with solder masks, silk-screen markings, plated through holes – things you’ll never get making them at home. 

I do some amount of 3D printing, but I have no desire to own a 3D printer. Running your own 3D printer still feels like those early days of homemade circuit boards. The tedious details of bed leveling and heating, getting the model to stick in place, support sprues, filament moisture content, speed settings all have to be carefully looked after to get good results. I prefer the modern circuit board model for 3D prints – send the model off to a factory with equipment and materials you’ll never afford, and get your polished results back in the mail.

When I started ordering 3D prints, I had a basic question: when designing two parts that fit together, how much space do you need to leave between them to fit properly? To research this, I designed a set of fit-testing sets and printed them with various processes to see what sort of tolerances are necessary. So far I’ve tried nine different prints, and (unlike circuit boards) the results vary considerably.

The fit testing sets consist of two parts, a pair of pegs, each with round and square ends. One peg has 5mm ends, the other is 10mm. The other component is a block with a range of holes of different sizes to test fit each peg. Printing these and testing which hole each peg fits in helps to determine how much extra margin your design needs to have parts fit together well. For example, if the peg fits comfortably in the +0.2mm hole, that means you’d better leave a 0.2mm gap in your design for the parts to work smoothly.

The first blocks I made ranged from -9.85 to 10.15 (in increments of 0.05mm) for the large holes, and -4.875 to 5.125 (with 0.025mm steps) for the small ones. I quickly discovered this wasn’t enough range for coarser printing processes, so I created additional blocks with wider ranges of 9.7 to 10.3 (9.75 to 10.25) and 0 to 0.6 (0 to 0.5). These doubled the increment steps of the previous blocks, from 0.05 / 0.025 mm to 0.1 / 0.05.

The last block works well for the coarsest printing technologies, and is the best place to start for basic FDM (fused deposition modelling) printers. The rendering above also shows some quarter-step peg sets I modeled for even more precise tests, but you won’t need those anywhere outside of a Swiss watch factory.

Over the past few years I’ve printed blocks and pegs with a number of different services, to get a feel for the accuracy and tolerances of each. Read on for a review of what I discovered.

Process Variations

Keep in mind that even with the same material and vendor, your experiences may still vary. A story: I printed a Slideways Cube puzzle with Shapeways regular plastic, using the 0.1mm tolerance (0.2mm gap between pieces) I’d determined for this material with the fit-testing block. The first one I got back fit together perfectly. I made another, but this time Shapeways didn’t provide the smooth polished surface I requested, so the pieces required some light sanding before working together smoothly.

Different surface quality variations (pieces are about 6cm across)

Since they hadn’t provided the smooth finished I requested, I asked Shapeways to re-make the puzzle. They did, but for some bizarre reason they made each of the three pieces a week apart, each arriving in a separate shipment. The fit was a disaster, and required serious amounts of sanding before they fit together. Because the pieces were made at different times, I suspect changes in machines or settings exaggerated the differences between the pieces.

The Sample Prints

Below is a set of brief reviews for each of the peg & block sets I’ve printed using a variety of services and materials. For each print, I’ve collected the following data:

  • The Date is when I ordered the print, and the price is the cost for a block, 10mm & 5mm pegs, and shipping at the time I purchased the print. As you’ll see from the dates, I’ve been doing this over a period of years. Note several samples were ordered from 3D Hubs, back when it was an “Uber for 3D printers” service. Sadly, they discontinued this business. At the time it was a great way to try out various printing technologies.
  • The Fit 10mm □ / ○ and Fit 5mm □ / ○ are the holes in the block the corresponding round / square pegs fit into. By “fit”, I mean the peg easily slides in without any significant force. This gives a basic idea of the printing margins you’ll need to create parts that fit together.
  • Overall dim is the difference, length ✕ width ✕ height, between the measured size of the block and its CAD specification. Note this is approximate – with some processes, it’s not unusual to see variation in height or width from one end of the block to another.
  • Large □ hole, Large □ peg, Small □ peg, are the differences (width ✕ height) between the 10mm square hole, the 10mm square peg and the small (5mm) peg, and the actual specification.

All measurements were made with the same pair of Mitutoyo calipers, with a rated accuracy of 0.02mm. And don’t forget, your experience with a given process may well be different – re-read my story about the puzzle pieces.

I’ve provided close-up photos of each sample, to provide a sense of the fit and finish you can expect. For scale, remember the larger holes are 10mm (0.4″) across.

Dirty SLA

Dirty SLA is a service out of China, producing one of the best sets I got back. Very smooth finish, very close fit. I recommend paying extra for the tracked shipping, as I’ve had shipments lost with the less expensive methods. This uses a Stereo lithography (SLA) process, where a liquid resin is hardened by exposure to a precisely positioned laser beam.

Print DatePriceFit 10mm / Fit 5mm /
Nov 2017$50.00 -0.05 / -0.05-0.075 / -0.05
Overall dimLarge holeLarge pegSmall peg
0.21 ✕ 0.13 ✕ 00.13 ✕ 0.12-0.06 ✕ -0.02-0.02 ✕ -0.05

Shapeways standard plastic

Shapeways plastic is my typical “go to” for getting parts made; the turn-around time is reasonable and prints are available in a variety of colors (done as a dye post-process) and finishes. It’s relatively accurate, but not quite as close as Dirty SLA. For the quality, the price is very reasonable.

Print DatePriceFit 10mm / Fit 5mm /
23-Nov-2017$32.050.15 / 0.050.2 / 0.2
Overall dimLarge holeLarge pegSmall peg
0.12 ✕ -0.02 ✕ 0.10-0.05 ✕ -0.06-0.02 ✕ 00.11 ✕ 0.07

HP Jet Fusion 4200

The HP Jet Fusion process is somewhat similar to laser sintering, but relies on special fusion materials printed into the plastic medium. I used the 3D Hubs service to order the print. While the feel of the plastic is solid and looks good, the 10mm pegs only fit in the 0.6mm hole in my print – quite a margin.

Print DatePriceFit 10mm / Fit 5mm /
6-July-2017$84.840.6 / 0.60.5 / 0.45
Overall dimLarge holeLarge pegSmall peg
0.56 ✕ 0.12 ✕ 0.190.07 ✕ -0.060.38 ✕ 0.030.25 ✕ 0

Form 2 Standard Resin, 50 μm

The Form-2 has high definition, but the 10mm peg still requires an extra 0.4mm to fit. I obtained this print via the (now discontinued) 3D Hubs service. This is an SLA process. The print has a slight “gummy” feel to it, making it less appropriate for prints that need to be handled a lot or put under load (indeed, one of the prints I got back was wrapped in tissue paper, which stuck to the plastic and couldn’t be completely removed).

Print DatePriceFit 10mm / Fit 5mm /
1-Jan-2017$27.810.4 / 0.40.2 / 0.35
Overall dimLarge holeLarge pegSmall peg
0.5 ✕ 0.0 ✕ 0.15-0.27 ✕ -0.250.28 ✕ 0.240.18 ✕ 0.17

Sculpteo Nylon PA12

This was printed in Sculpteo‘s SLS (Selective Laser Sintering) Nylon. For some reason, it has the worst text rendition of any of the blocks I printed with an SLS process. Something to keep in mind if your print uses that.

Print DatePriceFit 10mm / Fit 5mm /
16-May-2018$56.290.3 / 0.30.35 / 0.40
Overall dimLarge holeLarge pegSmall peg
0.12 ✕ 0.0 ✕ 0.14-0.14 ✕ – 0.100.05 ✕ 0.070.03 ✕ 0.06

Flash Forge Creator Pro

This print, obtained via 3D Hubs, is probably typical of what you’d expect to get from a mid-range FDM (Fused Deposition Modelling) printer you’d have at home. This was done at the 200 μM setting.

Print DatePriceFit 10mm / Fit 5mm /
Feb 2018$31.780.4 / 0.60.5 / 0.5
Overall dimLarge holeLarge pegSmall peg
-0.5 ✕ -0.5 ✕ -0.02-0.4 ✕ -0.4-0.07 ✕ .150.01 ✕ 0.21

Xometry – Ivory Solid ABS M30

Like the Flash Forge print, this is ABS FDM output. It’s similar to what you’d get with a high-end personal 3D printer. Note the peg fits are estimates, because I didn’t print the x2 block. The cost is high given the mediocre quality of the print.

Print DatePriceFit 10mm / Fit 5mm /
28-Oct-2016$95.680.5? / 0.5?0.5? / 0.5?
Overall dimLarge holeLarge pegSmall peg
0.02 ✕ -0.05 ✕ 0.250 ✕ -0.010.15 ✕ 0.080.24 ✕ 0.14

Shapeways Steel (Gold Plated)

The same SLS process used for nylon also works for metals, and Shapeways offers a variety of metal prints in this process. For their steel prints, the gold plating wasn’t much extra, so I added it. Unfortunately, the metal tends to distort significantly, and the accuracy is less than the plastic prints. Note how the overall length shrank by 2 to 3mm in these prints. Likewise, the variations in prints can be quite high. Since the gold plating on the first print I made was off, I had Shapeways re-make it. The second print was significantly different than the first – that’s why two sets of stats are provided for this print.

Print DatePriceFit 10mm / Fit 5mm /
20-Mar-2018$228.180.2 / 0.20.2 / 0.2
Overall dimLarge holeLarge pegSmall peg
-2.26 ✕ 0.8 ✕ -0.15-0.26 ✕ -0.22-0.25 ✕ -0.11-0.10 ✕ 0.05
Print DatePriceFit 10mm / Fit 5mm /
20-Apr-2018N/A0.4 / 0.4 ?0.4 / 0.4 ?
Overall dimLarge holeLarge pegSmall peg
-2.94 ✕ -1.39 ✕ -0.25-0.43 ✕ -0.30N/AN/A

Shapeways Smooth Fine-detail Plastic

This is a smooth, well finished acrylate-based plastic produced by an SLA process. It’s mostly translucent, but I noticed some white splotches on the bottom side of the print. Shapeways also refers to this as “Accura 60”

Print DatePriceFit 10mm / Fit 5mm /
20-Oct-2019$69.000.1 / 0.10.075 / 0.1
Overall dimLarge holeLarge pegSmall peg
-0.03 ✕ 0.14 ✕ 0.050.07 ✕ -0.030.02 ✕ 0.060.03 ✕ 0.04

Shapeways Accura® Xtreme™ 200

This is very similar to Shapeway’s Accura 60 plastic above, except it has a milky white finish…and costs nearly three times as much. It is slightly more accurate, but unless you really want the white finish, I’d save the money and stick with their cheaper SLA plastic, or go with Dirty SLA.

Print DatePriceFit 10mm / Fit 5mm /
20-Oct-2019$213.000.05 / 0.050.05 / 0.1
Overall dimLarge holeLarge pegSmall peg
-0.11 ✕ -0.08 ✕ 0.060.01 ✕ 0-0.04 ✕ -0.03-0.02 ✕ -0.02

PCBWay Transparent Resin UTR-8100

This clear plastic print from PCBWay came out beautiful. Details are sharp and crisp, and the finish is excellent, just like a precision molded part. For parts to fit, a gap of 0.2 – 0.25 is needed.

Print DatePriceFit 10mm / Fit 5mm /
22-May-2021$35.000.02 / 0.030.25 / 0.25
Overall dimLarge holeLarge pegSmall peg
+0.31 ✕ +0.02 ✕ -0.150.04 ✕ 0.050.08 ✕ 0.07+0.17 ✕ +0.15

PCBWay Standard White Resin UTR-3100

For an inexpensive print, this came out great. Almost perfect fit, and details are very crisp.

Print DatePriceFit 10mm / Fit 5mm /
22-May-2021$10.00-0.05 / 0.00-0.05 / 0.0
Overall dimLarge holeLarge pegSmall peg
+0.05 ✕ +0.02 ✕ -0.150.34 ✕ 0.20-0.04 ✕ 0.03+0.07 ✕ -0.04

InkBit3D – Titan Epoxy 85

I discovered InkBit3D at the SIGGRAPH 2023 conference in Los Angeles. I was very impressed with the samples they had at the conference, so I requested a sample print of the Fit Testing block via their web site. They graciously sent two Fit Block sets printed with their process. The first is in their “Titan” Epoxy, the second was in Vulcan Soft Elastomer 30. The dimensional accuracy and detail on the Epoxy print is one of the best. The surface of the Epoxy print is a bit rough; I suspect if it was finished smooth the parts would be even more accurate. Keep in mind my calipers are only guarantied to ±0.02mm accuracy. I haven’t measured the Elastomer print, simply because it’s hard to get an accurate read with my calipers on a squishy material. This is one of the only prints able to resolve the tiny “jp” logo on the end of the 5mm square peg.

Print DatePriceFit 10mm / Fit 5mm /
24-Aug-2023$104.100.15 / 0.050.050 / 0.025
Overall dimLarge holeLarge pegSmall peg
+0.13 ✕ +0.09 ✕ +0.040.03 ✕ 0.060.04 ✕ 0.06+0.02 ✕ +0.04

Test Your Own Process

I’ve posted STL files for the pegs and blocks on Thingiverse. There are three different blocks:

The original block I designed has
holes ranging from -0.15 to +0.15
of the 10mm base. Except for the
most precise processes, this is too
narrow a range.
The X2 block extends the range
from -0.3mm to +0.3mm. Very few
processes actually need the
negative holes.
The Plus block goes from
0 to +0.6mm. Start here for most
FDM printers.

I’m interested to hear what your experiences are with various processes – feel free to leave them in the comments.

Leave a Reply

Your email address will not be published. Required fields are marked *