+ All Categories
Home > Documents > This document contains the draft version of the following...

This document contains the draft version of the following...

Date post: 09-Oct-2020
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
45
This document contains the draft version of the following paper: A. Cardone, S.K. Gupta, A. Deshmukh, and M. Karnik. Machining feature-based similarity assessment algorithms for prismatic machined parts. Computer Aided Design, 38(9):954-972, 2006. Readers are encouraged to get the official version from the journal’s web site or by contacting Dr. S.K. Gupta ([email protected]).
Transcript
Page 1: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

This document contains the draft version of the following paper: A. Cardone, S.K. Gupta, A. Deshmukh, and M. Karnik. Machining feature-based similarity assessment algorithms for prismatic machined parts. Computer Aided Design, 38(9):954-972, 2006. Readers are encouraged to get the official version from the journal’s web site or by contacting Dr. S.K. Gupta ([email protected]).

Page 2: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

MACHINING FEATURE–BASED SIMILARITY ASSESSMENT ALGORITHMS FOR PRISMATIC MACHINED PARTS

Antonio Cardone, Satyandra K. Gupta1, Abhijit Deshmukh, and Mukul Karnik

Mechanical Engineering Department and Institute for Systems Research University of Maryland

College Park, MD 20742 ABSTRACT

This paper presents algorithms for identifying machined parts in a database that are similar to a given query part based on machining features. In this paper we only consider parts that are machined on 3-axis machining centers. We utilize reduced feature vectors consisting of machining feature access directions, feature types, feature volumes, feature dimensional tolerances and feature group cardinality as a basis for assessing shape similarity. We have defined a distance function between two sets of reduced feature vectors to assess the similarity between them from the machining effort point of view. To assess similarity between the two parts, one set of reduced feature vectors is transformed in space using rigid body transformations with respect to the other set such that the distance between them is minimized. The distance between the two sets of aligned reduced feature vectors is used as a measure of similarity between the two parts. The existing machined parts are rank ordered based on the value of the distance with respect to the query part. The cost of previously machined parts that have a very small distance from the query part can be used as a basis for estimating the cost of machining the new part.

1. INTRODUCTION

For some manufacturing domains such as rapid prototyping, reasonably accurate estimates of cost can be generated by estimating the volume or weight of the part. However, for 3-axis machining, the accurate cost estimation is much more difficult. Cost for a machined part can be defined as a summation of material costs, setup costs, tooling costs, and operation costs. Material costs depend upon the cost of stock being used. Setup costs depend on how many setups are needed and fixturing methods used in each setup. Therefore, setup costs depend on how features are oriented in space and how they interact with each other to affect fixturing and introduce precedence constraints. Tooling costs depend on tools being used. Therefore, tooling cost depends on machining feature types. Operation costs depend on the time taken to machine various features. Therefore, they depend on feature types, dimensions, and tolerances.

Given a set of machining features belonging to a part, it is easy to estimate operation costs. However, it is difficult to estimate setup costs from the description of machining features alone. Setup costs not only depend upon the total number of feature access direction but also on the type of precedence constraints that exist among features and how each setup is fixtured.

1 Corresponding Author

1

Page 3: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Currently there is no automated method for performing setup planning in commercially available process planning systems. Therefore, unless a detailed setup plan is manually developed, machining cost cannot be estimated accurately from the description of machining features alone. Therefore, currently cost estimation is done manually for machined parts if high accuracy is desired in cost estimates.

Accurate cost estimation can take anywhere from few minutes to few hours depending upon the expertise of the cost estimator and the complexity of the part. Based on our conversations with human cost estimators, it appears that many of them implicitly use estimates from previously completed tasks to generate new quotes.

Manual cost estimation is inefficient especially when the designer submits the 3D model over the Internet for getting quotes. One way to achieve this is to search a database of previously machined parts and locate parts similar to the newly designed part automatically, so that the machining cost of the retrieved parts can be used to estimate the cost of the new part. Figure 1(a) shows a newly designed part and Figure 1(b) shows a previously machined part that can be used to estimate the cost of the new part. Thus, there is a need to develop a system that can assist the human cost estimators by quickly finding similar previously machined parts to the query part.

In order to be considered similar, two sets of machining features not only need to be of similar numbers and of similar types but also the features need to be distributed in space in a similar manner. The reason behind this requirement is as following. If two sets of machining features are distributed in a similar way in the space, then they will have similar interactions from setup point of view. Feature interactions that need to be considered during cost estimation are the spatial interactions that influence setups. If two sets of given machining features can be aligned in the space such that for every feature in the first set there is a corresponding feature in the second set, that is of the same type and with similar parameters and situated at the same place in the space, then we can implicitly ensure features in the two sets will have the same spatial interactions. This implicit similarity in spatial interactions ensures that two parts will have similar setups both in terms of operations and fixturing methods.

The problem of finding the similar parts has been addressed in group technology (GT) and 3D shape similarity assessment areas [Card03]. Group technology techniques were developed prior to the advent of inexpensive computer technology. Hence, they are not rigorously defined and are intended for human interpretation. This can cause difficulty in automating the generation of GT codes.

The shape similarity assessment technique described in [Osad02] represents the object as a shape distribution sampled from a shape function measuring global geometric properties. Other shape statistics based-techniques [Belo01, Corn03, Sun95] record geometric statistics such as volume to surface area ratio or number of faces/edges of 3D models using vectors. These techniques are transformation invariant and robust, but they can be only used as a first-cut filter to identify grossly dissimilar objects. Graph-based techniques convert solid models into attributed graphs that represent relationships among various geometric and topological entities in the solid model. Among the types of graphs that have been used are adjacency graphs [McWh01], feature interaction graphs [Cici00, Cici02] and feature relationship graphs [Elin97]. These techniques are simple to implement, but might not be efficient in case of complex graphs. As an alternative

2

Page 4: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

to graph isomorphism, spectral graph theory has been used to compute eigenvalues of the adjacency matrix of graphs. Eigenvalues are then used to compute similarity measures between two graphs [McWh01]. Other representative techniques are spatial function based techniques [Chak05, Funk03, Ko03, Ko05].

Feature-based techniques represent the 3D object as a set of features. Many different types of approaches have been developed [Card05, Card06, Elin97, Rame01, Gupt99, Cici02, Karn05]. Some of these techniques appear to be promising for the cost estimation domain. Particularly techniques described in [Rame01] can be used as filter to quickly prune dissimilar machined parts.

Application-independent feature based approaches based on skeletons [Iyer04, Lou04, Sund03], shock graphs [Siddi99], Reeb graphs [Besp03, Hila01] and slope diagram [Ghos96, Tuzi00] have been also developed. However, these approaches tend to filter out important geometric details that play an important role in assessing similarity between machined parts.

The features can be represented as points or vectors in n dimension space where each dimension represents some significant characteristic of the feature. Similarity assessment can then be performed by aligning the two point sets. Many of the formulations of point pattern alignment assume that every point in one set has a close alignment in the other set in terms of Hausdorff distance. A hybrid approach combining both branch-and-bound search of the transformation space with point-to-point alignments was proposed in [Moun99]. Another important class of alignment methods for searching in large object databases is geometric hashing [Wolf97].

The cost of machined parts is determined by their machining features rather than their overall shapes. Hence feature-based techniques are the most suitable to estimate cost of machined parts. Not all components of feature vectors play equal role in determining similarity between the two parts. Based on the nature of application, some components contribute significantly to the similarity measures while others have virtually no effect on the similarity. Therefore, we utilize reduced feature vectors in determining the degree of similarity between two parts. Reduced feature vectors are defined in such a way that they only include feature components having large influence on similarity. In this paper we will only focus on machining features defined for 3-axis machining centers. Most modern 3D CAD/CAM systems (e.g., Pro/Engineer, Unigraphics, etc.) allow users to define machining features.

This paper introduces reduced feature vector sets that are suitable for cost estimation application and describes algorithms for the alignment of the reduced feature vectors of a database part and the query part. Reduced feature vectors (RFVs) for a part are usually defined using a specific coordinate system. In order to correctly measure the distance between two given sets of reduced feature vectors, we need to transform one set with respect to the other using rigid body transformations such that we get the minimum distance between the two sets. We refer to this step as the alignment step in this paper.

The output of the algorithms is a rank ordering of the machined parts in a database based on the degree of similarity with respect to the query part. Each retrieved part will have a distance value with respect to the query part. The larger the distance, the less similar is the retrieved part to the query part. The cost of machining the query part can then be estimated by using the cost of

3

Page 5: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

