Reverse Engineering on Mechanical Parts

Download Full-Text PDF Cite this Publication

Text Only Version

Reverse Engineering on Mechanical Parts

N. Rajaa

Dept of Mechanical-Pits

A. Janet

Assistant Professor Dept of Mechanical-Pits

Abstract:- Reverse engineering of mechanical parts requires extraction of information about an instance of a particular part sufficient to replicate the part using appropriate manufacturing techniques. This is important in a wide variety of situations, since functional CAD models are often unusual and unavailable for parts which must be duplicated or modified. Computer vision techniques applied to three- dimensional (3-D) data ac- quire design on contact, 3- Dpositiondigitizershavethepotential for significantly aiding the process. Serious challenges must be overcome, however, if sufficient accuracy is to be obtained and if models produced from sensed data are to be truly useful for manufacturing operations. This paper describes a prototype of a reverse engineering system which uses manufacturing features as geometric primitives. This approach has two advantages over current practice. The resulting models can be directly imported into feature-based CAD systems without loss of the semantics and topological information inherent in feature- based representations. In addition, the feature-based approach facilitates methods capable of producing highly accurate models , even when the original 3-D sensor data has substantial errors

index terms feature-based cad, reverse engineering, surface fitting.


CAD MODELS are often unavailable or unusable for parts which must be duplicated or modified. This is a particular problem for long life cycle systems for which spare part inventories have been exhausted and original supplier sare unable or unwilling to provide custom manufacturing runs of spare parts at affordable prices and in a timely manner. For many parts, either CAD systems were not used in the original design or the documentation on the original design is other wise inadequate or unavailable. For a variety of reasons, CAD models, even when they exist, may not be sufficient to support modification or manufacturing using modern methods. Finally, shop floor changes to the original design may mean that the original CAD model no longer accurately reflects the geometry of the part. Reverse engineering techniques can be Manuscript received February 18, 1997; revised October 3, 1998.This work was supported by the Advanced Research Projects Agency under Army Research Office Grant DAAH04-93-G-0420. This paper was recommended for publication by Associate Editor A. Kusiak and Editor V. Lumelsky upon evaluation of the reviewerscomments.

W. B. Thompson, H. J. de St. Germain, and T. C. Henderson are with the Department of Computer Science, University of Utah, Salt Lake City, UT 84112 USA.

J. C. Owen was with the University of Utah, Salt Lake City, UT 84112

USA. He is now with Red Storm Entertainment,

Morrisville, NC 27560 USA.

S. R. Stark, Jr., was with the University of Utah, Salt Lake City, UT 84112

USA. He is now with Orbtek, Inc., Salt Lake City, UT 84115 USA.

used to create CAD models of a part based on sensed data acquired using three-dimensional (3-D) position digitization techniques [1]. Part-to-CAD reverse engineering produces models which allow up to date NC fabrication and facilitate design modification. Successful instances include everything from sporting goods to aircraft parts.

Reverse engineering of solid objects traces its roots back to the pantograph, which uses a mechanical linkage to duplicate arbitrary geometric shapes at any predetermined scale. Copy lathes and mills are more contemporary and automated ver- sions of the pantograph. In a copy lathe, a mechanical stylus is moved along a template specifying a 1-D profile. The position of the cutter is adjusted based on this template, producing a revolute object with the same profile. A copy mill typically moves a stylus over a surface, using the height of the surface to set the -axis in a three-axis mill, thus making a copy of the original object. Several vendors have produced copy mills which use noncontact sensors. These systems have the added advantage of storing the sensed profile, so that an object can be duplicated many times without repeated scanning.

Copy lathes and mills duplicate a physical part without producing any intermediate model of the geometry of the part, other than stylus position or 3-D points acquired with a noncontact sensor. While some can produce NC code capable of driving other lathes and mills, none can produce a CAD model of an existing part. Such models are desirable for a number of reasons. Modifications to the part cannot easily be done at the level of NC code. Even if the part is to be duplicated as is, refixturing and hidden concavities often lead to situations in which multiple scans of an objects shape must be combined into a single, consistent representation. Some shape properties such as deep holes will not be accurately measured by either mechanical styliornon contact sensors.

The most straightforward approach to generating a reverse engineered geometric model of a mechanical part involves a designer or engineer making measurements using traditional devices such as calipers and gauges and entering the results into a standard CAD system. When high precision is required, contact coordinate measuring machines (CMMs) are often used. Positional accuracy on the order of 3 m locally and 14 m corner to corner is possible, but sensing of a large number of points is extremely slow and expensive

