”nu”. ln<-- I.¢‘1‘-Irll|u‘ illl.‘HIIHHIIIHIU'IHIWNIITIHIUHJIWIHHHIHM This is to certify that the thesis entitled TOOL SWEEP GENERATION FOR GENERIC CUTTERS presented by Hari Krishna Kosaraju has been accepted towards fulfillment of the requirements for MASTERS degreein MECHANICAL ENGINEERING 52% Major professor Date 2/ 3 0-7639 MS U is an Affirmative Action/Equal Opportunity Institution LIBRARY— Mlchlgen State LUnlversltL‘ PLACE IN RETURN BOX to remove this checkout from your record. TO AVOID FINES return on or betore date due. DATE DUE DATE DUE DATE DUE ll Lu 5 Umx‘v; ll 4i b/ 67“ a» K MSU Is An Affirmative Action/ TOOL SWEEP GENERATION FOR GENERIC CUTTERS By Hari Krishna Kosaraju A THESIS Submitted to Michigan State University in partial fulfillment of the requirements for the degree of Master of Science Department of Mechanical Engineering 1993 ABSTRACT TOOL SWEEP GENERATION FOR GENERIC CUTTERS By Hari Krishna Kosaraju Software for verification of NC toolpaths must in turn, be verified to be performing correctly and accurately. Testing of this software is facilitated by having available test surfaces representing the envelope of the cutter during a single tool motion. However, for five-axis motions with sufficiently general cutter shapes, this surface is not practical to define analytically. This work represents a method developed to generate relatively accurate surfaces approximating the desired shape. In particular, APT cutters and ball- ended cutters were considered as examples for analysis. Surfaces accurate to within less than 0.0001 in. were generated for a three-axis move; while surfaces accurate to approximately one-thousandth of an inch were achieved for a five-axis move, for moderate angles of rotation. For higher angles of rotation, the errors were higher due to the discrete nature of the cutter model that was utilized. Trade-offs were identified between desired accuracy and required levels of discretization of several variables. iii ACKNOWLEDGEMENTS I thank Dr. Erik Goodman who guided me from the outset of this study, and steered me to successful completion. I also thank Ms. Leslie Hoppensteadt for the valuable guidance that she provided, and corrected my course when required. Further, I would also like to thank Dr. Clark Radcliffe, and Dr. Brian Feeny for their direction. 1.0 1.1 2.0 2.1 2.2 2.3 3.0 3.1 3.2 4.0 4.1 4.2 4.3 4.4 iv TA LE F List of Tables List of Figures Introduction Description of the Problem Surface Representations Background Bezier Surfaces B-Spline Surfaces Analysis Three-axis move Five-axis move Results Three-axis move Four-axis move Five-axis move Conclusions vi vii 12 15 16 19 31 31 34 35 LiSt 0f References Appendix A Definition of the APT Cutter Appendix B Program Appendix C Example of a program File Appendix D Example of an IGES File Appendix E I-DEAS Appendix F Coons Patch Ferguson Surfaces Cutter paths for Numerical Control Appendix G List of References 66 68 70 106 111 116 119 120 123 130 ‘hfifi.»o.fi_~\&.—A—n~_ .. J-*Ar ~ vi W 3.1) Parameters used for cutter of Fig. 3.1 for three-axis move. 3.2) Parameters used for the five-axis move. 4.1) Parameters used for the ball-ended cutter for the three-axis move. 4.2) Parameters used for the APT cutter for a three-axis move. A5.1) Interface Capabilities of IDEAS. 16 19 31 32 117 1.1) 1.2) 2.1) 3.1) 3.2) 3.3) 3.4) 4.1) 4.2) 4.3) vii LI [1? Cartesian Coordinate System. Active cutting profile changes for four-axis and five-axis moves of a flat-end cutter for example. Characteristic Polyhedron of a cubic Bezier patch. APT Cutter used for analysis. Section of Cutter that does not have a circular section in its profile. Cell Structure used for finding the cut values. Magnified subcell being used to show cause of certain errors. Ball-ended Cutter used for analysis in a three-axis move. An example of a surface cut by a ball-ended cutter in a three-axis move. This surface was generated in I-DEAS. Verified Surface of the ball-ended cutter for the three-axis 14 28 29 3O 30 41 42 : 4.4) 4.5) 4.6) 4.7) 4.8) 4.9) 4.10) viii move by using the NC Verification Program. Tolerances of the order of ten-thousandth of an inch were achieved. APT Cutter used for analysis for both the three-axis move and the five-axis move. Surface generated by I-DEAS by the APT Cutter for a three-axis move. Verified Surface of the APT Cutter for the three-axis move. Tolerances of the order of ten-thousandth of an inch were achieved. Verified Surface of the APT Cutter for the four-axis move. Tolerances of the order of one-thousandth of an inch were achieved. Outlines of the five individual surfaces generated in I-DEAS obtained from an APT cutter for a five-axis move with a 5- degree rotation about the X and Z axes. Shaded image of the five individual surfaces generated in I-DEAS for the five-axis move with a 5-degree tip about the X and Z axes. Outline of the surface generated in I-DEAS obtained by joining the five individual surfaces for a five-axis move with 43 45 46 47 48 49 4.11) 4.12) 4.13) 4.14) 4.15) 4.16) 4.17) a S-degree tip about the X and Z axes. Shaded image of the surface obtained by joining the five individual surfaces for a five-axis move with a S—degree tip about the X and Z axes. Surface generated in I-DEAS. Verified surface of the APT cutter for a five-axis move with a S-degree tip about the X and Z axes. Tolerances of the order of a thousandth of an inch were achieved. Verified Surface of the APT Cutter for the five-axis move with a 5-degree rotation about the X and Z axes. Figure shows interesting patterns due to various errors. Outline of the surface obtained for a five-axis move with a lO-degree tip about the X and Z axes. Surface generated in I-DEAS. Shaded image of the surface obtained for a five-axis move with a 10-degree tip about the X and Z axes. Surface generated in I-DEAS. Verified surface for the five-axis move showing the error patterns for the tolerance limits specified for a 10-degree rotation about the X and Z axes. Verified surface for the five-axis move showing the maximum 50 51 52 53 54 55 56 4.18) 4.19) 4.20) 4.21) 4.22) 4.23) error for a 10-degree tip about the X and Z axes. Tolerances of 0.004 inch were achieved. Verified surface for the five-axis move for a 15-degree tip about the X and Z axes showing the error patterns when the cutter surface considered is only 10 degrees about the central profile. Tolerance levels very high. Outline of the surface generated by IDEAS for a 15-degree tip about the X and Z axes and considering 20 degrees of the cutter surface about the central profile. Shaded image of the surface generated by I-DEAS for a 15- degree tip about the X and Z axes and considering 20 degrees of the cutter surface about the cenual profile. Verified surface for a five-axis move with a 15-degree tip about the X and Z axes and considering 20 degrees of the cutter surface about the central profile. Errors down to order of thousandths of an inch. Verified surface for a five-axis move with a 30-degree tip about the X and Z axes and considering 30 degrees about the central profile. Tolerance levels very high indicating the cutter surface considered Still not enough. Surface showing end surface of revolution for the three-axis 57 58 59 61 62 A.1) F.l) F2) E3) E4) xi move. A generic APT Cutter. Parametric Surface Patch. Machining a surface using a ball mill cutter. Tolerances for part and drive surfaces. Common normals on the surfaces. 63 69 126 127 128 129 Lil WIS This document focuses on the problem of transforming cutter toolpaths to three- dimensional surfaces. This problem is compounded by the fact that cutters may have vastly different shapes and parameters. This study was aimed at modeling very generic cutters. Then it is easy to examine special case cutters like the ball mill or the end mill, by simply changing certain parameters and setting other parameters to zero. In current practice the geometry of a component to be manufactured on a numerically controlled machine tool is often coded from a drawing in a part-programming language such as APT. Recent developments in computer processing of two-and-a—half and three-dimensional geometries are paving the way for design systems that create a component description as a computer stored model rather than a drawing. To manufacture components designed in this way, the part programming approach is inappropriate, since the geometry of the component is already in computer form. In either case, the toolpath finally generated must usually be checked for geometric errors -- removing too much or too little material. NC Toolpath Verification Software has been developed at Michigan State University and other places for this purpose. However, robust testing of this verification software, and graphical illustration of its correct operation, requires that software be available to generate examples of the envelopes of tools being swept through tool motions in three, four, and five axes, for quite generic cutter shapes. This study is aimed at developing a tool to satisfy this need. —__L‘ has...» .77 . L1 H P BLEM The description of a generic cutter is shown in Appendix A. The problem is to find a surface cut by a generic cutter for a three-axis move and a general five-axis move. It has to be noted that this problem is quite distinct from the usual problem of generating the toolpaths given part surfaces and cutters, and the toolpath verification problem. A three- axis move is defined by the translation of the cutter along a straight line path in three- dimensional space; while a five-axis move is defined by the translation and rotation about this straight line. For the problem considered, a three—axis move is defined by the translation of the cutter along the Z-axis. A five-axis move for a cutter is defined by the translation along the Z-axis and also by rotations about the X and Z axes for the coordinate system shown in Fig 1.1. This does not cause a lack of generality, since any surface obtained in this fashion can then be transformed in 3-D space to obtain surfaces positioned and oriented anywhere in 3—D space. These developed surfaces are to be used as test surfaces for the NC Milling Toolpath Verification Software being developed by the MSU Case Center. The need arises for independent test surfaces to verify the algorithms of the NC Verification software. To test the accuracy of the operation of this software for any new cutter, independent test surfaces have to be created. This is achieved by calculating the tool envelopes for various three-axis, four-axis and five-axis moves. The initial and final positions and the initial and final orientations of the cutter are specified and the cutter is assumed to translate and change its orientation in a linear fashion in between the two specified positions. These surfaces were developed for different cutters and were used to test the NC Verification Software. 3 For a three-axis move, the problem is very simple. The tool envelope is calculated by performing a sweep operation. Since the active cutting edge does not change in a linear three—axis move, a sweep operation can be performed on the active cutting edge, which is defined by the profile in a plane normal to the direction of the tool motion. This is the method used for a three-axis move. The active cutting edge is calculated based on the description of the cutter, and then a sweep operation is performed on this active cutting edge. This task is achieved in l-DEAS (see Appendix E), a solid modeling package, which is run automatically from a program file created by the FORTRAN 77 software developed in this work. The surface is created from I-DEAS and'is written as an IGES file, which can then be used as the test surface for the NC Verification program. For a five-axis move, however, a sweep operation cannot be performed due to the fact that the active cutting edge changes continuously. For example, for a Z-axis move, the cutter not only translates along the coordinate axis but also rotates about the X and Z axes (see Fig. 1.1). Due to this, the active cutting edge changes continuously. This is illustrated in Fig. 1.2. Therefore, the approach taken is to discretize the cutter surface, and then perform the necessary transformations on these discrete points. These transformed points are then mapped into a cell structure, and the points having the maximum X value are taken as the points on the cutter performing the cutting operation. The reason a cell structure is used is because the transformed points cannot be used directly. The obvious choice would be to use the maximum X values at each tool position on the profile. However this cannot be used since a part of the tool might be performing the cutting operation for regions before or after it, which will not be taken into account if the maximum X values are taken directly for each tool position. The instantaneous cutting profile is a non-planar curve, not a planar cross-section as in the three-axis move. This cell structure has a length of 0.5 inches along the Y-axis and a length of 1.2 inches along the Z-axis. The cell structure has 12 cells in the Y-direction and 24 cells in the Z-direction. I-DEAS can create a surface from a maximum of 36 intersecting mesh of curves. Hence, the reason for dividing into a 12X24 cell structure (Fig 3.3). The maximum X value in a particular cell is taken as the value corresponding to the center of the cell. Hence, we have a 12X24 rectangular array of points, from which 36 splines can be created. This is similar to sweeping a cutter across a vertical bed of nails and the end points of the nails indicate the extent to which the cutting operation is being done. The values of 0.5 in. and 1.2 in. for the Y and Z distances respectively, can be changed per the discretion of the user depending on the tolerance requirements. A Z—depth buffer scheme is used to find the correct X-coordinates of the transformed points. Each cell is further subdivided into a 25x25 subcell structure and initially all the cells are assigned a depth value (X) of zero. Then each of the transformed points are mapped onto a particular cell by using a mapping function from cartesian coordinate space to an index, that assigns it to a particular subcell. If the depth (X) of this new transformed point is greater than the depth of the cell, then this depth is assigned as the new depth value; else the old value is retained. All the points on the surface of the cutter are mapped in this fashion onto the cell structure and the depth value of the corresponding cell is upgraded continuously, finally storing only the maximum X-value corresponding to that cell. To account for the cases where there might be “misses” in the innermost cells, i.e., the innermost cell in each of the 12X24 cells might not get any points mapped onto it, and to improve the X estimate in other cases, a linear interpolation scheme was used in which the X value corresponding to the centre of the central subcell is calculated by linear interpolation of the Y values for the two adjacent subcells on the top and the bottom, the Z values of the two adjacent subcells on the side and using Y values for one pair of diagonal subcells, and Z values for another pair of diagonal subcells. The maximum of these five values is stored as the maximum X value for the central subcell. Due to this, there are some errors introduced because the points are being taken to be at the center of the cell when the points are actually somewhere else in the subcell. (see Fig. 3.4) The reason for taking the values to be at the center of the cell is to make the splines very smooth. Otherwise, the points could be anywhere in the subcell due to which the splining is badly affected, leading to large errors. (Note: The surface desired can always be created using a Z-axis move, then trans- formed to represent any arbitrary tool move. Only a partial “cutaway” envelope is desired, as viewing the entire envelope would visually occlude most regions of interest.) Fig 1.1 - Cartesian Coordinate System. Fig. 1.2 - Active cutting profile changes for four-axis and five-axis moves of a flat-end cutter for example. 2.1 W When a surface is machined using a cutter such as a ball ended cutter, the tool’s center moves on another surface parallel to the cut surface, which is offset from the original surface by an amount equal to the cutter radius, R. There are a number of exact analytical methods to model surfaces. Some of these methods are based on a framework built up of two intersecting families of curves. A simple mathematical element used to model a surface is a parametric patch. The network of intersecting curves divides a surface into an assembly of topologically rectangular patches, each of which has as its own boundaries, two curves (namely u and v curves in parametric space). It is assumed that u and v run from O to 1 along the relevant boundaries. Hence r(u,v), 0 Each of these 12X24 cells further subdivided into a 25x25 subcell structure. Fig 3.3 - Cell Structure used for finding the cut values. Actual value with maximum X value might be at this point but it is being taken to be at the center of the cell. This leads to errors in calculation. Fig. 3.4 - Magnified subcell being used to show cause of certain errors. 4,1 REsuL'rs In the last section, the different algorithms used for the three-axis moves and the five-axis moves were discussed. As explained earlier, the three-axis move involved the sweep of a projected profile, and hence tolerances of the order of a ten-thousandth of an inch were achieved. However, due to the discretization of the profile for the five-axis move and errors introduced due to the splining process while creating the surface, tolerances of the order of a thousandth of an inch were achieved for moderate angles of rotation about the X and Z axes, and as the angle of rotation increased, the errors also increased. MW For the three-axis move, two different types of cutters were used for analysis. The first cutter used was a ball ended cutter. The parameters used for the ball ended cutter are shown below. Table 4.1: Parameters used for the ball-ended cutter for the three-axis move. Parameter The cutter used is shown in Fig. 4.1. This cutter was the cutter obtained by using 31 32 the above parameters and was generated in I-DEAS. The surface is obtained by sweeping this cutter in a three-axis move, i.e., with translations along the three coordinate axes (Fig. 4.2). This surface was obtained by translating the cutter by a distance of 10in. along the X-axis, a distance of 5 in. along the Y-axis, and a distance of 10in. along the Z-axis. The projected profile was calculated by calculating the three end points of the two sections, namely the circular section for the ball part and the straight section for the cylindrical part of the cutter (see Fig 4.1). The surface was then generated by sweeping the profile as described in the earlier section (Section 3). This surface was then tested by using the Michigan State University NC Verification program. The resulting verified surface with the tolerance limits is shown in Fig. 4.3. As seen from this figure, the surface generated was accurate up to 0.0001 in. This is shown by the fact that the surface is all green, and the error bounds for this were 0.0001 for both the inward and outward tolerance. Hence, no gouging or missing the surface occurs for these specified tolerance values. Next, an APT cutter was looked at for analysis. The parameters used for the APT cutter are shown below. Table 4.2: Parameters used for the APT cutter for a three-axis move. l— I— This cutter is shown in Fig. 4.4. The cutter was generated in I-DEAS by calculating the control points of the projected profile and then revolving it about the Y-axis 33 by 360 degrees. The surface was generated by performing a three-axis move on the cutter. The cutter was translated by a distance of 5 in. along the X axis, 7 in. along the Y-axis, and a distance of 7 in. along the Z-axis. The surface generated is shown in Fig. 4.5. The surface was generated by sweeping a continuous profile. The profile was calculated from the four end control points of the two straight sections and the circular section (see Fig. 4.4). The surface was then verified by the verification program. The surface was generated with errors less than 0.0001 in. This is shown by the fully green portion of the verified surface shown in Fig. 4.6. As seen from the legend, the errors are less than ten thousandths of an inch. Hence, highly accurate surfaces can be generated by the algorithm described in Section 3.1 for a three-axis move. The end surface of revolution was also created by revolving the profile and this was then joined to the surface obtained for the three-axis move. When the IGES file for this surface was written and verified (see Fig. 4.23) it was seen that tolerances of the order of ten-thousandth of an inch were achieved. A bug in the verifier which caused the apparent gouging at the top of the cutter was found from the picture, and subsequently was easily fixed. 34 31W Next, a four-axis move was performed. The APT cutter described earlier in Section 4.1 was used for analysis. The same parameters as that used for the three-axis move and listed in Table 4.2 were used for this cutter. The cutter was generated by taking a projected profile and then revolving it about the Y-axis by 360 degrees. The cutter was made to perform a four-axis move, namely, translations about the three cartesian coordinate axes and rotation about the Z-axis. For the example considered for analysis, the cutter was actually tipped by 10 degrees over a 3 in. move along the Z-axis. The cutter started off in the vertical position and was made to r0tate gradually about the Z-axis reaching a final orientation of 10 degree rotation about the Z-axis after a translation of 3 in. along the Z- axis. The surface obtained was then verified using the NC Verification Software. It was found that for the four-axis move the errors were still less than a thousandth of an inch. The surface can be seen in Fig. 4.7. The legend shows that the errors are less the 0.0008 in. This includes both inward tolerances and outward tolerances. This implies that the maximum errors introduced in approximating the surface were less than 0.0008 in. for a four-axis move when the cutter is tipped by 10 degrees about the axis of movement. This was sufficiently accurate to meet the testing and illustration needs of the NC verification software. Note that there is a blue line of what appears to be missed tolerances at the bottom of the surface in Fig. 4.7, as well as the red band at the top. The blue band was caused by another bug in the four-axis and five-axis verification algorithm, and was again easily fixed when made evident by this picture, (Naturally, this sharp-pointed cutter had not been among those against which the verification software code was initially tested, and the bug is not exposed by more usual cutter shapes). 35 43W A five-axis move was next considered for analysis. The cutter used was an APT cutter, the description of which is shown in Table 4.2. A five-axis move consists of translation about the three cartesian coordinate axes and also rotations about the Z-axis and the X-axis. In this case, the cutter profile was discretized. Due to the discretized nature of the cutter, the surfaces generated were specified to meet certain tolerance values. First a five-axis move for small angles was considered with the cutter translating by 1.2 inches along the Z—axis and tipping the cutter by 5 degrees about the X-axis and 5 degrees about the Z-axis respectively. The surfaces generated by IDEAS from a mesh of curves can be generated only from a maximum of 36 intersecting curves. However, the 36 curves can be distributed in any fashion. For a 1.2 inch move along the Z-axis, 24 points were considered along the traverse; and 12 points were taken in the vertical direction. The 12 points taken were for a height of 0.5 inch. Five such surfaces were created, and the resulting smaller surfaces were joined in I-DEAS by using the sewing operation in I- DEAS. Each of the 12X24 cells was further subdivided into a 25x25 subcell structure. The nine innermost subcells were considered for obtaining the value corresponding to the central subcell, which was the only value used in the 12X24 cell structure for spline fitting. The maximum of the values corresponding to the center subcell and those obtained from linear interpolation between the 8 surrounding subcells (total of five values) were used to obtain the value corresponding to the cell. This leads to errors in the calculation of the value corresponding to the cell since the value at any point in the subcell is being translated to the center of the cell. Since the height is 0.5 inches, and this is being subdivided into 12 cells, and each of these cells is further subdivided into 25 subcells; the maximum error in Y due to this could be 0.5/(12X25) = 0.001666 when the point performing the cutting operation (having the maximum X value) is at the very corner of the cell. Furthermore when all the points are calculated, a mesh of curves is being created 36 in l—DEAS by fitting cubic splines through these points resulting in a 12X24 intersecting mesh of curves. This splinin g process could introduce errors since a cubic B-spline was used to interpolate between the points. Also the cutter was simulated by discretizing it very finely. Finally we could also have round-off errors introduced even though double precision values were used. For the five-axis move, the number of points considered was 2500 points on a profile, and 41 profiles were considered on the surface of the cutter. These profiles were considered at 0.5 degree increments up to an angle of 10 degrees on either side of the central profile (namely, the profile obtained by looking at the cutter from the direction of traverse, i.e., Z-axis and projected onto the X-Y plane). This discretized nature of the profile also leads to some errors in calculation since the actual point performing the deepest cutting Operation could be a different one, other than the one obtained from the 2500 points on each profile considered for analysis. The outlines of the five different surfaces created are shown in Fig. 4.8. These surfaces are created in I-DEAS from the program file (see Appendix C for an example of a program file) that was generated as an output from the software (Appendix B). Fig 4.9 shows the shaded image of these difi‘erent surfaces, while Fig 4.10 shows the single surface obtained by joining the five individual surfaces. Fig. 4.11 shows the shaded image of the whole surface. This surface is written as an IGES file and is then loaded into the verification software to test the software. The resulting verified surface is seen in Fig. 4.12. It can be seen that the inward tolerances are less than a thousandth of an inch while the outward tolerances are also of the same order. Hence, for a very small angle (5 degrees about the two axes), the tolerances obtained are approximately at the desired limits of a thousandth of an inch. Some very interesting patterns can be seen when the tolerance limits are changed to vary from 0.0001 in. instead of 0.001 in. as seen earlier. The patterns seen are due to errors involving all the factors listed above, the primary error being from the splining process. It was found that when the 37 program was run with the same parameters but with 1 degree increments on either side of the central cutter profile instead of 0.5 as used earlier, the inward tolerances increased to 0.005, an increase in error by five times. This can be explained by the fact that now there are more misses obtained due to the discretization. While the actual cutting is done by some other point, the large increments in angle limit the number of points that are being considered and, hence, cause the increase in error. Another test case was considered next where the angles of rotation about the X and Z axes were increased to 10 degrees for a movement of 1.2 in. along the Z-axis. The cutter was made to start off in the vertical direction and was then tipped by the angles specified, by the time the cutter reached the final position. In this case, the number of points considered on each profile was 3000. The number of profiles considered was 41 again as earlier, with the increment in the angle for each profile being 0.5 degrees. Hence, the cutter surface was again simulated for an angle of 10 degrees on either side of the central cutter profile. The same cell structure as described earlier was used. Each of the 12X24 cells was further subdivided into a 25x25 subcell structure. The cutter transformations were calculated, and the surface created is shown in Fig 4.14. Fig 4.15 shows the same surface but shaded to show the five different surfaces. These five different surfaces were then joined in I-DEAS. The IGES file was written for this surface and then loaded into the Verification software. Fig 4.16 shows the error patterns for the surface when the inward and outward tolerance limits are specified to be 0.001 inch. The errors were found to progressively increase towards the top right hand comer of the surface. This indicates that the amount of cutter surface considered was insufficient and the actual cutting operation is being done by a part of the cutter that is beyond the $10 degree section of the cutter surface used in developing the test surface. The maximum error was found to be less than 0.004 in. at the upper right hand comer. This is illustrated in Fig 4.17. The completely green surface for the error bounds shown illustrates the fact that the errors are less than 38 0.004 in. The surface was found to be gouged by a maximum of less than 0.004 in. at the upper right hand comer. This can be explained by the fact that due to misses in these cells, the linear interpolation pulls the surface inwards, causing the surface to appear gouged. Another test case was run by increasing the increment size between each profile to 1 degree and increasing the cutter surface considered to 20 degrees on either side of the initial active cutter profile. This reduced the error at the upper right hand corner but increased the error in the middle of the surface to about 0.005 in. These errors appeared as random red patches on the surface. These can be explained by the fact that we now get errors in the surface due to misses on the surface of the cutter, rather than due to the angle of the cutter. Also there might not be enough points at any particular section of the cutter. The case where the cutter tips by 15 degrees was next considered for analysis. The cutter is again translated by 1.2 inches and is made to tip by 15 degrees about both the X and Z axes for this traverse. The cutter starts off in the vertical position initially and then rotates gradually, making a final angle of 15 degrees about the two specified axes at the end of traverse. The number of points considered was again 3000 on each profile. Initially, the case was considered where the number of profiles was unchanged. The cutter surface was considered up to an angle of 10 degrees on either side in 0.5 degree increments. This surface was created in I-DEAS, and the IGES file was written out for this surface. When this surface was verified, the surface was found to have enors increasing upward and toward the right; showing maximum errors at the upper right hand corner. This surface is shown in Fig. 4.18. The surface has progressively increasing errors toward the right hand top corner, with the maximum error being at the top and being of the order of 0.03 in. The cutter surface was changed to include 20 degrees on either side of the cutter, in 0.5 degree increments. The outline of the surface generated in IDEAS is seen in Fig. 4.19. The shaded image is shown in Fig. 4.20. The IGES file for this particular surface was created and loaded into the Verification software. It was found that when the cutter surface angle 39 was Changed to include 20 degrees on either side with 0.5 degree increments, the errors were found to be less than 0.005 in. This surface is shown in Fig. 4.21. The small red patches seen are due to “misses” in the corresponding cells. When all the nine subcells considered for analysis of a particular cell have misses, then due to the linear interpolation, the surface is pulled inward and the surface appears as if it is gouged. A similar phenomenon was noticed for the 5—degree move initially, when only 2000 points were used on the profile. However, by increasing the number of points on the profile of the cutter to 2500 for the S-degree move, the problem of “misses” was taken care of and all the cells were able to get hits. However, in this case for the 15-degree move, the number of points could not be increased further since very large arrays were being used and memory problems resulted from an increase in the number of points on the profile. The arrays used were very large and the memory storage required was not available from the computer. As a case of special interest, the case where the cutter is rotated by 30 degrees about the X and Z axes at the end of the tool move was considered. The number of points on each profile was again 3000. Initially, the cutter surface up to 10 degrees on either side of the projected cutter profile was used with 0.5 degree increments. The resulting surface was created in l-DEAS and the IGES file written for this particular surface. The IGES file was loaded into the Verification software and checked for errors. This resulted in very large errors of the order of a tenth of an inch. The errors were small at the bottom of the surface and increased progressively towards the upper right hand comer. This suggests that the cuter surface segment used was not enough and that a larger section should have been used. The cutter surface was gradually increased to 55 degrees on either side of the initial active cutter profile, with 0.5 degree increments between the profiles. It was found that the errors were reduced to the order of a hundredth of an inch. The errors still increased progressively towards the upper right hand corner, indicating that the cutter surface considered might not have been enough. However, when the cutter surface 40 considered was increased, the computer ran out of memory due to the large array storage involved in this. Further, due to the large memory storage, the computers take an enormous amount of time paging for information; and consequently, the program runs very slowly. Hence there is a trade off between accuracy and speed. If faster processes are required, then smaller arrays would have to be used, resulting in larger errors and vice versa. Also there is a trade off between memory availability and accuracy. If more virtual memory was available for use, then the surface of the cutter could be discretized even more finely resulting in very accurate computations, since as the number of points on the cutter surface increases, it approaches the limiting condition of a continuous cutter. However, since there is a limitation on the amount of memory available to us, the price has to be paid in the form of accuracy, resulting in errors in the calculations. tllaeqooot-eo-Ie-egllcbrt 'I“?~:O‘.t 41 i -'. . E; .‘ 7:; Y 3 > _ 'l‘ 1 _,:3 J .22 1 312:3 E 3.: _. .l .k '. n I “f: Figllrv 4.1 - Ball-vmlml Cltttvr' trsml for analysis in it throw-axis rmwv. 42 Plum-«- 4.‘ Au vxurrrplv ()f it ~~Ilr'l'iu't- cut by :t ltilll-t‘llllt'll ruttt-r in :t tlrrt-tunxis Illtn‘t'. This hlll'filt't' was gl‘ltt‘l'flfl‘tl in I-DEAS. tn) ‘vwfil' Lin' 3.4 5w Figurt- 4.3 , Yttrifiml Surface of the hall-t-rrtlt-d t-uttvr for the three-axis move by using the NC Verification Program. Ttrlt‘l'itlltft's of the order of ttIu-tlruusaudtlr nl' an inch Wt‘l’t‘ m-lrit-Vt-(l. 44 Figure—1.4 - APT (‘Irttt-r' llM‘tl for analysis for lmtlr tlrt- tlii'vv-uxis ulth' :tml tlu- fivv- :rxis umvv. 45 Fiuurt- 4.3 , Snr'fm-t- gt-ru-r-ittt-tl lry I-DEAS by the APT (‘uttt-r fur- :1 lhl't't‘n‘txi.‘ umvv. 46 Pun-t taut, an] 3:):- feco'r hat )1 ”my. D-t all" Add. Figurt- 4.0 Vt‘r'ifit'd Surface of the APT Cuttor fur Illt‘ throw-axis mnvv. Tolerances of the order- r)f ton-thousandth of an inch wot-v aclrit-VHI. 47 die-t3»- nryts‘ ll” 11l' $1.1 Figurt- 4.7 , \'t-1'ifio(l Surface of the APT Cutter for tho bur-axis move. Tolerance s of tho order of thousandth of an int-h were achieved. 48 LA Figlu‘v 4.8 — ()llt-lillt‘s of tho fivr- iutlivitluitl Slll'fitt't'h gt‘ut'l'tttt‘ll in I-DEAS olrtttirrt-tl from an APT vuttvr for it livv-uxis mow with it 5 (It'gl't't' rotation about thv X and Z HXt‘h. 49 Ls Figurt- «1.9 » Sharlt-tl image of thi- fin- iutlivitlual surfaces gt-uvrutt-tl in I-DEAS for tlu- livv—axis urovt- with :r 5 (It-grow tip about tht- X and Z ttXt's. 50 Y J 4” Figur-t- 4.10 - Outline of the stir-fart- gt-ru-r'ittt-tl in I-DEAS olttttint-tl by joining tlrt- fiw- individual srtr'fiu't-s for it fivv-zrxis urovr- with it 5 (it‘gl't't' tip about the» .\ and Z :txvs. l l l 51 is Fiuur-t- -1.11 , Shudml inmgt- of ”iv stir-fum- olrtnint-tl Iry joining, tht- fivr- individual sur- faces for u fivv-uxis “1on with it .3 tlt'gn-t- tip about the X turd Z :ths. Surf‘urv gt‘llt'l'ittt'tl in I-DEAS. J‘s. Figurt- 1.12 Verified surface of the APT ruttr-i- for u fivwatxis move with a 5 degree tip about the X and Z axvs. Tolt-ranrt-n ol' the «ruler of thousandth of an inch were achieved Pout; an: i; .- )nd 4 .AL Value Fm" 439'. A! ng- J-v it)” ‘Am F1 rurv 4.13 ~ Vr-r'ified Surface of the. APT C‘uttt-r for tho firm-axis move with a 5 degree rotation about the X and Z ilxvs. Figure shows intt-rcsting puttcrns due to various errors. 54 ’< N X Figur-c «1.1-I - ()utlinv of tho Mll'ft'll‘t' olrtuint-tl for it two :txis tnovv with it ill «ll-grt-t- tip :llHnlt thv X and Z more. Surfiu-t- gt-rn-r'ittt-tl in I-DEAS. 55 Figtu't- 4.15 , Shitdt-(I inmgt- of tho sln'fm-t- Uhtilillt‘d for u fivc—itxis mow- with :1 ll) ult-grt-t- tip ulrout tln- X and Z uxr-s. Sur'fut-t- gt-nt-rutvtl in I—DEAS. 56 9mm vs 2::- 'w. ..t 111w Can. .2 131.93 1‘ n» '. ult’r a.” 3.); “:11: Penn v .2:th Wm;- a-Hil" our Figurt- 4.16 Vorificd surface for the five-axis mow- showing thc error patterns for the tolcr'ance limits specified for a ll) «lt-gr-t-t- rotation about. the X and Z t'lXt'S. Figurr- 4.17 ~ Vorifiml surfiu-c for tln- h'wuaxis mow- showing tht- maximum t'r'ror for u [U =0 0 0 (8) B—1(0)=0.B_1(1)=1 ” ; I new ' ‘" J“-1‘t‘7-=-:' 121 comprises of the following cubic equations: a0(u) = 1- (3142—2143) (9) :11 (u) = 3:42—2:43 (10) [3004) = u— (2112—113) (11) [31 (u) = —u2+u3 (12) Using these cubics, we obtain the Ferguson cubic curve segment. When using this set of blending functions, we are therefore constructing a composite surface on a curve network made up of Ferguson curves[4]. The blending function vectors can then be writtenas F(u) -—- [c2000 a1(u) 13004) 15.00] 1 0 0 0' (13) =[luu2u3]_03g_12_01=UC 2 —2 1 1- and r a”) 10-3 2 1 T a(v) 00 3 -2 " 7" F = - — (v) [30») 01-21 v2 CV (14) 13(1’) 00—11 3 Then the surface patch becomes ~ fiw., ._ 122 mm = UCQCTV (15) where the matrix Q is defined as "40.0) r(o,1) r.,(0.0) r.,(0, 1) MO) r(1,1) r.,(1.0) r.(1.1) Q: (16) ru(0. 0) ruto. 1) ru,(o, 0) ru,(0. 1) _r,,(1.0)r,,(1,1)ru,(1.0)r,,.(1,1) _l The patch boundaries for the Ferguson patch are blended in such a way that the cross derivatives at patch corners are implicitly assumed to be zero, so that the lower right hand matrix 2 X 2 submatrix of Q is a null matrix. Because of these attributes, Ferguson curves are widely used in aircraft design. Forrest[5.7,8] states that the assumption of cross derivatives being equal to zero at all mesh intersections can lead to local flattening of the surface near patch corners. However, this effect can be minimized by arranging for the mesh lines to lie roughly along the lines of curvature of the surface. Since there is no twist in such a surface along all such lines. If we permit non-zero twist vectors at patch corners, then we are faced with the problem of how to determine them. One way of doing this is to extend Ferguson’s originally proposed method for calculating ru and rv [1,4,6] 123 MW When a surface is machined using a cutter such as a ball-ended cutter, the tool center moves on another parallel surface, offset from the original by an amount equal to the cutter radius. When designing such a surface, a sequence of points and normals for the surface are calculated. The offset is added along the surface normal at each point, together with a displacement along the tool axis to determine the position of the cutter tip (for tool setting purposes it is convenient to use the cutter tip rather than the tool center as the reference point). The new points determine the linear segments of the cutter path, so that the machining accuracy is a function of the different cutter parameters such as those described in Appendix A and the spacing of the curves specified by the user in the data[10]. Offset surfaces are also required to make allowance for the skin thickness in sheet metal surfaces. Consider a parametric surface r = r1(u.v) and the corresponding offset surface at a distance d along the normal n1(u,v) given by r2 = r1 (u. V) +dn1 (u. V) (17) The normals of correspondin g points on r and r2 have the same direction but have opposite sense if d exceeds one of the principal radii of curvature [2,10]. In machining a surface, the cutter radius must not exceed the minimum radius of curvature in the surface, otherwise gouging of the surface will occur. If sections of the offset surface are plotted, the danger points will appear as cusps or even loops [1]]. When the curvature of the parallel surface is infinite. the surface has ridges at certain points. This occurs when the offset is made on the concave side of the surface. The comparatively simple cutter path calculations described above are inadequate for general NC programming for three reasons[9]. First, the user has to choose suitably 124 spaced curves on the offset surface to ensure that the machined surfaces meet the Specified tolerances. Second, the use of more complex cutter Shapes for practical reasons makes analytical determination of the offset surfaces impractical. Finally, the surfaces are not unbounded, a common problem being to machine a surface that is bounded on one or more sides by surfaces that must also be machined accurately. Referring to Fig F.2 we have surface S], which is being currently machined, and another surface 82. which is to be machined later[ 10]. To cut along the boundary curve C, the cutter must be moved in such a way as to maintain the correct machining tolerances with respect to 81 (known as the part surface) and 82 (known as the drive surface). These tolerances define in effect a pair of offset surfaces for S] and 82. so that the accuracy of the boundary curve is defined only indirectly (Fig F.3). It has to be noted that the terms drive and part surface are reversed when 82 is machined with S] as the boundary. In order to machine S] completely, a number of cutter paths have to be defined whose spacing represents a compromise between excessive cusp height and long machining times. The cutter passes are usually defined by means of a series of intermediate drive surfaces. terminated by a pass along the boundary. If the surface S] is also bounded by a third surface 83, each cutter pass must terminate with the cutter also within the tolerance of surface S3. This surface is referred to as a check surface. The cutter path for each pass is approximated by a series of linear segments. The end points of these segments are each defined by the position of the cutter tip when the tool is within the tolerance of the part surface. the current drive surface, and one of a sequence of pseudo check surfaces whose spacing determines the lengths of the steps taken along the path. The role of the pseudo check surface is to help maintain the required tolerances of __"\.."'1. .- .,. 1...: 0‘ lili 4 _-e -.1.: nl-"Ql.'C‘ '0 ‘ “H" 125 the part, drive, and possibly check surfaces. If the accuracy of the intersection curve is important, the tolerances may have to be carefully chosen when the angle between the surface normals is small. In order to define the cutter path tangent, unit normals have to be defined on the surfaces S1 and 82. However, the exact intersection curve is not followed, and the unit normals are taken in the direction of the common normal PIN] and P2N2 as shown in Fig F.4. Thus for example, PIN] is normal to the part surface S] and the tool surface, and PIN] represents the shortest distance between the tool and the part surface for any given position T of the cutter tip. The points P1. N1, P2, N2 are calculated iteratively. Starting at N where the tool normal has direction n, the intersection P of the tool normal PN and the surface normal is calculated. If the angle is less than a certain specified value, the points P and N are accepted. If not, N is modified using estimates of the curvature of the surface at P. The common normals I11 and n2 are used at every stage to define the tangent direction of the cutter path for any given tool position T. If T is not Within tolerance. this is only an approximation to the cutter path tangent. which is itself ill-defined due to the tolerances allowed for S] and 82. Starting with the tool within tolerance of the part and drive surfaces. the subsequent tool movements are calculated by the computer in order to obtain the next tool point. 126 Fig. F.1 - Parametric Surface Patch. 127 (FF ‘\ S3 \ /________.._ 82 Fig F.2 - Machining a surface using a ball mill cutter. 128 drive surface part surface yrance tolerance 82 \ .3. \ Sl boundary curve anywhere inside this box. Fig F.3 - Tolerances for part and drive surfaces. 129 81 Fig F.4 - Common Normals of the surfaces. APPENDIX G LIST OF REFERENCES l) Mortenson, Michael J. (1985), ‘Geometric Modeling’, John Wiley & Sons, Inc. 2) Willmore, T. J. (1958), ‘Diflerential Geometry’, Oxford University Press. 3) Coons, S. A. (1967), ‘Surfaces for Computer Aided Design of Space Forms’, Report MAC-TR—4l, Project MAC, M.I.T. 4) Ferguson, 1. C. (1963). ‘Multivariable Curve Interpolation’, Report NO. D2- 22504, The Boeing CO., Seattle. Washington. 5) Forrest, A. R. (1972), ‘Interactive Interpolation and Approximation by Bezier Polynomials’, Computer J. 15. 1, 71-79. 6) Ferguson, J. C. (1964), ‘Multivariate Curve Interpolation’, Journal ACM. 11, 2, 221-228 7) Forrest, A. R. (1972), ‘Mathematical Principles for Curve and Swface Representation’. In Curved Surfaces in Engineering (proc. Conference at Churchill College. Cambridge, 1972), IPC Science and Technology Press Ltd. 8) Forrest, A. R. (1980), ‘The Twisted Cubic Curve: a Computer-Aided Geometric Design Approach’, Computer Aided Design, 12, 4, 165-172. 9) Bezier. P. (1968), ‘How Renault uses Numerical Control for Car Body Design 130 131 and Tooling’, SAE Paper 680010 10) Faux. I. D. and Pratt, M. J. (1985), ‘Computational Geometryfor Design and Manufacture’, John Wiley & Sons. 11) Flutter A. G. (1976), ‘The POLYSURF System’, Proceedings 1973 PROLAMAT Conference, Budapest (J. Hatvany. ed.), North Holland Publishing Company. Amsterdam. 12) I-DEAS Reference Manual 5