previously machined parts that have a very small distance value. The features of the query part may be interpreted differently corresponding to different possible machining operations. The algorithms presented in this paper have been extended to account for existence of multiple interpretations of machining features.

2. BACKGROUND AND PROBLEM FORMULATION

2.1 Machining Features

The key drivers for the machining cost of a prismatic part are number of setups, tool changes and machining operation cost. Setup is any changeover activity that is necessary to change part orientation. For 3-axis machining, the number of setups depends on the relative orientation of the feature access vectors. Access vector of a machining feature is a unit vector that gives the direction along which the tool moves in order to machine the desired feature. Orientation vector of a machining feature is a unit vector that gives the direction along which the tool moves in order to give the desired orientation to the feature. For some features, such as holes, this vector has no technical meaning.

Access vectors are modeled using unit vectors. A part having two differently oriented features will require two setups while a part having two features with the same access direction will require only a single setup. Tool changes are determined by the type of feature that has to be machined. A part having a hole and a pocket with the same access direction will require a tool change: the drill used to machine the hole needs to be replaced by a mill to machine the pocket. The machining operation cost increases with the volume of the feature to be machined. It also depends on the machining tolerance of features.

The features that have been considered include pockets, open slots, steps and holes. Figure 2 shows all the features considered. Open slots could be of three types: slot, notch and through slot. They are shown in Figures 2(b), 2(c) and 2(d) respectively with their access and orientation vectors. The hole is an example of a feature where orientation vector does not need to be defined because of symmetry. Each of the above-listed features can be completely characterized by providing the values of certain parameters such as height, width, length, and radius.

Figures 3(a), 3(b), 3(c), 3(d) and 3(e) show feature access and orientation vectors. In Figure 4, the access vectors of parts A, B, C, D and E are shown. Parts A and C are considered dissimilar from the cost estimation point of view, and so are parts A and E, because the feature access directions cannot be aligned. The feature access directions of parts A and B and parts A and D can be aligned exactly. However part A is more similar to part B than to part D from the cost estimation point of view, because the types of features of parts A and B match.

RFVs of a feature of a part consist of those feature components that are important from machining effort point of view. RFVs are mathematically equivalent to attributed points on the unit sphere. Figure 5 shows an example of RFVs of a part and their equivalent attributed points on the unit sphere. Therefore, the problem of aligning two sets of RFVs is equivalent to the problem of aligning attributed points on the unit sphere. Hence in this paper we will use terms RFVs and attributed points on unit sphere interchangeably.

4

Page 6: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

2.2 Distance Function For Similarity Assessment

Let p ∈ P and q ∈ Q be the two sets of RFVs corresponding to parts MP and MQ. Then, P and Q are compared using the following distance function.

( ) ( ) ( )

2 2

12 2

, ,

min ( , )( , )

n

iq Q mP mQ dP dQ P QiFm Fd S

mP mQ dP dQ P Q

d p q F F F F S Sd P Q w w w

n

2

2,AVG F F AVG F F AVG S S

∈=∑ − −

= + + +ur −

(1)

d(pi, q) is the distance between pi and q. This will be defined in detail later. FmP and FmQ are the number of milling features for part P and Q. Similarly FdP and FdQ are the number of drilling features for part P and Q. SP and SP are the number of access directions (i.e., a surrogate measure for the number of setups) to machine part P and Q. The function AVG(A,B) yields the average values between the quantities in parenthesis. It is used to normalize distance components terms. The quantities wFm, wFd and wS are the weights assigned respectively to the milling feature, drilling feature and setup term.

The distance function between RFVs p ∈ P and q ∈ Q is defined as follows.

( )2 2 2

2 2

[

]

( , ) ( ) ( ) ( ) 1 ( , ) ( ( ) ( ))( ( ) ( )) ( ( ) ( )) ( , )

p q p q p qV

C T

d p q x x y y z z p q w V p V qw p q w n p n q w p qε ε

2δε δ

= − + − + − + − −+ − + − +

+ (2)

The key drivers for the machining cost of a prismatic part are number of setups, tool changes and machining operation cost. The distance function between two RFVs p ∈ P and q ∈ Q needs to account for them. Each RFV is represented by using six components. Specific components are xp, yp, zp, V(p), ε(p), n(p). The first three components xp, yp and zp represent the orientation of the RFV p, and are transformation-dependent. The other three components V(p), ε(p) and n(p) are transformation-invariant. The fourth component V(p) represents the normalized volume of the RFV. The volumes are normalized using the average volume of all the features of the parts being compared. The fifth component ε(p) represents the normalized dimensional tolerance. In this paper only dimensional tolerances are taken into account. The dimensional tolerances are normalized using the dimensional tolerance value occurring most often in the database. The sixth component n(p) is referred to as the group cardinality of p. The reason behind including this component is as following. Two different features may have the identical first five components in the reduced feature vectors, hence making it difficult to distinguish between them. This may cause problem in use of asymmetric distance functions. Therefore, we group such features into a single composite feature. In order to handle composite features, we have introduced the group cardinality as the sixth component. If no grouping has been performed then the value of n(p) is set to 1. Figure 6 shows an example of a composite feature.

The first three terms in Equation (2) account for the difference in position between p and q and relate to the number of tool setups. The last four terms account for the difference in transformation-invariant attributes that are considered. Specifically, the fourth term accounts for difference in volume between the corresponding features and relates to the machining operation cost. The fifth term accounts for difference in dimensional tolerance between the corresponding

5

Page 7: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

features and relates to machining operation cost. The sixth term of the distance function accounts for difference in group cardinality between the RFVs corresponding to p and q and relates to the machining operation cost. Finally, the seventh term accounts for difference in type between the corresponding RFVs and relates to the number of tool changes. The term δ has the following expression.

( , ) 0 if type of is equal to type of ( , ) 1 if type of is different from type of p q p qp q p q

δδ⎧⎪⎨⎪⎩

==

So all the key drivers for the machining cost of a prismatic part are accounted for. The volume, tolerance and group cardinality terms are multiplied by the quantity ( )1 ( , )p qδ− , so that when the types of features p and q do not match, volume and tolerance terms are not considered. The quantities wV, wε, wC and wT represent the weights given by the user to the volume, tolerance, group cardinality and type terms respectively. The distance function can be customized by: (a) changing the weight associated with each of the terms in the distance function, (b) considering additional transformation-invariant feature parameters as needed.

The distance function defined in Equation (1) is the measure of similarity between parts MP and MQ, represented by two sets of RFVs; the smaller the value of the distance given by Equation (1), the more similar are the parts MP and MQ.

2.3 Problem Formulation

The input to the system described in this paper is a database of previously machined parts whose cost is already known and a newly designed part whose machining cost is to be estimated. The system outputs previously machined parts similar to the query part.

Each part has been modeled in its own coordinate system. Therefore, we need to align the parts using rigid body transformations before computing the distance. The parts are represented by using two sets of RFVs. Hence, as stated above, the problem of aligning two sets of RFVs is equivalent to the problem of aligning attributed points on the unit sphere. To align the two sets of attributed points on the unit sphere, one set has to be moved rigidly with respect to the other set. Rigid body transformation of a set of attributed points on the surface of the unit sphere involves three degrees of freedom. The distance function has to be minimized over all the possible configurations of the moving attributed point set with respect to the stationary one. The transformation matrix for the three degrees of freedom transformation is given by ( , , )ϑ ϕ ψ=R R where θ, ϕ, and ψ are the three degrees of freedom considered. Assuming that P is the moving set, the transformed set P can be written as RP. The distance function defined in Equation (1) can then be written as a function of θ, ϕ, and ψ:

( )( , ) ( , , ) ,d P Q d P Qϑ ϕ ψ=R Rur ur

(3)

This paper introduces a technique to find the best alignment between two sets of attributed points on the unit sphere by transforming one attributed point set such that the distance function is minimized.

6

Page 8: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

3. COMPUTING SIMILARITY FOR QUERY PARTS WITH SINGLE PREFERRED FEATURE INTERPRETATIONS

For estimating the cost of machining the new part based on an existing part, the two parts should have at least one feature of the same type. If the two parts have no common features then one part cannot be used to estimate the cost of the other and hence the part needs to be pruned. Thus, two degrees of freedom in this problem can be constrained by aligning access directions of compatible features (e.g., features of the same type) from two parts. The total number of alignments that need to be tested during this step is not large. This is because the number of combinations of features of the two parts of the same type is not significantly large, as most of the reasonably complex mechanical parts have fewer then 100 instances of composite features.

Parts in the database that have significantly different number of features or access directions than the query part can be pruned without any need to compute distance value for them. Pruning threshold can be defined by the user in our framework.

