Characterization and identification of forming features for 3-D sheet metal components

Characterization and identification of forming features for 3-D sheet metal components

International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322 Characterization and identification of forming features for 3-D sheet metal ...

486KB Sizes 0 Downloads 5 Views

International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

Characterization and identification of forming features for 3-D sheet metal components R. Jagirdar a, V.K. Jain b

b,*

, J.L. Batra

c

a EASi-Engineering, Detroit, MI, USA Indian Institute of Technology, Department of Mechanical Engineering, Kanpur 208 016, India c Indian Institute of Management, Lucknow 223 302, India

Received 16 June 2000; received in revised form 4 January 2001; accepted 8 January 2001

Abstract This paper presents a new classification system for forming operations, and concepts for extracting and recognizing forming feature from the 3-D sheet metal component created in a wireframe model. A set of principles is developed for characterizing forming features geometrically and topologically. Forming features are extracted by identifying 3-D component graph and subgraphs by vector normal method and vertex fusion methodology. Further, various planes and their type in the component graph are identified, and adjacency plane relationship between them is determined. Cross bend features are extracted by identifying common edges. Pattern recognition is then done using isomorphism principle and a set of characterization principles developed for forming features. A flat pattern is developed for the 3-D component and shearing features are identified. Recognized pressworking features help in the integration of Computer Aided Process Planning (CAPP), codification system, mapping of tools, inspection of tools, etc. The system has been tested for live components.  2001 Elsevier Science Ltd. All rights reserved.

1. Introduction Sheet metal components are widely used in various industries like aerospace, electronics, machine tools, refrigeration and air conditioning, etc., and they form a significant part of the manufacturing activity. Sheet metal components are important not only from a functional point of view, but also from an aesthetic point of view, since they are used as enclosures to cover the products and are visible to the outside world. These components vary in size, shape and com-

* Corresponding author. Tel.: +91-512-597-916; fax: +91-512-590-260. E-mail address: [email protected] (V.K. Jain).

0890-6955/01/$ - see front matter  2001 Elsevier Science Ltd. All rights reserved. PII: S 0 8 9 0 - 6 9 5 5 ( 0 1 ) 0 0 0 0 6 - 2

1296

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

Nomenclature ai, i⬘ BA CV d(e) em

boolean variable (0 or 1) of a vertex adjacency matrix of ith row and i⬘th column bend allowance coefficient on a planer equation degree of an edge mth edgeof an edgeset E, whichisduplex, havingstart andend verticesas its elements, i.e., em=[ns, m, nc, m|ns, m⬍ne, m] E fedge set of a component graph G, whose elements are lexicographically ordered E=[em|m苸M] Ej edge set of jth subgraph gj jth element (subgraph) of a component graph G G a 3-D component graph Gc child subgraphs present in a component graph G Gp parent subgraph present in a component graph G Gx, Gy, Gz subgraphs having maximum projected length along X-axes, Y-axes and Z-axes, respectively Gxy, Gyz, Gzx, Gxyz subgraphs having maximum projected length along X and Y axes, Y and Z axes, Z and X axes, and X, Y and Z axes, respectively simultaneously i subscript of a vertex belonging to a vertex set V I set of subscripts of a vertex set V Ij set of subscripts of a vertex set Vj j subscript of a subgraph belonging to a component graph G J set of subscripts of a component graph G l loops in a component graph l(e) loop degree of an edge lC(e) loop count of an edge lenj projected length of jth subgraph L loops present in component graph m subscript of an edge belonging to an edge set E M set of subscripts of an edge set E Mj set of subscripts of an edge set Ej NV Co-efficient of a plane equation S number of subgraphs present in a component graph ni ith vertex of a vertex set V, which is a triplex having x, y, and z coordinates as its elements, i.e. ni=[x, y, z] V vertex set of a component graph G, whose elements are lexicographically ordered Vj vertex set of jth subgraph x, y, z coordinate values of a vertex v X, Y, Z X, Y, and Z axes respectively f Null set

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

1297

plexity. Therefore, pressworking processes receive greater attention and are widely used by the metal working industries. Manufacturing processes required for sheet metal components are identified by analyzing the component layout, and thereby design information is manually translated into manufacturing information. To overcome difficulties and limitations inherently associated with human beings, research work is progressing in the area of automatic transformation of design information into manufacturing information through feature recognition. This paper deals with automatic transformation of design information into manufacturing information for metal components created by wireframe modelling in a Computer Aided Design (CAD) database. 2. Literature review Features can be recognized from the CAD database. Tulkoff [2] has developed a variant process planning system for sheet metal components of Lockheed. Ehrismann and Reissner [5] have developed a rule based expert system (AIS–CAD system), which suggests an economical way of manufacturing a flat sheet part, and the system generates NC codes for the processes like stamping and laser cutting. Raggenbass and Reissner [19,20] have developed an expert system to recognize the geometry of a part as well as to select a manufacturing variant. Nnaji et al. [14] and Kang and Nnaji [9] have given a set of principles for extracting and recognizing features from sheet metal parts created by using solid model and set theoretic concepts. Smith et al. [23] have developed FCAPP/SM, a feature-based relational database system for semi-generative process planning of sheet metal parts. Tilley [24] has developed a production control system and process plans for manufacturing sheet metal components. The sheet metal part is represented by a structured description. This description is translated into operations, and process plans are developed. Vidlicka [25] has developed a computer aided manufacturing system for finding bending sequence [6]. Palani et al. [16] have developed a knowledge based simulation approach for sheet metal forming called intelligent design environment (IDE). Lin and Peing [12] have proposed the application of expert system in sheet metal bending design. De Vin et al. [3] have generated bending sequences for sheet metal components in a computer aided process planning (CAPP) environment. The system considers punching, nibbling, laser welding, laser cutting and air bending. Lentz and Sowerby [10,11] have extracted holes, and convex, concave and intersection regions of sheet metal. Jagirdar et al. [7,8] have used a wireframe model to identify shearing features for 2-D sheet metal components from the CAD database. They have proposed a new classification system for pressworking features and shearing operations initially. Based on this classification system, a set of principles has been developed for identifying shearing features using set theoretic and graph based approach. Survey of the available literature reveals that the research in the area of feature recognition for sheet metal parts is not significant in general, and forming features in particular. The current literature on feature recognition for sheet metal components indicates that academicians and researchers have used solid modeling for feature recognition. They convert the component into a foil type by neglecting its thickness, and then the pressworking features are identified. However, in practice, most of the industries use wireframe modeling to represent sheet metal components

