A surface based approach to recognition of geometric features for quality freeform surface machining

A surface based approach to recognition of geometric features for quality freeform surface machining

Computer-Aided Design 36 (2004) 735–744 www.elsevier.com/locate/cad A surface based approach to recognition of geometric features for quality freefor...

463KB Sizes 4 Downloads 165 Views

Computer-Aided Design 36 (2004) 735–744 www.elsevier.com/locate/cad

A surface based approach to recognition of geometric features for quality freeform surface machining Xingquan Zhanga,*, Jie Wanga, Kazuo Yamazakia, Masahiko Morib a

IMS-Mechatronics Laboratory, Department of Mechanical and Aeronautical Engineering, University of California, Davis, CA 95616, USA b Mori Seiki Co., Ltd, Nara, Japan Received 13 March 2003; received in revised form 22 August 2003; accepted 6 September 2003

Abstract The paper presents a surface-based approach for geometric feature recognition for the purpose of automating the process planning of freeform surface machining. The proposed approach consists of the following four steps for recognition of the geometric features: conversion and preprocessing of the surface geometry data, subdivision of NURBS surface, reconstruction of surface orientation areas, and recognition of geometric features. The proposed scheme assumes that the input geometry data form is based on an IGES CAD model and the surface model can be represented in the form of trimmed NURBS surfaces. The connectivity relations of the product surfaces are analyzed and each surface is subdivided into orientation regions based on the surface normal vector over a certain point density grid, and then all the connected regions with the same orientation type are grouped into surface orientation areas. After that, the geometric feature will be recognized through the analysis of area connectivity and relationship. The paper describes the developed algorithms on surface orientation region subdivision, surface orientation area reconstruction, and geometric feature recognition. The verified feasibility study of the developed method is also presented. q 2003 Elsevier Ltd. All rights reserved. Keywords: Feature recognition; NURBS surface; Geometric feature; Orientation region; Orientation area

1. Introduction Recently, the high quality and high productivity in machining of freeform surfaces has been of primary interest in manufacturing industries with much added value, such as die and mold manufacturing, aerospace part manufacturing, and so forth. Typically, manufacturing of freeform surfaces in the actual factory requires a manual polishing process after the finish machining process by a multi-axis CNC machine, which is a time-consuming and tedious process. A solution to overcome these problems is to enhance surface quality by machining operations such as finishing. As we know, a product designed by a designer normally consists of many multi-trimmed surfaces. Currently, to prepare the NC program, mechanists must manually group the local geometry through piece-by-piece selection based on their experience. So the preparation requires a highly skilled CNC programmer. Therefore, it is a critical issue to understand * Corresponding author. Tel.: þ 1-530-754-7687; fax: þ1-530-752-8253. E-mail address: [email protected] (X. Zhang). 0010-4485/$ - see front matter q 2003 Elsevier Ltd. All rights reserved. doi:10.1016/j.cad.2003.09.002

the surface characteristics and recognize the geometric features from the product model so that the optimized tool path can be implemented to get the high surface quality. For precisely generating the tool path of freeform surface machining, a great deal of research has been conducted to date and some methods have been developed [1,2]. These methods can be classified as follows: (1) isoparametric methods [3]; (2) iso-planar methods [4]; (3) iso-scallop methods [5], and (4) the constant Z contour method [6]. With these methods, tool path planning essentially starts from the surface boundaries. The determination of next adjacent tool path is based on the previous one. Thus, as long as the initial boundary is selected, the locations of the overall tool paths are largely determined. Although some of these methods consider local surface geometry during tool path planning, the consideration is limited to the local machining gouging avoidance [7]. After that, many efforts have been focused on finding the relationship between the part surface geometry and the tool path machining efficiency [8]. However, there is no research to generate a tool path based on the recognized geometric features.

736

X. Zhang et al. / Computer-Aided Design 36 (2004) 735–744