Consider a pair of RFVs pi ∈ P and qj ∈ Q of the same type equivalent to two attributed points on the unit sphere. Initially, the rotation represented by the matrix Ri,j is applied to the two sets P and Q such that pi ∈ P and qj ∈ Q are aligned. Then the two sets P and Q are rotated again such that pi ∈ P and qj ∈ Q are aligned with the z-axis. Finally the set P is rotated with respect to Q about the z-axis. The rotation value θ that leads to the minimum distance function value is computed using the technique described in Section 3.1. The same technique is used for all candidate combinations of the compatible RFV pairs. The output is the minimum value of the distance over all the RFV pair alignments.

The basic idea for aligning the two parts is illustrated using the example shown in Figure 7. Figure 7(a) shows the initial orientations of two parts MP and MQ that are to be compared. In this case, Part MP is obtained by randomly rotating part MQ. Part MP in oriented such that one of its features aligns with a feature of the same type of part MQ as shown in Figure 7(b). The system then computes the angle of rotation θ such that the distance function is minimized. The final orientations of the two parts are shown in Figure 7(c).

3.1 Finding The Optimal Alignment Under One Degree Of Freedom

Once the access vectors of the compatible RFVs from P and Q have been aligned, the problem reduces to one degree of freedom alignment problem that involves rotation around the access vector. The problem of computing angle θ around access vectors that minimizes the distance function given by Equation (1) between two sets of RFVs is solved using the steps described in Sections 3.1.1 and 3.1.2.

3.1.1 Building The Set Of Theta-Intervals For The RFVs Of Set P

To compute the distance value in Equation (1), the closest neighbor qj ∈ Q to each pi ∈ P needs to be determined. The closest neighbor qj ∈ Q to each pi ∈ P changes with the rotation of set P with respect to set Q. Thus, the closest neighbor information for each pi ∈ P needs to be obtained by taking into account the rotation θ around the fixed axis as explained in the previous section. It

7

Page 9: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

is necessary to know, for each value of the rotation θ, the closest RFV qj ∈ Q to each RFV pi ∈ P. The closest neighbor to each RFV of P changes only at specific values of θ. Thus, the theta range [0,2π] can be split into a set of theta intervals within which the closest neighbor to each RFV of P is known and invariant. The following algorithm is used for this purpose.

Algorithm: FINDINVARIANTCLOSESTNEIGHBORS Input:

• Sets P and Q of RFVs Output: • Set of theta intervals and for each interval the closest neighbor to every RFV of P from

set Q. Steps: 1. For each RFV pi of P

a. For each possible pair of distinct RFVs qk and ql of Q i. Divide the theta range [0,2π] into subintervals within which either d(pi, qk) >

d(pi, ql) or d(pi, qk) < d(pi, ql). The division is performed by intersecting the unit sphere on which pi, qk and ql are located with a plane whose locus is such that d(pi, qk) = d(pi, ql), where d is the distance function defined in Equation (2). This step will be described in more detail below

b. Overlap the intersecting subintervals obtained in step 1.a so that the range [0,2π] is further divided into a set of intervals

c. For each interval being obtained in step 1.b i. Using the neighbor information obtained in step 1.a, find the RFV qj of Q such

that d(pi, qj) is minimum over all the RFVs of Q. d. If two adjoining intervals have the same closest neighbors, then combine them into

a single interval. 2. Overlap the set of intersecting intervals being obtained in step 1 for each RFV pi of P.

Within the set of intervals being obtained the closest neighbor to every RFV of P from set Q is invariant and known.

The algorithm described above yields the set of theta intervals for the RFVs of P. After step 1.a.i, for each RFV pi of P the theta range [0,2π] is divided for each possible pair RFVs qk and ql of Q into at most two subintervals with the properties described above in the algorithm. Hence, assuming that the cardinality of sets P and Q are respectively n and m, after step 1.a.i there are C(m,2) = O(m2) pair of subintervals at most for each RFV pi of P. In step 1.b these pairs of subintervals are overlapped for each RFV pi of P. In theory the overlapping of O(m2) pairs of subintervals would divide the theta range [0,2π] into O(m2) subintervals. Each subinterval is such that for the RFV pi of P there is one and only one closest neighbor from Q. However, many of the adjoining intervals have the same closest neighbors. These intervals are combined into single intervals during Step 1.d. After Step 1.d, a large number of intervals can only occur if there are large numbers of disjoint intervals with the same closest neighbors. However, the structure of the partitioning of intervals limits such occurrences. Hence, after combining the

8

Page 10: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

adjoining intervals with the same closest neighbors we only get O(m) subintervals. The reason for this is described below.

Let us consider a case where set Q only consists of three members: q1, q2, q3. Let I1be an interval in which q1 is closest neighbor to p compared to q3 (generated in Step 1.a.i). Let I2 be an interval in which q2 is closest neighbor to p compared to q2 (generated in Step 1.a.i). Let I1 intersect with I2 . Let I1 get split into two disjoint intervals as result of this intersection. I1 can only be split by the intervals that are completed nested inside it (see Figure 8). Hence I2 has to be completely inside I2. Moreover, the interval I1 cannot split I2. Furthermore, I2 cannot split any other interval besides I1. Hence the total number of possible interval splittings is severely restricted. Because of nesting requirements, the splitting relationship forms a tree. In this tree, a node represents an interval corresponding to a unique closest neighbor. Edges in the tree represent intersecting intervals that split the parent interval. The total number of splitted intervals created in such a case is of the order of the summation of the degrees of various nodes in the tree. Hence there are only O(m) subintervals after Step 1. Finally, in step 2 the set of O(m) subintervals obtained for each RFV pi of P in step 1 are overlapped. This final overlapping divides the theta range [0,2π] into O(nm) subintervals. In the next paragraphs step 1.a.i and step 2 will be explained in detail.

In step 1.a.i, the closest neighbor information for each RFV pi ∈ P needs to be obtained by using the distance function defined in Equation (2). The distance function accounts for relevant feature attributes. The transformation-invariant attributes need to be considered. First let us consider a case where the RFVs have identical transformation-invariant attributes. As shown in Figure 9, the dotted circle represents the trajectory of p1 of P. Consider two RFVs q1 and q2 of Q on the unit sphere. Along a portion of this trajectory d(p1, q1) < d(p1, q2) and along the remaining portion d(p1, q1) > d(p1, q2). The procedure to obtain the theta intervals such that the closest neighbor is invariant is as follows. Consider a plane π12 through the center of the unit sphere which represents the locus of the points whose distance from RFV q1 of Q is the same as the one from RFV q2 of Q. Consider also the circle C1 representing the trajectory of RFV p1 of P around the fixed axis. The plane and the circle are intersected, obtaining two points on the circle. The circle corresponds to the theta range [0,2π] and the two intersection points correspond to the extreme values of the two theta intervals being obtained, as shown in Figure 9. Within each interval either d(p1, q1) < d(p1, q2) or d(p1, q1) > d(p1, q2) and the closest neighbor to p1 is known. Now let us consider the case where reduced feature vectors have different transformation-invariant attributes. Let Δw11 be the difference between the transformation-invariant attributes of RFV p1 of P and RFV q1 of Q and let Δw12 be the difference between the transformation-invariant attributes of RFV p1 of P and RFV q2 of Q. Let Δw11 < Δw12 and Δw = Δw12 - Δw11. In this case it is necessary to locate a plane π′12 such that d(p1, q1) = d(p1, q2) using the distance function defined in Equation (2). Because of the presence of transformation-invariant attributes, the plane π′12 will no longer be the plane that is located at the same distance from RFVs q1 and q2 of Q. As shown in Figure 10, the plane will be offset by α in the direction of the point having the smaller value Δwij, in this case q1. The value of α is defined as follows.

2wH

α Δ= (4)

9

Page 11: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

where H is equal to the Euclidean distance between q1 and q2. Depending on the value of Δw and H, it is possible that the value of the offset α is such that the plane does not intersect the circle at all. In this case, the theta range [0,2π] will not be divided into intervals, and it will be either d(p1, q1) < d(p1, q2) or d(p1, q1) > d(p1, q2) throughout the theta range [0,2π]. In Appendix A the value of α defined in Equation (4) will be derived.