1298

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

because wireframe modeling is easier to create and can represent sheet metal components unambiguously. In the present work, wireframe modeling is used, and a 3-D open type sheet metal component is represented by the mean plane and its flat pattern. Combination of geometric and topological information about 3-D component, along with set theory and graph theory are used to recognize forming features from the CAD database.

3. Feature recognition methodology While generating a 3-D component or 2-D part layout, the following assumptions are made [7,8]: 1. Drawing of a 2-D part for an optimum nested layout created in a wireframe model representing the top view, is given as input to the system for identifying shearing operations. Nested layout consists of sheet metal components in its 2-D format placed (layed out) on raw material (sheet, strip or coil), such that they can be manufactured. 2. Drawing of a 3-D component created in a wireframe model representing the mean plane of the component is given as input to the system for identifying forming operations. 3. Entities are drawn only once. The graph of the layout adheres to the Euler’s formula for wireframe model [26]. This implies that V⫺E⫹L⫺2M⫽0

(1)

where V, E, L and M represent the number of vertices, edges, loops and models, respectively. 4. Thickness of the component is neglected while creating the wireframe model. A graph is in essence a wireframe model minus the point coordinates and edge equations. A sheet metal part created in 3-D using a wireframe model and its graphical representation are given in Fig. 1(a) and (b), respectively. Topographically, these two representations are similar. Hence, the graph theoretic concepts have been used in the present work. The forming features of a component created in a 3-D wireframe model are recognized based on the classification system for forming operations where the number of planes in which an operation is simultaneously performed, and location of the planes in the component, are considered. For this purpose a set of rules has been developed by relating the features both geometrically and topologically. The component graph of a 3-D component is processed to identify parent subgraph and child subgraphs. A parent subgraph is defined as a component of the graph that topologically lies outside all other subgraphs. A child subgraph is defined as a component of the graph and it always lies inside the parent subgraph. Different loops present in a subgraph are determined by vector normal method and vertex fusion methodology. Also, planes of a component in which child features along with child subgraphs’ loops are present, are identified. Curved planes are identified, and adjacency plane relationship (APR) matrix is determined. Cross-bend features are extracted from the component graph by removing common edges present between the planes. Subsequently, using the strategy of pattern recognition process, the extracted forming features are recognized by match-

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

1299

Fig. 1. A 3-D component having maximum projected length in two directions: (a) component, and (b) component graph with lexicographically ordered vertices and edges.

ing them with the developed graph of the features. Further, the flat pattern is developed for a 3D component by taking thinning effect into consideration. 3.1. Classification system for forming operations and features Classification systems discussed by Meinel [13], Sachs [21], and Altan et al. [1] are not useful in the environment of automatic feature recognition from the CAD database, since the systems do not classify the finished parts or processes based on either topology or geometry of the sheet metal components. In view of this, pressworking operations are broadly classified into two categories, viz shearing and forming operations [7,8]. A general classification system for recognizing pressworking features from the CAD database of a component and/or layout is given in Fig. 2, where all the entity groups together portray a component and/or nested layout. Entity groups are categorized into two classes, viz. 2-D and 3-D, and each one represents subgraphs of a component graph and/or nested layout graph, which is of planar type. Two dimensional entity groups represent

Fig. 2.

General classification system for pressworking features.

1300

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

the presence of shearing features, and every vertex of a subgraph is less than or equal to degree 3. A three dimensional entity group represents the presence of forming features. Based on the preceding operation relationships criterion, forming operations are categorized into initial, and subsequent operations (Fig. 3). Initial operations are performed on the work material to obtain near net shape of a component. Subsequent operations are required for obtaining the final shape of the component and are performed only after initial operations have been carried out. Initial operations are further classified into two divisions based on the number of planes of a component simultaneously used during forming operations. They are single plane operations and multi-plane operations. Operations of single plane type are categorized into three classes based on their location in a component, i.e. either within a plane, between two planes, or at the end plane of a component. Similarly, multi-plane operations are categorized into two classes based on number of planes simultaneously used during the operation. Based on the above proposed classification system for forming operations, a classification system for recognizing forming features from 3-D entity groups is given in Fig. 4. Features present in 3-D entity groups are classified into three types, viz. parent subgraph feature, child subgraph feature, and parent–child subgraph feature. Parent features are further categorized into single plane features and multi-plane features. Single plane features are categorized into two classes that is between planes features, and end planes features. Similarly, multi-plane features are categorized into two classes based on whether a feature is present in a few planes or in all planes of the parent subgraph of a component. 3.2. Preprocessing of geometric data In a wireframe model, the connectivity between entities is not maintained in the database. Therefore, the graph of the component layout cannot be established directly from the database because the standard data interchange (DXF) output file of AutoCAD Release 10 is used as input

Fig. 3.

Classification system for forming operations.

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

Fig. 4.

1301

Classification system for forming features.

to the system. To get connectivity between the entities, repeated vertices between entities have to be determined and should be merged into one vertex. Thus, the graph of the component layout obtained will satisfy Euler’s formula for wireframe model representation. From the component layout graph, vertex adjacency (VA) matrix is obtained. Using VA matrix as input to the system, vertices present in the entity groups are determined by vertex fusion methodology. The entity groups represent the subgraphs of the component layout graph. With the help of degree of vertices present in the graph, the nature of a component layout (2-D or 3-D) is determined. 3.3. Labelling of nodes and edges in the lexicographical order The vertices identified and labelled in the previous section are randomly ordered. The nodes of the graph (i.e. vertices) are labelled in lexicographical order, so that the direction and position of the components in the nested layout can be identified. The edges of the graph are also labelled in lexicographical order which helps in sequencing of edges in a graph, and in identifying pressworking features. Vertices ni and ni⬘ are said to be in lexicographical order, if ni precedes ni⬘, i.e. niⱮni⬘ if nzi ⬍ nzi⬘; or if nzi = nzi⬘; or nyi ⬍ nyi⬘; or if n = n , n = n , z i