damage can be done if the probe is not maneuvered toward the object along an appropriate path. More recently, noncontact CMMs produced by companies such as Cyberware, Digibotics, and Laser Designs have significantly increased the speed with

which data can be collected. These devices project a spot or line of light and use triangulation to determine range. While less accurate than contact CMMs, the best are capable of positional accuracy exceeding 50 m. Nonoptimal surface properties can degrade this, while deep concavities, discontin- uous surface orientation, surface geometries forcing oblique viewing angles, or outright occlusion will cause data to be missing entirely. (See [2] for methods which position sensors in ways that minimize these effects.) For comparison, com- monly available NC milling machines can achieve precisions of 210 m for hole and bore spacings and can produce cutting accuracies on the order of 50250 m depending on the feature being cut and the tool being used, though special measures can be used to obtain higherprecision.

Many of the commercially available systems for the reverse engineering of mechanical parts using automatically acquired 3-D position data use rather unsophisticated geometricmodels. Often, a digitizer is moved along parallel scanning paths and NC code is generated to move a cutter along the same 3-D path. In effect, no model other than the raw scan data is used, though preprocessing to remove noisy data points, align scan lines from multiple scans, etc., is usually necessary. More recently, techniques have been developed for fitting parametric surface patches to 3-D position data [3]. The geometric primitives that are used range from simple planes and cylinders [4] to piecewise smooth surface parametric sur- face patches [5][7]. Sometimes, triangulated meshes are used as an intermediate representation [8][13]. Several software surfacing packages, including Image ware Surface, Parametric Pro/SCAN-TOOLS, and Cyber ware Cyserf, have recently be- come available. These packages fit spline patches to raw data points and format the result for importtion of the surfaces into commercial CAD systems.

Models acquired in any of these ways represent the as- measured geometry of the sample part. Substantial manual intervention is still required in order to convert these models into CAD descriptions of the original design intent [1]. In addition, the collection of surface patches that result from the methods cited above often fail to satisfy the constraints required by topologically valid B- reps of solid objects, requir- ing additional manual editing of the models. Together, these two steps often account for a major portion of the expense in producing usable reverse engineered CAD models.

The current practice of Creating models by fitting generic surface patches to scanned data is most appropriate for parts consisting largely of sculptured surfaces.

Representing geom-etry in terms of surface points or collections of parametric sur-face patches is adequate to describe positional information, but cannot capture any of the higher level structure

oftheobject.Itisthusquitedifficulttomakemodificationsorto generateefficient and effective process plans automatically. For exam-ple, these representations might be able to capture the shape of a hole, but the fact that it is actually a true, cylindrical hole is not made explicit. As a result, it can be difficult foradesignertodosomethingassimpleaschangethediameter ofthehole.Modificationofmorecomplexfeaturesisevenmor edifficult.The nature of the design process and the various technologies for creating manufactured parts limit the geometries commonly found on such parts. For example, a large portion of milled parts consist of planar surfaces containing -D featuressuchasholes,pockets,bosses,andthelike.

In this paper, we describe an alternate approach for effi- ciently creating a CAD model of a part with a significant num- ber of such specialized manufacturing features. The system is interactive, since some aspects of the reverse engineering process cannot be done based on the part alone and other aspects of the process can benefit significantly from a small amount of human intervention. In a sense, we provide a set of electronic calipers to be used as a smart measuring tool, specialized to the job of creating CAD/CAM models. The system is effective because it analyzes 3-D sensor data using knowledge of manufacturing processes and modeling techniques.

Our main innovation is to use manufacturing features as the geometric primitives fit to scanned data, rather than using triangulated meshes or parametric surface patches. This leads to four important advantages.

  1. Appropriateness for Manufactured Parts: Many com- plex parts can be described naturally and compactly in terms of manufacturing features. A feature-based reverse engineering system can more easily generate models of such parts than can a system intended for more general free- formgeometries.

  2. Ease of Importation into Feature-Based CAD Systems: Several commercially available CAD systems allow parametric modification of manufacturing features in their models. This functionality is lost, however, if imported models consist only of surface patches, with- out the additional semantics and topology inherent in feature-based representations.

  3. Reduced Need for Complete, Robust, Geometric Com- putations: Substantial effort is involved in converting a collection of surface patches obtained by fitting to scanned data into a form usable by a solid modeler. Topology and other aspects of patch adjacency must be determined, a process often involving substantial hand editing. By generating an object representation in terms of higher-level manufacturing features, correct lower- level B-rep solid models can be generated by existing CAD packages and their generation need not be the responsibility of the reverse engineering system.

  4. Accuracy: Noncontact position digitizers are

