**4.3.2** *Rapidform XOR3*

172 Reverse Engineering – Recent Advances and Applications

One important finding worth noting is that the mesh segmentation capability is only available in *Geomagic* and *Rapidform*. This capability allows users to adjust a sensitivity index to vary the size of segmented regions so that the regions match closely to the distinct surfaces of the object. Such segmentation is critical since the properly segmented regions

Based on the findings, we exclude further discussion on *SolidWorks* and *Wildfire* due to their poor performance in the first evaluation round. In the following we discuss results of

*Geomagic* demonstrates an excellent surface construction capability with a high level of automation. Based on our evaluations, excellent NURB surface models can be created for all five examples from their respective scanned data in less than 30 minutes. In addition, *Geomagic* offers interactive capabilities that allow users to manually edit or create geometric entities. For examples, *Point Phase* of *Geomagic* supports users to edit points, reduce data noise, and adjust sampling to reduce number of point data. After point editing operations, polygon meshes are created by using *Wrap*. In *Mesh Phase,* self-intersecting, highly creased edges (edge with sharp angle between the normal vectors of the two neighboring polygonal faces), spikes and small clusters of polygons (a group of small isolated polygon meshes) can be detected and repaired automatically by *Mesh Doctor*. Mesh editing tools; such as smooth polygon mesh, define sharp edges, defeature and fill holes; are also provided to support users to create quality polygon meshes conveniently. Once a quality mesh is generated,

*Auto Surface* consists of a set of steps that automatically construct surface models. The steps include *Detect Contour*, *Construct Patches*, *Construct Grids* and *Fit Surfaces*. Before using *Auto Surface*, users only have to consider the quality of the surface model (for example, specifying required tolerance) and the method (for example, with or without mesh segmentation). For the *block* example, we set *surface tolerance* to 0.01 inch and construct NURB surface model with *Detect Contours* option (which performs mesh segmentation) using *Auto Surface*. A complete NURB surface model was created in 5 minutes (Fig. 8). Average deviation of the NURB model is 0.0 inch and the standard deviation is 0.0003 inch. The deviation is defined as the shortest distance (a signed distance) between the polygon mesh and the NURB surfaces. Note that in Figure 8d, green area indicates deviation close to 0 and red spot

Fig. 8. Results of the *block* example tested using *Geomagic*, (a) point cloud model (634,957 points), (b) polygon mesh (1,271,924 triangles), (c) NURB surface model, and (d) deviation

*Geomagic* and *Rapidform* for selected examples to consolidate our conclusions.

*Shape Phase* is employed to create NURB surfaces best fit to the polygon mesh.

indicates the max deviation, which is about 0.017 inch in this case.

facilitate surface fitting and primitive feature recognition.

**4.3.1** *Geomagic Studio v.11*

analysis

Like *Geomagic*, *Rapidform* offers excellent capabilities for point data editing and polygon mesh generation, including data sampling, noise reduction, wrap, mesh repair, defeature, and fill holes. *Auto Surfacing* for NURB surface construction in *Rapidform* contains two methods, (1) *Feature Following Network* (with mesh segmentation), and (2) *Evenly Distribution Network* (without mesh segmentation).

*Feature Following Network* is a very good option for surface reconstruction in *XOR3*. Segmentation was introduced into *Auto Surfacing* to overcome problems of surface transition across sharp edges, especially dealing with mechanical parts with regular features. Using *Feature Following Network* sharp edges can be detected and retained in the surface model. *Feature Following Network* is usually more successful in surface construction. For example, in Fig. 11a, several gaps (circled in red) are found in the *block* example, mostly along narrow and high curvature transition regions, while using *Evenly Distribution Network* option for constructing surfaces. Using *Feature Following Network* option the surface model constructed is air-tight with sharp edges well preserved, as shown in Fig. 11b. Note that large size NURB surfaces (therefore, less number of NURB surfaces) shown in Fig. 11b tend to be created due to incorporation of mesh segmentation.

The NURB surface model of the *block* example (Fig. 12a) was successfully created using *Feature Following Network* option in just about 5 minutes (Fig. 12b). The accuracy measures; i.e., the deviation between the surface model and the polygon mesh, are 0.00 inch and 0.0006 inch in average and standard deviation, respectively, as shown in Fig. 12c.

A Review on Shape Engineering and Design Parameterization in Reverse Engineering 175

Fig. 13. Incomplete NURB surface model created by *Rapidform*

Fig. 14. Results of the *tubing* example tested using *Rapidform*, (a) polygon mesh (589,693

triangles), (b) NURB surface model (185 patches), and (c) deviation analysis

