Abstract:
A three-dimensional tool path determination method for determining at least one path out of an approach path along which a tool 11 of a machine tool having three or more controlled axes is made to approach a workpiece, and a retraction path along which the tool 11 is retracted from the workpiece after machining is completed. The three-dimensional tool path determination method includes steps of designating a prescribed tool path pattern from among a plurality of tool path patterns, which prescribed tool path pattern includes an undecided portion (coordinate values of P 1 , P 2 ), entering data specifying the undecided portion of the tool path pattern, which data includes at least a target position (P e ) and a distance (d 1 ), calculating the undecided portion by using the input data and an arithmetic expression that corresponds to the designated tool path pattern, and creating NC data specifying a three-dimensional tool path by using the obtained coordinate values of the points (P 1 , P 2 ).

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     The subject application is related to copending U.S. patent application having Ser. No. 665,165 filed Oct. 17, 1984. 
     BACKGROUND OF THE INVENTION 
     This invention relates to a three-dimensional tool path determination method and, more particularly, to a three-dimensional tool path determination method well-suited for application to an NC data creating apparatus for a machine tool, such as a milling machine, having three or more axes, or to a numerical control device for controlling the machine tool. 
     In a machine tool such as a milling machine, a tool is made to approach a workpiece from a predetermined position (e.g., a reference point), numerically controlled machining is executed by the tool in accordance with a command upon completion of the approach, and the tool is retracted to a predetermined position (e.g., the reference point) after machining. For this reason, NC data for approach and retraction are always required to precede and follow NC data for transporting the tool while the tool is in contact with the workpiece. There are various tool paths for the approach and retraction of the tool, with the optimum approach path or retraction path being determined in such a manner that the tool will not strike the machine or workpiece during the approach or retraction. These approach paths or retraction paths consist of a plurality of blocks. 
     Accordingly, in creating NC data for an approach path or NC data for a retraction path, the conventional method includes steps of (1) deciding a tool path comprising a plurality of blocks in such a manner that the tool does not strike the machine or workpiece, (2) deciding the end point of each block and the feedrate up to the end point, and (3) entering these end points and feedrates. Thus, creating the NC data for an approach path and the NC data for a retraction path is a troublesome and time-consuming operation. 
     SUMMARY OF THE INVENTION 
     Accordingly, an object of the present invention is to provide a three-dimensional tool path creation method through which the NC data for an approach path or tool retraction path can be created simply and in a short period of time. 
     Another object of the present invention is to provide a three-dimensional tool path creation method through which the NC data for an approach path or retraction path can be created automatically merely by specifying a prescribed tool path pattern among several tool path patterns, and entering data necessary for determining an unknown portion of the tool path pattern. 
     Still another object of the present invention is to provide a three-dimensional tool path creation method which does not require entry of the end point of each block constituting a tool path. 
     A further object of the present invention is to provide a three-dimensional tool path creation method through which an actual tool path can be determined and a tool transported along the tool path merely by specifying a prescribed tool path pattern among several tool path patterns, and entering data necessary for determining an unknown portion of the tool path pattern. 
     The present invention provides a three-dimensional tool path determination method for automatically determining a tool path by designating a tool path pattern for an approach path or retraction path, entering data specifying an unknown portion (parameter) of the tool path pattern, as well as path end point data, and using the input data and the tool path pattern. According to the present invention, a three-dimensional approach path or tool retraction path can be created simply and in a short period of time. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIGS. 1(A), 1(B), 2(A), 2(B), 3(A) and 3(B) illustrate approach and retraction tool path patterns; 
     FIG. 4 is a block diagram of an embodiment of the present invention; applied to an NC data creation apparatus, and 
     FIGS. 5(A), 5(B) and 5(C) illustrate flowcharts of processing for the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     FIGS. 1 through 3 illustrate approach and retraction tool path patterns. In a machine tool such as a milling machine having three or more controlled axes, three tool paths patterns along which a tool may be made to approach a workpiece can be conceived, as shown in FIGS. 1(A), 2(A) and 3(A). The tool path pattern of FIG. 1(A) is an approach pattern for (a) moving a tool 11 to a point P 1  at a feedrate F 1  along the Z axis, (b) then moving the tool to a point P 2  at a feedrate F 2  along the X and Y axes simultaneously, and (c) finally moving the tool to a target position (end point) P e  at a low rate F 3 . The tool path pattern of FIG. 2(A) is an approach pattern for (a) moving the tool 11 from a current position P s  to a point P 1 , which is directly above a target position, at a feedrate F 1  by simultaneous two-axis control along the X and Y axes, (b) then moving the tool to a point P 2  at a feedrate F 2  along the Z axis, and (c) finally moving the tool to the target position (end point) P e   at a low rate F 3 . The tool path pattern of FIG. 3(A) is an approach pattern for (a) moving the tool 11 to a point P 1  at a feedrate F 1  by simultaneous two-axis control along the X and Y axes, (b) then moving the tool to a point P 2  at a feedrate F 2  along the Z axis, (c) subsequently moving the tool to a point P3 at a feedrate F 3  along the Z axis, and (d) finally moving the tool to the target position (end point) P e  at a feedrate F 4  by simultaneous two-axis control along the X and Y axes. Thus, if we take note of motion along the Z axis, the approach patterns can be classified into three categories, namely that of FIG. 1(A) showing an approach pattern in which movement along the Z axis is made first, that of FIG. 2(A) showing an approach pattern in which movement along the Z axis is made last, and that of FIG. 3(A) showing an approach pattern in which movement along the Z axis is made at an intermediate step. 
     Likewise, three tool path patterns along which a tool may be retracted from a workpiece can be conceived, as shown in FIGS. 1(B), 2(B) and 3(B). The retraction patterns shown in FIGS. 1(B), 2(B) and 3(B) correspond to the approach patterns of FIGS. 1(A), 2(A) and 3(A), respectively, and are obtained by reversing the direction in which movement is made along the approach patterns. Thus, the tool path pattern of FIG. 1(B) is a retraction pattern for (a) moving the tool 11 from a current position P s  to a point P 1  at a low rate F 1  by simultaneous two-axis control along the X and Y axes, (b) then moving the tool 11 to a point P 2  directly below a target position at a rate F 2  by simultaneous two-axis control along the X and Y axes, and (c) finally moving the tool to a target position (retraction point) P e  at a rate F 3 . The tool path pattern of FIG. 2(B) is a retraction pattern for (a) moving the tool 11 from a current position P s  to a point P 1  at a low rate F 1  along the Z axis, (b) then moving the tool 11 to a point P 2  at a rate F 2  along the Z axis, and (c) finally moving the tool 11 to the target position Pe by simultaneous two-axis control along the X and Y axes. The tool path pattern of FIG. 3(B) is a retraction pattern for (a) moving the tool 11 to a point P 1  at a low rate F 1  by simultaneous two-axis control along the X and Y axes, (b) then moving the tool to a point P 2  at a rate F 2  along the Z axis, (c) subsequently moving the tool to a point P3 at a rate F 3  along the Z axis, and (d) finally moving the tool to the target position P e  at a rate F 4  by simultaneous two-axis control along the X and Y axes. If we take note of motion along the Z axis, the retraction patterns can be classified into three categories, namely that of FIG. 1(B) showing a retraction pattern in which movement along the Z axis is made last, that of FIG. 2(B) showing a retraction pattern in which movement along the Z axis is made first, and that of FIG. 3(C) showing a retraction pattern in which movement along the Z axis is made at an intermediate step. 
     It should be noted that approach is indicated when the current position P s  is above the target position P e , and that retraction is indicated when the current position P s  is below the target position P e . 
     FIG. 4 is a block diagram of an embodiment of the three-dimensional path creation method of present invention as applied to a NC data creation apparatus; and FIG. 5 is a flowchart of processing for such NC data creation. 
     A pattern memory 101 stores various approach and retraction tool path patterns expressed as parameters. Specifically, the approach pattern shown in FIG. 1(A) is stored in the pattern memory 101 by being expressed in the following form: ##EQU1## The retraction pattern shown in FIG. 1(B) is expressed as follows: ##EQU2## The approach pattern shown in FIG. 2(A) is expressed as follows: ##EQU3## The retraction pattern shown in FIG. 2(B) is expressed as follows: ##EQU4## The approach and retraction patterns of FIGS. 3(A), (B) are each expressed as follows: ##EQU5## Each of these patterns is stored in the pattern memory 101. The letters of the alphabet &#34;X&#34;, &#34;Y&#34; and &#34;Z&#34; are address words indicating positions along the respective axes, the letter of the alphabet &#34;F&#34; is an address word indicating feedrate, and the letters of the alphabet having numerical suffixes are parameters. 
     When a data input/output unit 102 (a keyboard, display or the like) enters data specifying a prescribed pattern among the aforementioned patterns (A) through (E), as well as data specifying the parameters contained in the pattern, a processor 103 first stores the data in a storage area 105a of a working memory 105 in accordance with control specified by a control program stored in a ROM 104. The data specifying the aforementioned pattern and parameters are commanded in the following form for the approach and retraction shown in FIGS. 1(A), (B): 
     
         Xx.sub.e Yy.sub.e Zz.sub.e T.sub.1 D.sub.1 d.sub.1 F.sub.1 f.sub.1 F.sub.2 f.sub.2 F.sub.3 f.sub.3 ;                                 (F) 
    
     in the following form for the approach and retraction shown in FIGS. 2(A), (B): 
     
         Xx.sub.e Yy.sub.e Zz.sub.e T.sub.2 D.sub.1 d.sub.1 F.sub.1 f.sub.1 F.sub.2 f.sub.2 F.sub.3 f.sub.3 ;                                 (G) 
    
     and in the following form for the approach and retraction shown in FIGS. 3(A), (B): 
     
         Xx.sub.e Yy.sub.e Zz.sub.e T.sub.3 D.sub.1 d.sub.1 D.sub.2 d.sub.2 F.sub.1 f.sub.1 F.sub.2 f.sub.2 F.sub.3 f.sub.3 F.sub.4 f.sub.4 ; (H) 
    
     wherein (x e , y e , z e ) are coordinate values of a target position (path end point), and the numerical value following the letter of the alphabet &#34;T&#34; indicates the type of path pattern, with the tool path pattern shown in FIGS. 1(A), (B) being designated by &#34;T 1  &#34;, the tool path pattern shown in FIGS. 2(A), (B) by &#34;T 2  &#34;, and the tool path pattern shown in FIGS. 3(A), (B) by &#34;T 3  &#34;. Further, the numerical values d 1 , d 2  following &#34;D 1  &#34;, &#34;D 2  &#34;, respectively, represent the distances indicated by the same codes in FIGS. 1 through 3, and the numerical values f 1 , f 2 , f 3 , f 4  following &#34;F 1  &#34;, &#34;F 2  &#34;, &#34;F 3  &#34;, &#34;F 4  &#34;, respectively, indicate the feedrates in the blocks assigned the codes F 1  through F 4  in FIGS. 1 through 4. 
     The processor 103 discriminates the numerical value following the letter of the alphabet &#34;T&#34; specifying the tool path pattern, and executes the following processing which depends upon whether a pattern is a first pattern (=T 1 ), a second pattern (=T 2 ) or a third pattern (=T 3 ). 
     Specifically, if the first pattern is designated, the coordinate value z s  of the current position along the Z axis stored in a current position memory 106, and the coordinate value z e  of the target position along the Z axis stored in the working memory 105 are compared in magnitude. If z s  &gt;z e  is found to hold, a decision is rendered to the effect that an approach path is to be created. If z s  &lt;z e  holds, then a decision in rendered to the effect that a retraction path is to be created. It should be noted that the coordinate values (x r , y r , z r ) of a reference point have already been entered by the data input/output unit 102 and stored in the current position memory 106. If we assume that the reference point coincides with the point P s  shown in FIGS. 1(A), 2(A) and 3(A), then x s  =x r , y s  =y r , z s  =z r  will hold. 
     If z s  &gt;z e  (approach) holds, the coordinates of points P 1 , P 2  shown in FIG. 1(A) are calculated. The coordinate values of points P 1 , P 2  in FIG. 1(A) are as follows: 
     Coordinate values of point P 1  : x s , y s , z e   
     Coordinate values of point P 2  : (x e  -l x ), (y e  -l y ), z e   
     wherein the following hold: ##EQU6## 
     Thereafter, the parameters Z 1 , X 1 , X 2 , Y 1 , Y 2  of the approach pattern shown in FIG. 1(A) [see pattern (A)] are found from the following equations and stored in a data storage area 105b of the working memory: ##EQU7## 
     Next, the approach pattern (A) is read out of the pattern memory 101, the pattern is stored in a pattern storage area 105c of the working memory 105, and the parameters Z 1 , X 1 , X 2 , Y 1 , Y 2  of the pattern (A) are replaced with the numerical values of Eqs. (3) to create the following NC data for the approach path: ##EQU8## this data is stored in a RAM 107. In this way NC data specifying the approach pattern of FIG. 1(A) are created. Processing ends when the contents of the current position memory 106 are updated to the target position (x e , y e , z e ). 
     If z s  &lt;z e  (retraction) holds when the first pattern is designated, the coordinate values of points P 1 , P 2  shown in FIG. 1(B) are found. The coordinate values of the points P 1 , P 2  are expressed as follows: 
     Coordinate values of point P 1  : (x s  +l x ), (y s  +l y ), z s   
     Coordinate values of point P 2  : x e , y e , z s   
     wherein l x , l y  are obtained from Eqs. (1), (2). 
     Thereafter, the parameters X 1 , X 2 , Y 1 , Y 2 , Z 1  of the retraction pattern (B) are found from the following equations and stored in the data storage area 105b of the working memory 105: ##EQU9## 
     Next, the approach pattern (B) is read out of the pattern memory 101, the pattern is stored in the pattern storage area 105c of the working memory 105, and the parameters X 1 , X 2 , Y 1 , Y 2 , Z 1  of the pattern are replaced with the numerical values calculated in accordance with Eqs. (4) to create the following NC data: ##EQU10## This data is stored in the RAM 107. Through the foregoing processing NC data specifying the retraction pattern of FIG. 1(B) is created. Processing ends when the contents of the current position memory 106 is updated. In accordance with the above-described method, NC data for the approach path is created first, followed by the creation of the NC data for the machining path, and finally by the creation of NC data for the retraction path. 
     The foregoing relates to a case where data indicated in the first pattern (F) is entered by the data input/output unit 102. If data identifying the second pattern (G) is entered, the processor 103 compares, in magnitude, the coordinate value z s  of the current position along the Z axis stored in the current position memory 106, and the coordinate value z e  of the target position along the Z axis stored in the working memory 104. If z s  &gt;z e  is found to hold, a decision is rendered to the effect that an approach path is to be created. If z s  &lt;z e  holds, then a decision in rendered to the effect that a retraction path is to be created. 
     If z e  &gt;z e  holds, the coordinates of points P 1 , P 2  shown in FIG. 2(A) are calculated. The coordinate values of points P 1 , P 2  in FIG. 2(A) are as follows: 
     Coordinate values of point P 1  : x e , y e , z s   
     Coordinate values of point P 2  : x e , y e , (z e  +d 1 ) 
     Thereafter, the processor 103 finds the parameters X 1 , Y 1 , Z 1 , Z 2  of the approach pattern of FIG. 2(A) from the following equations, and stores the parameters in the data storage area 105b of the working memory 105: ##EQU11## 
     Next, the processor 103 reads the approach pattern (C) out of the pattern memory 101, stores the pattern in the pattern storage area 105c of the working memory 105, and replaces the parameters X 1 , Y 1 , Z 1 , Z 2  of the approach pattern (C) with the numerical values of Eqs. (5) to create the following NC data for the approach path: ##EQU12## This data is stored in the RAM 107. This is followed by performing processing similar to that described above to end the NC data creation processing for the approach path. 
     If z s  &lt;z e  is found to hold when the data of the second pattern (G) are entered, the coordinate values of the points P 1 , P 2  shown in FIG. 2(B) are found. The coordinate values of points P 1 , P 2  in FIG. 2(B) are as follows: 
     Coordinate values of point P 1  : x s , y s , (z s  +d 1 ) 
     Coordinate values of point P 2  : x s , y s , z e   
     Thereafter, the processor finds the parameters X 1 , Y 1 , Z 1 , Z 2  of the retraction pattern (D) from the following equations, and stores the parameters in the data storage area 105b of the working memory 105: ##EQU13## 
     Next, the processor 103 reads the retraction pattern (D) out of the pattern memory 101, stores the pattern in the pattern storage area 105c of the working memory 105, and replaces the parameters X 1 , Y 1 , Z 1 , Z 2  of the pattern with the numerical values of Eqs. (6) to create the following NC data: ##EQU14## This data is stored in the RAM 107. This is followed by performing processing similar to that described above to end the NC data creation processing for the retraction path. 
     On the other hand, where data indicated in the third pattern (H) is entered by the data input/output unit 102, the processor 103 compares z s  and z e  in magnitude. If z s  &gt;z e  is found to hold, a decision is rendered to the effect that NC data for an approach path is to be created. If z s  &lt;z e  holds, then a decision in rendered to the effect that NC data for a retraction path is to be created. 
     If z s  &gt;z e  holds, the coordinate values of points P 1 , P 2 , P 3  shown in FIG. 3(A) are calculated. The coordinate values of points P 1 , P 2 , P 3  are as follows: 
     Coordinate values of point P 1  : x e  -l x , y e  -l y , x s   
     Coordinate values of point P 2  : x e  -l x , y e  -l y , z e  d 1   
     Coordinate values of point P 3  : x e  -l x , y e  -l y , z e   
     wherein the following hold: ##EQU15## Thereafter, the parameters X 1 , X 2 , Y 1 , Y 2 , Z 1 , Z 2  of the approach pattern shown in FIG. 3(A) are found from the following equations and stored in the data storage area 105b of the working memory 105: ##EQU16## 
     Next, the processor 103 reads approach pattern (E) out of the pattern memory 101, stores the pattern in the pattern storage area 105c of the working memory 105, and replaces the parameters X 1 , Y 1 , Z 1 , Z 2 , X 2 , Y 2  of the pattern (E) with the numerical values of Eqs. (9) to create the following NC data for the approach path: ##EQU17## This data is stored in the RAM 107. This is followed by performing processing similar to that described above to end the NC data creation processing for the approach path. 
     If z s  &lt;z e  is found to hold when the third pattern (H) is designated, the coordinate values of the points P 1 , P 2 , P 3  shown in FIG. 3(B) are found. The coordinate values of points P 1 , P 2 , P 3  are expressed as follows: 
     Coordinate values of point P 1  : x s  +l x , y s  +l y , z s   
     Coordinate values of point P 2  : x s  +l x , y s  +l y , z s  +d 1   
     Coordinate values of point P 3  : x s  +l x , y s  +l y , z e   
     wherein l x , l y  are obtained from Eqs. (7), (8). 
     Thereafter, the processor finds the parameters X 1 , X 2 , Y 1 , Y 2 , Z 1 , Z 2  of the retraction pattern (E) from the following equations, and stores the parameters in the data storage area 105b of the working memory 105: ##EQU18## 
     Next, the processor 103 reads the retraction pattern (E) out of the pattern memory 101, stores the pattern in the pattern storage area 105c of the working memory 105, and replaces the parameters X 1 , Y 1 , Z 1 , Z 2 , X 2 , Y 2  of the pattern (E) with the numerical values of Eqs. (10) to create the following NC data for the retraction path: ##EQU19## This data is stored in the RAM 107. This is followed by performing processing similar to that described above to end the NC data creation processing for the retraction path. 
     In the foregoing description, approach and retraction were distinguished between based on the Z-axis coordinate values of the current position and target position, without entering data indicating the distinction between approach and retraction. However, an arrangement can be adopted in which the distinction between approach and retraction is entered as an input. Furthermore, while the foregoing relates to a case where the invention is applied to an NC data creation apparatus, the invention is also applicable to an NC apparatus. By way of example, an arrangement is possible in which the pattern data indicated by (F) and (G) is entered as approach or retraction NC data, NC data indicated by (I) through (N) is created within the NC apparatus, and numerical control is performed using the NC data. 
     According to the present invention, approach and retraction tool path patterns are stored in a memory, a prescribed tool path pattern is designated, data for specifying the parameters of the tool path pattern are entered, and a tool path is determined by using the entered data and tool path pattern. NC data for an approach or retraction tool path can therefore be created simply and in a short period of time. Accordingly, the present invention is well-suited for application to an NC data creation apparatus and an NC apparatus.