subject to errors which can exceed the tolerances needed in recreating many parts. The local smoothing that is im- plicit in methods based on fitting surface patches to position data may not be optimal for reducing this sensing noise. The use of manufacturing features as primitives can substantially increase the accuracy of the generated models without the need for extensive manual intervention.


A number of modern CAD/CAM systems support some form of feature-based design, allowing designers to specify



a shape in terms of complex primitives[14].Design systems of this so rthave two clear advantages over modeling solely at thelevel of detailed geometry. They provide a more natural interface for machinists and they allow much more sophisticated automated process planning, since the intent of the designer is clearer. There is as yet no consensuson what specific modeling primitives should consist of in such systems. In an ideal feature-based design environment, the primitives would specify nominal geometry, tolerances, materials and finishes, assembly properties, and other aspects of intent. In commercial CAD packages such as Parametrics Pro/ENGINEER and Bridgeports EZ Feature MILL, andinfullfunctionresearchCAD/CAMsystemssuchastheU niversityofUtahs [15], the emphasis is on formfeaturesthattypicallyhaveacloseassociationwithmachi ningoperations.Fig. 1 shows the manufacturing features available in

. Each of these feature types has associated with it the appropriate geometric information plus manufacturing specifications such as fillets and chamfers. Free-form surfaces can be freely mixed with

