Int J Adv Manuf Technol (xxxx) xx: xx–xx DOI 10.1007/s00170-003-1978-2
Chih-Hsing Chu · Jang-Ting Chen
Tool Path Planning for Five-Axis Flank Milling with Developable Surface Approximation
Received: xxxx / Accepted: xxxx / Published online: xxxx Springer-Verlag London Limited xxxx
Abstract This paper presents a novel approach that automatically generates interference-free tool path for five-axis flank milling of ruled surface. A boundary curve of the machined surface is subdivided into curve segments. Each segment works as a guide curve in the design method for developable Bézier surface that controls a developable patch for approximating the surface with available degrees of freedom. Geometric algorithms are proposed for calculating consecutive patches with G1 continuity across the patch boundary. A tapered tool can move along the rulings of these patches without inducing local tool interference as a result of their developability. The machining deviation is controlled by the surface approximation error. A machining test is conducted with the generated CL data and the result verifies the feasibility of the proposed approach. This work successfully transforms avoidance of tool interference into a geometric modeling problem and provides a simple solution. It thus demonstrates a good potential of the developable surface theory for five-axis flank machining. Keywords Five-Axis Machining, Flank Milling, Developable Surface, Tool Interference, Ruled Surface
1 Introduction Five-axis machining has received much attention in both industry as well as the academic community since the early 90’s. It provides a number of advantages [1,2] over traditional three-axis machining, such as higher production rate and fewer set-ups, and thus is most suitable to the production of complex geometries like turbine blade [3], impeller [4-6], and other high value products [7-9]. There are essentially two distinct milling methods in five-axis CNC machining. Point milling (or end milling) employs C.-H. Chu(
) · J.-T. Chen
Department of Industrial Engineering and Engineering Management, National Tsing Hua University, 101, Sec 2, Kuang Fu Road, Hsinchu 300, Taiwan, E-mail:
[email protected] Tel.: +886-35742698 Fax.: +886-35722685
cutting edges near the end of a tool for material removal [10]. In contrast, the cylindrical part of a cutter does the main cutting in flank milling [11]. Tool path planning is a critical issue in any five-axis machining operation with two major concerns. First, to ensure the specified surface roughness by proper tool path is the most important task in point milling. The similar problem exists in three-axis machining using a ball-end cutter, but more complex computations are normally involved in five-axis milling with a flat-end cutter, namely Sturz milling [12]. On the other hand, tool interference needs to be eliminated in both point and flank milling operations. In the former, the tool must be properly placed in 3D space using two rotational degrees of freedom in order not to cause collisions in the machining environment [13-15], while the cutting operation takes place near the tool end. The situation becomes more complicated in the flank milling operation. Since the stock material is mainly removed by the tool flank, most of the time to completely avoid tool interference is difficult, except for simple part geometries such as cylindrical and conical surfaces. Therefore, in practice the machining quality is considered acceptable when the amount of tool interference is limited within a given tolerance. Most of the shapes machined with flank milling consist of ruled surface. Thus all previous studies were focused on this area. Bedi et al. [16] analyzed the relationship between the tool position and the resultant machining errors such as the amount of undercut and overcut. In their approach, the tool contact point of a cylindrical cutter is placed along a boundary curve of ruled surface, and the tool axis is chosen to be the surface ruling at each point. Their later study [17] proposed an optimization scheme that minimizes the similar tool interference by adjustment of the tool position and orientation on the machined surface. Liu [18] developed a heuristic that offsets the points at the parameter values 0.25 and 0.75 on a ruling with a distance of the tool radius and thus determines the tool axis. The tool path generated like this generally results in serious tool interferences near the middle region of the machined surface. Bohez et al. [19] adopted the similar approach [16] for generation of the tool contact point. However, the offset direction is computed as
Fig. 1. A ruled surface defined by two boundary curves
A(w)
R(t, w) B(w)
machined surface
Fig. 2. Local tool interference in five-axis flank milling [19]
B interference A tool
the average vector of the surface normal at two end points of a ruling. They claim that the amount of tool interference can be significantly reduced in this manner. Lartigue et al. [20] used the envelope surface to approximate the machined surface. They also proposed an error estimation method for the tool path planning on the envelope surface. Tsay et al. [21,22] investigated the influence of the yaw and tilt angles on the amount of tool interference in five-axis flank milling. The result serves as look-up tables in a tool path planning algorithm for B-spline ruled surface. As stated in most prior literatures, the twist of the machined surface along its rulings is the major cause that induces tool interference in five-axis flank milling of ruled surface. However, most studies adopted heuristics [16-18] and pre-calculated look-up tables [21], which lack a support in theory and/or involve user interaction, in contrast to resolving the problem from analysis of the surface properties related to the twist. More importantly, they fail to accomplish the tool path generation and machining error control in an automatic manner. To overcome these deficiencies, we develop a novel and concise approach to eliminating local tool interference in five-axis flank milling of ruled surface. The developability property [23] provides a theoretical base and highly effective solution for this problem. This approach modifies the design method for developable Bézier surface and applies the modified method to computing consecutive developable patches that approximate the machined surface. G1 continuity is maintained across the patch boundary and consequently results in smooth tool motion. A tapered tool makes contact on these patches precisely along the surface rulings, and does not produce any tool interference due to the developability. Avoidance of tool interference is thus transformed into a geometric modeling problem. Moreover,
the machining deviation is equivalent to the surface approximation error, which can be precisely controlled in the approach. This work is implemented as a special machining module that automatically generates CL data with the given part geometry, cutter information and machining tolerance. A machining test is conducted with the generated tool path. The result validates the feasibility and practicality of this research. It also demonstrates a good potential of developable surface approximation for automatic tool path planning in five-axis flank machining of complex geometries.
2 Tool Interference in Five-Axis Flank Milling 2.1 Local Tool Interference A ruled surface R is mathematically defined by two boundary curves in 3D space as: R(t, w) = (1– t) A(w) + t B(w), 0 ≤ t ≤ 1 and 0 ≤ w ≤ 1
(1)
The line segment AB that connects each pair of corresponding points (with equal w) is called the ruling at parameter value w, as shown in Fig. 1. The most important information required for the tool path planning of five-axis machining includes the tool center point and the tool orientation. Most previous studies calculate the tool center point from offsetting the boundary curve(s) and set the initial tool axis along the rulings of the machined surface. Fig. 2 shows that the cutter contacts one boundary curve at A and the tool axis is parallel to AB.
Fig. 3. Local tool interference occurs in flank milling of ruled surface
tool R B’(w) max overcut = R(1 − cosθ) A
ruling A’(w)
B
Fig. 4. Local tool interference does not occur in flank milling of developable surface
tool R
A’(w) = B’(w) at the end view A
Tool interference takes place around the ruling AB in this case, as at the same time the cutter does not touch on the other boundary tangentially. Moreover, the maximum overcut usually occurs near the end point B. This condition can be explained better with the end view of the tool shown in Fig. 3. The tangent vectors A’(w) and B’(w) to the curves at the corresponding end points and the ruling AB do not necessarily lie in the same plane. In general, the cutter becomes tangent only to one boundary curve. Thus it inevitably protrudes into the surface near the other boundary and causes overcut in this region. The greatest amount of the overcut can be approximately estimated as R(1−cosθ) [19], where θ is the angle extended by A’(w) and B’(w), and R is the tool radius. The interference induced like this is referred to as local tool interference [24] in this paper. 2.2 Developability Property Developable surface is a subset of ruled surface [25]. If we select A(w) and B(w) of a ruled surface so that at every w these tangent lines and the corresponding ruling remain coplanar, then the surface becomes developable. This co-planarity condition can be represented in terms of the triple scalar product of the two tangent vectors and the ruling vector A(w)−B(w) in between: A’(w) × B’(w) • [A(w)–B(w)] = 0
(2)
This property is very desirable for eliminating the local tool interference described above. Fig. 4 illustrates the end view of the flank milling of a developable surface. Obviously the tool interference does not occur at the current position, at least locally along the ruling, as the cutter is tangent to both
B
ruling
boundary curves. Therefore, an effective solution is to approximate the machined surface with developable surfaces and then generate tool path based on them. The tool interference prevention is readily transformed into a geometric modeling problem in this manner.
3 Approximation with Developable Surfaces 3.1 Design Method for Developable Bézier Patch The solution process for the design of developable surface can be highly complex. For example, substituting the Bézier representation of both curves into Eq. (2) leads to a complicated system of equations that must be imposed on the Bézier control points to ensure developability of the surface. Typically the solution process involves a non-linear system of equations. To avoid non-linear computation, Chu and Séquin [26] derived the developability conditions geometrically from the de Casteljau algorithm and expressed them as a set of equations that must be fulfilled by the control points. This set of equations allows them to simplify the solution process for the surface design, and reveals how many free design parameters there are in the control net. Based on these findings, design methods have been presented for general quadratic and cubic developable Bézier patches that make most use of the available degrees of freedom. More importantly, they provide useful design “handles” for practical applications of developable surface in CAD/CAM. This work modifies the design method for quadratic developable patch and applies it to the surface approximation. This method has a closed-form solution and
B1
Fig. 5. Design of a quadratic developable Bézier patch
c1 B2 A1 a2 B0 c0
c2 A2
a1 A0
Fig. 6. Surface approximation with a first developable Bézier patch
B2
B1 B0
R(t, w) A0
G(w)
1 [R(t, 0)+R(t, 1)] 2
A1
F(w)
A2
thus is much simpler than that of higher order surface. The essence of the proposed approach is also demonstrated better with it. Suppose the boundary curves A(w) and B(w) of a quadratic developable Bézier patch consist of the control points A0-A1-A2 and B0-B1-B2, respectievly, as shown in Figure 5. Other notations used in this figure include:
determine the patch with these DOF’s. This work adopts the first design method previously proposed [26]. First, specifying the first control point (through c0) of the B-curve consumes three DOF’s. Next, to place the second control point (through c1) in the plane determined by A0-B0-A1. uses up the last two DOF’s. The remaining three constraints in Eqs. (5-7) form a 3×3 non-homogeneous linear system, i.e.
ai = Ai–Ai−1 for i = 1 and 2
(a2yc1z −a2zc1y)c2x + (a2zc1x −a2xc1z)c2y + (a2xc1y −a2yc1x)c2z = 0
cj = Bj–Aj for j = 0, 1, and 2
(3)
The developability constraints that must be imposed on the Bézier control polygon can be derived and expressed as [26]: a1•c0×c1 = 0
(4)
a2•c1×c2 = 0
(5)
a1•c0×c2 + a2•c0×c1 = 0
(6)
a1•c1×c2 + a2•c0×c2 = 0
(7)
We let the designer freely specify a first boundary curve, i.e. A0, A1, and A2 in this case. Furthermore five degrees of freedom (DOF’s) remain for defining the second boundary curve (the B-curve) while Eqs. (4-7) are satisfied, and the system will determine the coordinates for all the other control points. There are various methods that fully
(a1yc0z −a1zc0y) c2x + (a1zc0x −a1xc0z) c2y + (a1xc0y −a1yc0x) c2z = a2•c1×c0 [(a2yc0z −a2zc0y)+(a1zc1y −a1yc1z)] c2x + [(a2zc0x −a2xc0z)+(a1xc1z −a1zc1x)] c2y + [(a2xc0y −a2yc0x)+(a1yc1x −a1xc1y)] c2z = 0 (8) where c2(c2x, c2y, c2z) is to be determined. To simplify the derivation process, assume the above equations are stated as: D1c2x + D2c2y + D3c2z = 0 E1c2x + E2c2y + E3c2z = 0 F1c2x + F2c2y + F3c2z = a2•c1×c0
(9)
where D1, D2, D3, E1, E2, E3, F1, F2 and F3 represent the corresponding coefficients in Eq. (8). Hence, the linear system can be solved as:
Fig. 7. Surface approximation with a subsequent developable Bézier patch
B1 B01
B12
B21 = B02
1
B22
G1(w) G2(w)
R1(t, w) F1(w)
A01
R2(t, w)
1
A1
A21 = A02
F2(w)
A12
A22
A
Fig. 8. Estimation of machining deviation
A’(w) q
n
B’(w)
B p
0
D2
D 3 D1
D2
D3
0
E2
E 3 E1
E2
E3
a 2 ⋅ c1 × c 0
F2
F3 F1
F2
F3
c 2x =
Developable patch
Machined surface
contains the boundary curves A(v) and B(v) with 0 ≤ u ≤ 1, 0 ≤ v ≤ 1. First, one boundary curve (assume F(w) in this case) is chosen as a guide that generates the A-curve for the developable patch as follows:
−1
A0 = A(0) = F(w0) D1 c 2y = E 1 F1
0
D 3 D1
D2
D3
0 a 2 ⋅ c1 × c 0
E 3 E1 F3 F1
E2 F2
E3 F3
0
D1
D2
D3
0
E1
E2
E3
a 2 ⋅ c1 × c 0 F1
F2
F3
D1
D2
c 2z = E 1
E2
F1
F3
−1
1 2
A(0.5) = F( [w0+ w1]) A2 = A(1) = F(w1) −1
(10)
Once c2 is obtained, the solution process is finished with the Bézier patch completely defined. 3.2 Approximation of Ruled Surface This section describes the approximation process of a given ruled surface using the above design method. Suppose the ruled surface R consists of two boundary curves F(w) and G(w) with w0 ≤ w ≤ w1, 0 ≤ t ≤ 1. Note that the range of the curve parameter w is not necessarily normalized within [0, 1]. A developable patch S(u, v) approximating the surface
(11)
Figure 6 indicates that A0 and A2 serve as the end control points in the developable patch. The points corresponding to the middle parameter value on both curves A(v) and F(w) must coincide. Next, we let the start rulings overlap, i.e. R(t, 0) = S(u, 0), which also specifies the first control point of the B-curve. A heuristic is proposed to place the second control point on the plane that has been determined by A0, A1, and B0 as the projection of the average vector of the end rulings of R onto the plane. That is, c1 is equal to the projection of
1 2
plane A0-A1-B0.
[R(t, 0)+R(t, 1)] originated at A1 on the
Fig. 9. Approximate developable patches superimposing on a test ruled surface
Fig. 10. Fewer developable patches are generated at a larger maximum error
3.3 Estimation of Surface Approximation Error A critical task in any tool path planning scheme is to estimate the actual machining deviation, namely the amount of overcut or undercut induced by the tool on the machined surface. The cutter end makes contact and moves along the A-curve of each developable patch in our method. Moreover, the tool orientation is aligned with the corresponding ruling at each cutter contact point. As a result, the tool flank touches the machined surface exactly along the rulings of the approximate patches, and thus they become the envelope surface of the tool swept volume [20]. The surface approximation error is equivalent to the machining deviation in this condition. Such an error should be measured in the radical direction of the cutter. At any given point q on a developable patch, there always exists a plane determined by the tangent vectors A’(w), B’(w), and the ruling AB. Suppose the normal vector n of the plane at q intersects the machined surface at p. The approximation error is estimated as the distance between these two points, |pq|, as shown in Fig. 8. The surface approximation process consists of the following steps: Step 1
Step 2 Step 3 Step 4
Choose a boundary curve of the machined surface as a guide for generating the A-curve of a developable patch. Calculate all the control points based on the design method and heuristics described in Section 3.2. Estimate the maximum surface approximation error as explained in this section. If the error is within the given machining deviation Goto Step 5. Else
Step 5
Subdivide the A-curve into two curve segments and generate two ruled surface regions accordingly. For each surface region Repeat Step2-Step4. Finish.
Note that the error estimation in Step 2 is performed at sample points generated with equal Euclidian distance in both parameter directions of each developable patch. The maximum value among these points becomes the surface approximation error of the patch.
4 Test Example A impeller-like ruled surface consisting of two Bézier boundary curves is used as a test example to demonstrate the technical viability of the proposed approach. Local tool interference occurs when the cutter moves along the surface rulings, as the tangent direction at both ends of any given ruling does not necessarily remain coplanar. The algorithms described in Section 3 produces five consecutive developable patches with G1 continuity that approximate the machined surface with the maximum machining tolerance 0.52. These patches correspond to the parameter values 0, 0.25, 0.34375, 0.384766, 0.423218, and 1 of the first boundary during the subdivision process. Figure 9 illustrates them (in various gray scales) superimposing on the ruled surface. We should notice that the resultant tool path does not change with the length of the surface ruling, which only determines the tool orientation at each tool position in flank milling. Consequently, the developable patches can be freely
Fig. 11. Distribution of the approximation error for the test example
Fig. 12. Graphical simulation of the tool path generated for a test example
Fig. 13 The machining test in progress and the final finished part
adjusted along the ruling direction as long as the length ratio of all the connecting control points between two boundaries remains intact. This is the inherent scaling factor in the developable surface theory [24]. However, it is necessary to guarantee that any generated developable patch covers the machined surface in the ruling direction. The validity of the error estimation can thus hold. A number of observations obtained from the test result are worth of discussion. First, the number of approximate patches decreases with the increase of the maximum error. Fig. 10 shows that we need only three developable patches for approximating the same surface based on a maximum
error 0.75. They relate to the parameter values 0, 0.25, 0.34375, 0.425781, and 1 of the surface boundary. In addition, the distribution of the approximation error on the surface reflects an interesting pattern in our appraoch. Large deviations always occur near the other boundary of the machined surface, when the cutter moves along a first boundary curve (the one under subdivision in the algorithm). This curve, not surprisingly, resembles the A-curve of the developable patch to a larger degree. In contrast, larger spacings normally exists near the other boundary. Fig. 11 illustrates the error distribution for the example shown in Fig. 9. This distribution pattern is due to the heuristics adopted in
the design method (see Section 3.2). Once we have obtained the approximate developable patches, the subsequent tool path planning is fairly straightforward. First, the cutter must make contact with and moves along the A-curves, which determines the cutter contact point. Offsetting the contact point with a tool radius in the outer direction of the surface normal generates the tool center point. The tool orientation at each point aligns with the corresponding ruling of the developable patches. We implement this work as a machining module with a geometry engine ACIS using C++. This module automatically calculates the tool motion with the information specified by the user, including the geometry of a ruled surface, the maximum machining error, the number of error estimation in both parameter directions, and the cutter data. The CL data of a φ6 ball-end cutter is generated in the above manners using the result displayed in Fig. 9. Fig. 12 shows the graphical simulations based on the corresponding NC code. In addition, we conduct a machining test in a Boston-Digital T350 five-axis CNC machining center to demonstrate the practicality of this work. A wedge-shape epoxy material is created prior to the test. It serves as a starting shape in a final finish cut with the tool path simulated in Fig. 12. Fig. 13 illustrates the machining operation in progress and the final finished part.
5 Conclusion and Future Research This study has presented a novel approach that approximates a ruled surface with consecutive developable patches and thus eliminates local tool interference in five-axis flank milling. Geometric algorithms have been proposed for applying the design method of a quadratic developable Bézier patch in the surface approximation. They guarantee G1 continuity across the developable patches, resulting in smooth tool motions. The tool end moves along the boundary curve of these patches and makes contact tangentially on the surface rulings. The interference-free tool path is thus automatically generated. Our approach has readily transformed the tool path planning for five-axis flank milling into a geometric modeling problem and provided an easy computation scheme for its solution. In addition, the presented approach can precisely control the amount of machining deviation equivalent as the surface approximation error. This work has been implemented as a machining module using C++. A test example has been successfully machined on a five-axis CNC machining center with the tool path generated by the module. The result validates the feasibility of the proposed approach in automatic tool interference avoidance as well as tool path planning for five-axis flank milling. This paper has demonstrated the early potential of the developable surface theory in five-axis flank milling, but more research efforts are needed on several topics. First, the surface approximation error in our approach does not have a uniform distribution; larger errors tend to take place near
one boundary. A better heuristic should be able to alleviate this condition and thus improve the precision in the surface approximation. In addition, In practice a ruled surface of complex shape (like a turbine blade) often requires multiple-pass tool paths along the surface ruling to produce a smaller machining deviation. Thus, one interesting topic is to extend this study into multi-stage tool path planning for five-axis flank milling. Our current approach is limited to machining of ruled surface but not directly applicable to more complex geometries. One solution is to approximate a general free form surface with developable patches [28], but the result may not guarantee geometric continuities between patches. Finally, we did not consider any machine dynamics or control issues in computing the approximate developable patches. It is possible to perform surface re-parameterization for achieving better machining quality by taking these problem into account, since the tool motion is determined by the surface ruling, i.e. the underlying surface representation. Our current research is mainly focused on these areas.
References 1.
2.
3.
4.
5.
Vickers, G.B. and Guan, K.W., “Ball-Mills Versus End-Mills for Curved Surface Machining,” ASME Journal of Engineering for Industry, 1989, Vol. 111, pp. 22-26. Damsohn, H., Fünfachsiges NC-Fräsen, ein Beitrag zur Technologie Teileprogrammierung und Postprozessorverarbeitung, Ph.D. Dissertation, U. Stuttgart, Germany, 1976. Wu, C.Y., “Arbitrary Surface Flank Milling of Fan, Compressor, and Impeller Blades,” Transactions of ASME Journal of Engineering for Gas Turbines and Power, 1995, Vol. 117, No. 3, pp. 534-539. Youn, J.W., Jun, Y., and Park, S., “Interference-Free Tool Path Generation in Five-Axis Machining of a Marine Propeller,” International Journal of Production Research, 2003, Vol. 41, No. 18, pp. 4383-4402. Park, S., Chang M.H., and Ju, J.H., ”Tool Path
Generation for Five-Axis Machining of Impellers,” 6.
7.
8.
9.
International Journal of Production Research, 1999, Vol. 37, No. 16, pp. 3659-3669. Young, H.T. and Chuang, L.C., “An Integrated Machining Approach for a Centrifugal Impeller,” International Journal of Advanced Manufacturing Technology, 2003, Vol. 21, No. 8, pp 556-563. Chu, C.H., Song, M.C., and Luo, K., C.S., “Computer Aided Parametric Design for 3D Tire Mold Production,” Computers in Industry, 2004, submitted for publication. Gian, R., Lin, T.W., and Lin, A.C., ”Planning of Tool Orientation for Five-Axis Cavity Machining,” International Journal of Advanced Manufacturing Technology, 2003, Vol. 22, No. 1-2, pp 150-161.
Lee, R.S. and Lee, J.N., “A New Tool-Path Generation Method Using a Cylindrical End Mill
for 5-Axis Machining of a Spatial Cam with a Conical Meshing Element,” International Journal of 10.
11.
12.
13.
14.
15.
16.
17.
Advanced Manufacturing Technology, 2001, Vol. 18, No. 9, pp. 615-623. Choi, B.K., Park, J.W., and Jun, C.S., “Cutter-Location Data Optimization in 5-Axis Surface Machining,” Computer-Aided Design, 1993, Vol. 25, No. 6, pp. 377-386. Li, S.X. and Jerard, R.B., “5-Axis Machining of Sculptured Surfaces with a Flat-End Cutter,“ Computer-Aided Design, 1994, Vol. 26, No. 3, pp. 165-178. Henning, H., Fünfachsiges NC-Fräsen Gekrümmter Flächen, Ph.D. Dissertation, U. Stuttgart, Germany, 1975. Lee, Y.S., “Admissible Tool Orientation Control of Gouging Avoidance for 5-Axis Complex Surface Machining,” Computer-Aided Design, 1997, Vol. 29, No. 7, pp. 507-521. Chu, C.H., Chang H.J., and Lin, C.K., “Avoidance of Tool Interference in Five-Axis Milling,” Proc. of the Fourth International Conference on Automation Technology, Hsinchu, Taiwan, Vol. 1, pp. 339-346, 1996. You C.F., and Chu C.H., “Tool-Path Verification in Five-Axis Machining of Sculptured Surfaces,” International Journal of Advanced Manufacturing Technology, 1997, Vol. 13, No. 4, pp. 248-255. Bedi, S., Mann, S., and Menzel, C., “Flank Milling with Flat End Milling Cutters,” Computer-Aided Design, 2003, Vol. 35, pp. 293-300. Menzel, C., Bedi, S., and Mann, S., “Triple Tangent Flank Milling of Ruled Surfaces,” Computer-Aided Design, 2004, Vol. 36, pp. 289-296.
18. Liu, X.W., “Five-Axis NC Cylindrical Milling of Sculptured Surfaces,” Computer-Aided Design, 1995, Vol. 27, No. 12, pp. 87-94. 19. Bohez, E.L.J., Ranjith Senadhera, S.D., Pole, K., Duflou, J.R., and Tar, T., “A Geometric Modeling and Five-Axis Machining Algorithm for Centrifugal Impellers,” Journal of Manufacturing Systems, 1997, Vol. 16, No. 6, pp 422-436. 20. Lartigue, C., Duc, E., and Affouard, A., “Tool Path Deformation in 5-Axis Flank Milling Using Envelope Surface,” Computer-Aided Design, 2003, Vol. 35, pp. 375-382. 21. Tsay, D.M. and Her, M.J., “Accurate 5-Axis Machining of Twisted Ruled Surfaces,” ASME Journal of Manufacturing Science and Engineering, 2001, Vol. 123, pp. 731-738. 22. Tsay, D.M., Chen, H.C., and Her, M.J., “A Study on Five-axis Flank Machining of Centrifugal Compressor Impellers,” ASME Journal of Engineering for Gas Turbines and Power, 2002, Vol. 124, pp. 177-181. 23. Farin, D., Curves and Surfaces for Computer Aided Geometric Design, Boston: Academic Press, 1997. 24. Chen, J.T. and Chu, C.H., “Automatic Avoidance of Local Tool Interference in Five-Axis Flank Milling,” The 21st National Conference on Mechanical Engineering, The Chinese Society of Mechanical Engineers, Kaohsiung, Taiwan, 2004. 25. [Mortenson M. Geometric modeling. John Wiley & Sons, 1985. 26. Chu C.H. and Séquin, C.H., “Developable Bézier Patches: Properties and Design,” Computer Aided Design, 2002, Vol. 34, No. 7, pp 511-527. 27. Chu, C.H. and Chen, J.T., “Geometric Design of Developable Composite Bézier Surfaces,” CAD 2004, Pattaya Beach, Thailand, 2004.