Observe that step 1 of the algorithm FINDINVARIANTCLOSESTNEIGHBORS yields the neighbor information for each RFV of P separately. A set of theta intervals is built for a particular RFV pi ∈ P such that in each interval the closest RFV of Q to pi is known. In Figure 11 the set of theta intervals within the range [0, 2π] for the RFV p1 ∈ P is shown. Thus several sets of theta intervals are obtained, one for each RFV of P. The overlapping of the sets of theta intervals being performed in step 2 yields the set of theta intervals for the RFVs of P. Within each of the intervals the distance given by Equation (1) can be minimized using closed form mathematical formulae. The only independent variable in the formulae is rotationθ. The single sets of theta intervals for each RFV of P are combined into the set of theta intervals for the RFVs of P by overlapping so that the resulting range [0, 2π] is further split into intervals. Each of the resulting intervals is obtained from the intersection of the intervals of the initial sets of intervals. Figure 12 shows two sets of intervals that are overlapped. One set of intervals is the set of theta intervals of RFV p1 of set P (see Figure 12(a)), the other one is the set of theta intervals of RFV p2 of set P (see Figure 12(b)). The interval c, indicated in Figure 12(c) by an arrow point, is clearly contained in one of the intervals of each of the two sets of theta intervals that have been overlapped. As shown in Figure 12(a) and Figure 12(b), the intervals c1 and c2 overlap to generate interval c. Thus, interval c represents a region in the set of theta intervals for the RFVs of P. Within c, q1 is the closest neighbor to p1 and q2 is the closest neighbor to p2. Each point of c corresponds to a rigid transformation applied to the set of RFVs P while Q is fixed. Thus, within any interval of the set of theta intervals for the RFVs of P, the closest RFV of Q to each RFV in P is known. The distance function defined in Equation (1) can now be computed for each interval. The distance function defined in Equation (1) for each interval can be expressed as a function of the co-ordinates (x, y, z) of the RFVs of P and Q. Co-ordinates of P and Q can be expressed as a function of θ, which is the angle of rotation. Thus the distance function defined in Equation (1) is expressed as a function of θ as explained in the next section.

3.1.2 Minimization Of The Distance Function Within A Given Theta-Interval

The location (xp, xp, xp) of an attributed point p on the unit sphere can be represented by two angles: θ and ϕ. In the previous subsection the set of theta intervals for all the RFVs of P was built by overlapping the single sets of theta intervals of each RFV. The range [0, 2π] is thus divided in a number of intervals. Within each interval the closest RFV in Q to each of the RFV in P is known. The following definitions, valid within each single interval, will be used:

10

Page 12: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

( ) coordinate of the closest RFV ( ) to the RFV ( ) coordinate of the closest RFV ( ) to the RFV ( ) coordinate of the closest RFV ( ) to the RFV ( ) angle

j

j

j

j

qj i

qj i

qj

q

i

x i x q i Q p Py i y q i Q p Pz i z q i Q p P

iθ θ

= ∈

= ∈

= ∈

= of the closest RFV ( ) to the RFV ( ) angle of the closest RFV ( ) to the RFV j

j i

qj i

q i Q p Pi q i Qϕ ϕ

⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

∈ ∈

= ∈

p P∈

(5)

Within a single interval, it is necessary to compute ( , )d P Qur

as a function of the transformation θ: In order to minimize ( )d θ

ur its derivative with respect to θ must be set to zero. By doing this

and simplifying, we get the following expression:

1 1

1

sin( ( ) )cos( ( ))cos( )tan

cos( ( ) )cos( ( ))cos( )

j ji i

j ji i

n q qp p

in q qp p

i

i i

i i

θ θ ϕ ϕθ

θ θ ϕ ϕ− =

=

⎛ ⎞⎡ ⎤⎜ ⎟⎣ ⎦⎜ ⎟⎜ ⎟⎡ ⎤⎜ ⎟⎣ ⎦⎝ ⎠

−∑=

−∑ (6)

The values of θ resulting from Equation (6) can identify a local minimum or a local maximum of the distance function, depending on the sign of the second derivative. Hence, we also check the sign of the second derivative in order to choose the right value of θ.

Equation (6) yields the transformation θ, applied to the set of RFVs P, which minimizes the distance between the sets of RFVs P and Q. This value of the transformation is valid only within a single interval of the set of theta intervals for all the RFVs of P. In general the value of θ that is found is not guaranteed to lie in the interval where the distance function is defined. Values of θ that lie outside the corresponding interval have no physical meaning and should be discarded. In such cases the distance function will assume its minimum value in correspondence of one of the extremes of the corresponding theta interval.

Equation (6) has been obtained by differentiating the distance function with respect to θ, which is a standard minimization technique in the continuous domain. Thus, the transformation value obtained for an interval c of the set of theta intervals for all the RFVs of P yields the best possible alignment between the two RFV sets for all permissible transformations within the interval c.

3.2 Results

A software system has been implemented based on the algorithms presented in this paper in C++ programming language using Microsoft Foundation Classes (MFC) and OpenGL on a Windows platform. The input to the system is the query part that the designer has designed and the directory in which all the previously machined parts exist. The system performs the alignment using the algorithms described above and outputs those previously machined parts that are similar to the query part based on the distance function described in Section 2.2. The output models are rank ordered based on this distance function starting for the one having the smallest distance value.

11

Page 13: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

The parts have been defined using our own feature-based design system implemented in C++ programming language using ACIS geometric kernel libraries. The user needs to define the dimensional parameters, type, location, orientation and dimensional tolerance of all the features of the part. Our information model is consistent with Pro/Manufacture feature information model. We have tested this consistency on several different examples. In order to use our algorithm, one needs to either directly define features using features in our system, model parts using Features in Pro/Manufacture, or use a feature recognition system to identify machining features.

We have developed a database of 120 machined parts to test the proposed approach. In order to show that the system correctly identifies the parts that similar from the cost estimation point of view, we need to show that the distance function used in this paper and machining costs correlate well to each other. We selected 40 parts from our part database and developed detailed process plans for them (these parts are shown in Appendix B). We had to limit ourselves to 40 validation parts because developing detailed process plans for each part is a highly time consuming activity that takes several hours per part. We believe that 40 parts are sufficient for us to assess correlation between the machining time difference and the distance given by Equation (1).

The 40 parts selected for developing detailed process plans were diverse in nature from setup and feature count point of view. For each of 40 validation parts, we computed feature machining time and setup change time using the detailed process plan. We decided to use machining time (expressed in second) as a measure of the machining cost. Time measures are more universal than the dollar cost measures due to differences in labor cost in different markets.

We define machining time difference between two parts as the absolute value of the differences between feature machining times and setup change times of the two parts. Query Parts #1, #2, #3 and #4 are compared against each remaining part by using our approach. All parts in the validation set are rank-ordered with respect to the distance function defined in Equation (1). During the validation phase, we suppressed the pruning steps and hence the system was forced to compute distance for all parts in the validation set with respect to each of the four query parts.

The validation step mainly consists of evaluating the correlation between the outcome of our technique and the actual machining time of the database parts. In fact ideally the more similar a part from the database is to a given query, the more similar its machining time should be to the machining time of the given query. So a high correlation between the distance values obtained by applying our approach and the machining time differences would show that the parts considered similar to a given query have machining cost comparable to the given query as well. In general there could be parts that have both setups and features significantly different from the query part but still have very similar machining time. For example, a part can have one complex setup and another part may have three simple setups. In this case, it might be possible for parts to have comparable setup times despite significant differences between the setup methods. Hence, there might be cases where our technique yields high distance but actual difference between machining time is low. Most human cost estimators would not consider such parts as similar parts despite similarity in their costs. Hence, we will not consider such instances as a failure of the proposed approach. However, if there are cases in which our distance value is small and the

12

Page 14: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

actual difference in the machining time is large then such cases will be considered a failure for the proposed approach.

We are interested in studying correlation between differences in machining time and the distance value corresponding to Equation (1). When Equation (1) produces very large distance, there are expected to be large differences in machining time as well. But we do not expect close quantitative correlations between there numbers at large distance value. Hence we have chosen to study these correlations when the match distance given by Equation (1) is below 2.5.

The dimensional tolerance value for all the features in the validation part set has been set to 50μm. We assume that all parts in the database are made from low carbon steel. The weights of the volume (wV) and group cardinality (wC) terms have been set to 0.5. The weights of the type term (wT) and tolerance term (wε) have been set to 1. The weight of the milling feature difference (wFM) has been set to 2, while the one of the drilling feature difference (wFD) has been set to 0.25. Finally the weight of the setup difference (wS) has been set to 5. These weights were determined based on the actual contribution of each individual factor on the machining time. The weights can be modified by the user to increase/decrease the influence of feature attributes on the distance function.