these features. automatically creates NURBS representations for all features and free-form surfaces, intersects surfaces appropriately to create a topologically valid B-rep, and is able to generate with a minimum of human intervention high-quality NC code from models specified using these primitives. Our current reverse engineering system uses a subset of the features in Fig.

  1. Extending the system to the full set of features listed there will require substantial engineering effort, but is in principle straightforward.

    Several methods have been proposed for automatically extracting a high-level, feature-based description from lower- level models of part geometry [16][18]. The goal is usually to start with a conventional volumetric representation of part ge- ometry, derive an alternate representation in terms of features, and then use this information as an aid in process planning. All of these systems start with an exact representation of surface shape. While they provide useful ideas applicable to creating high-level models from sensed data, none begin todeal with the error and variability present in such data. As described below, we use an interactive approach in our mod- eling system which avoids the need for automated recognition of manufacturing features.


    Sensor-based reverse engineering of mechanical parts must yield complete and accurate object models appropriate for computer-aided manufacturing. Current commercial practice, which represents geometry in terms of scan lines or meshes of scan points, is inflexible and requires careful coordination between scanning patterns, tool selection, and tool paths. Parametric model fitting techniques proposed to date do not use geometric primitives that are natural to most manufactur- ing operations. Methods for extracting manufacturing features from lower-level geometric representations are intended to work with existing CAD models, not imperfect senseddata.

    Improvements can be made by specializing the recovery of object models to the manufacturing environment. Most machined parts are made using a relatively small number of manufacturing operations, each of a constrained form (Fig. 1). Reverse engineering can be done using a form of parametric model fitting where primitives correspond to these features. This avoids inconsistencies between actual object shape and hat the models are capable of representing, while leading in a natural and obvious way to representations usable in feature- based CAD/CAM systems. The approach we describe here is interactive,whichimprovesperformanceandallowsforhum an entry of information that cannot be acquired from sensed data alone.

    To demonstrate the effectiveness of feature-based reverse engineering, we have created a prototype system called

    ( everse ngineering e ture- ased).

    allowsausertointeractivelydefineamodelcom posedofmechanicalfeatures from a set of 3-D surface

    points. The

    userspecifiesthetypesofmanufacturingfeaturespresentand theapproximatelocationofeachfeatureintheobject.

    dealswiththedetermination of precise, quantitative parameterizationof eachfeature.Thefinaloutputisafullyspecifiedmodelusable bytheCAD/CAMsystem.Thoughwehavenotyetdone

    so, it would be relatively easy to produce models suitable for other CAD packages supporting manufacturing features, such as Pro/ENGINEER. The ability to create feature-based models in a more generic form awaits further progress on standardization efforts such as PDES/STEP.

    Fig.2 shows the user interface for the

    system. All modeling computations are done on 3-D point cloud data obtained from position digitizers. User interaction involves apoint and click interface, allowing the user to specify 3-D features on the two-dimensional (2-D) screen. The series of small images along the top corresponds to alternate views of the same object and allows the user to specify a current working view. maintains a single, internal coordinate system and views can be switched at any time to provide a better perspective on whatever feature Tomodelafeature,theuserselectsafeaturetypeandaviewinwhi chthefeaturecanbeseenontheobject.Thepanelonthelowerrig htdisplaystheselectedviewandallpreviouslymodeled features. The user is then asked tospecifyenoughpoints on the displayed image to indicatethe approximatelocation and shape ofthefeature. uses thisinitialguesstocomputeanoptimalparameterizationofthef eaturebasedon the 3-D positiondata.Finally, renders thefeature onthedisplay,andthenwaitsforthenextfeaturetobemodeled. While a fully automated system might seem desirable,there are two aspects of modeling for manufacturing thatare infeasible based on automatic processingof senseddataalone. Fig. 3 shows a downward-looking view of aplatewithan opening in the middle. The opening canberepresentedexactlyusingeithertwoholesorasingleprofi lepocket.Tochoose the preferable representation requires arathercomplexunderstanding of dimensions, tolerances,andmanufacturingcosts. Next, consider a part which containsseventhroughholesofidenticaldiameter,fourofwhic hmatewithlocatingpins on another part, two of which stack with holesonpartstoeithersidetoformaconduitforoil,withtheremai ninghole providing access for a flexible cable that runsfromonesideoftheparttotheother.Thetolerancesandfinis hesrequiredvaryenormously.Costeffectivefabricationrequir esthatthisinformationbeunderstoodandaccountedforinthem anufacturing processplan.Thesystemacknowledgestheneedforhumaninte rvention,butfreestheuserfrommostofthetedious,quantitative analysisthatcanbedonefaster,easier, and more accurately by automated tools.

    the user is currently interested in. The set of buttons at the lower left corresponds to the set of features the system is able to model.



    The currentversionof is limited to five common types of 2 -D features: stocks, simple holes, profile pockets,

    profileislands,andprofilesides.Profilefeaturesareextrusio ns of arbitrary planar curves. A profile island is a special kind of boss. It is defined only within the context of a pocket and specifies a volume to be skipped when the pocket is milled. A profile side represents a simple side cut (no plunging), and is typically used to trim stock down to the outside shape of a part. The features are typical of those in parts machined using three-axis mills for simple drilling and parallel sided cutting. Features can have different orientations, as would occur with refixturing with a three-axismilling.



Three interrelated problems must be solved in order toaccurately model a particular manufacturing feature: determi-nation of feature type, segmentation of relevant 3- D points,and model fitting. Fig. 4 illustrates the interactions betweenuser input, sensor, data, data segmentation, and model fittingused to accomplish these tasks. In our system, the userspecifies the feature type and approximate location usings interface. Thus, no automatic feature recognition is required. The segmentation and fitting operations proceed automatically, using an iterative refinement process in which the current model is used to segment sensed data into sub- sets of 3-D points likely to correspond to particular features and then fitting models appropriate to the feature type to thatdata. avoids most difficulties associated with data

parti- tioning by using a robust, top-down segmentation technique.

Twoclassesofconstraintsareusedinthemodelfittingprocess. The first exploits the -D nature of the part geometry. Once the orientation of each -D feature has been determined, the remainder of the analysis for that feature can be done in a 2-D space in which the 3-D geometry has been projected along the axis of feature orientation. The second class of constraints is based on the use of manufacturing features as primitives and knowledgeabouthowdesignerstypicallyexpressthegeometr y insuchfeatureswhenpartsareinitiallycreated.

Each -D feature has an orientation. Currently, we allow for this orientation to be specified with respect to some flat portion of the part or with respect to the parts fixturing while being scanned. This is accomplished by having the user click on several points on the corresponding planar surface in any view. A plane is fit to these points using the least median squares (LMedS) method, which largely eliminates the effect of outliers in the selected points [19]. This plane is used to segment out all the data points from the 3-D point cloud which are likely to form the true plane, based on distance and orientation measures. Finally, a plane is fit to these

