Abstract:
Computer-enabled methods and devices allow for the ready set-up for machine instruction generation by addressing various combinations of machining patterns and tool axis orientations via the selection or designation of a machining pattern and the selection or designation of a tool axis orientation via exemplary separate menus of a user interface.

Description:
FIELD OF ENDEAVOR 
       [0001]    The invention in its several embodiments relates generally to tool path trajectory planning for computer aided manufacturing (CAM) and more particularly to the definitions made by the user interface to set up programming for computer numerical control (CNC) of a multi-axis machine tool for workshop machining. 
       BACKGROUND 
       [0002]    Computer aided manufacturing (CAM) software systems are used to program computer numerical control (CNC) machine tools that are used in machine shops for the production of discrete parts such as molds, dies, tools, prototypes, aerospace components and more. There is an increasing trend in the modern machine shop to apply simultaneous five-axis machine tools that are capable of 3-axis linear (X, Y, Z) movements in combination with 2-axis (A, B) rotational movements. In this type of machine, during the machining process, the cutting tool and the workpiece are moved simultaneously in five-axes relative to each other as described by a CNC program. 
         [0003]    Generating a CNC program to control the movements of these five-axis machine tools—one that fully exercises all five axes—is challenging because such application present complexities that may be both mathematical and technological in nature. A CAM system for programming five-axis machine tools should be easy for the user to operate and should produce error-free CNC programs. Any small error in the CNC program will result in expensive and/or irreparable damage to the workpiece, cutting tools and/or the machine tool itself When executed, the state of the art five-axis CAM software contains a number of specific machining cycles where, in an effort to make the machining cycle understandable for the user, each cycle contains a smaller number of options. That is, the current state-of-the-art in five-axis CAM software provides the user a machining cycle which is comprised of a single, or a small number, of patterns with a single, or a small number of, orientations. Each combination of pattern and orientation is commonly presented as a new machining cycle. The limited number of options results in those machining cycles being inflexible, due to the limited number of uses. In addition, the number of specific machining cycles results in the duplication of the detailed steps of execution of each independent machining cycle in order to cover the wide variety of machining needed. From the point of view of the embodied CAM steps, the proliferation of machining cycles, often with overlapping requirements, exponentially increases the effort to embody the steps and maintain both the internal steps for execution via machine-readable code and the user interface. The volume of internal steps and maintenance thereof can work to strain the reliability of CAM steps. 
       SUMMARY 
       [0004]    Computer-enabled methods and devices of the present invention allow for the ready set-up for machine instruction generation by addressing various combinations of machining patterns and tool axis orientations via the selection or designation of a machining pattern and the selection or designation of a tool axis orientation, for example via separate menus of a user interface. The invention, in its several embodiments includes a computer-enabled method of tool position planning for operations to be performed by a machining tool of a machining station on a workpiece in accordance with the tool position plan, the method comprising: (a) receiving a machining pattern; (b) receiving a tool axis orientation, in either order of occurrence; (c) determining a tool position plan based on the received machining pattern and the received tool axis orientation; and (d) outputting the tool position plan as one or more machine instructions. In some exemplary embodiments of the computer-enabled method, the machining pattern may be based on a user selection from a first menu comprising a plurality of machining patterns. In some exemplary embodiments of the computer-enabled method, the tool axis orientation may be based on a user selection from a second menu comprising a plurality of tool axis orientations. In some exemplary embodiments of the computer-enabled method, before the step of receiving a tool axis orientation, there may be a step of defining the orientation of the machining tool axis relative to the workpiece. In some exemplary embodiments the computer-enabled method, before the step of receiving a machining pattern, there may be a step of determining an area of the workpiece to be machined. In some exemplary embodiments the computer-enabled method, before the step of determining a tool position plan based on the received machining pattern and the received tool axis orientation, there may be a step of defining one or more rules for at least one of: (i) approaching the workpiece; (ii) departing the workpiece; and (iii) linking two or more sub-areas of the defined area of the workpiece to be machined. In some exemplary embodiments the computer-enabled method, before the step outputting the tool position plan as one or more machine instructions, there may be a step of converting into one or more machine instructions at least one of: (i) the defined area of the workpiece to be machined; (ii) the received machining pattern; (iii) the received tool orientation; and (iv) at least one of the defined rules for approaching the workpiece, departing the workpiece, and linking two or more sub-areas of the defined area of the workpiece to be machined. 
         [0005]    The invention, in its several embodiments, also includes a device for generating instructions for a machining tool, the device comprising: (a) input means for receiving a machining pattern; (b) input means for receiving a tool axis orientation; (c) a processing module having addressable memory, the processing module adapted to determine a tool position plan based on a received machining pattern and a received tool axis orientation; and (d) means for outputting the tool position plan as one or more machine instructions. In some embodiments of the device for generating instructions for a machining tool, the input means for receiving a machining pattern may be at least one of: an electrical communication; a wireless communication receiver; a reader of a memory store; and a reader of portable media. In some embodiments of the device for generating instructions for a machining tool, the input means for receiving a tool axis orientation is at least one of: an electrical communication; a wireless communication receiver; a reader of a memory store; and a reader of portable media. In some embodiments of the device for generating instructions for a machining tool, the input means for receiving means for outputting the tool position plan is at least one of: an electrical communication; a wireless communication transmitter; a writer to a memory store; and a writer to portable media. In some embodiments of the device for generating instructions for a machining tool, the device further comprises a user interface adapted to receive a user selection from a first menu comprising a plurality of machining patterns. In some embodiments of the device for generating instructions for a machining tool, the device further comprises a user interface adapted to receive a user selection from a second menu comprising a plurality of tool axis orientations. In some embodiments of the device for generating instructions for a machining tool, the device further comprises a user interface adapted to receive a user selection from a first menu comprising a plurality of machining patterns and from a second menu comprising a plurality of tool axis orientations. In some embodiments of the device for generating instructions for a machining tool, the device further comprises input means for receiving a workpiece area definition wherein the input means for receiving a workpiece area definition is at least one of: a user interface, an electrical communication; a wireless communication receiver; a reader of a memory store; and a reader of portable media. In some embodiments of the device for generating instructions for a machining tool, the device may be further adapted to determine a tool position plan based on a received machining pattern, a received tool axis orientation, and a defined workpiece area to be machined. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0006]    For a more complete understanding of the present invention reference is now made to the following description taken in conjunction with the accompanying drawings, in which: 
           [0007]      FIG. 1  is a top level functional block diagram of a system embodiment of the present invention; 
           [0008]      FIG. 2  is a top level flowchart of an exemplary method embodiment of the present invention; 
           [0009]      FIG. 3A  and  FIG. 3B  together are a top level flowchart of an exemplary method embodiment of the present invention; 
           [0010]      FIG. 4  is an exemplary functional block diagram of a portion of an exemplary embodiment of the present invention; and 
           [0011]      FIG. 5A  and  FIG. 5B  together are a top level flowchart of an exemplary method embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0012]    The invention in its several embodiments includes a computer aided manufacturing system  100 , as illustrated in a functional block diagram in  FIG. 1 , where the system comprises a machining apparatus  130  and a device  102  comprising a planning module  110  and a numerical code generator  120 . The planning module  110  has a processing module and the numerical code generator  120  may be a separate processing module or may be embodied as computer-executed instructions that are executed by the processing module of the planning module. The machining apparatus  130  may provide a machining tool or cutting tool and may reorient the cutting tool relative to a workpiece according to instructions provided by the numerical code generator  120 . The position of the cutting tool may be expressed in three absolute positions, i.e., XYZ, and two rotary positions, i.e., A—a rotary position about X, and B—a rotary position about Y. The numerical code generator may be responsive to the output of the planning module  110 . The planning module may have access to one or more databases  140  comprising computer-based models of: (a) areas  141  of a workpiece to be machined; (b) patterns  142  that may be applied for machining the workpiece; (c) relationships expressing the relative orientation  143  between a cutting tool of the machining apparatus  130  and the workpiece; and (d) auxiliary movements  144  that may include: (1) instructions for approaching the workpiece; (2) instructions for departing the workpiece; and (3) instructions for movements linking machining sub-areas. Via a user interface  150 , a user of the system  100  may select files or objects from the databases  140  for application by the planning module  110  to generate the numerical code  121  that may for example be G-code. The machining apparatus  130  may then receive the G-code and execute the coded instructions to drive the machine tool. For example, the device may have a user interface  150  adapted to receive a user selection from a first menu  151  that may be a touch screen, or a display and indicating device, where the first menu  151  includes a plurality of machining patterns and the device may have a user interface  150  adapted to receive from a second menu  152  that may be presented via the same touch screen, or a display and indicating device, as the first menu  151  or via a separate touch screen, or a display and indicating device, where the second menu  152  includes a plurality of tool axis orientations. 
         [0013]    The invention in its several embodiments includes an exemplary method of five-axis machining, as illustrated in a top-level flowchart of  FIG. 2  where a composite machining cycle includes a planning or programming process comprising four steps which may then be followed by the CNC coding. The exemplary four planning steps of the five-axis composite machining comprise: (a) defining or selecting the area of the workpiece to be machined (step  210 ); (b) selecting the pattern to apply when machining the selected area (step  220 ); (c) defining the orientation of the relationships between the cutting tool and the workpiece (step  230 ); and (d) defining the auxiliary movements (step  240 ) that may include: (1) approaching the workpiece; (2) departing the workpiece; and (3) movements linking machining sub-areas. Thereafter, the method may include the step of generating the CNC code (step  250 ). 
         [0014]    Another method embodiment may be described in the top level flowcharts of  FIGS. 3A and 3B . The exemplary steps comprises: selecting an area for machining by defining the selected region via a defined set of surfaces (step  310 ); selecting a generation method for a pattern of curves (step  320 ); selecting a rule for driving the tool axis direction along the curves (step  330 ); selecting the lateral increments between the single cuts of the tool path (step  340 ); selecting, for each set of cuts, the type of approaches, the detach at the beginning and the detach at the end (step  350 ); selecting the types of connections between the larger portions of the tool path (step  360 ); selecting a anomalous event response (step  370 ); and determining a tool path (step  380 ). 
         [0015]    Illustrated in  FIG. 4  is an exemplary functional block diagram of the content and use of a curve pattern database of an embodiment of the present invention. The plurality of rules of generating a pattern of curves on the area to be machined  410  may be used to establish a curve pattern database  420  and the curve pattern database may be referenced to along with the rules to define the machine tool axis direction along the points of the curve  430 . Exemplary curve generation methods include: (a) isoparametric interpolation; (b) projection of drive surface isoparametrics; (c) intersection with a set of planes; and (d) offsetting from a defined or given contour. The curve pattern data comprising the curve pattern database may be expressed as: (a) points in XYZ; (b) a surface of pertinence; (c) a vector normal to the belonging surface; and UV-mapping onto the surface, where U=f 1 (x,y,z) and V=f 2 (x,y,z). The exemplary rules to define a tool axis of direction along the points of the curve pattern may include: (a) a direction normal to the drive surface or normal to the machined surface; (b) a direction passing through a fixed point or through points of a given curve; and (c) a direction parallel to a given fixed vector. 
         [0016]      FIGS. 5A and 5B  illustrate in top level flowchart form an example of the composite machining method where one may select an entire workpiece for machining (step  510 ), one may select a curve pattern that comprises a series of planes, each perpendicular to a given curve, that intersect the workpiece surfaces (step  520 ), the tool axis of direction may be selected as being normal to the surface of the workpiece to be machined (step  530 ), the lateral increments between single cuts or workfeed links may be selected as fluent cubic links (steps  540 ); the approaches and detaches are selected as motion about a radius or radiused (step  550 ); and the connection between large portions of the tool path may be selected as rapid links than in this example may be radial about the X-axis (step  560 ). With the planning completen the tool path may be determined (step  580 ). 
         [0017]    With this composite machining method, many different methods for machining a part having multiple machining cycles, may be condensed into one composite machining function. From the perspective of the CAM system development, to realize such a composite function implies building each individual orientation and each individual pattern as objects that may be used interchangeably. This interchangeable object approach provides a high rate of reliability in the resulting software, as any individual object is cleared of parasite dependency and appears only once in the software body. 
         [0018]    The method of the five-axis composite machining cycle makes available to a user a set of choices for the selection of the pattern, a selection typically larger in number than the state-of-the-art, and makes available the pattern choices in combination with the range of choices for orientation typically greater in number than the state-of-the-art. Accordingly, by selecting a combination of pattern and orientation, the user may readily and reliably setup a five-axis machining cycle. For example, if the number of available choices for the patterns is six, and the available choices for orientation is six, the user may choose from 36 combined ways to machine the part. From the point of view of the CAM system development, adding, in this example, one new choice for the orientation means automatically having six new and different machining cycles—one for each existing pattern. 
         [0019]    One of ordinary skill in the art will also appreciate that the modules and functions described herein may be further subdivided, combined, and/or varied and yet still be in the spirit of the embodiments of the invention. In addition, while a number of variations of the invention have been shown and described in detail, other modifications, which are within the scope of this invention, will be readily apparent to those of ordinary skill in the art based upon this disclosure, e.g., the exemplary flowcharts or processes described herein may be modified and varied and yet still be in the spirit of the invention. It is also contemplated that various combinations or subcombinations of the specific features and aspects of the embodiments may be made and still fall within the scope of the invention. Accordingly, it should be understood that various features and aspects of the disclosed embodiments can be combined with or substituted for one another in order to form varying modes of the disclosed invention. Thus, it is intended that the scope of the present invention herein disclosed should not be limited by the particular disclosed embodiments described above.