METHOD OF PREPARING NC DATA OF A COMPOSITE CURVED SURFACE

Abstract: A composite curved surface (10) comprises at least two three-dimensional curved surfaces (11,12). Their respective cut path patterns (radial linear pattern 21 and parallel linear pattern 22) are specified. For each curved surface starting points (Pi) and boundary points (Ri) are determined along its specified cut path pattern. Thus determined discrete points are then continuously followed to make NC data.

Description: This invention relates to a method of creating NC data for machining a complex curved surface and, more particularly, to a complex curved surface NC data creation method in which a cutting path pattern is specified for every curved surface constituting a complex curved surface and cutting is performed by moving a tool along the cutting path conforming to the specified cutting path pattern. There are cases where it is required to machine a complex curved surface composed of a combination of two or more three-dimensional curved surfaces. Fig. 7 shows a side view [Fig. 7(A)] and a plan view (Fig. 7(B)] of a complex curved surface composed of a combination of two three-dimensional curved surfaces (hereinafter referred to simply as "curved surfaces") 1 and 2. The curved surface 1 has a frusto-conical shape, the curved surface 2 has the shape of a semicircular cylinder. There is also a boundary line 3. To machine this complex curved surface, the conventional practice is to designate one cutting path pattern on the entire complex curved surface, obtain points discretely (ie discrete points) on the actual cutting path based on the cutting path pattern, create NC data in such a manner that a tool will traverse the points continuously, and machine the complex curved surface on the basis of these NC data. For instance, in the example of Fig. 7, the cutting path pattern is a group of straight lines which grow incrementally larger every a o in radial fashion from a center P c [Fig. 7(B)]. Each straight line is a line segment from a point P i (i = 1, 2, ...) of radius r to a cutting boundary point Q i . The NC data for machining this complex curved surface are generated as follows: NC data for an approach to a point P1; NC data for cutting from point P₁ to a point Q₁; NC data for a pick-feed to a point P₂; NC data for cutting from point P₂ to a point Q₂; NC data for a pick-feed to a point P₃; ...................... NC data for cutting from point P i to point Q i ; ....................... When NC data are thus created upon designating only one cutting path pattern for the complex curved surface and the complex curved surface is machined in accordance with the NC data created, an unnatural striped pattern is produced on the surface of the generated complex curved surface and the curved surface cannot be finished off attractively. It should be noted that if the stripes formed on the curved surface 2 are all parallel in the direction of the cylinder or all parallel in the circumferential direction, the surface will be finished off attractively. However, this will not be the case because only one cutting pattern (a radial pattern in the example of Fig. 7) is designated, and as a result, the surface will not exhibit an attractive finish. Accordingly, an object of the invention is to provide a complex curved surface NC data creation method for moving a tool along a cutting path pattern which conforms to the shape of each curved surface constituting a complex curved surface, whereby the machined surface can be finished off attractively. The present invention provides a method of creating NC data for machining a complex curved surface comprising a combination of at least two three-dimensional curved surfaces, characterised by inputting data specifying each of the curved surfaces and data for specifying a cutting path pattern for each curved surface, obtaining discrete points from a cutting starting point on one curved surface to a boundary point with another of the curved surfaces along a cutting path pattern set on the one curved surface, obtaining discrete points on said another of the curved surfaces along a cutting path pattern starting at said boundary point and specified with respect to the another of the curved surfaces, thereafter performing a pick-feed and obtaining discrete points along the cutting path pattern on each of the curved surfaces in similar fashion, and creating NC data for machining a complex curved surface by successively traversing each of the points. Brief Description of the Drawings Fig. 1 is a view for describing the general features of the present invention; Fig. 2 is a block diagram of an apparatus for practicing the present invention; Fig. 3 is a flowchart of processing in accordance with the present invention; Fig. 4 is a view for describing cutting path patterns; Figs. 5 and 6 are views for describing the computation of points on a curved surface; and Fig. 7 is a view for describing a conventional method. Fig. 2 is a block diagram of an automatic programming apparatus for practicing the method of the present invention. In the Figure, numeral 101 denotes a keyboard for data input, 102 a processor, 103 a ROM storing a control program, 104 a RAM, 105 a working memory, 106 a curved surface memory for storing curved surface data of a generated complex curved surface and NC program data for curved surface machining, 107 an output unit for outputting the curved surface data of the generated complex curved surface or the NC program data for curved surface machining to an external storage medium 108 such as a paper tape or magnetic tape, 109 an address bus, and 110 a data bus. A method of creating NC data for a complex curved surface in accordance with the present invention will now be described in accordance with the flowchart of Fig. 3. It will be assumed that NC data for machining the complex curved surface shown in Fig. 1 will be created. (a) First, data specifying a first curved surface 11 and a second curved surface 12 which constitute a complex curved surface 10 (see Fig. 1) are inputted from the keyboard 101. It should be noted that the data specifying these curved surfaces are indicative of drive curves, basic curves and the like and are well-known, by reason of which a detailed explanation is omitted (see U.S.P. 4,491,906). The curved surface 11 is defined under the name SS2, and the curved surface 12 is defined under the same SS1. (b) Next, for every curved surface 11, 12 constituting the complex curved surface 10, data for specifying a number of sections perpendicular to the X-Y plane cutting these curved surfaces are inputted from the keyboard 101 and stored in the RAM 104. More specifically, for every curved surface, there are inputted one line of intersection on the X-Y plane, a rule for specifying a number of lines of intersection on the X-Y plane based on the one line of intersection, and a cutting range. By way of example, if each of the sections are parallel to one another and perpendicular to the X-Y plane and, moreover, the spacing between mutually adjacent sections is fixed, then the line of intersection CV i (i = 1, 2, 3, ...) between each section and the X-Y plane will be as shown in Fig. 4(A). In such case, therefore, data specifying a first line of intersection CV₁, components (V x , V y ) of a vector along each axis, and a distance d₁ between two mutually adjacent lines of intersection are inputted. It should be noted that a cutting path pattern is specified by the line-of-intersection data and the distance d₁, and that cutting range is specified by the length of the line of intersection CV₁ and the vector . In Fig. 4, the direction indicated by arrow A is referred to as the cutting direction, and the direction indicated by arrow B is referred to as the feed direction. In actuality, the following command is inputted to specify the cutting path pattern and cutting range: CV₁ = .....; GROUP, 1, V x , V y , d₁, i; where GROUP, 1 indicates that the cutting path pattern is of the type shown in Fig. 4(A), and the numerical value i indicates that this is the i-th curved surface SS i . If each section is perpendicular to the X-Y plane and the angle between mutually adjacent sections is fixed, then lines of intersection CV i (i = 1, 2, 3, ...) between respective sections and the X-Y plane will intersect successively at equal angles d₂ at a single point P c , as shown in Fig. 4(B). In such case, therefore, data specifying the first line of intersection CV₁ and the point Pc (x c , y c ), the angle d₂ defined by two mutually adjacent lines of intersection, and an angle a indicating the cutting range are inputted. In actuality, the following command is inputted: CV₁ = .....; GROUP, 2, x c , y c , d₂, a, i; where GROUP, 2 indicates that the cutting path pattern is of the type shown in Fig. 4(B). If each section is perpendicular to the X-Y plane, the sections have the shape of concentric circular cylinders and the spacing between mutually adjacent sections is fixed, then lines of intersection CV i (i = 1, 2, 3, ...) between the respective sections and the X-Y plane will be concentric circular arcs, as shown in Fig. 4(C). In such case, therefore, data specifying the first line of intersection CV₁, a distance d₃ between two mutually adjacent lines of intersection, and the maximum circular arc radius dr, which is the cutting range, are inputted. In actuality, the following command is inputted: CV₁ = .....; GROUP, 3, dr, d₃, i; where GROUP, 3 indicates that the cutting path pattern is of the type shown in Fig. 4(C). In the example of Fig. 1, the cutting path pattern shown in Fig. 4(B) is specified for the curved surface 11, and the cutting path pattern shown in Fig. 4(A) is specified for the curved surface 12. (c) When the cutting path patterns are finished being specified, a curved surface cutting sequence is then inputted in the form of a COMP statement and CUT statement. In the example of Fig. 1, the cutting sequence is inputted by COMP, SS₂; CUT, SS₁; It should be noted that the curved surface specified by the CUT statement is a main curved surface (SS₁), and the curved surface specified by the COMP statement is a subordinate curved surface (SS₂). The cutting path pattern for a main curved surface takes precedence over those for subordinate curved surfaces at the portions where these curved surfaces overlap. Among the subordinate curved surfaces, the one earliest in the cutting sequence takes precedence. In Fig. 1, the case illustrated is one in which the complex curved surface is constituted by the two curved surfaces 11, 12. In general, however, a complex curved surface is composed of (n+1) curved surfaces, in which case n COMP statements and one CUT statement would be commanded and the cutting sequence would be the order in which the commands are given. (d) When the necessary data have been inputted, the processor generates each of the curved surfaces 11, 12 through a well-known method. As shown in Fig. 5, let L c (j) express an intermediate section curve containing a j-th dividing point on a basic curve BSC1 of a curved surface, and let L r (i) express a curve obtained by connecting an i-th dividing point on each of intermediate section curves L c (j) (j=1, 2, 3, ... n). A quadrilateral bounded by curves L c (j), L c (j+1), L r (i) and L r (i+1) shall be referred to as a "patch" PT (i, j). The four vertices Q₁, Q₂, Q₃, Q₄ of the patch PT (i, j) are generated by curved surface creation processing and are stored in the curve surface memory 106. When the processing for generating each of the curved surfaces in accordance with step (d) is completed, processing for creating NC data begins, as follows: (e) First, the operations 1 → i, 1 → j are performed. (f) The processor 102 then obtains a line of intersection CV i of the j-th curved surface SS j , which is given in step (b), on the i-th X-Y plane. (g) When the i-th line of intersection CV i has been found, the processor 102 obtains points discretely on a section curve obtained when the j-th curved surface is cut by a section perpendicular to the X-Y plane on which the line of intersection lies. More specifically, the processor finds the coordinates of points of intersection P 1i , P 2i (see Fig. 6) between the i-th line of intersection CV i and the sides of projection patches, which are obtained by projecting each patch (Fig. 5) of the j-th curved surface onto the X-Y plane. Next, the processor calculates the coordinates of points on the j-th curved surface that correspond to these points of intersection. That is, the processor obtains the coordinates of points on the j-th curved surface, which are points obtained by projecting the points of intersection P 1i , P 2i onto the X-Y plane. Fig. 6 is a view for describing a method of computing the coordinates of the points on the curved surface. Four sides i a , i b , j a , j b are obtained by projecting a predetermined patch P (m, n) on a three-dimensional curved surface onto the X-Y plane. Let P 1i , P 2i represent the points of intersection between the i-th line of intersection CV i and a predetermined two of these four sides, and let (x 1i , y 1i ), (x 2i , y 2i ) represent the coordinates of these points of intersection. Further, let Q₁', Q₂' denote the end points of the side i a intersected by the line of intersection CV i , let Q₃', Q₄' denote the end points of the side i b intersected by the line of intersection CV i , let Q i (i=1 ∼ 4) represent the points on the three-dimensional curved surface that correspond to the points Q i ' (i= 1 ∼ 4), and let (x i , y i , z i ) denote the coordinates of each of the points Q i . Then, the Z coordinates z 1i , z 2i of the points P 1i ', P 2i ' on the curved surface that correspond to the points of intersection P 1i , P 2i are calculated in accordance with the following equations: z 1i = z₁ + (z₂ - z₁) (x 1i - x₁)/(x₂ - x₁) z 2i = z₃ + (z₄ - z₃) (x 2i - x₃)/(x₄ - x₃) The coordinates of the points on the curved surface will be (x 1i , y 1i , z 1i ), (x 2i , y 2i , z 2i ). (h) Whenever a point on the j-th curved surface is obtained, the processor checks whether the point forms a point of intersection (a boundary point) with another curved surface (let this surface be a j'th curved surface). It should be noted that an initial point under the j'th curved surface is taken as a point of intersection (a boundary point). Accordingly, the processor obtains points on each curved surface that correspond to the projection points in step (g) and, on the basis of the magnitude of the Z values thereof, checks whether a point of intersection has been reached. (i) If a point of intersection has not been been reached, the processor checks whether a boundary point in the cutting direction (see the direction indicated by arrow A in Fig. 4) has been reached. If the boundary point in the cutting direction has not been reached, processing from step (g) onward is repeated. (j) If a boundary point in the cutting direction (see the direction indicated by arrow B in Fig. 4) is reached, however, the processor checks whether a boundary point in the feed direction has been reached. (k) If a boundary point in the feed direction has been reached, curved surface generation processing ends, after which the processor creates NC data in such a manner that a tool will successively traverse the points that have been obtained. This completes NC data creation processing. (l) If a boundary point in the feed direction is not reached at step (j), however, the operations i + 1 → i, 1 → j are performed and processing from step (f) onward is repeated with regard to the next line of intersection obtained by a pick-feed of a predetermined amount in the feed direction. (m) If it is judged in step (h) that a point obtained in step (g) forms a point of intersection (a boundary point) with a j' curved surface, the processor performs the operation j' → j. (n) Next, the processor obtains a line of intersection CV i passing through the abovementioned point of intersection and parallel to the line of intersection CV₁ set in correspondence with the j-th curved surface, and then repeats processing from step (g) onward. In accordance with the present invention as described above, a tool can be moved along a cutting path pattern conforming to the shape of each curved surface constituting a complex curved surface, thus enabling the machined surface to be finished off attractively.