The first four experiments test the algorithms performance by focusing on feature volume, orientation, group cardinality, type and feature and setup numbers. Hence the parts being retrieved from the database will be the ones that are more similar to the query parts in feature volume, orientation, group cardinality, type and feature and setup numbers. Figures 13, 14, 15 and 16 show the four query parts and those previously machined parts from the database of existing parts that are similar to the query parts. The value of the distance between the query parts and matched parts is also indicated. For query Part #1, Part #16 is ranked fifth. However, it has a low value of machining time difference. Part #16 has features and setups of similar types as Part #1. However, features are distributed significantly differently among setups. Hence the distance measure based in Equation (1) gives a high distance value. This is an acceptable result because the process plan for this part is different from Part #1.

For query Part #1 the correlation between the distance given by Equation (1) and the machining time difference is 0.819 for matches below the distance value of 2.5. For query Part #2 this correlation is 0.877, for query Part #3 this correlation is 0.993, and for query Part #4 this correlation is 0.649. The aggregate correlation across all query parts between the distance given by Equation (1) and the machining time difference is 0.778 for matches below the distance value of 2.5. Hence, overall these four experiments yield very good performance. In fact, this performance perfectly matches the performance of an experienced machinist.

Based on our experiments, we recommend using a threshold of 0.6 on the distance value from Equation (1) for parts to be considered a match for cost estimation purpose. This value corresponds to matches that have a machining time difference of less than 2000 seconds.

The fifth experiment assesses the performance of the algorithm by focusing on feature dimensional tolerances. The query part used in this case is Part #41 with feature dimensional tolerance value of 20μm (this part is identical in geometry to Part #3). Figure 17 shows parts from the database that are similar to this query part, along with their distance from the query part

13

Page 15: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

and their dimensional tolerance value. In this case, the retrieved parts are the ones that have dimensional tolerance values closer to the query part. An interesting observation can be made in this case. The part with the second rank has identical geometry to the query part. However, it has higher distance than the first ranked part because it has higher tolerance value compared to the query part.

The time taken to retrieve those database parts that are similar to the query part depends on the complexity of the query part, size of the database, and number of parts in the database that are similar to the query part. For the five query parts described in this section, the average time taken to retrieve the similar parts is 5-7 seconds for a database consisting of 120 parts. Please note that during this computational experiment the entire database was searched and pruning steps was enabled.

4 SIMILARITY ASSESSMENT IN PRESENCE OF MULTIPLE FEATURE INTERPRETATIONS

In order to compute the degree of similarity using feature-based techniques between pairs of 3D machined parts correctly, sometimes it is necessary to account for multiple possible interpretations of features [Gupt95]. Each feature interpretation corresponds to a different way of machining the feature. Figure 18 shows an example of multiple feature interpretations.

We believe that it is reasonable to assume that the database parts that will used to estimate the cost of the newly designed part have already been machined and their machining cost is known. Hence for each database part, we can safely assume that the preferred interpretation is known. On the other hand, the newly designed part whose cost needs to be estimated may have multiple possible interpretations, each corresponding to a different way of machining it and the preferred interpretation may not be known. For these reasons it will be assumed that only the query part has the possibility of multiple feature interpretations, while the database parts have unique preferred feature interpretations.

We generate multiple feature interpretations for each feature of the query part by changing the access direction and suitably transforming size parameters for certain types of features. The permissibility of a particular access direction is tested by performing accessibility analysis by sweeping the feature in the access direction and testing its intersection with the part. If the swept body intersects with the part, then the corresponding access direction is not permitted. Each permissible interpretation is used for further analysis in the algorithm.

In order to handle multiple feature interpretation, it is necessary to modify the distance function defined in Equation (1). Refer to the definitions given in Section 2. Imagine that part MQ is a database part whose cost is known. Hence the interpretation of the features for part MQ is unique. On the other hand, part MP is a newly designed part whose cost needs to be estimated. Hence its feature interpretation has not been yet defined. Denote the set of RFVs for these parts as P and Q. Let 1 2( , ,..., )ik

i i i iA p p p= be the set of possible ki interpretations for RFV pi of set P. Let

( , , , ( ), ( ), ( ))k k ki i ip p pk k k k

i i i i ip x y z V p p n p A Pε= ∈ ⊂ be the kth interpretation of RFV pi. In order to account for multiple interpretations of features, the sets P and Q are compared using the following distance function.

14

Page 16: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

( ) ( ) ( )

2 2

1

2 2, ,

min min ( , )( , )

nkik q Qp Ai mP mQ dP dQ P Qi i

Fm Fd S

mP mQ dP dQ P Q

d p q F F F F S Sd P Q w w wn AVG F F AVG F F AVG S S

∈∈=∑ − −

= + + +ur

2

2,

P

P

(7)

The overall algorithm described in Section 3 constrains two out of the three degrees of freedom involved by aligning all the possible pairs of RFVs of the same type. The same reasoning can be used in case of multiple interpretations of features. In this case pair of RFVs of the same type are identified, but then all the possible interpretations of each RFV of P need to be aligned to the corresponding RFV of part Q.

In order to compute the distance value in Equation (7), we need to know the closest RFV qj ∈ Q to each interpretation . The neighbor information changes with the rotation θ around the fixed axis identified through the alignment of a pair of RFVs of the same type. It is necessary to divide the theta range [0,2π] into theta intervals such that the closest neighbor to each RFV interpretation is invariant. In order to use the technique defined in Section 4, it is necessary to consider each RFV interpretation for part M

kip ∈

P as a regular RFV. By using this assumption it is possible to apply the technique defined in Section 4 without any modification, to obtain a set of theta intervals. Within each interval the closest RFV qj ∈ Q to each RFV interpretation k

ip ∈ is invariant. Observe that in this case the pruning based on number of features will not be performed, as each feature interpretation of part MP will be considered as a feature and hence the number of features being considered will be higher than the actual one. Also, the features of part MP will not be grouped, as the grouping may result in considering simultaneously two or more interpretations of the same feature in computing the distance function defined in Equation (7).

Once the set of theta intervals is obtained, a further step is necessary in order to compute the distance function defined in Equation (7). It is necessary to choose the RFV interpretation whose distance from its closest neighbor is minimum over all the interpretations. Such RFV interpretation will be referred to as preferred interpretation. This choice needs to be made within each theta interval for each RFV of part MP. Let us focus on the set 1 2( , ,..., )ki

i i iA p p pi = of possible ki interpretations for point pi of set P corresponding to a feature of part MP. Observe that the distance function defined in Equation (7) is a linear combination distance function. This property allows to focus on each term independently and minimize it. Within

each interval, the closest neighbor of Q to each interpretation is constant. Hence each term of the distance function can be written as . So it is necessary to perform a

dominance analysis on the distance functions between each interpretation and its closest neighbor within the interval being considered. The dominance analysis consists of identifying the distance function that has the minimum value over all the distance functions corresponding to the RFV interpretations. The RFV interpretation corresponding to the minimum distance function will be the preferred one. The dominance analysis in some cases might result in splitting the theta interval into subintervals within which different RFV interpretations are the preferred ones. In order to visualize the described procedure, refer to the

min min ( , )kik q Qp Ai i

d p q∈∈

( , )jq k i kip

min ( , ( , ))ki i

ki

p Ad p q k i

( , ( , ))kid p q k i k

ip( , )jq k i

15

Page 17: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

example in Figure 19. The z-axis is the rotation axis being considered, and the theta interval is assumed to be the entire [0,2π] range. In Figure 19(a), the access vectors to the two interpretations of feature 1 of part MP are shown. Also the access vector to feature 1 of part MQ, that is the closest neighbor to both the feature interpretations, is shown. In Figure 19(b) the representation of the corresponding RFVs on the unit sphere is shown. In Figure 19(c) the corresponding distance functions are plotted. As shown in the figure, the distance functions are both constant in the interval being considered and the distance function corresponding to RFV

is the minimum one. Hence the corresponding RFV interpretation is the preferred one. So the described dominance analysis needs to be performed for each theta interval. It yields a set of theta intervals, in general but not necessarily different from the one previously obtained. Within each interval the preferred RFV interpretation and its closest neighbor are invariant. The described procedure yields the theta intervals for a single feature of M

11p

P. It needs to be repeated for each RFV of part MP. So finally a set of theta interval for each feature of MP is available. Overlapping the intersecting intervals will further split the range [0,2π] into theta intervals, within which the preferred RFV interpretation and its closest neighbor are invariant for all the features of part MP. Now it is possible to compute the distance function defined in Equation (7) and minimize it.

The minimization of the distance function defined in Equation (7) can be performed following the same steps as in Section 4.2. Following notations need to be introduced. Let k

ipθ and kipϕ be

the known angle values for RFV interpretation ki ip A P∈ ⊂ at the end of the RFV pair alignment

