If you’re interested in 3D printing or CNC milling — or really any kind of fabrication — then duplicating or interfacing with an existing part is probably on your to-do list. The ability to print replacement parts when something breaks is often one of the top selling points of 3D printing. Want some proof? Just take a look at what people made for our Repairs You Can Print contest.
Of course, to do that you need to be able to make an accurate 3D model of the replacement part. That’s fairly straightforward if the part has simple geometry made up of a primitive solid or two. But, what about the more complicated parts you’re likely to come across?
In this article, I’m going to teach you how to reverse engineer and model those parts. Years ago, I worked for a medical device company where the business model was to duplicate out-of-patent medical products. That meant that my entire job was reverse engineering complex precision-made devices as accurately as possible. The goal was to reproduce products that were indistinguishable from the original, and because they were used for things like trauma reconstruction, it was critical that I got it right.
We were reverse engineering parts with features that were too small to be seen by the human eye, so we had some fancy equipment like high-magnification optical comparators. But, for the parts most hobbyists want to make, all you’ll need is a set of digital calipers. Very precise models can cost hundreds of dollars, but basic digital calipers can be found for well under $30—and that’s probably all you need.
Two Important Skills
Why are calipers the only measurement tool you need? Well, the human brain is very bad at estimating lengths with any kind of accuracy. “About 5 inches?” is the best most of us are capable of. So, you need a way to get accurate measurements for reference features. Conversely, however, the human brain is very good at two things: making relative judgments, and making inferences.
This is why you can look at an analog clock without numbers, and still guess the time with pretty good accuracy. It’s why you can look at a glass and say “yup, that’s about half full.” In regards to reverse engineering, it’s why you can look at the picture above and deduce that X is probably 2″ and Y is probably 1″.
This is the most important skill you need to develop for successful reverse engineering. It’s all about making logical deductions from your measurements, based on the fact that the original part was designed by another human. For instance, if you measured a part like the image above, it might come out to 3.99″ instead of 4.00″. You can probably infer that the person who designed intended it to be 4.00″, and that the 0.01″ difference was probably a result of manufacturing tolerances, or a slight error in measurement.
As humans, we like to use nice even numbers when we design parts. Lengths, diameters, and radii are usually round numbers in the design phase. Angles are usually even divisions of 90 degrees—almost always something like 15°, 45°, or 60°. Of course, the caveats here are measurements that either the designer didn’t explicitly specify (like the hypotenuse length of a triangle), or when the designer has to use a specific measurement to interface with another part or has a similar design constraint (like with an injection molded part, where you need a draft angle of 1 or 2 degrees).
When making inferences, you’ll also need to take into account whether the designer was working with metric units or standard units. If you take a measurement with your calipers and it comes out to 0.197″, you might assume it’s due to manufacturing and guess it to be 0.200″. When, in reality your calipers were actually rounding up 0.19685″, which is exactly 5mm.
I use a basic workflow of five steps when reverse engineering a part. As when you’re designing a part from scratch, you should start with a rough shape and add features to make it more detailed.
Step 1: Determine units
Start by asking yourself where the part was made, and more specifically where it was designed. A part originating outside of the United States is probably metric, but what if it was designed by an American company and simply manufactured overseas? Alternatively, what if it was designed overseas, but with the purpose of interfacing with an American product?
Let’s take a look at headphone plugs to illustrate the complexity of this problem. The original standard plug was an American design and the specifications call for a diameter of 1/4″ (6.35mm) on the barrel of the plug. The mini headphone jack, which became popular later and is probably what you have now, is exactly 3.5mm (0.137795″). I can’t find solid information on this, but I assume that’s because it was designed for international standards.
Once you have a hunch about the units being used, try taking some measurements in inches and millimeters on some major features, like the length, width, or diameter of the main body. See which (inches or millimeters) are closer to nice round numbers, while still keeping in mind that manufacturing is never perfect, and they probably won’t be dead on.
Step 2: Important primitives
Start by taking measurements of the main features of the part, and modeling those. It’s best to start with features that would be primitive solids, in order to get an accurate base. You also want your most accurate measurements (which are usually the first ones) to be the “important” features. These are features which affect the functionality of the part, such as where it will mate with another part.
Using the headphone plug as an example again, you can see that the plug barrel is very important to the functionality of the part. It’s what interfaces with the audio output device’s jack, and so it’s critical to get those measurements as accurate as possible. The body of the plug is used for two things: to house the wire connections, and to provide a gripping surface. Neither of those things is especially dependent on accurate dimensions. Therefore, you should start with designing the plug barrel — specifically by beginning with a cylinder based on the overall length of the barrel and its diameter.
Step 3: Unimportant Primitives
Next, it’s a good idea to go ahead and model the rest of the primitives that aren’t as important. The reason you want to do this before getting to the details of the important parts is simply a matter of logistics. It can sometimes be difficult to add major features without a nice “clean” primitive to reference. There are ways around that of course, but it’s usually best to have a complete “rough-in” of your part before you begin with the detail work.
Step 4: Important Details
Now that you’ve got your rough part, it’s time to start adding the important details. This is the most difficult part of the entire process, as those details are hard to measure but are still essential to the functionality of the part.
For this plug, you need to get measurements for each of the two revolved cuts into the primary cylinder that you started with. To do this, you need their diameters (5 and 6), as well as information on their positions (1 and 3) and their widths (the difference between 2 and 1, and the difference between 4 and 3). Why measure from the tip, instead of from the other end? Because the tip is what actually fits into the female jack, so the distance of these features from the tip is more relevant than the distance from the grippy end. You also need to be careful not to stack tolerances — all measurements should be taken from a hard point. That’s because each measurement you take will have a margin of error, and you don’t want those errors to add up.
The tip is next, which presents a problem: how do you measure the angle of the tip? You could use a protractor, but that’s not necessary and could present its own problems. One way would be to measure the distance from the tip to the widest point. But that will give you accuracy issues caused by the rounded tip and the beveled (fillet) edge. There just aren’t any “hard” edges to measure from. Instead, a better way is to make some inferences on the angle and the choices the original designer made. Drawing lines on a photo can be surprisingly helpful, especially if your software has 2D CAD-like measuring capabilities.
Right away, we can see that the angle between the center axis (blue line) and tip slope (green line) looks pretty darn close to 45 degrees. That’s about as round of a number as you can get, and it’s probably safe to assume that was the original design intent. But, did you notice that another problem has come up? The intersection of blue and green lines isn’t at the end of the tip (orange line). This is because instead of having a sharp tip, it was made with a blunt rounded tip. That means that when modeling the tip, you can’t easily use the green/blue intersection as a reference point for the revolved cut.
Instead, you can make the reference the intersection of the green and yellow lines. Now, this is also an imaginary point, as there is no hard edge there. The fillet makes it impossible to get a perfect measurement with calipers. But, it should be a little easier than the tip. Making a 45° revolved cut from there would leave you with a flat tip, which would then be rounded with an edge fillet (the fillet radius matching the radius of the circle of the flat tip).
For the rest of the fillets on the plug, you’re going to have to guess and make inferences. Try some different radii until they match those of the part. Getting this right takes some practice and experience, but it shouldn’t be too hard to get it close. Luckily, the radii of bevels (fillets) and dimensions of cut off edges (chamfers) aren’t integral to the functionality of the plug, because they’re just there for the spring clip to grip. So, it just needs to be close.
Step 5: Unimportant Details
This last step is pretty easy, because it’s not essential that you get it exactly right. On our headphone jack, the “grip” area could be completely different from the original part, and it would still work just fine as long as the wire connectors still fit inside. You can make it look like the original part, or you could take some artistic liberties (like knurling the entire area for better grip).
Now, I’ve obviously simplified the modeling of this particular part. In reality, it’s actually an assembly made up of a few parts to allow internal wire connections, and an electrical connection to the female jack. If you were actually trying to reproduce this jack (a TRS connector specifically), you would have to take it apart and model each part individually. But, hopefully this has given you an idea of the process you would need to use.
What If You Don’t Have Access to the Original Physical Part?
This is a challenge you might tackle if you were trying to reproduce the likeness of a product, or if you’re modeling for purely aesthetic reasons. Maybe you want to 3D print a prop from a movie, or you want to make a reproduction of a rare product you can’t get your hands on. The latter was the case for me when I modeled this Braun SK2 radio. All I had for reference was this photo I found on Google.
So, how do you model an object you don’t have physical access to? Well, most importantly, it wasn’t necessary for it to be exactly right. I wasn’t planning on actually making a physical radio, and even if I was it wouldn’t have needed to interface with any original SK2 parts. All that mattered was that it looked right.
Of course, the goal is always to make it as close as possible. In this case, I started with what I knew: this was a radio designed by Dieter Rams during in his heyday at Braun. At that time especially, Rams was obsessed with simple aesthetics, and so I knew he would have designed this radio with straightforward proportions and only non-frivolous features. Furthermore, Rams is German, so I could safely assume he was using the metric system.
I got a basic sense of scale by looking at the dial and controls in the photo. The dial needs to be readable (probably from arm’s reach), so that gives a minimum size for the radio. The knobs are obviously intended to be manipulated with your fingers, so it’s easy to make some inferences on their size based on that. They couldn’t be too large, so that gives a maximum for the size of the radio.
With a good idea of the general size of the radio in mind, I could come up with the proportions of the body. The height appears to be about 1/2 of the length, or at most 2/3. The depth appears to be between 1/3 and 1/2 of the length. The dial and controls take up 1/2 of the face/speaker grill. Of that half, the dial takes up about 3/4 and the knobs take up 1/4. The holes in the grill are in a square pattern, and so that’s a simple matter of counting how many rows and columns there are. The spaces are close to the same size as the holes, so that tells us the diameter of the holes.
And from there, it was mostly just about making the details look right. It takes a little bit of experimentation to get a good match, but you can always tweak the model as you go. It might not be perfect (you may notice that I got the proportion of the center plastic in the dial wrong), but the idea is make it visually accurate. At the beginning of this article, I mentioned that the human brain is terrible at guessing exact measurements, but good at relative judgments. That’s why it’s best to focus on getting the correct proportions between distinct features.
Working that way should allow you to make convincing reproductions without taking measurements. The more references you can find visually, the more accurate you can make the reproduction. If you were trying to reproduce a movie prop, for example, you could use the entire scene to make relative judgments. You might use the actor’s hands as a reference, or a pen on a table — or really any familiar object that you can use for scale. Take advantage of any other items in the frame to get a better idea of the size of the object you’re trying to model.