METHOD OF FORMING COMPPOSITE CURVED SURFACE

Abstract: This method comprises the steps of: inputting data for specifying three-dimensionally curved surfaces (12a, 12b), both of which specify a composite curved surface (11); in­ putting data which specify one line of intersection (CLi) on an X-Y plane (10) and a rule for specifying a large number of lines of intersection on the X-Y plane on the basis of said line of intersection (CLi); inputting ranges (SCR1, SCR2) for deter­ mining sectional curves of each three-dimensionally curved surface (12a, 12b) as cut in a predetermined section for every three-dimensionally curved surface; getting first and second sectional curves (13a′, 13b′) within the ranges (SCR1, SCR2) respectively when the first and second three-dimensionally curved surfaces (12a, 12b) are cut at the section including the i th line of intersection (CLi) which is the line of intersection with the X-Y plane; determining the point of intersection (CRi) of both sectional curves (13a′, 13b′); and forming a composite curved surface (11) with the aggregate of the sec­ tional curves by using the aggregate of the portions in the first and second sectional curves (A1 ∼ CRi, CRi ∼ B2) having the point of intersection (CRi) as a boundary, as the sectional curves of the composite curved surface (11).

Description: This invention relates to a method for numerically controlled machining of a complex curved surface and, more particularly, to a method of generating a complex curved surface by combining at least two three-dimensional curved surfaces. A curved surface of a three-dimensional metal mold or the like on a design drawing is generally expressed by a plurality of section curves, but no profile data is shown for the shape of the area lying between a certain section curve and the next adjacent section curve. In numerically controlled machining it is essential that machining be carried out so as to smoothly connect these two section curves despite the fact that the profile between them is not given. In other words, this means that machining must be performed by generating the curved surface between the two section curves from such data as that indicative of the section curves, storing on an NC tape the data concerning the generated curved surface, and carrying out machining in accordance with commands from the NC tape. To this end, there has been developed and put into practical use a method comprising generating a plurality of intermediate sections in accordance with predetermined rules from data specifying several sections and section curves of a three-dimensional curved body, finding a section curve (intermediate section curve) on the curved body based on the intermediate sections, and generating a curved surface of the three-dimensional body based on the plurality of generated intermediate section curves. (For example, see U.S.P. 4,491,906). This method is useful in generating a smooth curved surface from section data. Depending upon machining, there are cases where it is necessary to machine a complex curved surface obtained by combining two or more three-dimensional curved surfaces, or in other words, to create a complex curved surface. However, it is not possible with the prior art to create a complex curved surface in a simple manner by combining these three-dimensional curved surfaces using the data indicative of each three-dimensional curved surface. Accordingly, the applicant has proposed in Japanese Patent Application No. 60-39445 (corresponding to PCT/JP86/00100) a novel method of creating complex curved surfaces. EP-A-215 955 corresponds to PCT/JP86/00100 also, and is relevant under Article 54(3)EPC. This proposed method of creating complex curved surfaces according to EP-A-215 955 includes the following steps, with reference being had to Fig. 8: (a) inputting data in advance for specifying first and second three-dimensional curved surfaces 12a, 12b constituting a complex curved surface 11; (b) inputting data specifying one line of intersection CL i on a predetermined plane (e.g. the X-Y plane) 10 as well as a rule for specifying a number of lines of intersection on the X-Y plane on the basis of said line of intersection; (c) finding first and second section curves 13a, 13b obtained when the first and second three-dimensional curved surfaces 12a, 12b are cut by a section which has the i-th line of intersection CL i , among the number of lines of intersection, as its line of intersection with the X-Y plane; (d) obtaining a point of intersection CR i between the two section curves 13a, 13b; and (e) generating the complex curved surface 11 by adopting a set of the points of intersection CR i (i = 1, 2, ...) corresponding to the lines of intersection CL i (i = 1, 2, ...) as an intersection CRL between the first and second three-dimensional curved surfaces 12a, 12b. The section curves 13a, 13b are obtained as sets of discrete points on the respective three-dimensional curves surfaces 12a, 12b, and the section curves 13a, 13b are specified by obtaining points over the entire range of these three-dimensional curved surfaces. In other words, for the first three-dimensional curved surface 12a, the section curve 13a is specified by discretely obtaining all points from the end point A1 to the end point A2; for the second three-dimensional curved surface 12b, the section curve 13b is specified by discretely obtaining all points from the end point B1 to the end point B2. Thus, with the proposed method, the section curves 13a, 13b are obtained over the entire range (between A1 and A2 and between B1 and B2) of the respective three-dimensional curved surfaces, the point of intersection CR i is found by using the section curves obtained, and an intersection is formed by similarly obtaining a set of obtained points of intersection CR i (i = 1, 2, ...). However, the segment from CR i to end point A2 on the section curve 13a and the segment from CR i to end point B1 on the section curve 13b do not form a complex curved surface but are necessary merely for the purpose of obtaining the point of intersection CR i , which can be found even if section curves are not obtained over the entire ranges mentioned above. In other words, a problem with the proposed method is that a considerable period of time is required for processing since unnecessary segments of the section curves are obtained. Accordingly, an object of the present invention is to provide a complex curved surface creation method in which it suffices to obtain only section curves within predetermined ranges necessary for generating a complex curved surface, thereby shortening processing time. The present invention relates to a method of creating a complex curved surface by combining at least two three-dimensional curved surfaces. According to the present invention there is provided a method for numerically controlled machining of a complex curved surface composed of at least two three-dimensional curved surfaces, comprising creating NC data representing the complex curved surface by: a first step of inputting data for specifying each of said three-dimensional curved surfaces, and further data for specifying a plurality of sections which lie at a predetermined angle (eg 90 o ) to a predetermined plane (eg an X-Y plane) and which cut the complex curved surface, this further data specifying for said three-dimensional curved surfaces a single line of intersection between one such section and said predetermined plane, and a mathematical rule for specifying the lines of intersection between the other such sections and said predetermined plane based on said single line of intersection; a second step of locating and specifying section curves at which said plurality of sections cut the complex curved surface; and a third step of specifying the complex curved surface by assembling together the section curves, each such section curve comprising a plurality of curve segments which meet at a boundary line between adjacent ones of the three-dimensional curved surfaces; wherein in said first step said further data also comprises, for each section curve, a range which limits the length of this section curve beyond said boundary line between the curved surface containing this section curve and the adjacent curved surface, thereby to reduce the processing required to specify the section curves. For a better understanding of the present invention and to show how it may he put into practice, reference will now be made, by way of example, to the accompanying drawings in which: 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 according to the present invention; Figs. 4 through 7 are views for describing complex curved surface creation processing; and Fig. 8 is a view for describing a curved surface creation method already proposed in EP-A-215 955. Fig. 1 is a view for describing the general features of the present invention. Numeral 11 denotes a complex curved surface. Numerals 12a, 12b denote first and second curved surfaces constituting the complex curved surface. Numerals 13a', 13b' designate partial section curves obtained when the first and second curved surfaces are cut by a section 13 perpendicular to the XY plane. CL i designates a line of intersection between the XY plane and the abovementioned section, and CR i a point of intersection between the section curve 13a' and section curve 13b'. A₁ - A₂' is a range on the curved surface of section curve 13a', B₁' - B₂ is a range on the curved surface of section curve 13b', SCR1 is a range of the section curve 13a' on the line of intersection CL i , and SCR2 is a range of the section curve 13b' on the line of intersection CL i . The range SCR1 is a₁% - a % and the range SCR2 is b % - b₂%, where the starting point P s and end point P e of the line of intersection CL i are 0% and 100%, respectively. The point of intersection CR i can be determined even if the section curves are not obtained over the entire ranges of the respective three-dimensional Curved surfaces. Accordingly, in the present invention, the ranges SCR1, SCR2 necessary for curved surface creation are determined beforehand for every curved surface, the section curves 13a', 13b' are obtained within these ranges, the point of intersection CR i is found using both of these section curves 13a', 13b', and an intersection CRL is formed of a set of similarly obtained points of intersction CR i (i = 1, 2, ...). Fig. 2 is a block diagram of an automatic programming apparatus for practicing the method of the present invention. In Fig. 2, numeral 101 denotes a keyboard for data input, 102 a processor, 103 a ROM storing a control program, 104 an RAM, and 105 a working memory. Numeral 106 designates a curved surface memory for storing curved surface data indicative of a generated complex curved surface, as well as NC program data for curved surface machining, 107 an output unit for outputting curved surface data indicative of a generated complex curved surface, or 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 a complex curved surface in accordance with the present invention will now be described in accordance with the flowchart of Fig. 3. (a) First, data are entered from the keyboard 101 specifying a first three-dimensional curved surface 201a, a second three-dimensional curved surface 201b, a third three-dimensional curved surface 201c ... constituting a complex curved surface 201 [see (A) of Fig. 4]. In addition, the starting curved surface (assumed to be the first three-dimensional curved surface) is designated as well as the order in which the curved surfaces are combined (the order is assumed here to be the first curved surface, the second curved surface, the third curved surface,..., and so on), this being necessary in generating the complex curved surface. These inputted data are stored in the RAM 104 (Fig. 2). Each of the three-dimensional curved surfaces 201a - 201c is specified by two operating curves DRC1, DRC2 and two base curves BSC1, BSC2, etc. Each of the three-dimensional curved surfaces is specified by entering these curve data and the like. (b) Next, data are inputted from the keyboard 101 for specifying a number of sections perpendicular to the X-Y plane, which cuts the complex curved surface 201, and these data are stored in the RAM 104. More specifically, a single line of intersection CL i on the X-Y plane 203 is inputted, as well as a rule for specifying a number of lines of intersection in the X-Y plane on the basis of the single line of intersection. By way of example, in a case where the sections are parallel to one another and perpendicular to the X-Y plane and, moreover, the spacing between adjacent sections is constant, the line of intersection CLi (i=1, 2, 3,...) between each section and the X-Y plane is as shown in Fig. 5(A). In such case, therefore, data specifying the first line of intersection CL₁, as well as the distance between two adjacent lines of intersection (either the distance along the X axis or the distance along the Y axis will suffice), are inputted. In a case where the sections intersect one another in a straight line perpendicular to the X-Y plane and, moreover, the angles between adjacent sections are constant, lines of intersection CLi (i=1, 2, 3,...) between the sections and the X-Y plane intersect successively at equal angles at a single point P, as shown in Fig. 5(B). In such case, therefore, data are inputted specifying the first line of intersection CL₁ and the point P, and an angle α defined by two mutually adjacent lines of intersection is also inputted. Further, in a case where the sections are mutually concentric cylinders perpendicular to the X-Y plane and, moreover, the spacing between adjacent cylinders is constant, the lines of intersection CL i (i=1, 2, 3,...) between the sections and the X-Y plane are concentric cylindrical arcs, as shown in Fig. 5(C). In such case, therefore, data are inputted specifying the first line of intersection CL1, and the distance d between two mutually adjacent lines of intersection is also inputted. If the lines of intersection shown in Fig. 5(A) and the rule are inputted, the three-dimensional curved surfaces 201a - 201c are cut by a predetermined section 202 i [see Fig. 4(B)] specified by the line of intersection and the rule. The section curves that result are SC 1i , SC 2i , SC 3i , ... and so on. (c) When the line of intersection on the XY plane and the rule have been inputted, a range for determining a section curve is inputted for each three-dimensional curved surface. It should be noted that when the starting point and end point of the line of intersection specified in step (b) are the 0% position and 100% position, respectively, the ranges for determining the section curves are specified by designating the percentage ranges on the line of intersection. (d) When these data have been entered, the processor 102 generates each of the three-dimensional curved surfaces 201a - 201c by a well-known method (for example, see U.S.P. 4,491,906). As shown in Fig. 6, let L c (j) express an intermediate section curve containing a j-th dividing point on the base curve BSC1 of the created three-dimensional curved surface, and let L r ( i ) express a curve obtained by connecting an i-th dividing point on each of the 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 Q1, Q2, Q3, Q4 of the patch PT (i, j) are generated by the above-described 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 a complex curved surface begins, as follows: (e) First, the operation 1 → i is performed. (f) Next, the operation 1 → j is performed. These operations will be apparent to the man skilled in the art of NC processing. (g) The processor 102 then obtains a line of intersection CL i on the i-th X-Y plane by using the data indicative of the 1st line of intersection and the spacing between the lines of intersection obtained in step (b). (h) When the i-th line of intersection CL i has been found, the processor 102 finds the coordinates of points of intersection lying within the section curve range of the j-th curved surface inputted in step (c), these being from among the points of intersection between the i-th line of intersection CL i and the sides of projection patches, which are obtained by projecting each patch (Fig. 6) of the j-th three-dimensional curved surface onto the X-Y plane. (i) When the coordinates of points of intersection within the abovementioned section curve range have been found among the points of intersection between the sides of several projection patches and the i-th line of intersection CL i , the coordinates of points on the j-th three-dimensional curved surface corresponding to these points of intersection are computed. Specifically, the coordinates of the points on the j-th curved surface, which points are obtained by projecting the points of intersection onto the X-Y plane, are found. Fig. 7 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) of a three-dimensional curved surface onto the X-Y plane. Let P1 i , P2 i represent the points of intersection between the i-th line of intersection CL i and a predetermined two of these four sides, and let (X1 i , y1 i ), (x2 i , y2 i ) represent the coordinates of these points of intersection. Further, let Q1', Q2' denote the end points of the side i a intersected by the line of intersection CL i , let Q3', Q4' denote the end points of the side i b intersected by the line of intersection CL 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 z1 i , z2 i of the points P1 i ', P2 i ' on the curved surface that correspond to the points of intersection P1i, P2i are calculated in accordance with the following equations: z1 i = z1 + (z2 - z1) (x1 i - x1)/(x2 - x1) z2 i = z3 + (z4 - z3) (x2 i - x3)/(x4 - x3) The coordinates of the points on the curved surface will be (x1 i , y1 i , z1 i ), (x2 i , y2 i , z2 i ). The coordinates of points on the j-th three-dimensional curved surface that correspond to all of the points of intersection determined are found through the foregoing procedure and these coordinates are stored in the curved surface memory 106. This will provide a section curve SC ji [see Fig. 4(b)] obtained when the j-th three-dimensional curved surface is cut by a section corresponding to the i-th line of intersection CL. (j) Next, the processor 102 checks whether the section curves for all three-dimensional curved surfaces have been obtained. (k) If the section curves [SC 1i , SC 2i , SC 3i ,... in Figs. 4(C)] within the designated ranges of all three-dimensional curved surfaces have not been obtained, the operation j+1 → j is performed and the processing from step (h) onward is repeated. (m) If the section curves (SC 1i , SC 2i , SC 3i ,...) within the designated ranges of all three-dimensional curved surfaces have been obtained, on the other hand, the section curve SC i [see the dashed line in Fig. 4(C)] of the complex curved surface 201 is found through the following processing: Specifically, a point of intersection between the section curve SC ji and a section curve SC (j+1) (j=1, 2, 3,...) is calculated. When a point of intersection R ji (j=1, 2, ...) has been found as set forth above, a section curve SC i corresponding to the i-th line of intersection CL i is specified by a section curve SC 1i ' between points of intersection R0 i , R1 i , a section curve SC 2i ' between points of intersection R1 i , R2 i , a section curve SC 3i ' between points of intersection R2 i , R3 i ,... and so on. (n) When the section curve SC i has been found, it is checked whether section curves corresponding to all lines of intersection CL i have been obtained. (p) If section curves corresponding to all lines of intersection have not been obtained, the operation i+1 → i is performed and processing from step (f) onward is repeated. If section curves corresponding to all lines of intersection have been obtained, however, the processing for creating the complex curved surface ends. Thereafter, the generated curved surface data are used to create e.g. NC data for curved surface machining. Thus, in accordance with the present invention as described above, ranges required for curved surface generation are predetermined along respective section curves, section curves are obtained within these ranges, and both section curves are used to obtain a point of intersection constituting an intersecting portion. As a result, it suffices to obtain only section curves within the specified ranges, without finding section curves over entire ranges. This makes it possible to shorten processing time.