On the other hand, there are a number of algorithms that have been proposed for the recognition of machining features from CAD models, such as (1) the B-rep graph based approach [9]; (2) the convex-hull decomposition approach [10,11]; (3) the cell-based decomposition [12], and (4) the hint-based approach [13]. However, all of these are examples of volumetric based methods, and most of them can only successfully recognize the 2.5D machining features. These methods are most likely process-oriented, not surface quality oriented. Also they decompose the geometric model into different volumes as machining features based on a certain strategy, but they do not focus on the improvement of the surface quality, and there is no surface information that can be applied to freeform surface finishing. In this paper, a surface based approach has been proposed to understand the final geometric shape of a freeform surface product, which provides the way to decompose the whole product surface into different geometric features. The method first understands the surface connection relationship in the product, and subdivides each surface into orientation regions using an approximate grid method. It then groups all the connected regions with the same orientation type. Based on that, certain meaningful geometric features can be recognized. Also the feasibility of the proposed approach has been verified by the development of the prototype system, which was tested against various actual dies and molds from industry. A basic introduction to trimmed NURBS surfaces is given in Section 2, followed by the definition and classification of geometric features in Section 3. The details of the proposed algorithms are given in Section 4. The implementation of proposed algorithms is discussed in Section 5. Finally, concluding remarks are given in Section 6.

in the form of trimmed NURBS surface. For easy understanding, the basis of NURBS surface is briefly reviewed here. A trimmed NURBS surface is defined by a set of trimming loops along with the base NURBS surface. Each trimming loop consists of a set of NURBS curves. In this study, all the NURBS surfaces and curves are assumed to be clamped, i.e. the boundary nodes of the control polygon lie exactly on the surface/curve. The detailed mathematical description of NURBS surfaces can be found in the literature [14]. A degree ðp; qÞ NURBS surface has the following form: Xn Xm N ðuÞNj;q ðvÞwi;j Pi;j i¼0 j¼0 i;p Sðu; vÞ ¼ Xn Xm ð1Þ N ðuÞNj;q ðvÞwi;j i¼0 j¼0 i;p where the {wi;j } are the weights, the {Pi;j } form a bidirectional control net, and {Ni;p ðuÞ} and {Nj;q ðvÞ} are the degree p and q non-rational B-splines basis functions, respectively, defined over the following knot vectors: U ¼ {a; a; · · ·; a; upþ1 ; · · ·; ur2p21 ; b; b; · · ·; n}

ð2Þ

V ¼ {c; c; · · ·; c; vqþ1 ; · · ·; vs2q21 ; d; d; · · ·; d}

ð3Þ

where r ¼ n þ p þ 1 and s ¼ m þ q þ 1: Each trimming curve of the trimming loop can also be represented in NURBS form: CðuÞ ¼ ðxðuÞ; yðuÞÞ ¼

n X

Ri;p ðuÞPi

ð4Þ

i¼0

where Pi are control points and Ni;p ðuÞwi Ri;p ðuÞ ¼ Xn N ðuÞwj j¼0 j;p

ð5Þ

are the rational B-spline basis functions defined with a knot vectors. 2. Trimmed NURBS surface

T ¼ {e; e; · · ·; e; tpþ1 ; · · ·; tr2p21 ; f ; f ; f }

The major purpose of the paper is to analyze the final geometric shape of freeform surface. There are many different formats for data exchange between CAD package and other application system, such as STEP, IGES, PARASOLID and STL; and IGES is one of them that contains all the surface information. Meanwhile, NURBS offers a common mathematical form for representing and designing both standard analytical shapes and freeform curves (surfaces). By manipulating the values of weights, knot vectors, and control points, a wide variety of shapes can be designed using NURBS. In addition, since the evaluation of NURBS is reasonably fast and computationally stable [15], it is not surprising that NURBS has been employed by many CAD/CAM system as a fundamental geometry representation and has also gained tremendous popularity in the CAD/CAM and computer graphic community [16]. Therefore, the proposed approach takes IGES format as input and the geometry information is represented

where r ¼ n þ p þ 1: The degree and number of control points are p and n þ 1; respectively.

ð6Þ

3. Classification and representation of geometric features Since the product consists of many multi-trimmed surfaces, a meaningful geometric feature always contains many portions from different trimmed surface. Thus, the key point for geometric feature recognition from freeform surface is the way to classify the geometry into different groups and also to decompose a product surface to recognize the geometric features. With this in mind, this section will give some term definitions differing from the literatures [17 – 20]. Here, we assume that all product surfaces can be represented as trimmed NURBS surfaces after the preprocessing of input data from IGES format file.

X. Zhang et al. / Computer-Aided Design 36 (2004) 735–744