z i⬘

y i

y i⬘

and n ⬍ n x i

.

(2)

x i⬘

Similarly, the duplex edges em and em⬘ are said to be in lexicographical order, if em precedes em⬘, i.e., emⱮem⬘ if ns, m⬍ns, m⬘; or

, if ns, m=ns, m⬘; and ne, m⬍ne, m⬘

(3)

1302

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

where, start and end vertices (i.e., ns, m and ne, m, respectively) are ordered in the duplex edge set em, such that ns, m precedes ne, m, of the mth edge. 3.4. Connectedness, subgraph identification and nature of input to the system A pair of vertices is said to be connected, when an edge is present between them. The connectivity within and between entity groups (i.e. subgraphs) is not available directly from the database, or from the lexicographically ordered vertices and edges. Therefore, by fusion methodology [4,7,8], conncetedness and subgraphs in the component layout graph are determined. From the VA matrix, the nature (2-D or 3-D) of input to the system is identified. Let d(ni) represent the degree of a vertex ni then, d(ni)⫽



ai, i⬘ ∀ i⬘

(4)

∀i

If d(ni) is



ⱕ2,

then the graph is for 2−D component layout

otherwise the graph can be either for 2−D or for 3−D component

∀ i苸I.

(5)

If d(ni)⬎2, then plane equations are determined at the vertex ni, by vector normal method. Let em⬘, em⬙ and em⬙⬘ be three edges incident at the vertex ni, whose d(ni) is ‘3’. Then, the vectors are given by Vi, m⬘⫽(nxi⫺nxi⬘)i⫹(nyi⫺nyi⬘)j⫹(nzi⫺ni⬘z )k

(6)

Vi, m⬙⫽(nxi⫺nxi⬙)i⫹(nyi⫺nyi⬙)j⫹(nzi⫺ni⬙z )k

(7)

Vi, m⬘⬙⫽(nxi⫺nxi⬘⬙)i⫹(nyi⫺nyi⬘⬙)j⫹(niz⫺nzi⬘⬙)k

(8)

where, ni⬘, ni⬙ and ni⬘⬙ are other vertices of the three edges ei⬘ em⬙, and em⬘⬙, respectively. For example, in Fig. 5(a), d(n3) and d(n5) are ‘3’, and the start and end vertices of edges incident on vertices n3 and n5 are given below: e4⫽[n3,n4]; e5⫽[n3,n7]; e6⫽[n3,n11]; e8⫽[n5,n6]; e9⫽[n5,n9]; and e10⫽[n5,n13]. In Fig. 5(b), there are six vertices (n5, …, n10), having degree as ‘3’. Therefore, graph in Fig. 5(a) is of 2-D component and that in Fig. 5(b) is of 3-D component. The edge vectors determined from Eqs. (6)–(8), can lie in the same plane or in different planes. This is determined by finding the normal vectors (NV) to the edge vectors (Vi, m⬘, Vi, m⬙, and Vi, m⬘⬘⬘) by cross product, with reference to one of the edge vectors, say Vi, m⬘. The normal vectors NVm⬘, m⬙ and NVm⬘, m⬘⬙, and plane equations are given by:

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

1303

Fig. 5. (a) A 2-D component nested layout graph, and (b) a 3-D component graph.

Fig. 6. For the 3-D component given in Fig. 1(a): (a) parent subgraph of the component, and (b) edge adjacency (EA) matrix of parent subgraph alongwith degree of an edge and degree of a loop.

1304

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

Fig. 7. A 3-D component having edges in the same plane, but forming a loop and a path: (a) graph showing edges located in a plane, and (b) connectedness of edges in the plane under consideration.

Fig. 8. Steps in determining independent loops present in the parent subgraph.

NVm⬘, m⬙⫽Vi, m⬘⫻Vi, m⬙

(9)

NVm⬘, m⬘⬘⬘⫽Vi, m⬘⫻Vi, m⬘⬘⬘

(10)

NVxm⬘, m⬙x⫹NVym⬘, m⬙y⫹NVzm⬘, m⬙z⫽CVm⬘, m⬙

(11)

NVxm⬘, m⬘⬘⬘x⫹NVym⬘, m⬘⬘⬘y⫹NVzm⬘, m⬘⬘⬘z⫽CVm⬘, m⬘⬘⬘.

(12)

If coefficient of the plane [Eqs. (11) and (12)] are equal, then the edges lie in one plane only [2-D component, Fig. 5(a)] else they belong to different planes [3-D component, Fig. 5(b)].

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

1305

3.5. Identification of parent and child subgraphs A 3-D component graph consists of only one parent subgraph, and child subgraphs may or may not be present. A set of principles developed to relate the subgraphs of the component graph geometrically and topologically and to determine the parent and child subgraphs, is discussed below. The graph G of a 3-D component consists of subgraph (gj) as G⫽{gj |j苸J}

(13)

where, j is the subscript of a graph and J is the set of subscripts of subgraphs belonging to G. The component graph is made of parent subgraph (Gp) and child subgraphs (Gc). G⫽Gp傼Gc

(14)

where, Gp and Gc are partitions of G, and satisfy the following condition: Gp⫽Gc, or Gp傽Gc⫽f.

(15)

The vertices and edges present in the subgraphs gj, are given by gj ⫽{Vj , Ej }

(16)

where, Vj and Ej are vertex set and edge set of jth subgraph respectively. The subscripts of vertices present in Vj are given by Ij and subscripts of edges present in Ej by Mj. Thus, Ij ⫽{i|ni苸Vj } and Mj ⫽{m|em苸Ej }.

(17)

From the set G, firstly parent and child subgraphs are determined geometrically by finding maximum projected length (lenmax) of subgraphs in X, Y and Z directions, and then relating them topologically. max

max

max

z ⫽ j苸J lenzj. lenxmax⫽j苸J lenxj; lenymax⫽ j苸J lenyj; lenmax

(18)