Claims: A method for numerically controlled machining of a complex curved surface (11,201) composed of at least two three-dimensional curved surfaces (12a,12b,201a,201b,201c), comprising creating NC data representing the complex curved surface (11,201) by: a first step of inputting data for specifying each of said three-dimensional curved surfaces (12a,12b,201a,201b,201c), and further data for specifying a plurality of sections (eg 13,202i) which lie at a predetermined angle (eg 90 o ) to a predetermined plane (eg an X-Y plane) and which cut the complex curved surface (11,201), this further data specifying for said three-dimensional curved surfaces (12a,12b,201a,201b,201c) a single line of intersection (CLi) between one such section (13,202i) and said predetermined plane, and a mathematical rule for specifying the lines of intersection (CL1...CLn) between the other such sections and said predetermined plane based on said single line of intersection (CLi); a second step of locating and specifying section curves (13a',13b',etc,SC1i...SCni) at which said plurality of sections cut the complex curved surface (11,201); and a third step of specifying the complex curved surface (11,201) by assembling together the section curves (13a',13b',etc,SC1i...SCni), each such section curve comprising a plurality of curve segments which meet at a boundary line (CRL) between adjacent ones of the three-dimensional curved surfaces (12a,12b,201a,201b,201c); wherein in said first step said further data also comprises, for each section curve (13a',13b'), a range (SCR1,SCR2) which limits the length of this section curve (13a',13b') beyond said boundary line (CRL) between the curved surface containing this section curve and the adjacent curved surface, thereby to reduce the processing required to specify the section curves (13a',13b',etc,SC1i...SCni). A method according to claim 1, characterized in that the ranges (SCR1,SCR2) of said section curves (13a',13b') are specified by ranges on said line of intersection (CLi). A method according to claim 2, characterized in that said ranges (SCR1,SCR2) are obtained in the form of percentages from one end (Ps) of said line of intersection (CLi), where the one end (Ps) of the line of intersection (CLi) is 0 (%) and the other end (Pe) thereof is 100 (%). A method according to any preceding claim, characterized in that said line of intersection (CLi) is a straight line of finite length, and said mathematical rule decides an (i+1)th line of intersection in such a manner that the spacing between the i-th line of intersection and the (i+1)th line of intersection is constant, lines of intersection (CL1 to CLn) being specified in regular order with the first-mentioned line of intersection serving as a first straight line. (Fig 5(A)). A method according to any of claims 1 to 3, characterized in that said line of intersection (CLi) is a straight line of finite length, and said mathematical rule decides an (i+1)th line of intersection in such a manner that an angle (α) between the i-th line of intersection and the (i+1)th line of intersection at a predetermined point is constant from one line to the next, lines of intersection (CL1 to CLn) being specified in regular order with the first-mentioned line of intersection serving as a first straight line. (Fig 5(B)) A method according to any of claims 1 to 3, characterized in that said line of intersection (CLi) is a circular arc, and said mathematical rule decides an (i+1)th circular arc in such a manner that the spacing (d) between an i-th circular arc and the (i+1)th circular arc, which are mutually concentric, is constant from one arc to the next, lines of intersection (CL1 to CLn) being specified in regular order the first-mentioned line of intersection serving as a first circular arc. (Fig 5(C))

Inventors: AMANO, NORIHISA, SEKI, MASAKI
Applicants: FANUC LTD.
Application year: 1986
Main classification: G05B19
IPC codes: G05B19, G06F17