points, using a trimmed distribution least-squares method (see below). The same approach is used to allow the user to specify planar aspects of features such aspocket bottoms.Once the user has specified the orientation of a- D feature, he or she then indicates a rough outline of the featureby clicking on a sampling of points along the contour of the feature. The points are intersected with the orientation plane, yielding a set of 2-D points corresponding to the features 2-D geometry. These 2-D points are then used to generate an initial parameterization of each feature. Initial estimates for a hole feature involve the hole center, based on the center of mass, and the hole radius, based on the average distance to the selected points from the center of mass. Initial estimates for profile pockets, profile islands, and profile sides require a 2-D closed profile curve as part of their specification. This curve is computed from the user indicated points by fitting a Bezier curve[20].

Fittingaparameterizedfeaturemodeltosenseddatarequir es a decision as to what data points should be considered to lie on the feature and which values are part of other features. Most other approaches to dealing with position data use some form of bottom up segmentation procedure [21], [22]. Data associated with the flat faces of polyhedral objects is found using plane fitting techniques. Data associated with curved faces is found using grouping operations which combine collections of points into surfaces, followed by detection of lines of orientation discontinuities. However, few mechanical parts are polyhedra. For curved surfaces, segmentation based on orientational discontinuities is problematic due tonoise efects in most range sensors, which produce substantial local variations in surface normals. This problem is particularly acute at surface boundaries, where reliable information is essential for bottom- upprocessing.

Since in our case the user has specified an approximate featuretypeandlocation,wecanuseamuchmorereliabletop- down segmentation approach. Given an approximate feature parameterization, we select those position points that are close to the surface of the estimated feature in both distance and orientation. The combination gives a much better indication of points that are really part of the feature than would either property alone. For example, consider the problem of finding those sensed points on the wall of a drilled hole.Clearly, we want to consider only those points near the expected location of the hole. Using only a distance check, however, will inevitably include some points on the surface through which the hole was drilled, near the rim of the hole. An orientation check quickly discards these points. Additional improvements are obtained by further restricting the distance check, based on per-feature information about where sensor error is most likely to be highest. In the case of the hole, data neartherimanddeepwithintheholeismostsuspect.Aninitial segmentation is done using a large tolerance for distance and orientation, but only using those parts of the user- specified model which are expected to yield the best

sensed data. As the estimate of feature parameters is refined, the position data can be resegmented using tighter tolerances on distance and orientation, while reducing or eliminating the restrictions on whichpartsofthefeaturesurfacetoconsider.

The fitting process utilizes a nonlinear optimization algo- rithm based on the generalized simplex process [23]. The criterion function that is minimized is the sum of the squared

distances from each selected point to the feature. An initial guess is given to the simplex routine based on the users estimation.Wehavefoundnoneedtogotomoresophisticated, maximum-likelihood data fitting [24]. In our current imple- mentation, three distinct surface types are possible. Separate methods exist for fitting each surface type to the segmented data[25].

  1. Planar Surfaces: To avoid the computational complex- ity associated with least-median-squares robust plane fitting, we use a simpler trimmed distribution least- squares approximation. A least- squares fit to the data points is done using the familiar eigenvector method. We then compute the residuals associated with each data point and remove a percentage of the points that are farthest away from the fit plane. A second least-squares approximation is done to this reduced set of points, yieldingthefinalplanefit.Combinedwiththeinitialdata segmentation, this two-step process minimizes the effect ofoutliersalmostaswellasafullLMedSoptimization.

  2. Holes: Holes are fit to data points in the same manner that they are fit to user indicated hole contours. First, the hole orientation relative to some planar surface on the part or relative to the part fixturing is determined. The data points are then projected along this direction. Finally, the center and radius of the circle best fitting the projected points are found using standard nonlinear optimization techniques. Though we do not currently do so, the optimization can be made more robust to outliers by using a nonconvex optimization function instead of the sum-of- squared distances currentlyemployed.

  3. Extruded Profiles: As with simple holes, profile fea- tures are defined in terms of an orientation and a 2-D contour.Theinitial,user- specifiedcontourisrepresented in terms of a Bezier curve. Segmented points likely to correspond to a particular profile side are projected into 2-D along the sweep direction of the profile feature. The data points are sorted based on the parameter value of the nearest point on the Bezier curve [26]. Sequences of points which can accurately be approximated by line segments are identified [27]. The remaining points cor- responded to curved portions of the profile. Anattempt