described above. Similarly let jqϕ and jqθ be the known angles for RFV qj ∈ Q at the end of the RFV pair alignment described above. Within each interval, for each set of interpretations let 1 2( , ,..., )ki

i i i iA p p p= kiip be the preferred one. The definitions (5) need to be

modified as follows:

( , ) coordinate of the closest RFV ( , ) to the RFV

( , ) coordinate of the closest RFV ( , ) to the RFV

( , ) coordinate of the closest RFV ( , ) t

j

j

j

kq ii j i i i

kq ii j i i i

qi j i

x k i x q k i Q p A P

y k i y q k i Q p A P

z k i z q k i Q

= ∈

= ∈

= ∈

∈ ⊂

∈ ⊂

o the RFV

( , ) angle of the closest RFV ( , ) to the RFV

( , ) angle of the closest RFV ( , ) to the RFV

j

j

kii i

kq ii j i

kq ii j i

i i

i i

p A P

k i q k i Q p A P

k i q k i Q p A P

θ θ

ϕ ϕ

⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

∈ ⊂

= ∈

= ∈

∈ ⊂

∈ ⊂

(8)

Following the same steps as in Section 3.2 with the new notations introduced above, again ( )d θur

is minimized by setting its derivative with respect to θ to zero.

1 1

1

sin( ( , ) )cos( ( , ))cos( )tan

cos( ( , ) )cos( ( , ))cos( )

k ki ij ji i

k ki ij ji i

n q qp pi i

in q qp p

i ii

k i k i

k i k i

θ θ ϕ ϕθ

θ θ ϕ ϕ− =

=

⎛ ⎞⎡ ⎤⎜ ⎟⎢ ⎥⎣ ⎦⎜ ⎟

⎡ ⎤⎜ ⎟⎜ ⎟⎢ ⎥⎣ ⎦⎝ ⎠

−∑=

−∑ (9)

The same observations made in section 3are valid here. The last step consists of minimizing the distance over all the theta-intervals. The same reasoning and formulae presented in section 3 can

16

Page 18: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

be used for this task. So by modifying the algorithms and using slightly different notations in the above-described way it is possible to account for multiple interpretations of features. In defining the above-described algorithms the assumption that each group of RFV interpretations Ai is independent from the others has been used.

The following example illustrates how this method works. In this case the query Part #44 has two features with two possible interpretations each, as shown in Figure 20. As in the previous experiments the parts whose distance from the query is less than 0.7 are shown in Figure 20. Part #38 is the first retrieved part. It has exactly the same feature orientation, type and characteristics as the query part, and the feature interpretations suggested are the ones corresponding to access vectors and . Part #39 and Part #40 are the second and third retrieved parts. They are retrieved based on the second interpretation of the query part.

11a 1

2a

5 CONCLUSIONS

This paper provides algorithms for identifying those parts in a database that are similar to a given query part to be machined and hence can be potentially used as a basis for estimating the machining cost of the query part. The feature-based approach described in this paper is expected to perform better than the gross-shape based approaches for similarity assessment for cost estimation application. This is because the machining cost mainly depends on the orientations, size, tolerance and group cardinality of the features and not on the gross shape of the part. The approach does not restrict the features to have a particular orientation as needed in some other techniques. It can handle features having any arbitrary orientation in space. It can also handle query parts that have features with multiple interpretations. It accounts for the relative feature orientation that is not considered by other feature-based techniques. Also, the distance function includes feature attributes such as dimensional tolerances. Finally, this paper also proposes an analytical solution for the attributed point-alignment problems on the unit sphere for one degree of freedom transformations.

Once the 3D machined parts are retrieved using the algorithms described in this paper, the cost estimator needs to evaluate the distance values to estimate the cost of the newly designed part. This is done as follows. In the first step, the cost estimator needs to evaluate the transformation-dependent term. This term indicates whether the setups needed to machine the retrieved part match the setups needed to machine the newly designed part. If the setups don’t match reasonably, the cost estimator should discard the retrieved part, as the cost of retrieved part will be different. In the second step, the cost estimator needs to evaluate the transformation-invariant terms. The first term being evaluated would be the type term. This term indicates feature type mismatches. With the help of the system, the user can locate the features on the newly designed part whose types did not match with any features on the retrieved part. Then, by using commercially available software such as Pro/Engineer, the user can obtain a machining cost estimate for each type of feature that does not match. The cost estimator can change the cost of the previously machined part suitably to generate an estimate for the newly designed part. The next terms being evaluated would be the volume and tolerance ones. They indicate the differences in volumes and dimensional tolerances between corresponding features of the same type and thus result in different costs of machining. The last term being evaluated would be the group cardinality. It indicates if any single feature on the newly designed part has been matched

17

Page 19: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

with several features of the retrieved part and vice versa. The cost estimator needs to identify such cases and, in case of occurrence, evaluate if to discard the retrieved part. In case the retrieved part is not discarded, the cost estimator needs to use its cost taking into account the difference of group cardinality of the features being matched. So finally the cost estimator will be able to predict how the cost of the newly designed part changes with respect to the one of the retrieved part. The cost of each retrieved part will be modified to give a cost estimate of the newly designed part. The above-described procedure can be repeated for each retrieved part. The cost estimator can decide which of the cost estimates are to be used for the newly designed part. Also, it is necessary to consider only those retrieved parts that are very similar to the query. Thus, the cost estimator needs to set a threshold distance based on his/her experience to limit the number of parts being retrieved from the database.

We believe that the technique presented in this paper will help cost estimators in searching a large database of 3D machined parts, automatically, in order to find the parts that are similar to the one whose cost has to be estimated. Then the cost estimators can analyze the cost of the retrieved parts in order to give an estimate of the cost of the newly designed part. This will reduce the time and effort required to locate parts in the database similar to the query part. It will also assist new cost estimators in locating suitable database parts for cost estimation.

In this technique four basic features, namely pocket, open slot, hole, and step, are currently considered. For the system to handle a wide variety of parts more features need to be considered. This will require identifying feature vectors and critical dimensions of these features and incorporating them into the mathematical formulation. The material of the part also needs to be taken into account. The procedure for handling multiple feature interpretations needs to be improved as well.

ACKNOWLEDGMENTS

This research is supported by Center for Energetic Concept Development at the University of Maryland.

REFERENCES

[Belo01] S. Belongie, J. Malik, and J. Puzicha. Matching shapes. In 8th IEEE International Conference on Computer Vision, Vancouver, Canada, July 2001.

[Besp03] D. Bespalov, W. C. Regli, and A. Shokoufandeh. Reeb graph based shape retrieval for CAD. In Proceedings Of 23rd ASME DETC Computers And Information In Engineering (CIE) Conference, Chicago, IL, 2003.

[Card03] A. Cardone, S. K. Gupta, and M. Karnik. A survey of shape similarity assessment algorithms for product design and manufacturing applications. Journal of Computing and Information Science in Engineering, 3(2):109-118, June 2003.

[Card05] A. Cardone. A feature-based shape similarity assessment framework. Ph.D. Thesis, Mechanical Engineering Department, University of Maryland, College Park, August 2005.

18

Page 20: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

[Card06] A. Cardone, and S. K. Gupta. Shape similarity assessment based on face alignment using attributed applied vectors. CAD Conference, Phuket Island, Thailand, June 2006.

[Chak05] T. Chakraborty. Shape-based clustering of enterprise CAD databases. Computer Aided Design and Applications, 2(1-4): 145-154, 2005.

[Cici00] V. Cicirello and W.C. Regli. Managing digital libraries for computer-aided design. Computer Aided Design, 32(2): 119-132, February 2000.

[Cici02] V. Cicirello and W.C. Regli. An approach to feature-based comparison of solid models of machined parts. Journal of Artificial Intelligence for Engineering Design Analysis and Manufacturing (AI EDAM), 16(5): 385-399, November 2002.

[Corn03] Corney, J., Rea, H., Clark, D., Pritchard, J., MacLeod, R. and Breaks, M., Coarse Filters for Shape Matching, IEEE Computer Graphics and Applications, 22(3): 65-74, May/June 2003.

[Elin97] A. Elinson, D.S Nau, and W.C. Regli. Feature-based similarity assessment of solid models. In ACM Symposium on Solid Modeling and Applications, pages 297-310, Atlanta, GA, 1997.

[Funk03] T. Funkhouser, P. Min, M. Kazhdan, J. Chen, A. Halderman, D. Dobkin, and D. Jacobs. A search engine for 3D models. ACM Transactions on Graphics, 22(1): 83-105, January 2003.

[Ghos96] P. K. Ghosh and R. M Haralick. Mathematical morphological operations of boundary-represented geometric objects. Journal of Mathematical Imaging and Vision, 6(2-3):199-222, June 1996.

