Like many other areas of manufacturing, it is easy to be dazzled by the “latest and greatest” technology and so overlook simpler, cheaper options that might be more suitable for a particular need. Many people think reverse engineering means high-accuracy scanning using expensive laser-based measuring devices and specialist software to convert the scanned data into 3-D CAD models. Such sophisticated equipment is not always needed, with much depending on the complexity of the geometry involved, on the level of accuracy required and on the intended use of the finished model.

A simple solution for simple geometry

A key consideration when comparing both equipment and software is often the number of data points that can be handled. However, this mass of data may be more of a hindrance than a help when recreating parts that are largely made up of prismatic geometry, such as cubes, spheres, bosses and slots. In these cases, a more practical solution may be a simple measuring arm equipped with a point probe and some standard CAD software. By collecting discrete points from the main features of the design, plus key curves or lines, the user can very quickly acquire sufficient data to be able to re-build the part.

The points can be used to create simple geometric entities, such as arcs and lines, or to create complex wireframe geometry. The resultant wireframe can then be converted into a fully-surfaced CAD model. Although this method of data capture requires care in choosing the exact points on which to base the design, and some knowledge of 3-D CAD, the low cost and the portability of these devices makes them an attractive choice. Accuracy is not a major issue since it is easy to round up or down any measurements in the CAD system to the values that the designer of the original part would have intended.


The traditional meaning of reverse engineering has been simply to make direct copies of a physical part, possibly to a different scale, using either 3-D printing or machining.

For this type of application, minimal processing of the data may be necessary.

More often than not, a direct replacement is not the objective and some degree of re-engineering
is needed.

Feature-rich geometry

The next degree of complexity could be described as “feature-rich geometry.” These designs appear to be much more complex because they are made up of many more features. However, each of those individual features is a relatively simple shape. In these cases, laser-scanning devices will allow details of the geometry to be collected much more rapidly than a probe. Software can then be used to segment the overall mesh of data automatically. The software interrogates the triangle mesh to isolate areas that can be represented by primitive shapes such as planes, cones, cylinders, revolves and extrusions, and places the appropriate geometry in position. Tolerances can be set so that the software will ignore any small discrepancies in the data collected; for example, it will still create planes in areas that are not perfectly flat.

Once all of these primitive shapes have been extracted, the user can then use conventional CDA modeling techniques to merge, join or subtract the different pieces to re-create the complete design. As before, it is relatively easy to modify dimensions to those that the designer would have intended. It is also easy to create fillets and blends between the various shapes. These elements often need to be recreated during reverse engineering because it is difficult to capture exactly a fillet of a consistent radius with any scanning device.

Non-prismatic geometry

The third level of difficulty covers models that are geometrically complex, such that they cannot be fitted with primitive shapes, or that include some regions of this type. For this type of application, re-fitting the scanned data with a network of ‘shrink-wrapped’ NURB surfaces is the simplest approach and there are several software programs that can do this automatically. An alternative technique, which is not as automatic but which gives the user more control over the shape, is to create wireframe from cross sections through the mesh and then use the wireframe to create surfaces. In some cases, though, limitations in the solid modeling tools available make it impossible, or at least very difficult and time-consuming, to create a perfect solid model from a collection of surfaces.

Choosing the scanner

The choice of type of scanner hinges on the required accuracy, and the intended application. As mentioned above, a simple measuring arm can often be adequate when capturing data from prismatic shapes. For more complex designs, high-end laser systems can provide an accuracy of better than 100 microns, but carry a price tag to match. Such devices are commonly used in high-value industries such as aerospace and automotive engineering, but are well above the budget of many organizations.

For users seeking a more cost-effective solution, there are several white-light scanning systems available. Although limited in accuracy, typically to about 1% of the object size, these systems are capable of producing an STL model that can be used by almost any reverse engineering software.

Reverse engineering or re-engineering

The traditional meaning of reverse engineering has been simply to make direct copies of a physical part, possibly to a different scale, using either 3-D printing or machining. For this type of application, minimal processing of the data may be necessary as most 3-D printing equipment will accept STL data, while many CAM systems can make high-accuracy toolpaths, even for five-axis machining, directly from triangle data. If a CAD model is required and the shape is fairly complex, re-fitting the scanned data with NURB surfaces is the simplest approach. The downside of shrink-wrapping is that the resulting model is extremely difficult to edit—making any kind of change, for example, to ensure that the part can be molded or cast, virtually impossible in many cases. A good example of this problem would be a cylindrical boss. In order to mold or cast the part, that boss would actually need to be a cone, not a cylinder.

More often than not, a direct replacement is not the objective and some degree of re-engineering is needed. For example, the original part may have become damaged, worn or broken so the last thing the user wants to do is simply to copy it. In other cases, the user might want to develop an improved design or make a modification, for example, when adjusting medical devices for a particular patient or sports equipment for an individual player.

In these cases, the intention is not to reproduce the shape of the existing physical part but to achieve a 3-D CAD model which is as close as possible to the original shape that the designer intended. For this type of application it is more important to be able to extract key features of the part and apply common sense engineering to round the dimensions up or down to sensible values. Slices taken through a scanned model will inevitably have ‘noise’ as a result of surface defects or from any inaccuracies in the scanning process. Therefore, a section through a 100 mm diameter hole will never yield a perfect circle of diameter 100 mm, even though it is obvious that was what the designer had in mind.

A re-engineering system must not simply capture data but must also have construction and editing tools that assist the user in creating a full 3-D model complete with feature history. Being able to create the full history allows the user to modify the part quickly and simply, for example to create a new variant of the design. However, depending on how the feature history has been re-created, editing a part to ensure that it can be manufactured efficiently can become challenging and cumbersome.

For all of the reasons outlined above, it is not uncommon for organizations that use reverse engineering regularly to have to employ multiple software tools, depending on what they need to achieve with each project. In many cases, the reverse engineering software is used simply as a front-end to give users a model good enough to take into their main CAD system for completion of the design. This means that engineers often need to learn multiple systems, increasing training costs in addition to the extra cost of the software itself.

Over the past year or two a new generation of re-engineering solutions has emerged that use a variety of modeling tools, rather than just solid or surface features to re-capture the design intent behind 3-D parts. These systems are fast, powerful, flexible and, above all, extremely easy to use. They include the latest direct modeling tools that allow the user to make manufacturing changes, such as adding draft to faces that will be molded or cast, simply by pulling or twisting the relevant section of the model. All adjacent faces, including fillets, are re-blended automatically to maintain the integrity of the solid. Unfortunately, even the very best direct-modeling kernels cannot cope with every geometric condition, and will occasionally produce undesirable, or at least unexpected, results. It is, therefore, necessary for the software to also include more traditional surface or solid modeling techniques.


So, which solution is right for you? With respect to the hardware, most of the decisions will be based on a combination of cost and required accuracy. The higher the precision you need, the more you will need to pay.

 The software choice is not so straightforward. Do you want software that creates shrink-wrapped parts that are a perfect replica but difficult to edit? Or history based models that can become difficult to manage without careful pre-planning? Or a direct modeling approach that can create a model that becomes too unstable to use? Or would a better solution be a single program that combines automated mesh segmentation, powerful wireframe construction, history-based solid modeling, direct modeling and surface modeling, all in a single program? And what if this same program could be used with virtually any measuring hardware, including laser scanners, portable measuring arms, and white-light scanners? Wouldn’t that be great?