Reverse Engineering used to be a dirty word, with copy-cats reproducing designs that other people had spent a lot of time developing. But with product development cycles decreasing and development teams being asked to do more with less, we all are looking for as many shortcuts as we can find without compromising product quality or effectiveness. CAD is a great tool for detailing product designs, but sometimes it can be a lengthy process to develop or recreate an existing design in CAD, or the tools we have aren’t well suited to the task at hand.
Many companies resort to reverse engineering techniques to speed the process along. When I say “reverse engineering techniques”, what exactly am I talking about? First, let’s agree that for the purposes of this article, I’m defining “reverse engineering” as any process that starts from a physical object (or maybe a computer program, or system of disparate components, but here I’m focusing on physical products), and extracts design information from it. In some cases the process is taken all the way to an actual CAD model of a completely engineered product, in others maybe just a 3D point cloud representing a physical object, or possibly even just 2D photographs (and then often the 2D images are used to create 3D data later on).
What are the techniques used in reverse engineering?
Photography. Sometimes we want to recreate something we have only seen visually. Images can be inserted into CAD modelers and used as a reference for sketches and features. You always have to deal with perspective as an optical
attribute of real life, but CAD usually works orthographically, without perspective, which can make precision difficult when working from this kind of data. Still, sometimes a 2D image is all that you need to work from.
Digitizer with physical probe. The next step up from a set of calipers is data from a Faro arm or CMM using spherical probes. This can be helpful in capturing edges, or curves to assist in building a CAD model. Generally you have to use the CAD program to start creating faces or solids from that point, but a physical probe can be a good method to collect this type of 2D data accurately and cost effectively. They can capture points that go directly into a CAD program to establish lines, arcs, centerlines, planes, and so on. If you’re going to wind up creating a traditional CAD model of the product, and its more complicated than something you would otherwise use a set of calipers to measure, a probe on an arm can help you get started with accurate data.
3D optic scanning. 3D optical scanning comes in many varieties, and can range from bargain basement pricing to ultra-premium. There are several factors that might go into deciding to use this kind of option such as the level of precision you need, the size of the scanned objects, if you need fixturing, or scanner portability, or color and texture on the scanned object, the type of output you expect, and the downstream uses of the data you’re collecting.
If you’ve decided on an optical scanner, selecting one is a research project all its own. Many scanners come with some sort of software, and you may need to get dedicated software to help you manipulate the data to suit your needs. You may need to clean it up, or just close up gaps in existing data, or you may need to change the shape or size. Or again, maybe you need a full-on math-based NURBS model to make more changes or add more features.
Optical scanning in particular is extremely sensitive to materials, finishes, angle of incidence, and other factors, so the data can have holes in it where the scanner cannot see the part (such as a belly button, or other occlusion).
Manipulating point cloud data is completely different from manipulating general CAD data, which is built in NURBS math-defined surfaces. Most people reading this blog will be primarily comfortable with the more engineering type operation of editing CAD data. Whether you use history-based or Synchronous Technology to do this is up to you, but if its built from analytical/prismatic shapes, you know I prefer Synchronous ;0). We will come back to dealing with editing various types of point cloud data in a later post. A lot of the topics in this post will be revisited in more detailed posts later on. Can’t wait for that stuff.
Point cloud to NURBS conversion. This requires even more specialized software. To convert from point cloud data to NURBS, there are both interactive and automated tools to do this. Interactive or semi-automated software will require you to select areas of the point cloud to replace with various types of surfaces, and then it becomes a surfacing project, and these surfaces can be added to an existing CAD model, or the CAD model can be built around the surfaces extracted from the point cloud. In any case, strong surfacing skills (and tools) is an absolute requirement for reverse engineering regardless of what route you take.
The purpose of this post is really to just start the discussion about your experiences with reverse engineering. I’m not stating anything new here, but I want to lay the ground work for discussion. I’ve got some interesting interviews lined up from old pros in the reverse engineering process field that I think you’ll find informative an enjoyable.
I’m interested in hearing what you’ve got to say about some of these tools and processes. Please comment liberally.