[Gupt95] S.K. Gupta, and D. Nau. A systematic approach for analyzing the manufacturability of machined parts. Computer Aided Design, 27(5):343 – 352, 1995.

[Gupt99] S.K. Gupta and D.A. Bourne. Sheet metal bending: Generating shared setups. Journal of Manufacturing Science and Engineering, 121(4):689--694, November 1999.

[Hila01] M. Hilaga, Y. Shinagawa, T. Kohmura, and T.L. Kunii. Topology matching for fully automatic similarity estimation of 3D shapes. In SIGGRAPH, pages 203-212, August 2001.

[Iyer04] N. Iyer, S. Jayanti, K. Lou, Y. Kalyanaraman, and K. Ramani. A multi-scale hierarchical 3d shape representation for similar shape retrieval. In Proceedings of Tools and Methods for Competitive Engineering Conference, Lausanne, Switzerland, April 2004.

19

Page 21: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

[Karn05] M.V. Karnik, S.K. Gupta, and E.B. Magrab. Geometric Algorithms for Containment Analysis of Rotational Parts. Computer Aided Design, 37(2):213-230, February 2005.

[Ko03] K. H. Ko, T. Maekawa, and N. M. Patrikalakis. An algorithm for optimal free-form object matching. Computer Aided Design, 35(10): 913-923, 2003.

[Ko05] K. H. Ko, T. Maekawa, and N. M. Patrikalakis. Algorithms for optimal partial matching of free-form objects with scaling effects. Graphical Models, 67(2): 120-148, March 2005.

[Lou04] K. Lou, S. Prabhakar, and S. Ramani. Content based three dimensional engineering shape search. In Proceedings of the 20th International Conference on Data Engineering, pages 754-765, Boston, MA, 2004.

[Moun99] D. M. Mount, N. S. Netanyahu, and J. Le Moigne. Efficient algorithms for robust point pattern matching. Pattern Recognition, 32: 17-38, 1999.

[McWh01] D. McWherter, M. Peabody, A. Shokoufandeh, and W.C. Regli. Solid model databases: techniques and empirical results. Journal of Computer and Information Science in Engineering, 1(4): 300-310, December 2001.

[Osad02] Osada, R., Funkhouser, T., Chazelle, B. and Dobkin, D., Shape Distributions. ACM Transactions On Graphics, 21(4): 807-832, 2002.

[Rame01] M.M. Ramesh, D.Y. Hoi, and D. Dutta. Feature-based shape similarity measurement for retrieval of mechanical parts. Journal of Computing and Information Science in Engineering, 1(3):245-256, September 2001.

[Siddi99] K. Siddiqi, A. Shokoufandeh, S. J. Dickenson, and S.W. Zucker. Shock graphs and shape matching. International Journal of Computer Vision, 35(1):13-32, 1999.

[Sun95] T. L. Sun, C. J. Su, R. J. Mayer, and R. A. Wysk. Shape similarity assessment of mechanical parts based on solid models. In ASME Design for Manufacturing Conference, Boston, MA, September, 1995.

[Sund03] H. Sundar, D. Silver, N. Gagvani, and S. Dickinson. Skeleton based shape matching and retrieval. Proceedings of the Shape Modeling and Applications Conference, 130-142, Seoul, Korea, May 2003.

[Tuzi00] A. V. Tuzikov, J.B.T.M. Roerdink, and H.J.A.M. Heijmans. Similarity measures for convex polyhedra based on Minkowski addition. Pattern Recognition, 33(6):979-995, June 2000.

[Wolf97] H. J. Wolfson, and I. Rigoutsos. Geometric hashing: an overview. IEEE Computational Science And Engineering, 4:10-21, 1997.

20

Page 22: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

APPENDIX A

Consider two attributed points b1 = (x1, y1, z1, w1) and b2 = (x2, y2, z2, w2) that lie on the unit sphere, where w1 and w2 are the transformation-invariant attributes of the two points. Consider also the points p = (x, y, z, w) of the unit sphere as attributed points, where w is the transformation-invariant attribute. Assume that w remains constant for al the attributed points of the unit sphere. Suppose the distance between an attributed point of the unit sphere and the two attributed points considered is computed using Equation (2). The differences Δw1 = w - w1 and Δw2 = w - w2 correspond to the transformation-invariant terms of respectively d(p, b1) and d(p, b2) (refer to Section 2.2). We are interested in finding the locus of attributed points p = (x, y, z, w) on the unit sphere such that d(p, b1) = d(p, b2).

First of all observe that it is always possible to apply a rigid transformation to the attributed points b1 and b2 that lie on the unit sphere such that they both lie on the plane XZ and their position is symmetric with respect to the Z axis. Hence the following constraints are valid.

1 2

1 2

1 2 0

x xz zy y

= −⎧⎪ =⎨⎪ = =⎩

(10)

In order to solve the above-formulated problem, it is also necessary to comply with the following constraints.

( ) ( ) ( ) ( ) ( ) ( )

2 2 2

2 2 2 2 2 21 1 1 1 2 2 2

1

- - - - - -

x y z

2x x y y z z w x x y y z z

⎧ + + =⎪⎨

+ + + Δ = + + +⎪⎩ wΔ

2

(11)

The first equation constrains the attributed points p = (x, y, z, w) to lie on the unit sphere. The second equation constrains points p = (x, y, z, w) to be at the same distance from points b1 and b2. Using the Equations (10), the Equations (11) change as follows.

( ) ( ) ( ) ( )

2 2 2

2 2 2 22 22 2 1 2 2

1

- - -

x y z

x x y z z w x x y z z w

⎧ + + =⎪⎨

+ + + +Δ = + + +Δ⎪⎩ (12)

It is possible to assume without loss of generality that Δw = Δw2-Δw1 > 0. Using this assumption and the notations introduced above, the second of Equations (18) can be simplified to

24wxxΔ

= (13)

Equation (13) represents a plane π parallel to plane YZ. If the value of Δw is set to 0, then the plane π corresponds to plane YZ itself. If the expression for x being obtained in Equation (10) is substituted into the first equation in (11), a circle is obtained with having following equation.

21

Page 23: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

22 2

22

116

wy zx

Δ+ = − (14)

The circle C being represented by Equation (14) results from the intersection between the unit sphere and the plane π. Equations (13) and (14) suggest that, for values of Δw such that x<1, the locus of attributed points p defined in the problem formulation is the circle C on the unit sphere obtained from the intersection of the unit sphere and plane π parallel to plane YZ. The offset value of plane π from YZ is given by Equation (13). In this example, 2x2 = H where H is the Euclidean distance between points b1 and b2. For values of Δw such that x>1, Equation (14) becomes unsolvable. It means that the offset value of the plane parallel to plane YZ is such that the plane does not intersect the unit sphere.

So the locus of attributed points on the unit sphere such that their distance from b1 = (x1, y1, z1, w1) and b2 = (x2, y2, z2, w2) is equal exists only if the value of Δw = Δw2 - Δw1 is such that the value of x obtained from Equation (13) is less or equal to 1. In this case, the locus of attributed points is a circle C on the unit sphere obtained from the intersection between the unit sphere and the plane π parallel to plane YZ. The distance of the plane π from plane YZ is given by Equation (13).

APPENDIX B

Figures B1 and B2 shows parts used in the validation set.

22

Page 24: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Figure 1: An Example of Using a Similar Part for Cost Estimation

(b): Previously Machined Object (a): New Object

Page 25: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Figure 2: Features Considered With Access and Orientation Vector: (a) Pocket (b) Slot (c) Notch (d) Through Slot (e) Step (f) Hole

access

orientation

(a) (b)

(c)

(d) (e)

(f)

Page 26: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

a3

a1

a2

a3

a4

a5

a6

o1

o2

o3

o4

o5

o6

(a)

a1

a2 a3

a4 a5a6

o2

o1

o6

o4

o5

o3

(b)

a5

a6 a4

a3

a1

a2

o2

o6

o4 o5

o1 o3

(c) a1

a2

a3

a4 a5a6

o1

o2

o3

o4 o5

o6

(d)

a1

a2

o3

o1

o2

(e)

Figure 3: Machined Parts With Access and Orientation Vectors

Page 27: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

x

y

z

a2,a3,a4,a5,a6

a1

Part A x

y

z

a2,a3,a4,a5,a6

a1

Part B

x

y

z

Part C

a3,a4

a1,a2

a5,a6

x

y

z

a2,a3,a4,a5,a6

a1

Part D

x

y

z

a1,a2,a3

Part E