Projected lengths of jth subgraph in X, Y and Z directions are given by lenxj⫽nxmax, j ⫺nxmin, j ; lenyj⫽nymax, j ⫺nymin, j ; lenzj⫽nzmax, j ⫺nzmin, j ; ∀j苸J.

(19)

In Eq. (19), nxmax, j and nxmin, j represent maximum and minimum X coordinate values of jth subgraph respectively, and are determined as given below: max

min

nxmax, j ⫽ i苸Ij nxij ; nxmin, j ⫽j苸Ij nxij ; ∀j苸J,

(20)

where, nxij represents the X coordinate value of the ith vertex of jth subgraph. Similarly, maximum and minimum Y and Z coordinate values of vertices of jth subgraph are determined. Subgraphs having maximum projected lengths in X, Y, and Z directions are given as follows: GX⫽兵gj |lenxj=lenxmax其; GY⫽兵gj |lenyj⫽lenymax其; GZ⫽兵gj |lenzj⫽lenzmax其; ∀j苸J.

(21)

1306

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

From Eq. (21) if the set GXYZ (Eq. (22)) is not an empty or null set, then the element of the set (Gxyz) represents the parent subgraph of a component graph, and is given by

|GXYZ⫽GX傽GY傽GZ; Gp⫽兵gj |gj 苸GXYZ其.

(22)

It should be noted that the set Gxyz is either a single element set or a null set. If GXYZ is (GXY, GYZ, and GZX) a null set, then the subgraphs having maximum projected length in at least two directions are determined as given below. GXY⫽GX傽GY; GYZ⫽GY傽GZ; GZX⫽GZ傽GX.

(23)

The parent subgraph GP, is identified from Eq. (23), where only one of the sets will be a single element set and others will be null set.

|Gp⫽兵gj |gj 苸GXY, or gj 苸GYZ, or gj 苸GZX其.

(24)

Child subgraphs (Gc) can be written as

|Gc⫽G⫺Gp; or Gc⫽兵gj |gj 苸G, gj ⰻGp, j苸J其.

(25)

3.6. Implementation The input to the system is in the form of vertices and edges present in each subgraph. Graph of the component is shown in Fig. 1(b). Subgraphs along with its vertices and edges are given in Table 1(a) and the output in Table 1(b).

Table 1 (a) Vertices and edges of subgraphs present in the component graph, and (b) parent and child subgraphs of a component graph having maximum projected length in X and Y directions (a) Subgraph

(b) Subgraphs

Gx: g3 Gy: g3 Gz: g1 g2

:g1 :g2 :g3 :g1 :g2 :g3 Gxyz: NULL Gxy: g3 Gyz: NULL

n1 n3 n5 n7 n11 n12 n15 n16 n2 n4 n6 n8 n13 n14 n17 n18 n9 n10 n19 n20 e1 e2 e5 e7 e8 e11 e16 e17 e18 e22 e3 e4 e6 e9 e10 e12 e20 e21 e23 e13 e14 e15 e24 Gzx: NULL Gp: g3 Gc: g1 g2

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

1307

4. Identification of loops and parent subgraphs 4.1. Component graph and parent subgraph The number of loops in a component graph (LG) and the number of independent loops (L) are given as follows: LG⫽2S⫹E⫺V

(26)

L⫽LG⫺S

(27)

where, S is the number of subgraphs present in the component graph. The number of loops (LGp), and number of independent loops (Lp) are given as follows: LGp⫽2S⫹Ej ⫺Vj

(28)

Lp⫽LGp⫺S.

(29)

Loops present in a parent subgraph are identified from edges and vertices present in it by vector normal method and vertex fusion methodology. By vector normal method, a plane equation is determined, and various edges of the parent subgraph present in the plane under consideration are identified. Edges present in the plane are further processed to identify different loops present in the plane by the principle of vertex fusion methodology. 4.1.1. Vertex fusion methodology (VFM) In VFM, a pair of vertices are fused (merged), and two vertices are replaced by a single vertex, such that every edge that was incident on either of vertices or on both is incident on the new vertex. Thus in this method, the number of vertices is reduced by one, but the number of edged remains the same. Initially, edge adjacency (EA) matrix [Fig. 6(b)] is determined for a parent subgraph given in [Fig. 6(a)]. Edges in the EA matrix are placed in the same order as that in the edge set E1. The value assigned to the cell is as follows: am, m⬘⫽



1 if edges em and em⬘ are adjacent to each other 0 otherwise;(j⫽j⬘)

em苸Ej⬘, em⬘苸Ej ; and em⫽em⬘, Ej 苸gj where, am, m⬘ indicates the value of mth row and m⬘th column of the EA matrix. Ej is a subset of lexicographically ordered edge set E. An edge em is said to be adjacent to another edge em⬘, when one of the vertices is common to both edges. Edges present in the parent subgraph g1 are given

1308

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

in Table 2. The degree of an edge l(em) for edges present in the EA matrix is determined and is defined as the number of edges adjacent to it. d(em)⫺



am,m⬘ ∀m⬘.

(30)

∀m