is made to fit each of these segments using one, two, or three constant radius arcs of alternating curvature. If


Fig. 5 illustrates the key steps in the model fitting process for profile features. The geometry of these features is specified in terms of a sweep axis, a sweep extent, and a 2-D sweep contour. This information can be used to extract a 3-D point cloud of data points likely to be part of the feature. Projection along the sweep axis results in 2-D data points, which can be ordered to produce a polyline representation of the original data. Extraction of long line segments is followed by fitting the remaining data to simple and compound arc segments.

Segmentationandfittingalternateuntilpresettoleranceboun ds aremetforthesegmentationprocess.


Few if any of the publications describing part-to-CAD reverse engineering address the issue of modeling accuracy, despite the critical role of design verification in the overall reverse engineering process [28]. To quantitatively evaluate the accuracy of the models obtainable using the feature-based modeling approach, we started with parts for which we had access to the original CAD models [29]. Instances of these parts were carefully machined out of aluminum using a three- axis NC mill. Surface points on the parts were measured using a noncontact laser digitizer. New CAD models for each part were generatedusingthe system. Finally, the geometric differences between the original and recovered models were computed. This was done by registering the two models based on common planar surfaces [30]. We then generated a dense, uniformly sampled set of points on the reverse engineered model. Standard CAGD techniques were used to find the distance to the closest surface point on the original model. RMS and worst-case distances were reported for each surface making up the reverse engineered model and for the model as awhole.

We havetestedthe system on several machined parts originally designed for the Utah mini- Baja and formula SAE racing vehicles. Results from two of these parts are presented here. While the parts are relatively simple, they provide an adequate test of the accuracy and usability of our system.



Fig.6showstheshockmountingplatethatformsalinkageinon eversionoftherearsuspensionofthevehicle.Tofitthescan volume of our scanner, a special plate was madethatwasthreequartersthesizeoftheoneusedonthevehicl eitself,yieldingapartthatwasapproximately17.75cm

7.5cm2c m.Thesecondobjectispartofthevehiclessteeringarmassem blyandisapproximately10cm 5cm


(Fig. 13).

PositiondatawasacquiredwithaDIGIBOTIIlaserposition digitizer. The DIGIBOT II has a nominal measurement accu- racy of 50 m (1 ) under optimal conditions. In practice we have observed accuracies on the order of 50300 m, depending on the nature and shape of the surface at that point. For evaluation purposes, we produced special versions of both parts without chamfers and threads, which were too small to be accurately measured with the DIGIBOT system. To remove specularities that cause problems for most current range finding systems, parts were sprayed with a penetrant process developer (Sherwin DUBL-CHEK D-100), which leaves a thin, talcum-like coating. Multiple views were taken of each part and transformed into common point- cloud data sets, using a registration procedure similar to that in [30]. 102 080 3-D points were used for the shock plate, 40 180 for the steeringarm.

Fig. 7 shows a depth-cued rendering of the 3-D position points obtained from the DIGIBOT sensor. The figure shows the point cloud data after multiple scans have been registered into a single dataset with a common coordinate system. Fig. 8 sows a line drawing rendering of the user-provided rough sketch of one of the pockets. This sketch was used to segment 3-D points corresponding to the pocket contour as shown in





Fig. 9. Fig. 10 shown the results of automatically fitting a pocket feature to the segmented data points. Fig. 11 shows a wire-frame rendering of the complete reconstructed CAD model, which was then used to manufacture a copy of the original part as shown in Fig.

12. Figs. 1316 show the orig- inal part, sensed data, reconstructed model, and reconstructed part for the steeringarm.

Figs. 11 and 15 are wire frame drawings generated

from thereverseengineeredCADmodelsproducedby for the definedbyaprofileside,twosymmetricprofilepocketsthat





serve to lighten the part, and three mounting holes. The steering arm has an outer profile side with both smooth contours and sharp corners, one large hole and one

smaller hole drilled normal to the stock, and two small holes drilled in a perpendicular orientation. While some current-generation techniques based on the fitting of spline patches ortriangulated mesheshavespecialcasesupportfortheextractionofholesFI



Fig. 18. Exploded view of the features making up the reverse engineered steering arm.

such as in Fig. 18, none can accomplish decompositions such as shown in Fig. 17 without extensive hand editing of the models.