737

3.1. Orientation region ðRi Þ

3.3. Geometric feature ðFi Þ

Orientation region is a portion of one NURBS surface. The proposed approach divides one NURBS surface into five different orientation regions according to their normal vectors (H; E; S; W and N): RH (horizontal region, R_type ¼ 1), RE (east region, R_type ¼ 2), RS (south region R_type ¼ 3), RW (west region, R_type ¼ 4) and RN (north region, R_type ¼ 5). It is a trade-off between accuracy and speed to divide a surface into five different orientation regions, but not only limited to five. Fig. 1 shows one NURBS surface, where n~ is the surface normal vector at arbitrary point A, and ni ; nj and nk are three components and n2i þ n2j þ n2k ¼ 1: Thus, different orientation region ðRi Þ is defined as:

Geometric feature is a portion of the entire product surface, which consists of some orientation areas. As we know, each horizontal area has outer loops or inner loops, and each loop consists of edges. Thus, horizontal area connects to side areas through the connecting edges. According to loop type of horizontal area, normal vectors of the connected area and the vector towards the right of the edge, the connecting edges can be defined into nine different types:

If nk $ C1 and nk # 2C1 ; Ri [ RH ; If 2 C1 # nk # C1 ; then : if if if if

ni ni nj nj

$ lnj l; Ri [ RE # 2lnj l; Ri [ RW $ lni l; Ri [ RN # 2lni l; Ri [ RS

where C1 is a user-definable positive constant and C1 ¼ 0:985 in this paper. 3.2. Orientation area ðAi Þ Orientation area is reconstructed by collecting all of the connected regions with the same orientation. There are also five different orientation areas: AH (horizontal area, A_type ¼ 1), AE (east area, A_type ¼ 2), AS (south area, A_type ¼ 3), AW (west area, A_type ¼ 4) and AN (north area, A_type ¼ 5). For example, East area AE consists of a couple of east regions RE : Horizontal area is the start to search possible geometric features in the proposed method.

1. If there is no other area connected, it is surface boundary edge and E_type ¼ 2 1; 2. If there is an area ðAi Þ connected to an edge of a horizontal area loop, Ai [ AE and the dot product between the normal vector of the area and the vector towards the right of the edge is negative, the edge is called upside east edge and E_type ¼ 2 2; 3. If there is an area ðAi Þ connected to an edge of a horizontal area loop, Ai [ AE and the dot product between the normal vector of the area and the vector toward the right of the edge is positive, the edge is called downside east edge and E_type ¼ þ 2; 4. Similarly, upside south edge (E_type ¼ 2 3), downside south edge (E_type ¼ þ 3), upside west edge (E_type ¼ 2 4), downside west edge (E_type ¼ þ 4), upside north edge (E_type ¼ 2 5) and downside north edge (E_type ¼ þ 5) can be defined. Through the analysis of loop types and connecting edges of the horizontal area, geometric features are defined and classified in Fig. 2: 1. If the loop is outer loop and E_type is þ 2, þ 3, þ 4 or þ 5, the horizontal area is at the top and the feature is core in Fig. 2(a); 2. If the loop is inner loop and E_type is þ 2, þ 3, þ 4 or þ 5, the horizontal area is at the top and the feature is hole in Fig. 2(b); 3. If the loop is outer loop and E_type is 2 2, 2 3, 2 4 or 2 5, the horizontal area is at the bottom and the feature is cavity in Fig. 2(c); 4. If the loop is inner loop and E_type is 2 2, 2 3, 2 4 or 2 5, the horizontal area is at the bottom and the feature is island in Fig. 2(d); 5. If there exists E_type ¼ 2 1 or E_type are positive and negative values at the same time, the feature is open cavity in Fig. 2(e). 3.4. Product and feature representation

Fig. 1. Classification of orientation regions.

According to the definition and classification of orientation region, orientation area and geometric feature, it is necessary to develop a well-organized data structure to represent a freeform surface product. Fig. 3 illustrates

738

X. Zhang et al. / Computer-Aided Design 36 (2004) 735–744

Fig. 2. Geometric features.

the hierarchical representation of the product description. In this representation, the top-level data class will be the product as a whole. A product will consist of features that are core, hole, cavity, island or open cavity. Features are then further classified into orientation area class covering AH (horizontal area), AE (east area), AS (south area), AW (west area) and AN (north area). After that, each orientation area consists of many different connected regions with the same orientation from different NURBS surface. Basically, each region can be further represented through loops, edges, and even vertex. However, since any product can be represented as trimmed NURBS surfaces after reading from IGES format CAD file, the detailed information will not be listed here and only NURBS surface representation is used as supporting basis.

4. Algorithms for geometric feature recognition In this section, the algorithms on surface orientation region subdivision, surface orientation area reconstruction and geometric feature recognition will be introduced in details. 4.1. Algorithm for surface orientation region subdivision The algorithm for surface orientation region subdivision is of importance because it has a very significant influence on the efficiency and reliability of the entire feature recognition process. Its main function is to establish the relationship between NURBS surfaces of the product and subdivide each NURBS surface into different orientation

Fig. 3. Hierarchical representation of product description.

X. Zhang et al. / Computer-Aided Design 36 (2004) 735–744

739

of the outer loop/inner loop of one NURBS surface needs to be checked against the edges of another NURBS surface. Therefore, the key point is how to evaluate whether two different edges are connected with each other. Basically, the distance from each end-point of one edge to another edge needs to be calculated first. If more than two end-points have zero distance to another edge, the connecting portion should be analyzed. Essentially, there are four different possible end-point connection situations as shown in Fig. 4. After finalizing the connecting relationship of end-points, several middle points should be checked to ensure that the edges are connected over the range. Step 2: Subdivision of NURBS surface. In this step, each NURBS surface is classified into five different orientations according to their normal vectors. The algorithm is designed as follows and a surface shown in Fig. 5(a) is taken as an example to explain: (1) First calculate the number of grids required in both u and v directions over a trimmed NURBS surface. The number can be calculated in the following equation: Fig. 4. Connecting relation between edges.

Nu =Nv ¼ ðintÞðLmax =C2 þ 2:0Þ regions according to the normal vector. The algorithm consists of the following three steps: Step 1 Analysis of the surface connectivity; Step 2 Subdivision of NURBS surface; Step 3 Generation of a 3D-boundary edge list. Step 1: Analysis of surface connectivity. This step is implemented to analyze the product surface connectivity and establish the surface topology relationship. Each edge

ð7Þ

where Nu and Nv are the grid numbers of u or v directions, respectively, Lmax is the longest control polygon in u or v direction if degree p ¼ q ¼ 1 is the approximated arc length in u or v direction if degree p and q . 1 C2 is a user-definable positive constant and C2 ¼ 0:3 in this paper.

Fig. 5. Algorithm for surface orientation region subdivision.

740

X. Zhang et al. / Computer-Aided Design 36 (2004) 735–744

(2) Map surface boundary edges and loops into the discrete grids. Basically, this step is to calculate all the intersection points between each boundary edge and grid map. Fig. 5(b) shows the mapping result based on grid numbers in u and v directions. Meanwhile, tiny surfaces can be detected by counting the number of inner grids of the surface. The tiny surfaces are densified into small grid sizes through the creation of a higher grid number in u and v directions of the surface so that the tiny surface can be easily divided into different orientation regions. (3) Analyze the orientation of grids † Calculate surface normal vector at grid nodes Fig. 5(c) shows part of the grids of 2D surface boundary map. The index of its left-low node of the grid is ði; jÞ: The value ðui ; vj Þ and normal vector n~1 can be calculated: Du ¼ ðue 2 us Þ=Nu

ð8Þ

Dv ¼ ðve 2 vs Þ=Nv

ð9Þ

ui ¼ us þ i £ Du

ð10Þ

vj ¼ vs þ j £ Dv

ð11Þ

n~1 ¼ S~0 u £ S~0 v

ð12Þ

Fig. 6. Surface orientation region boundary edges.

Similarly, the normal vectors n~ 2 ; n~3 and n~4 for the other nodes ði þ 1; jÞ; ði þ 1; j þ 1Þ and ði; j þ 1Þ of the grid can be obtained.

the boundary grid. Then, the inner grids are grouped into different orientation regions shown in Fig. 5(f). Step 3: Generation of a 3D-boundary edge list. After each surface is subdivided into orientation regions and the region boundary is generated. If a surface contains more than one orientation region, normally there are two different types of boundary edges: a region boundary edge and a surface boundary edge. A region boundary edge lies inside the surface, while a surface boundary edge is on the surface boundary. As illustrated in Fig. 6, E1 – E6 are surface boundary edges and E7 – E9 are region boundary edges. From Step 2, it is known that the connecting relation between orientation regions is generated in the parametric domain, while the connecting relation between different NURBS surface is established in 3D space from Step 1. To generate the 3D boundary relation among orientation regions, all the connecting edges in parametric domain should be mapped into 3D space in this step.

† Determine type of the grids

4.2. Algorithm for surface orientation area reconstruction

where Du; M Dv are grid length along u; v directions ui ; vj are value at node ði; jÞ along u; v directions, respectively us ; ue ; vs ; ve are the start and end coordinates of u and v along u; v directions S~0 u ; S~0 v are the first derivative at node ði; jÞ along u; v directions [14] n~1 is the normal vector at node ði; jÞ

After the normal vectors n~ 1 ; n~ 2 ; n~3 and n~ 4 are obtained, the orientation of each grid can be determined. Basically, there are two different types of grids: inner grid and onboundary grid. If the normal vectors at four nodes, for example n~ 1 ; n~2 ; n~3 and n~ 4 ; have the same orientation type, the grid belongs to inner grid with certain orientation (H; E; S; W and N) as shown in Fig. 5(d). If the normal vectors at four nodes have different orientation, the grid is on-boundary as shown in Fig. 5(e). † Group grids into orientation region If the grids are on-boundary, they are further subdivided. All the boundary edges and loops are traced out from

Based on region information and connecting relations, an orientation area is reconstructed by the collection of all of the connected regions with the same orientation type. Basically, the algorithm can be represented in the following form: Ai ¼

n X

Rij

ð13Þ

j¼1

where Ai is the ith reconstructed area; Rij is the jth region relating to the ith area; and n is the number of regions in the Ai : For easy understanding, one example is given to explain how to reconstruct an orientation area from orientation

X. Zhang et al. / Computer-Aided Design 36 (2004) 735–744

types according to the E_type. Following the flowchart, the geometric feature can be recognized through the analysis of loop type, connecting edge and connected area. Fig. 9 shows one example. There is only one outer loop of the horizontal area A0; and all the connecting edges between A0 and wall areas, A1; A2; A3 and A4; are upside so the horizontal area is at the bottom and the recognized feature is a cavity, F1. The geometric feature with a horizontal area can be recognized through the above algorithm. However, there exist cases of some special horizontal area, i.e. horizontal sharp edges or horizontal peak points, which will be processed specially and will not be presented here.

Fig. 7. Orientation area reconstructions from regions.

regions at different NURBS surfaces in detailed steps: 1. Sort the region list and find a region that has not been grouped into an area yet, for example R1 in Fig. 7. Start a new area with this region and add it on the top of the current area; 2. Check each region of region list, and find all the connected regions with same orientation type, such as R2, R3 and R4 in Fig. 7(a). Add these regions to the end of the current area; 3. After all regions belonging to the current area are found, add current area to area list Ai ; 4. For each area (area A1 in Fig. 7(b)) in the area list, trace out boundary loops of the area (loop abcd in Fig. 7(b)). Check each edge of each loop of each region in the area to find an uncollected edge on the area boundary. Then starting from this edge, trace out the boundary loop and mark each edge in the loop as collected. Finally, write the boundary loop found into data structure; 5. Find outer loop of the area if it has more than one boundary loop. The bounding boxes of the boundary loops are compared, and the loop with the largest bounding box is distinguished as the outer loop. 4.3. Recognition algorithm for geometric features Geometric feature recognition starts with the searching of horizontal area mentioned earlier. Basically, the algorithm can be represented in the following form: Fi ¼ Ai0 þ

m X

Aij

741

5. Implementation and verification of surface based feature recognition approach The proposed approach has been implemented in a prototype system, developed under Windows NT. The development platform is Visual Cþ þ 6.0, and the 3D graphics display interface is OpenGL. The system architecture is shown in Fig. 10 and the whole system works as follows: 1. IGES Postprocessor translates all the geometric information from a CAD model (IGES format) into a proposed object-oriented data structure, which represents the product surface in the form of trimmed NURBS surfaces; 2. Secondly, the product surface model is analyzed to generate the connectivity edge list among surfaces and subdivides each NURBS surface into orientation regions through a check of their surface normal vector over a certain point density grid. Meanwhile, the connecting edge list between the regions is generated; 3. Thirdly, the orientation areas are generated by the collection of all of the connected regions with the same orientation type. The boundary loops of each orientation area are also generated by the search of the connectivity edge list of orientation regions; 4. Fourthly, connected orientation areas are analyzed to recognize the geometric features.

ð14Þ

j¼1

where Fi is the ith recognized geometric feature; Ai0 is the ith horizontal area; Aij is the jth area connected to the ith horizontal area; and m is the total number of areas connected to the ith horizontal area. For those with the horizontal area, the algorithm to recognize the geometric features is designed as shown in Fig. 8. In the figure, E_type is the type of connecting edge, which is determined through the calculation of the dot product between the normal vector of the area and the vector toward the right of the edge as mentioned in Section 3. The a_type is to classify the connecting edges into three different

Currently, the prototype system can read a product surface model in trimmed NURBS surface format from an IGES text file. It can also display the product model with rotate, zoom, and pan capabilities both in shading and wire-frame mode. The object for display can be switched between any one of five levels: product model, surface orientation regions, surface orientation areas, and the recognized geometric feature. The recognized features are also displayed in the form of tree structure according to the classification so that user can choose any one of them for the further application. Fig. 11(a) and (b) shows a typical screen of the developed prototype, from which it can be seen that the screen is divided into two portions:

742

X. Zhang et al. / Computer-Aided Design 36 (2004) 735–744

Fig. 8. Flowchart of geometric feature recognition.

left side is a tree structure to list all the recognized geometric features and the right side is to graphically show the recognized geometric feature one by one as selected from the left screen.

Fig. 9. An example of geometric feature recognition.

Fig. 10. System architecture.

X. Zhang et al. / Computer-Aided Design 36 (2004) 735–744

743

Fig. 11. The developed prototype system.

A product model, connecting rods, from a sponsoring company is utilized to test the capability of the prototype in Fig. 11. The IGES file is about 11.0 MB, which contains more than 10,000 entities. It only takes 45 s to process the feature recognition from this IGES file and 29 geometric features have been recognized. Meanwhile, the capability of the prototype has been tested against various actual dies and molds from the industry, including cell-phones, monitors and automobile parts, cranks and huge inside resin panels. The system has been well proven to be very efficient and reliable.

6. Conclusions A novel surface based feature recognition approach has been proposed, which is capable of automatically interrogating the geometry of a NURBS surface model and generating the geometric feature for freeform surface machining. The proposed algorithms were developed and implemented in the prototype system, which has been used to recognize geometry feature automatically as shown in the feasibility study. Meanwhile, the system has been verified against various actual die and mold models from the industry. This approach proposed in this paper has the following advantages: 1. The approach uses a methodology composed of four algorithms that translate the data from a CAD file into geometry features. After the analysis, the geometric features recognized not only contain the geometric information, such as size, curvature, inclination and so on, but also contain the connecting relationship between orientation regions, orientation areas and geometric features. That information offers the opportunities for machining feature recognition and precise tool path generation. 2. These four algorithms proposed are organized as hierarchical structure. After each algorithm of proposed approach, all the information is saved in terms of their new detaillevel, such as NURBS surface, orientation region, orientation area and geometric feature. This ensures that if

complete feature recognition is not necessary for different applications, analysis can be stopped at any special level and all the information at each level can be picked up if necessary. 3. The approach analyzes the surface based on the trimmed NURBS surfaces, which is a universal form to represent the geometry. The limitation of proposed approach is that it is part orientation dependent. To get the better results, it is necessary to optimize the orientation of the part before beginning the geometric feature recognition. Our future work will focus on machining feature recognition, which can be done after the machining strategy is determined. Another one is to study the cutting contour and tool path generation based on the recognized geometric features.

References [1] Dragomatz D, Mann S. A classified bibliography of literature on NC milling path generation. Comput Aided Des 1997;29(3):239–47. [2] Marshall S, Friffiths JG. A survey of cutter path construction technique for milling machines. Int J Product Res 1994;32(12):2861–77. [3] Elber G, Cohen E. Tool path generation for freeform surface models. Comput Aided Des 1994;26(6):490–6. [4] Ding S, Mannan MA. Adaptive iso-planar tool path generation for machining offreeform surfaces. Comput Aided Des 2003;35(2):141–53. [5] Feng HY, Li H. Constant scallop-height tool path generation for threeaxis sculptured surface machining. Comput Aided Des 2002;34(9): 647–54. [6] Park SC. Tool-path generation for Z-constant contour machining. Comput Aided Des 2003;35(1):27–36. [7] Lee Y-S. Mathematical modeling using different endmills and tool placement problems for 4- and 5-axis NC complex surface machining. Int J Product Res 1998;36(3):785–814. [8] Chiou C-J, Lee Y-S. A machining potential field approach to tool path generation for multi-axis sculptured surface machining. Comput Aided Des 2002;34(5):357–71. [9] Trika SN, Kashyap RL. Geometry reasoning for extraction of manufacturing feature in iso-oriented polyhedrons. IEEE Trans Pattern Anal Mach Intell 1994;16(11):1087–100. [10] Kim Y. Recognition of for features using convex decomposition. Comput Aided Des 1992;24(9):461–76.

744

X. Zhang et al. / Computer-Aided Design 36 (2004) 735–744

[11] Woo Y, Sakurai H. Recognition of maximal features by volume decomposition. Comput Aided Des 2002;34:195 –207. [12] Sakurai H, Dave P. Volumetric decomposition and feature recognition. Part II: curved objects. Comput Aided Des 1996;28(6/7):519–37. [13] Han J, Requicha A. Feature recognition from CAD models. IEEE Comput Graph Appl 1998;80–94. [14] Piegl L, Tiller W. The NURBS book, 2nd ed. New York: Springer; 1997. [15] Piegl L. On NURBS: a survey. IEEE Comput Graph Appl 1991;11(1): 55–71. [16] Cheng MY, Tsai MC, Kuo JC. Real-time NURBS command generator for CNC servo controllers. Int J Mach Tools Manuf 2002;42:801– 13. [17] Fields MC, Anderson DC. Fast feature extraction for machining application. Comput Aided Des 1994;26:803–12. [18] Gao S, Shah JJ. Automatic recognition of interacting machining features based on minimal condition subgraph. Comput Aided Des 1998;30:727 –39. [19] Lee JY, Kim K. A feature based approach to extracting machining features. Comput Aided Des 1998;30:1019–35. [20] Tseng YJ, Joshi SB. Recognition of interacting rotational and prismatic machining features from 3D mill-turn parts. Int J Product Res 1998;36:3147 –65.

Xingquan Zhang is a post-graduate researcher at IMS-Mechatronics Laboratory, Department of Mechanical and Aeronautical Engineering at University of California Davis. He received a BS and a MS in Northwestern Polytechnical University, China in 1994 and 1997, respectively, and a PhD from Shanghai Jiao Tong University, China in 2000. His current research fields of interest are CAD/CAM system development and application, precision manufacturing and measurement, and machine tool CNC control.

Jie Wang is a post-doctoral researcher at IMSMechatronics Laboratory, University of California, Davis since September 1998. He received his PhD from Shanghai Jiaotong University, Shanghai, China in 1990. He was an associate professor of Shanghai Jiaotong University and had four years of working experience in manufacturing industry. His major research interests include CAD/CAM software development and application.

Kazuo Yamazaki has been a professor of the Department of Mechanical and Aeronautical Engineering at University of California, Davis since 1990. He was born in Kanagawa, Japan, and has received BS, MS, and Doctor of Engineering Degree from Keio University in Japan in 1970, 1972 and 1975, respectively. His research fields are: Intelligent Machine Tool Systems, Microprocessor Applied Numerical Control for Machine Tool Systems, CAD/CAM System Development for Manufacturing, Application Specific Integrated Circuit (ASIC) Development for Mechatronics Control, Design Methodology of Mechatronics System, Manufacturing Network System and Factory Automation Technologies.

Dr. Masahiko Mori is the President & Representative Director, Mori Seiki Co., Ltd., Japan. He received a BS in Mechanical Science from Kyoto University, Japan in 1985 ans a PhD from University of Tokyo, Japan in 2003.