Figure 4: Access Vectors for the Parts of Figure 3

Page 28: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Figure 5: Equivalence Between Reduced Feature Vectors and Attributed Set of Points on Unit Sphere

(a): 3D Object With Feature Accesses and Orientations

a1

o1o2

a2

o3

a3

o6

a6

o5

a5

o4a4

f

f2

f3

f4

f5

f6

(b): Equivalent Attributed Points on Unit Sphere

p2,p3,p4,p5,p6

p1 = {0, 1, 0, 0.20 m3, 40 μm, 1}

Reduced feature vector attributes

fi = ith feature

Page 29: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Figure 6: Example of Composite Feature

a

fo

a

f

o

a

fo

a

f

o

a

fo

xc = 0 yc = 0 zc = 1 V = 0.05 m3

ε = 40 μm n = 4

fi = ith feature

fc = composite feature obtained grouping features f1, f2, f3, f4 all of type hole

Page 30: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Figure 7: Basic Idea Behind Alignment Step

(a): Part MP is same part as MQ but in a different coordinate system

(b): Access vector a1 and a2 are aligned

(c): MP is rotated about a2P by θ = 125.2

Part MQ Part MP

Part MQ Part MP

a1Q

a2P

a2Pa1

Q

Part MQ

θ = 125.2

Part MP

Page 31: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Figure 8: Illustration for Interval Splitting Condition

Interval I1 (q1 is closest neighbor to p compared to every member of Q –{q2})

Interval I2 (q2 is closest neighbor to p compared to q1)

2I1

1I1

I1 can be split into disjoint intervals 1I1 and 2I1if I2 is located completely inside I1.

Page 32: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Figure 9: Transformation-invariant Attributes Are The Same For Each Reduced Feature Vector in This Case: The Two Intersection Points Between Circle C1 and Plane π12 Represent The Extreme Values Of The Theta Intervals

Unit sphere

1 1 11 1 1 1( , , , ( ), ( ), ( ))q q pq x y y V p p n pε=

2 2 22 2 2 2( , , , ( ), ( ), ( ))q q pq x y y V p p n pε=

V(p1) = V(p2) ε(p1) = ε(p2) n(p1) = n(p2)

Plane π12

Circle C1 representing trajectory of reduced feature vector p1 of P

Intersections between C1 and π12

Page 33: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Circle C1 representing trajectory of reduced feature vector p1 of P

Figure 10: Transformation-invariant Attributes Are Considered in This Case: The Two Intersection Points Between Circle C1 and Plane π’12 Represent The Extreme Values Of The Theta Intervals

Unit sphere

α

1 1 11 1 1 1( , , , ( ), ( ), ( ))q q pq x y y V p p n pε=

2 2 22 2 2 2( , , , ( ), ( ), ( ))q q pq x y y V p p n pε=

Plane π12Plane π’12

Intersections between C1 and π’12

V(p1) ≠V(p2)ε(p1) ≠ ε(p2)n(p1) ≠ n(p2)

Figure 10: Transformation-invariant Attributes Are Considered in This Case: The Two Intersection Points Between Circle C1 and Plane π’12 Represent The Extreme Values Of The Theta Intervals

Unit sphere

α

1 1 11 1 1 1( , , , ( ), ( ), ( ))q q pq x y y V p p n pε=

2 2 22 2 2 2( , , , ( ), ( ), ( ))q q pq x y y V p p n pε=

Plane π12Plane π’12

Intersections between C1 and π’12

V(p1) ≠V(p2)ε(p1) ≠ ε(p2)n(p1) ≠ n(p2)

Page 34: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Figure 11: Individual Theta Interval for Reduced Feature Vector p1 of P

θ = 0 θ =2π θ1 θ2 θ3

θ = 0 corresponds to the initial position of the RFV p1

Interval corresponding to closest neighbor

RFV q2

p1

θ

θ2θ1

θ3

Interval corresponding to closest neighbor

RFV q1

Interval corresponding to closest neighbor

RFV q3 θ = 0

Page 35: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Figure 12: Example of Global Theta

(c): Global Theta Interval Resulting From Overlapping of Individual Theta Intervals (a) and (b)

θ =0 θ =2π c

(a): Theta Interval of RFV p1 of

Interval generated from RFV q1

θ =0 θ =2π Interval generated from RFV

q2

c

(b): Theta Interval of RFV p2 of

θ =0

Interval generated from RFV q2

θ =2π Interval generated from RFV

q1

Interval generated from RFV

q3

c

Page 36: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Query: Part #1

Rank 1 Rank 2

Part #15Distance: 0.149

Part #14Distance: 0.245

Part #20Distance: 0.148

Rank 3

Rank 4 Rank 5

Part #16Part #13Distance: 0.696

Distance: 0.697

We only show parts that have distance of 0.7 or lower with respect to the query part.

Computed Distance Vs Machining Time Difference

0100020003000400050006000700080009000

10000

0 2 4 6 8Distance

Mac

hini

ng T

ime

Diff

eren

ce

10

Figure 13: Results Obtained For Query Part #1 Used As Input to the System

Page 37: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Rank 1

We only show parts that have distance of 0.7 or lower with respect to the query part.

Computed Distance Vs Machining Time Difference

0

2000

4000

6000

8000

10000

12000

14000

0 2 4 6 8 10

Distance

Mac

hini

ng T

ime

Diff

eren

ce

12

Figure 14: Results Obtained For Query Part #2 Used As Input to the System

Query: Part #2

Part #19Distance: 0.000

Page 38: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Rank 1 Rank 2

Query: Part #3

Part #23 Distance: 0.000

Part #22 Distance: 0.263

We only show parts that have distance of 0.7 or lower with respect to the query part.

Computed Distance Vs Machining Time Difference

0

2000

4000

6000

8000

10000

12000

0 5 10 15 20

Distance

Mac

hini

ng T

ime

Diff

eren

ce

Figure 15: Results Obtained For Query Part #3 Used As Input to the System

Page 39: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Query: Part #4

Part #35 Distance: 0.243 Part #37

Distance: 0.032

Rank 1 Rank 2

We only show parts that have distance of 0.7 or lower with respect to the query part.

Computed Distance Vs Machining Time Difference

0100020003000400050006000700080009000

0 2 4 6 8 10 12 1

Distance

Mac

hini

ng T

ime

Diff

eren

ce

4

Figure 16: Results Obtained For Query Part #4 Used As Input to the System

Page 40: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Figure 17: Results Obtained for Query Part #41 Used As Input To The System

Part #42 Distance: 0.263

Query: Part #41

Part #43Distance: 0.573

Tolerance: 20μm Rank 1

Tolerance: 30μm Rank 2

Tolerance: 20μm

We only show parts that have distance of 0.7 or lower with respect to the query part.

Page 41: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Figure 18: Example Of Two Possible Feature Interpretations For A Machined Part

Feature access direction

Page 42: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Figure 19: Dominance Analysis For The Two Interpretations Of Feature 1 of part MP With Respect To Their Closest Neighbor Feature 1 of Part MQ

Part MP

Part MQ

feature 1 of MQ

Rotation θ

feature 1 of MP (two interpretations)

(a)

11p

21p

Rotation θ 1q

(b)

(c)

0 2π θ

d 21 1( , )d p q

11 1( , )d p q

11p corresponds to the preferred interpretation

Page 43: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Query: Part #44

Part #38

Distance: 0 Rank 1

y

Part #39

Distance: 0.128 Rank 3

Part #40

Distance: 0.150 Rank 2

11a

21a

12a

22a

Access vectors corresponding to the two possible interpretations

Based on interpretation a11 a2

1

Based on interpretation a12 a2

2

Based on interpretation a12 a2

2

We only show parts that have distance of 0.7 or lower with respect to the query part.

Figure 20: Results Obtained for Query Part 44 Used As Input To The System

Page 44: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Figure B1: Parts #1 to #20 in Validation Set

Part #1 Part #2 Part #3 Part #4

Part #5 Part #6 Part #7 Part #8

Part #9 Part #10 Part #11 Part #12

Part #13 Part #14 Part #15 Part #16

Part #17 Part #18 Part #19 Part #20

Page 45: This document contains the draft version of the following ...skgupta/Publication/CAD06_Cardone_draft.pdf · Computer Aided Design, 38(9):954-972, 2006. ... A hybrid approach combining

Part #21 Part #22 Part #23

Part #25 Part #26 Part #27 Part #28

Part #29 Part #30 Part #31 Part #32

Part #33 Part #34 Part #35 Part #36

Part #37 Part #38 Part #39 Part #40

Figure B2: Parts #21to #40 in Validation Set

Part #24


Recommended