Tables I and II show the quantitative deviation between the reconstructions and the original CAD model. It is important to note that the issues involved in determining meaningful measures of similarity between geometric models are complex andinfactlargelyunsolved[31].Simpleerrornormsfailto





capture potentially important qualitative aspects of shape. The standard for comparison can be as-designed, as-built, or as-is shape, depending on the reason for doing the analysis. Com- paring the results presented above with the current practice of fitting spline patches or triangulated meshes faces additional difficulties due to tuning parameters intrinsic to such methods.


The use of manufacturing features as geometric primitives in part-to-CAD reverse engineering systems provides sub- stantial advantages in usability and accuracy. The models which are produced are feature- based, providing a higher level description of part geometry. This allows easyimportation into feature-based CAD systems and facilitates modifications to the derived models that would be extremely difficult to accomplish if only information about low-level surface shape were available, as is the case with current generation reverse engineering systems. Problems insuring that derived models are topologically correct, also a significant problem in current generation system, are minimized

because of theconstruc- tive geometric computations intrinsic to feature-based CAD systems.

In a prototype system, we were able to reverse engineer CAD models with an accuracy often exceeding that of the precision of the sensor used to acquire raw data about part shape. User interaction involved a high level specification of features rather than the tedious low- level editing of geometric descriptions for accuracy and consistency that is typically as- sociated with nonfeature- based approaches. Top-down model fitting was able to exploit constraints allowing dimensionality reduction and restrictions on allowable shapes, resulting in geometric descriptions that were both more useful and more accurate than would otherwise be possible.

Our system does not yet deal with secondary feature prop- erties such as taps, chamfers, fillets, and rounds. Each of these involves small scale geometry that requires specialized gauges for accurate measurement. Once measured, however, the feature based representation allows for easy addition of this information to the model without the difficult and error- prone surface blending that would be necessary if large- scale geometry were represented only as an unorganized set of surfacepatches.

It is important to note that the technique we are propos- ing here deals with only one aspect of the part- to-CAD reverse engineering process. Better methods are needed for deciding what sensors to use (CMMs, laser scanners, x-ray tomography, etc.), improving the accuracy of sensors that are available, and registering multiple scans into a common coordinate system. Open problems remain in combining free- form surfaces with manufacturing features, particularly with regards to segmentation and surface blending. Finally, almost no attention has been paid to automating tools for the produc- tion of technical data packages (TDPs) specifying ancillary



The authors would like to thank P.-P. J. Sloan for creating the user interface, A. Efros and B. Morris for providing software support, S. Drake for giving important insights into the manufacturing process and assisting in the creation of test objects, D. Johnson for providing important assistance in the computation of modeling errors, andthe group for supplying technical support on geometric modeling and manufacturing.


  1. M. T. Traband, F. W. Tillotson, and J. D. Martin, Reverse and reengi- neering in the DOD organic maintenance community: Current status and future direction, Tech. Rep. 96-060, Appl. Res. Lab, Pennsylvania State Univ., University Park,Feb. 1996.

  2. M.Reed,P.K.Allen,andS.Abrams,CADmodelacquisit ionusing

    BSP trees, in Proc. IROS Int. Conf. Intell. Robots Syst., Aug. 1995, pp. 335339.

  3. R.BroachaandM.Young,Gettingfrompointstoproduct s,Computer-

    Aided Eng., July 1995.

  4. P. N. Chivate and A. G. Jablokow, Solid-model generation from measuredpointdata,Computer- AidedDesign,Sept.1993.

  5. B.SarkarandC.H.Menq,Smooth- surfaceapproximationandreverse

    engineering, Computer Aided Design, vol. 23, pp. 623628, Nov. 1991.

  6. L. Piegl, On NURBS: A survey, IEEE Comput. Graph. Applicat., pp. 5570, Jan.1991.

  7. M.Lounsbery,S.Mann,andT.DeRose,Parametricsurf aceinterpola-

    tion, IEEE Comput. Graph. Applicat., Sept. 1992.

  8. H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W. Stuetzle, Surface reconstruction from unorganized points, in Proc. Comput. Graphics, SIGGRAPH 92, July 1992, vol.26.

  9. , Mesh optimization, in Proc. Comput. Graphics,SIG-

GRAPH93, Aug. 1993, vol. 27.

Leave a Reply

Your email address will not be published. Required fields are marked *