The term “reverse engineering” includes any activity you do to determine how a product works, or to learn the ideas and technology that were originally used to develop the product. Reverse engineering is a systematic approach for analyzing the design of existing devices or systems. You can use it either to study the design process, or as an initial step in the redesign process, in order to do any of the following:
Before you decide to re-engineer a component, be sure to make every effort to obtain existing technical data. For example, you can proceed with reverse engineering if replacement parts are required and the associated technical data is either lost, destroyed, non-existent, proprietary, or incomplete.
Reverse engineering may also be necessary if alternative methods of obtaining technical data are more costly than the actual reverse engineering process. Generally, many products are protected by copyrights and patents. Patents are the stronger protection against copying since they protect the ideas behind the functioning of a new product, whereas a copyright protects only its look and shape. Often a patent is no more than a warning sign to a competitor to discourage competition. If there is merit in an idea, a competitor will do one of the following:
Consider the following ethical uses involved in reverse engineering:
Reverse engineering initiates the redesign process, wherein a product is observed, disassembled, analyzed, tested, “experienced,” and documented in terms of its functionality, form, physical principles, manufacturability, and ability to be assembled. The intent of the reverse engineering process is to fully understand and represent the current instantiation of a product.
Example of Reverse Engineering
A typical workflow in reverse engineering could involve scanning an object and recreating it. These steps are illustrated below.
![]() |
Step 1: A cloud of points taken from scanned data using a digitizer such as a laser scanner, computed tomography, or faro arms. |
![]() |
Step 2: Convert the point cloud to a polygonal model. The resultant mesh is cleaned up, smoothed, and sculpted to the required shape and accuracy. |
![]() |
Step 3: Draw or create curves on the mesh using automated tools such as feature detection tools or dynamic templates. |
![]() |
Step 4: Create a restructured spring mesh using semiautomatic tools. |
![]() |
Step 5: Fit NURBS surfaces using surface fitting and editing tools. |
![]() |
Step 6: Export the resulting final NURBS surface that satisfies accuracy and smoothness requirements to a CAD package for generating tool paths for machining. |
![]() |
Step 7: Manufacture and analyze the part for physical, thermal, and electrical properties. |