Fig. 15. Narrow regions failed for auto surfacing using *Rapidform*

Fig. 11. NURB surface models generated using two different options in *Rapidform*, (a) *Evenly Distribution Network* option , and (b) *Feature Following Network* option

Fig. 12. Results of the *block* example tested using *Rapidform*, (a) polygon mesh (1,062,236 triangles), (b) NURB surface model (273 patches), and (c) deviation analysis

While evaluating *Rapidform* for surface construction, some issues were encountered and worth noting. First, as discussed earlier, *Rapidform* tends to create large size NURB patches that sometimes leave unfilled gaps in the surface model, especially in a long narrow region of high curvature. This happened even with *Feature Following Network*  option. As shown in Fig. 13, almost half of the small branch of the *tubing* is missing after auto surfacing with *Feature Following Network* option. When such a problem appears, *Rapidform* highlights boundary curves of the gaps that are not able to be filled. In general, users can choose to reduce the gap size, for example, by adding NURB curves to split the narrow regions, until NURB patches of adequate size can be created to fill the gaps with required accuracy.

For the *tubing* example, the repair process took about 45 minutes to finish. The final surface model was created with some manual work. The average and standard deviation between the surface model and the polygon mesh are -0.0003 mm and 0.0189 mm, respectively, as shown in Fig. 14.

The sheet metal example shown in Fig. 15 also presents minor issues with *Rapidform*. The boundary edge of the part is not smooth, as common to all scanned data. *Rapidform* created a NURB curve along the boundary, and then another smoother curve very close to the boundary edge. As a result, a very long and narrow region was created between these two curves, which present problems in auto surfacing. Similar steps as to the *tubing* example were taken to split the narrow region by adding NURB curves. The final model was split in four main regions and several smaller regions shown in Fig. 16, which allows NURB surfaces to be generated with excellent accuracy (average: 0.0 in, standard deviation: 0.0002 in).

174 Reverse Engineering – Recent Advances and Applications

Fig. 11. NURB surface models generated using two different options in *Rapidform*, (a) *Evenly* 

Fig. 12. Results of the *block* example tested using *Rapidform*, (a) polygon mesh (1,062,236

While evaluating *Rapidform* for surface construction, some issues were encountered and worth noting. First, as discussed earlier, *Rapidform* tends to create large size NURB patches that sometimes leave unfilled gaps in the surface model, especially in a long narrow region of high curvature. This happened even with *Feature Following Network*  option. As shown in Fig. 13, almost half of the small branch of the *tubing* is missing after auto surfacing with *Feature Following Network* option. When such a problem appears, *Rapidform* highlights boundary curves of the gaps that are not able to be filled. In general, users can choose to reduce the gap size, for example, by adding NURB curves to split the narrow regions, until NURB patches of adequate size can be created to fill the gaps with

For the *tubing* example, the repair process took about 45 minutes to finish. The final surface model was created with some manual work. The average and standard deviation between the surface model and the polygon mesh are -0.0003 mm and 0.0189 mm, respectively, as

The sheet metal example shown in Fig. 15 also presents minor issues with *Rapidform*. The boundary edge of the part is not smooth, as common to all scanned data. *Rapidform* created a NURB curve along the boundary, and then another smoother curve very close to the boundary edge. As a result, a very long and narrow region was created between these two curves, which present problems in auto surfacing. Similar steps as to the *tubing* example were taken to split the narrow region by adding NURB curves. The final model was split in four main regions and several smaller regions shown in Fig. 16, which allows NURB surfaces to be generated with

excellent accuracy (average: 0.0 in, standard deviation: 0.0002 in).

triangles), (b) NURB surface model (273 patches), and (c) deviation analysis

required accuracy.

shown in Fig. 14.

*Distribution Network* option , and (b) *Feature Following Network* option

Fig. 13. Incomplete NURB surface model created by *Rapidform*

Fig. 14. Results of the *tubing* example tested using *Rapidform*, (a) polygon mesh (589,693 triangles), (b) NURB surface model (185 patches), and (c) deviation analysis

Fig. 15. Narrow regions failed for auto surfacing using *Rapidform*

A Review on Shape Engineering and Design Parameterization in Reverse Engineering 177

sphere, etc., from segmented regions. *Wildfire* dose not offer any of the modeling capabilities we are looking for; therefore, is excluded from the evaluation. Although some primitives can be recognized automatically, they often result in a partially recognized or misrecognized solid model. It takes a good amount of effort to interactively recover the remaining primitives or correct misrecognized primitives. Overall, it often requires less effort yet yielding a much better solid model by interactively recovering solid features embedded in the segmented regions. The interactive approach mainly involves creating or extracting section profiles or guide curves from a polygon mesh, and following CAD-like steps to create solid features, for example, sweep a section profile along a guide curve for a sweep

