13-09-2013, 11:52 AM
Reverse Engineering and Part Design
Reverse Engineering .doc (Size: 2.29 MB / Downloads: 54)
Introduction to Reverse Engineering
If you were a cabinet maker restoring a piece of antique furniture, how would you go about duplicating a broken table leg? The cabinet maker would probably make a template of an existing leg and use that template to reproduce a new leg, closely matching the original. You can describe the actions of the cabinet maker as reverse engineering the table leg. So what is Reverse Engineering (RE)?
The US military defines reverse engineering in its Military Handbook MIL-HDBK-115 as “…the process of duplicating an item functionally and dimensionally by physically examining and measuring existing parts to develop the technical data (physical and material characteristics) required…” This definition fits our example of the cabinet maker, where an existing part was measured, a template created and a replica produced.
What if we wanted to create a mold so that we could reproduce a large number of parts or modify the existing part? Then, we would want a description (geometry) of the part we were trying to reproduce. From this geometric description we could create a computer model based on our description. Using the model, we could then create a set of engineering drawings to manufacture the part, or using Computer Aided Manufacturing (CAM) software, create a machine program to manufacture the part.
When we speak of reverse engineering you may think of simply taking apart an existing product to figure out how it works. Today we think of reverse engineering as recreating existing three dimensional geometry in the computer. To reflect this new meaning, the Society of Manufacturing Engineers (SME) defines reverse engineering as “…the process of taking a finished product and reconstructing design data in a format from which new parts or molds can be produced.”
There are three steps to the reverse engineering process: Capture, Convert, and Create. The first step, Capture, describes using some device to collect the raw geometry of the object. This can be accomplished with hand measuring instruments, coordinate measuring machines, or scanning devices. Data is generally collected in the form of x, y, z points relative to some coordinate system. This collection of points is called a point cloud. In the point cloud, the points may or not be in any particular order. Second, the collected data is converted into a usable form using a computer and CADD modeling software. Lastly, the point cloud data is then used to create a model of the part or object. Using the CADD modeling software, the geometry can be created from the point cloud data, Figure 3.1a.
Exploration: Part and Description
Materials: Different lengths of round stock, ball bearings, squared off bar stock, a model aircraft wing, a model car, or other parts. Paper to draw on and some type of writing instrument.
Pair off into groups of two, backs toward one another. One person will describe an object and one will draw the object based on the description. The instructor will hand one of the objects to the person giving the description. So far this sounds easy, but there is a twist. In providing the description, only use words like vertices, lines, edges, circles, and surfaces. You can also use descriptions like, lower left, and upper right, but do not describe the shape of the object.
Dialog: Geometric Modeling
Beginning our journey in reverse engineering we will look at the last step, Create, first. The following sections will focus on how a model is created in a CAD package. In order to understand what data we will need to capture, we must first understand what data the CAD package needs to create a good model and how that model is created.
In the previous exercise you were asked to describe a part using only vertices, edges, faces, circles, and surfaces. You probably encountered some difficulty in performing this exercise. There is some ambiguity in defining an object when the person creating the object cannot see it. To understand the Create phase of reverse engineering, we first need an understanding how a computer defines a geometric model.
Pre-CADD
Before the advent of CADD, part drawings were created by a drafter and placed on a blueprint. A typical drawing would contain three critical views of the part, dimensions, tolerances, and feature specifications. It was up to the operator (manufacturer) to interpret the drawing and visualize what the part would look like in three dimensional space. Sometimes, isometric views were included with the two dimensional views to help in visualization of complicated parts. A two dimensional drawing is much easier interpret if the part or object is not irregular. However, if we are going to draw a swept aircraft wing, it may be more difficult to convey this information in two dimensions.
Going back to the example of the table leg in the introduction. If we were to draw this leg on paper and create a blueprint, it would be very difficult to convey the geometry of the leg in simple terms. Computers deal with information such as points, lines, solids, and surfaces. When we draw in two dimensions in an CAD package, the software does not store the relationships between the different drawing entities. With the use of computers, CADD software developers needed to develop a scheme for representing and verifying the three dimensional geometric data in the computer.
NURBS Surface
NURBS stands for Non-Uniform Rational B-Splines. These surfaces use rational B-splines, but also include a weighting value for each point. This weighting allows some points to have a greater influence over the surface shape than other points. This allows NURBS surfaces to create a greater variety of free-form surfaces and is the primary methods for surface creation in reverse engineering software.
Surface models are a sophisticated tool for representing “organic” or non-uniform surfaces; however, they are lacking in two key areas. First, surface modelers have no guarantee in the creation of a solid. That is, they only define the outside of a model, not the inside. The creation of a solid object is very important when using reverse engineering software to interface with a CAD/CAM package to output or modify the part. Second, surface properties, such as volume, cannot be easily calculated.
Solid Models
To resolve the problems associated with wire-frame and surface models, a system was developed to create 3 dimensional solid representations in the computer by combining and editing a set of primitive geometric shapes. The most common geometric primitives used in solid modeling are the cube, rectangular prism, the triangular prism, the sphere, a cone, a torus, and a cylinder.
Boundary Representation (BREP)
BREP solids consist of entering all bounding edges for all surfaces. Edges and faces must be entered in such a way that they create valid volumes. BREP storage also takes into consideration surface normal directions, face attributes, dimensions, and part topology. The BREP explicitly defines an orientation to the surface, there is an inside and an outside.
BREP models are built using Euler operations. Euler operations were created by Leonard Euler in the 18th century. The Euler formula defines a solid by its faces (F), edges (E), and vertices(V).
Exploration: Interfaces and Conversions
In the preceding section we discussed different methods in which 3D models are created in a CADD packages. However, not all CAD software use the same “language.” Because of this, there needed to be a neutral format that different systems can “talk” to one another and accurately relay all of the geometric and topological information of a part or drawing. This would allow companies with different CAD software to transfer a drawing electronically so that it can be easily modified. More importantly, a neutral format for transferring geometric and topological model information helps make reverse engineering possible. There has to be some way to move the Capture, Convert, and Create data from one device to the next, and this is accomplished by using one of three formats, ASCII, IGES, and STEP. For this exploration, devise a system to describe the geometry of the following entities that can be used by anyone to recreate the correct shape. You can use a system, like Boundary Representation, where objects are described by their faces, edges, and vertices, or another system of your own. Remember to make sure that you can draw each object using a Cartesian coordinate system.
IGES
The need for data exchange of design and process information has been known and explored for the last thirty years. The recognized need for an exchange began in the US with a contract issued from the US Air Force issued to develop standards for communication and representation of product data that could be translated by any commercial or proprietary CAD/CAM software. The initial standard was named Initial Graphics Exchange Specification or IGES. IGES defined a neutral data format for exchange of Computer Aided Design (CAD) information between otherwise incompatible systems. The data is exchanged via the use of programs called translators. Translators convert the two and three-dimensional CAD data from one system to the neutral data format of IGES. Then another CAD system can take the IGES file and by the use of a translator, convert the IGES data into that system.
STEP
The United Nations, in an effort to facilitate global commerce, charged the International Organization for Standardization (ISO) to develop one comprehensive standard for the exchange of product data. Therefore, ISO 10303-Industrial automation systems and integration-Product data representation exchange was created. The international standard became know as STEP or the Standard for the Exchange of Product model data. The United States effort toward this development is know as Product Data Exchange using STEP or PDES and is a voluntary activity being coordinated by the National Institute of Standards and Technology (NIST).
The basic structure of STEP is organized as a multi-part standard. The standard is made up of series of parts that were developed and published separately. These parts are broken up into five main categories: description methods, implementation and conformance methodology, common resources, abstracts test suites, and application protocols. The following is a summary of the STEP parts.
Descriptive Methods
This section is the documentation portion of the standard. The section includes the Overview and definitions that are used in the standard. More importantly, is the inclusion of the documentation of the EXPRESS language. The EXPRESS language is the data modeling language that is the heart of STEP. The use of formal data language allows for a consistent representation of the data. This neutral format is a critical goal of the STEP project.
Implementation and Conformance Methodology
The implementation section is simply a group of methodologies discussing translating the EXPRESS language to other software languages such as C++, Java, etc. The conformance methodology describes the ways to develop testing for software compliance to the STEP standard.