Various edges can be a part of the loop, if and only if the edge degree (d(em)) is greater than zero. It should also be noted that, if d(em) of a graph is zero, then the mth edge represents a self loop obtained for circular entity. The maximum number of loops that an edge can have in common (loop degree of an edge (l(em)) is determined as given below: l(em)⫽min (d(ns, m), d(ne, m))⫺1.

(31)

For the parent subgraph (gI) under consideration, d(em) and l(em) are given in Fig. 6(b). If d(em) of at least one edge present in EA matrix is greater than one, then the independent loops in the subgraph are identified. For EA matrix shown in Fig. 6(b), since d(em) of edges is greater than one, first two edges e1 and e2 are selected, as they are adjacent to each other, and they precede all other edges in the edge set E1. The plane equation is determined by finding a vector normal (NV) to the edge vectors as discussed previously and is given by NVxm, m⬘x⫹NVym, m⬘y⫹NVzm, m⬘z⫽CVm, m⬘

(32)

where, the coefficients of x, y, and z are coefficients of unit vectors i, j, and k of the normal vector (NV), respectively. The constant CVm, m⬘ in Eq. (32) is determined by substituting the coordinate values of any one of the vertex belonging to edges em or em⬘; since they are located in the same plane. An edge is said to be contained in the plane, if and only if both start and end vertices are lying in the plane under consideration (i.e. satisfy Eq. (32)). The process of determining edges in a plane is continued till no more edges are left in the edge set Ej In the process of identifying edges of the plane under consideration, all identified edges may not be present in a single loop. For example, edges e1, e2, e3, e4, and e7 in Fig. 7(a) lie in the same plane, but only e1, e2, e3, and e4, form a loop. Therefore, to find connectedness between edges in a plane, vertex fusion methodology is used and results are given in Fig. 7(b). After identifying a loop, the loop count (lc(em)) of edges forming a loop is incremented by Table 2 3-D component shown in Fig. 1, vertices and edges of various subgraphs Subgraph

g1 : g2 : g3 : g1 : g2 : g3 : Gp : Gc:

n1 n2 n7 n8 n13 n14 n15 n16 n21 n22 n3 n4 n5 n6 n9 n10 n11 n12 n17 n18 n19 n20 e1 e2 e3 e4 e11 e12 e17 e18 e19 e20 e21 e22 e27 e5 e6 e7 e8 e9 e10 e13 e14 e15 e16 e23 e24 e25 e26 g1 g2 g3

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

1309

one. If the loop count of edges and their loop degree (l(em)) are equal, then rows and columns of those edges are discarded from the matrix. If all the rows and columns get discarded from the EA matrix, then it represents a single loop in the parent subgraph, and hence only one plane is present in it. Otherwise two or more edges forming a different loop or path are selected, such that they are adjacent to each other, and precede other adjacent pair of edges in the EA matrix. If the edges selected provide a path, but not the loop, then different edges are chosen retaining the previous selected edges in the EA matrix. The process is continued till the edges in the remaining EA matrix do not provide a loop. In matrix, edges do not provide a loop, if d(em) of at least one edge is not greater than one. This methodology is explained below for the parent subgraph g1. 4.1.2. Implementation The EA matrix for the parent subgraph (g1) is given in Fig. 6(b). Initially two edges e1 and e2 arc selected, and the plane equation is determined. Other edges which satisfy this plane equation are e3 and e11. By VFM, it is found out that all the four edges form a single loop. Therefore, the loop count of edges (lc(em)) is incremented by one. After the increment, the loop count and loop degree of e1, e2, and e11 are found to be equal to one. Therefore, in Fig. 8(a), the EA matrix along with the degree of edges (d⬘(em)) after discarding the rows and columns representing e1, e2, and e11 is given. Since, the EA matrix is not empty and d⬘(em) of few edges is greater than one, the identification process of edges in a plane is continued. Following the above procedure it is found out that the e3, e4, e12 and e17 edges form a loop. As before, the lc(em) of edges is incremented by one. Since loop count of e3 and its loop edge are equal, the row and column representing e3 are deleted from the matrix [Fig. 8(b)]. Further, in EA matrix, d⬘(em) of few edges is greater than one, hence the loop identification process is continued to arrive at the EA matrix as shown in Fig. 8(c) and then Fig. 8(d). In this EA matrix [Fig. 8(d)] of parent subgraph, the edge degree (d⬘(em)) of all the edges is one and therefore they cannot form a loop. Hence, loop finding process is stopped. It should be noted that, the edges remaining in the EA matrix [Fig. 8(d)] form a part of boundary edges of the component. Edges having loop degree of ‘2’, and which are not present in the final EA matrix are common edges between the two loops. The edges which are identified in different independent loops and common edges are given in Table 3. 4.2. Child subgraphs Number of loops (Lc) present in child subgraphs of a component graph is determined as below: Lc⫽L⫺Lp.

(33)

Table 3 Edges present in different loops of the parent subgraph, and common edges present in various loops Loop in a parent subgraph

lg1,1: lg1,2: lg1,3: lg1,4:

e1 e2 e3 e11 e3 e4 e12 e17 e17 e18 e19 e21 e17 e18 e19 e21 common edges e3 e17 e21 e20 e21 e22 e27

1310

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

Fig. 9. (a) Child subgraph g2 of the component graph and EA matrix along with degree of edge and loop, and (b) edges present in different loops, and child subgraph loop located in the parent subgraph.

In case of a component graph [Fig. 1(b)], the number of independent loops present in child subgraphs are 4 (Lc=8⫺4=4). If there are more than one child subgraph in a component graph, then number of loops (LGc, j) and independent loops (Lc, j) present in each child subgraph are determined using the following equations [Eqs. (34) and (35)]. LGc, j ⫽2S⫹Ej ⫺Vj ∀j苸J, such that gj 苸Gc

(34)

where, Gc is child subgraph set and Lc, j, is independent loop of jth child subgraph as Lc, j ⫽LGc, j ⫺S.

(35)

There are two child subgraphs (g2 and g3) for the component graph shown in Fig. 1(b). There are eight vertices, and ten edges in child subgraphs g2, and four vertices and four edges in g3 (Table 2). Therefore, number of loops (LGc, 2 and LGc, 3) and number of independent loops present in g2 and g3 subgraphs are given below: LGc, 2⫽2⫻1⫹10⫺8⫽4; and LGc, 3⫽2⫻1⫹4⫺4⫽2; Lc, 1⫽4⫺1⫽3; and Lc, 2⫽2⫺1⫽1. A child subgraph g2 of the component graph G [Fig. 1(b)], and its EA matrix along with degree of edge (d(em)) and loop degree (l(em)) for edges present in g2 are given in Fig. 9(a). The output of the system is given in Fig. 9(b) for g2. The number of loops identified are three (lg2,1, lg2, 2, lg2, 3). 4.3. Recognition of a curved plane in the component Bend allowance is calculated for curved surfaces of a component to get its flat pattern development. In wireframe model, a curved plane is represented by curved edges, (arcs). A loop having an edge as an arc is selected. A subgraph is considered for finding the curved surface only if it has more than one loop. Curved planes present in a component graph (Fig. 1) are shown in Table 4. Table 4 Input data and bend allowance determined for a curved plane of the component. graph shownin Fig. 10(a) Bend plane bpg1, 1: lg1.2

Bend plane bp

, 1: lg1.2

g2

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

1311

Fig. 10. (a) APR matrix of the parent subgraph, and (b) APR matrix of the child subgraph.

4.4. Identification of adjacent planes For recognizing forming features in a component, the adjacency relationship between planes is required. The loops identified in the parent subgraph of a component graph represent planes or forming features, or both in a component. A plane is said to be adjacent to the other plane, if there is at least one common edge between the two loops in a subgraph. Adjacency plane relationship (APR) matrices of parent and child subgraphs of the component [Fig. 1(a)] obtained with this method are given in Fig. 10. In the APR matrix, the value of the cell (algj, pl, lgj, pl⬘) is either ‘1’ or ‘0’. If the cell value is ‘1’, then the loop lgj, pl⬘, is adjacent to lgj, pl and if it is ‘0’, then the loop lgj, pl⬘ is not adjacent to lgj, pl. 4.5. Cross-bend feature extraction A cross-bend feature can be present both in parent and child subgraphs. Cross-bend features present along the curvature bend and sharp bend zone in a component are shown in Fig. 11(a), and the component graph is given in Fig. 11(b). The methodology used to identify these types of features is explained below:

Fig. 11. (a) A component having cross-bend features, and (b) component graph.

1312

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

(i) Determine the number of common edges present between two adjacent planes in a subgraph. (ii) If the adjacent planes in a subgraph have more than one common edge, then it indicates that the adjacent planes under consideration of the subgraph have cross-bend features. In Fig. 11(b), two common edges e7 and e10 are present between flat plane f pg1, 1 and curved plane bpg1, 1. Therefore, the subgraph is processed to delete the common edges present in it. Fig. 12(a) shows a subgraph after deletion of common edges from the component graph. (iii) Different sub-subgraphs present in a subgraph under consideration are determined by VFM. (iv) The sub-subgraph identified in Step (iii) forms a loop. The loops located inside another loop of a sub-subgraph are identified as cross-bend features. The identified cross-bend features of the component graph shown in Fig. 11(b) along with vertices and edges present in each cross-bend feature are given in Fig. 12(b). 4.6. Characterization and recognition of forming features In the present work, a combination of geometry reasoning and pattern recognition process has been employed at two levels for recognizing forming features. (i)

(ii)

At the first level, entities belonging to an entity group are identified to recognize parent and child subgraphs. In each subgraph, loops are determined and their type are recognized along with their geometrical parameters. APR matrix for all the subgraphs is generated and subgraphs are further processed to extract cross bend features. At the second level, the preprocessed information obtained from the first level is utilized to recognize forming features with the help of pattern recognition methodology. In pattern recognition process, features are identified by matching the patterns of features

Fig. 12. (a) The component graph after removing common edges between planes having cross-bend features, and (b) vertices and edges present in cross-bend features.

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

1313

developed with the patterns extracted from the component. If the two feature graphs are isomorphic, then the pattern is said to be matched and the forming feature is present in the component graph, otherwise not. Let FG1 (V1, E1) and FG2 (V2, E2) be two feature graphs where y: FG1⇒FG2 where y be isomorphism, which maps FG1 (V1, E1) onto FG2 (V2, E2), and is defined as (i) ∀ni苸V1, ∃n⬘i苸V2, such that y(n1)⫽n⬘i (ii) ∀em苸E1, ∃e⬘k苸E2, such that e⬘k⫽(y(ni), y(n⬘i )).

4.6.1. Characteristics of forming features A forming feature is a set of geometric entities consisting of edges which are spatially connected such that they can be manufactured by forming operations. Features considered for recognition in the present work are bending, curling, contour roll, flanging, hemming, joggling, and louvering. Graphical representation of various features, considerd in the present work, and geometrical and topological information or characteristics associated with them are given in Fig. 13(a)–(c). 4.6.2. Recognition of features Initially bend features are identified in a subgraph. After identifying bend features in a subgraph, end planes and its type (i.e. curved or flat) are determined. Afterwards, features are recognized by matching test graph features (TFG) with the pattern graph features (PFG). Matching is done by both heuristic process and isomorphic equality process. 앫 Heuristic process: A pattern graph is rejected if it is not isomorphic with the test graph under consideration [4]. Further, two graphs may be isomorphic if the following two necessary but not sufficient conditions are satisfied. (i) Number of vertices and edges in a test graph should be same as that of a pattern graph, and (ii) number of vertices with a given degree should be equal in both the graphs. If these conditions are satisfied, then the test graph is checked for its isomorphic equality. 앫 Isomorphic equality: In adjacency matrices, if geometrical and topological information of TFG and PFG are same, then they are said to be isomorphic. —Recognition of parent subgraph features present in a single plane: In isomorphic equality of forming features present in a single plane of parent subgraph, the feature graphs of pattern and test are said to be same, if their vertex and edge adjacency matrices are same. —Recognition of parent subgraph features present in multi-planes: APR matrix of a bending feature is determined after bending features present in the parent subgraph are identified. Further, based on the geometrical and topological information associated with the PFG [Fig. 13(c)], TFG is said to be isomorphic with the appropriate PFG. —Recognition of parent subgraph features present in all planes: TFG is tested only for the cross section of the component and if it satisfies the geometrical and topological information given in Fig. 13(c), TFG is said to be isomorphic with PFG.

1314

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

Fig. 13. Graphical representation, and geometrical and topological information of forming features present in a single plane of the parent subgraph.

—Recognition of parent-child subgraph features: After the development of flat pattern, the component is processed to identify the lancing feature. If the lancing feature is associated with the bend feature, then the isomorphic equality process is carried out. The combination of lancing and bending features of TFG is said to be isomorphic with louvering PFG [Fig. 13(c)], if geometrical information and topological information associated with PFG are satisfied.

5. Flat pattern development for a component Flat pattern development for a component is defined as the resulting shape of the development of surfaces which refer to the process of unfolding or unrolling a surface onto a plane [18]. Nee [15], Nnaji et al. [14], and Sachs and Voegeli [21] have used slab method for finding bend allowance (BA) to develop flat pattern for a component created in solid model. Prasad and Soma-

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

1315

Fig. 13. (continued)

sundaram [17] have developed a mathematical model for calculating bend allowance in automated sheet metal bending by taking thinning effect into consideration. In the present work, the bend allowance calculation and flat pattern development have been referred from the work of Satyadev [22]. 5.1. Recognition of shearing features Shearing features are classified into three categories, viz. inside features, boundary features, and outside features. Inside features of a 3-D component can be recognized from the individual component, if the created component from wireframe model is in accordance with Euler’s formula. Boundary and outside features are recognized from the optimized component layout created from the flat pattern of a 3-D component.

1316

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

Fig. 13. (continued)

5.1.1. Creation of 2-D component from flat pattern of a 3-D component 앫 Creation of boundary feature: The parent subgraph of a 3-D component represents the boundary of the component. Therefore, flat pattern representing the parent subgraph is processed for creating the boundary of a component in 2-D. The boundary of the component in 2-D is obtained by deleting the common edges present in it. Now, the adjacent edges incident on the start and end vertices of the common edges and which are adjacent to each other meet at a vertex. But, the collinear edges violate the definition of a vertex. Therefore, these edges are replaced by a single new edge. Thus, a 2-D component boundary is created. Fig. 14 gives the flat pattern of the parent subgraph of the component shown in Fig. 1. In Fig. 15, the 2-D boundary of the component created after deleting the common edges (e3, e17 and e21), and replacing the adjacent edges (e1, e4, e18 and e20) of deleted common edges by a new edge ne1 is shown. Old edges are replaced by ne1, since they meet at vertices n2, n13, and

Fig. 14. Flat pattern development of the 3-D component shown in Fig. 1.

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

1317

Fig. 15. Creation of boundary and inside features from the flat pattern development given in Fig. 19.

n15 which violate the definition of a vertex as the edges are collinear. For the same reasons, adjacent edges (e11, e12, e19 and e27) of the deleted common edges are replaced by a new single edge ne2. 앫 Creation of inside features: The child subgraphs of a component represent the inside features since they are located inside parent subgraphs. Also, cross-bend features transform into inside features after removing common edges from the subgraph. Child subgraphs having only one loop represent an inside feature with number of edges and vertices same as that of subgraph. On the other hand, if it has more than one loop, then it may represent single or more inside feature. In child subgraph development also, the edges adjacent to the deleted common edges meet at a vertex such that they violate the definition of a vertex. Therefore, collinear edges are replaced by a single new edge. In g2 child subgraph [Fig. 9(a)], there is more than one loop, hence the flat pattern has been developed. The common edges (e6 and e15) are deleted from the flat pattern. Collinear edges e7 and el3 meet at n10, and hence it violates the definition of a vertex. Therefore, n10 is deleted and in turn edges e7 and e13 are replaced by a new edge ne3. Similarly edges e10 and e16 are adjacent to the deleted common edge e15, and are collinear. Hence, they are replaced by another new edge ne4. In Fig. 14, edge e5 is incident on n3, and new edge ne3 is a part of it. Therefore, e5 and ne3 are coincident edges, since the edge e5 is passing through the vertex n9 and is incident on the vertex n4, and edge ne3 has start and end vertices as n3 and n9, respectively. Therefore, edge e5 is deleted from the graph, and is replaced by a new edge (ne5), such that n4 and n9 are its start and end vertices respectively. Similarly, e9 is deleted and a new edge ne6 is replaced such that, n6 and n11 are its start and end vertices respectively. Thus, Fig. 14 shows the creation of inside feature from the flat pattern of child subgraph g2. The vertices and edges of g2 in Fig. 15 adhere to Euler’s formula. In case of g3 child subgraph, there is only one loop, and hence common edges are absent. Therefore, the created inside feature g3 (Fig. 15) is similar to that of the flat pattern of g3 shown in Fig. 14. 5.1.2. Recognition of features of a 3-D component from its flat pattern If a child subgraph has only one loop, then the loop represents a piercing feature. If it has more than one loop, then the subgraph may have both piercing and lancing features or only a lancing feature. If the child subgralph is represented by more than three edges while creating the

1318

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

inside feature for a component, then it has both lancing and piercing features while in case of only three edges, then the child subgraph has only a lancing feature. In Fig. 15, the child subgraph (g2) has five edges, and hence this has both lancing and piercing features. Loops in the created subgraph are identified after deleting edges (ne3 and ne4) which are incident on the vertices (n3 and n5) of degree one. Afterwards, in accordance with the recognition of inside shearing features of a component, it has been recognized that vertices (n9, n4, n11 and n6) and edges (ne5, e14, e8 and ne6) form a loop of vertices and edges of piercing feature, and vertices (n3, n9, n11 and n5) and edges (ne3, e14 and ne4) form a loop of vertices and edges of lancing feature. Nested layout of the component is used for recognizing boundary and outside features. With

Fig. 16.

Flowchart representing the flow of control for the prototype system.

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

1319

the output of vertices and edges, a wireframe model representing 2-D component is created in the CAD database. Using this wireframe model, nested component layout is manually created by the designer. The output file of CAD database is used to recognize boundary and outside shearing features. 6. Prototype system and implementation In order to have a better understanding, and to demonstrate the overall effectiveness of the concepts developed, a prototype system has been developed in ‘C’ and has been implemented on IBM-PC. The system flowchart has been given in Fig. 16 and various functions used in forming feature recognition are given in Fig. 17. Various real life components have been tested and one example is being presented here. 6.1. Example 1 Mean plane of a simple component demonstrating the extraction of cross bend feature, flat pattern development, identification of bending, curling and hemming feature is shown in Fig. 18(a). Various planes present in the component are given in Fig. 18(b) for easy reference. The flat pattern developed for this simple 3-D component is shown in Fig. 18(c) and the output for this component is given in Fig. 19. This component is required to cover the corner portions of Horizontal Machining Centers and Vertical Machining Centers. Hemming feature present is used

Fig. 17.

Various functions of forming feature recognition.

1320

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

Fig. 18. A 3-D component (Example 1): (a) Drawing of the component given as input to the system, and (b) Subgraph and plane numbers are represented for easy reference, (c) Flat pattern development of the 3-D component shown in Fig. 18(a).

to hold with another interior part of the machine. Rectangular holes pierced are for accommodating the protruding object from the machine. Haxagonal pierced holes are used to adjust the sheet part correctly, and then screws are fitted into round holes. The curling feature is safety feature for operator, as it is exposed outside the machine. 7. Conclusions In the present work, a wireframe model has been used for recognizing features. Pressworking features are recognized from the mean plane of a 3-D sheet metal component. Set and graph theoretic approach has been used to identity forming features in a hierarchical way from the CAD database by developing a set of principles and relating them geometrically and topologically. The manufacturing information from these features is used in the development of process plans, generation of G and M codes for CNC turret presses, mapping form features in the development of

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

1321

Fig. 19. Output of the system for the component (Example 1) shown in Fig. 18.

tools for presses, inspection of press tools and components, codification of parts from manufacturing point of view, etc. At present, in most of the industries, the transformation of design information into manufacturing information and the subsequent utilization of manufacturing information for production of components, and in the other product cycle activities is done manually or interactively using computers. The presence of this manual intervention in the process cycle makes the realization of computer integrated manufacturing system (CIMS), in true sense, in the sheet metal industry unattainable. The developed system makes the CAD database file of wireframe model meaningful to the CAM environment and it can be considered a step forward towards realization of CIMS in true sense. Acknowledgements Authors acknowledge the financial assistance provided by C.S.I.R., New Delhi, to project entitled “Automatic feature recognition and computer aided process planning for sheet metal components”. Authors also acknowledge the help of Mr N.K. Jain (research scholar) and Mr K.S. Rao of I.I.T., Kanpur, in preparing this manuscript.

1322

R. Jagirdar et al. / International Journal of Machine Tools & Manufacture 41 (2001) 1295–1322

References [1] T. Altan, S.I. Oh, H. Gegel, Metal Forming: Fundamentals and Applications, ASM International, Metals Parks, OH, 1983. [2] J. Tulkoff, Lockheed’s GENPLAN, Proc. 18th Numerical Control Society Annual Meeting and Technical Conference, Dallas, TX, May 1981, pp. 417–421. [3] L.J. De vin et al., Generation of bending sequences a CAPP system for sheet metal components, Journal of Materials Processing Technology 41 (1994) 331–339. [4] N. Deo, Graph Theory with Applications to Engineering and Computer Science, Prentice-Hall of India, New Delhi, 1990. [5] J.C.E. Ehrismann, J. Reissner, Intelligent manufacture of laser cutting, punching and bending parts, Robotics and Computer Integrated Manufacturing 4 (3-4) (1988) 511–515. [6] M. Hoffmann, U. Geissler, M. Geiger, Computer aided generation of bending sequences for die-bending machines, Journal of Materials Processing Technology 30 (1992) 1–12. [7] R. Jagirdar, V.K. Jain, J.L. Batra, S.G. Dhande, Feature recognition methodology for shearing operations for sheet metal components, Computer Integrated Manufacturing Systems 8 (1) (1995) 51–62. [8] R. Jagirdar, V.K. Jain, J.L. Batra, S.G. Dhande, Characterization of shearing features of sheet metal components in 2-D layout, International Journal of Production Research 34 (1) (1996) 157–190. [9] T.S. Kang, B.O. Nnaji, Feature representation and classification for automatic process planning system, Journal of Manufacturing Systems 12 (2) (1993) 133–145. [10] D.H. Lentz, R. Sowerby, Feature extraction of concave and convex regions and their Intersections, Computer Aided Design 25 (7) (1993) 421–437. [11] D.H. Lentz, R. Sowerby, Hole extraction of sheet metal components, Computer Aided Design 26 (10) (1994) 771–783. [12] Z.C. Lin, G.J. Peing, An investigation of an expert system for sheet metal bending design, Journal of Materials Processing Technology 43 (1994) 165–175. [13] M.P. Meinel, Formed sheet-metal parts classified by shape, Production Engineering 16 (167) (1994) 241–334. [14] B.O. Nnaji, T.S. Kang, S. Yeh, J.P. Chen, Feature reasoning for sheet metal components, International Journal of Production Research 29 (9) (1991) 1867–1896. [15] A.Y.C. Nee, T.C. Chong, A micro computer based flat development, Sheet Metal Industry 65 (1988) 92–93. [16] R. Palani, R.H. Wagoner, K. Narasimhan, A knowledge based simulations approach for sheet metal forming, Journal of Materials Processing Technology 45 (1995) 703–708. [17] Y.K.D.V. Prasad, S. Somasundaram, A mathematical model for bend allowance calculation in automated sheet metal bending, Journal of Materials Processing Technology 39 (3-4) (1993) 337–356. [18] F. Pickup, M.A. Parker, Engineering Drawing with Worked Examples, Version 2, Hutchinson Educational, London, 1972. [19] A. Raggenbass, J. Reissner, Stamping-laser combination in sheet processing, Annals of CIRP 381 (1989) 291–294. [20] A. Raggenbass, J. Reissner, Automatic generation of NC production plans in stamping and laser cutting, Annals of CIRP 40 (1) (1991) 247–250. [21] G. Sachs, H.E. Voegeli, Principles and Methods of Sheet Metal Fabricating, Reinhold, New York, 1966. [22] A. Satyadev, 1995. Flat pattern development of bending and deep drawing of sheet metal components, M. Tech. thesis, I.I.T. Kanpur, India, 1995. [23] S.J. Smith, H.P. Cohen, W.J. Davis, A.S. Irani, Process plan for sheet metal parts using an integrated feature based expert system approach, International Journal of Production Research 30 (5) (1992) 1175–1190. [24] S. Tilley, Integration of CAD/CAM and production control for sheet components manufacturing, Annals of CIRP 41 (1) (1992) 177–180. [25] I.P. Vidlicka, Computer aided manufacture of sheet metal components, Sheet Metal Industries June (1993) 22–25. [26] P.R. Wilson, Euler formula and geometric modeling, IEEE Computer Graphics and Application (1985) 24–36.