> Recognized primitives

Plane, Cylinder, Cone, Sphere, Free form, Extrusion, Revolve

Plane, Cylinder, Cone, Sphere, Torus, Box

Plane, Cylinder, Cone, Sphere, Torus, Free form, Extrusion, Revolve

Wildfire v.4 No No No No

Among the remaining three, *SolidWorks* is most difficult to use; especially in selecting misrecognized or unrecognized regions to manually assign a correct primitive type. The system responds very slowly and only supports surface primitive recognition. Therefore,

*Geomagic* automatically recognizes primitive surfaces from segmented regions. If a primitive surface is misrecognized or unrecognizable, users are able to interactively choose the segmented region and assign a correct primitive type. Often, this interactive approach leads to a solid model with all bounding surfaces recognized. Unfortunately, there is no feature tree, and no CAD-like capabilities in *Geomagic*. Users are not able to see any sketch or dimensions in *Geomagic Studio* v.11. Therefore, users will not be able to edit or add any dimensions or constraints to parameterize the sketch profiles. Section sketches only become available to the users after exporting the solid model to a selected CAD package supported

Q2: Section sketch

> Yes (Poor)

Yes (Excellent)

> Yes (Poor)

Q3: Adding dimensions and constraints

> Yes (Poor)

Yes (Fair)

Yes (Poor)

solid feature.

Geomagic Studio v.11

Rapidform XOR3

SolidWorks 2009 Yes

**4.4.1** *Geomagic Studio v.11*

by *Geomagic*.

Q1: Recognition of geometric primitives

Yes (Solid + Surface)

Yes (Solid + Surface)

(Surface only)

*SolidWorks* is also excluded in this round of evaluations.

Table 5. Feature primitive recognition capabilities of selected software

Fig. 16. Results of the sheet metal example tested using *Rapidform*, (a) polygon mesh (126,492 triangles), (b) NURB surface model (43 patches), and (c) deviation analysis

## **4.3.3** *Summary of round one evaluations*

Based on the software evaluated and examples tested, we concluded that *Geomagic* and *Rapidform* are the only viable software tools for automated surface constructions. Between these two, *Geomagic* offers more flexible and easier to use capabilities in editing NURB curves and surfaces, as well as smoothing NURB surfaces. On the other hand, *Rapidform*  offers more quality measurement functions, such as continuity and surface reflection, on the constructed surface model. In addition, *Rapidform* provides feature tree that allows users to roll back and edit geometric entities created previously, which is extremely helpful in dealing with complex models. However, *Rapidform* tends to create larger NURB surfaces that could sometimes lead to problems. Overall, either tool would do a very good job for surface constructions; *Geomagic* has a slight edge in support of editing geometric entities.

#### **4.4 Round 2: Parametric solid modeling**

Although NURB surface models represent the part geometry accurately, they are not parametric. There are no CAD-like geometric features, no section profiles, and no dimensions; therefore, design change is impractical with the NURB surface models. In some applications, geometry of the parts must be modified in order to achieve better product performance, among other possible scenarios.

In round 2, we focus on evaluating parametric modeling capabilities in four software tools, including *Geomagic*, *Rapidform*, *SolidWorks*, and *Wildfire*. More specifically, we are looking for answers to the following three questions:


Solid modeling capabilities in the context of reverse engineering for the four selected software are listed in Table 5, based on the first glance. Among these four, *Geomagic*, *Rapidform*, and *SolidWorks* are able to recognize basic primitives, such as plane, cylinder, sphere, etc., from segmented regions. *Wildfire* dose not offer any of the modeling capabilities we are looking for; therefore, is excluded from the evaluation. Although some primitives can be recognized automatically, they often result in a partially recognized or misrecognized solid model. It takes a good amount of effort to interactively recover the remaining primitives or correct misrecognized primitives. Overall, it often requires less effort yet yielding a much better solid model by interactively recovering solid features embedded in the segmented regions. The interactive approach mainly involves creating or extracting section profiles or guide curves from a polygon mesh, and following CAD-like steps to create solid features, for example, sweep a section profile along a guide curve for a sweep solid feature.


Table 5. Feature primitive recognition capabilities of selected software

Among the remaining three, *SolidWorks* is most difficult to use; especially in selecting misrecognized or unrecognized regions to manually assign a correct primitive type. The system responds very slowly and only supports surface primitive recognition. Therefore, *SolidWorks* is also excluded in this round of evaluations.