Claims: A method of creating NC data for machining a complex curved surface comprising a combination of at least two three-dimensional curved surfaces, characterized by: inputting data specifying each of the curved surfaces and data for specifying a cutting path pattern for each curved surface; obtaining discrete points from a cutting starting point on one curved surface to a boundary point with another of the curved surfaces along a cutting path pattern set for the one curved surface; obtaining discrete points on said another of the curved surfaces along a cutting path pattern starting at said boundary point and specified with respect to the another of the curved surfaces; thereafter performing a pick-feed and obtaining discrete points along the cutting path pattern on each of the curved surfaces in similar fashion; and creating NC data for machining a complex curved surface by successively traversing each of the points. A method of creating NC data for machining a complex curved surface according to claim 1, characterized in that said cutting path pattern is any of a pattern of equidistantly spaced parallel straight lines, a pattern of equiangularly spaced radiating straight lines, and a pattern of equidistantly spaced concentric circular arcs. A method of creating NC data for machining a complex curved surface according to claim 2, characterized in that (i) data indicative of any of the pattern of parallel straight lines, the pattern of radiating straight lines and the pattern of concentric circular arcs, (ii) data indicative of one line of intersection with a predetermined plane, and (iii) a rule specifying a number of lines of intersection on a predetermined plane on the basis of said line of intersection are inputted as the data for specifying said cutting path pattern. A method of creating NC data for machining a complex curved surface according to claim 3, characterized in that discrete points on a section curve obtained when a predetermined curved surface is cut by a section in which an i-th line of intersection from among said number of lines of intersection is a line of intersection in said predetermined plane are taken as said points. A method of creating NC data for machining a complex curved surface according to claim 4, characterized by: specifying a cutting range along with data specifying a cutting path pattern; obtaining discrete points up to a boundary of the cutting range along one direction; and thereafter obtaining discrete points in a similar manner upon performing a pick-feed of a predetermined amount in a direction different from said direction, and subsequently obtaining points in a similar manner until a boundary in said other direction is reached.

Inventors: SAMUKAWA KOUJI, SEKI MASAKI, SAMUKAWA, KOUJI, SEKI, MASAKI
Applicants: FANUC LTD, FANUC LTD.
Application year: 1987
Main classification: G05B19
IPC codes: G05B19