This invention relates to methods and systems for generating cutting paths. In particular, but not exclusively, the invention relates to methods of making generation of cutting paths more efficient and/or capable of being performed by machine tools.
Computer Numerically Controlled (CNC) machines are well known. Such CNC machines typically control a material remover and include milling machines having various numbers of axes about which the material remover can be moved. In such milling machines, the material remover is a rotating element that is moved across the block of material from which a part is being manufactured.
As such, the CNC machine has, what may be referred to as, a cutting path programmed into it along which the material remover is moved. It will be appreciated that the length of time that it takes to make a part from the block of material is governed by the length of the path and the speed at which the material remover is moved along that path. Thus, the more efficiently the path can be planned then the quicker the part can be manufactured.
In particular,
The cutting conditions of the material remover 204 are mostly affected by the spindle speed N, the feedrate F and the amount of material the tool is removing which is defined by the depth of cut d and the stepover s. It will be seen that stepover s is measured in a radial direction of the cutting tool whereas the depth of cut is measured in an axial direction of the cutting tool.
It is common practice to adapt these values depending on the properties of a block of material 202 being machined (nature of the material, its hardness, etc.) but also depending on the properties of the material remover 204 (tool size and shape, material it is made of, number of teeth, etc.). Tool manufacturers (ie manufacturers of the material remover 204) typically provide charts detailing the maximum safe parameter values that can be used for a specific material remover 204 when cutting a block of material 202 of a given type.
Embodiments can achieve efficient machining of a particular part by setting these values so as to remove as much material as possible in the least possible amount of time. Common sense dictates that this equates to finding a combination of the parameters outlined in relation to
The measure of stepover s only unambiguously defines the cutting conditions when the material remover 204 is moving in a substantially straight line. Therefore another parameter traditionally used to describe cutting conditions is the tool engagement angle (a). The engagement angle is a more robust measure, when compared to the stepover s, in that it also applies when the material remover 204 follows a curved cutting path.
b illustrates the relationship between the tool radius R, the stepover s and the engagement angle a in linear milling. A limit for a material remover 204 traditionally used in the industry is its maximum engagement angle: for a given material being machined, manufacturers of the material remover 204 usually provide a maximum tool engagement angle beyond which safe cutting conditions are not guaranteed.
From the mathematical relationship between stepover s, tool radius R and engagement angle a it follows that, given a model to fabricate 150, there is a single path that can be followed to cut that particular profile while maintaining the tool engagement angle at its maximum acceptable value.
However, there are other limitations that need to be accounted for to efficiently machine a part using cutting paths that lie within the machine tool's 200 dynamic limitations. The skilled person will know that, as for any machine with moving parts, the speed and acceleration a given machine tool 200 are limited by the characteristics of that machine tool 200.
Running a machine tool 200 too close to its physical limitations is not generally wanted either as it can cause it to wear out more quickly in addition to having other side effects such as excessive noise or vibrations detrimental to the working environment.
According to a first aspect of the invention there is provided a method of generating a plurality of cutting paths for a material remover of a machine tool arranged to have a stepover between cutting paths which when executed cause at least a portion of an article to be manufactured, the method comprising at least one of the following:
Such a method is advantageous since it may allow the material remover of a machine tool subsequently used to machine the article to be moved at a substantially constant feedrate whilst allowing cutting path length to be reduced, if not minimised, and also helps to ensure that the engagement of the material remover does not exceed a predetermined value (specified by nominal stepover in a straight line or by an angle of engagement). Typically, corners of a model cause problems for the material removers of a machine tool in that there is often problem material left adjacent the corner which is often not efficiently removed. As such, a further advantage of embodiments of the invention is that it processes this problem material more efficiently by removing it progressively between the subsets of cutting paths.
Thus, embodiments of the invention may vary the number of cutting paths within a subset around the paths. In turn, the number of backfill passes used between subsets of cutting paths may be varied around the paths.
Generally, the stepover is measured in a radial direction of the cutting tool.
Steps a and b of the method may be performed in an iterative manner. That is an offset, perhaps referred to as an initial offset, may be created together with an associated subset of cutting paths before a further offset is created.
The method may provide a user with a model generator which allows him/her to create the model of the article to be manufactured.
The method may be arranged to process 3D models. In particular, the method could work on non-planar 2D surfaces. In such embodiments the method could be applied on 2-manifold mathematical surfaces such as implicit surfaces (eg cylinders, cones) or parametric surfaces (eg NURBS).
The method may provide an offset generator arranged to generate the offsets.
Conveniently, the method is arranged to set a minimum cutting radius which sets the radius of curvature below which the material remover cannot follow a cutting path reliably.
Some embodiments of the invention may set an initial offset at a predetermined distance from the perimeter of the model of the article to be manufactured. In particular, this initial offset may be a predetermined multiple of the stepover distance.
Additionally, the initial offset may also include a multiple of a predetermined minimum cutting radius.
The method may perform a double offset, in which an offset is performed in a first direction from a perimeter of the model before a further offset is performed in a second direction, typically opposite the first. Such double offsets are advantageous because it ensures that any material remover that follows a path generated by the method is not caused to try and cut below the minimum cutting radius. Thus, in some of the embodiments described above, the initial and further offsets are created in a first direction from the perimeter of the model and the cutting paths are created, by offsetting, in the second direction from the initial and further offset.
The method may generate a predetermined number of cutting paths within a subset. A cutting path generator may be provided to generate the cutting paths.
In alternative, or additional, embodiments the method may vary the number of cutting paths within a subset. In some embodiments, the number of cutting paths within a subset may be varied according to an angle of a corner of the model.
The method may use a calculation to determine the number of cutting paths within a subset. Alternatively, the method may use a set of empirical rules to determine the number of cutting paths per sub set.
The backfill cutting paths may be of a variety of different forms. The backfill cutting paths may for example be trochoidal, Bezier curves, circular, ellipses or the like.
According to a second aspect of the invention there is provided a method of fabricating an article, the method comprising generating a plurality of cutting paths for a material remover of a machine tool arranged to have a stepover between cutting paths and the method further comprising at least one of the following:
According to a third aspect of the invention there is provided a processing apparatus comprising processing circuitry arranged to do at least one of the following:
According to a fourth aspect of the invention there is provided a machine-tool comprising processing circuitry, wherein the processing circuitry is arranged to:
According to a fifth aspect of the invention there is provided a machine readable medium containing instructions which when read by a machine cause that machine to:
According to a sixth aspect of the invention there is provided a method of generating a plurality of cutting paths for a material remover of a machine tool which when executed cause at least a portion of an article to be manufactured, the method comprising at least one of the following:
Embodiments providing such an aspect of the invention are believed advantageous because they allow the feedrate of the material remover to be kept at a higher speed than otherwise would be the case without overloading the material remover and/or machine tool. As such, the chance of damage to the material remover and/or machine tool is reduced whilst improving the quality of the machining that is performed. It is possible to view the angle of engagement of the material remover as a function of the shape of the work-piece and the skilled person will appreciate that the shape of the work piece is a function of the previous cutting path. As such, controlling the shape of the previous cutting path may be used to control the current angle of engagement.
The method may repeat steps a and b, replacing the current path in step a with the previous path in each iteration such that the preceding path (n−1th) being assessed in step b becomes the path preceding the preceding path (n−2th) of the previous iteration. As such, embodiments of the invention may start processing the plurality of cutting paths with the last one to be executed and work toward the first one to be executed. Such an arrangement is convenient since latter paths are planned upon material which is present and as such to determine what material the current path is processing a determination of what material the previous path has left in place is made.
Conveniently, the method may increase the radius of curvature of portions of the preceding cutting path if is determined that the angle of engagement falls above the predetermined angle.
The method may ensure that each of the cutting paths is tangent continuous. That is, the method may obtain the tangent (ie the first derivative) of the curve of the cutting path and determine whether that is continuous for that cutting path. Such a step is convenient because it can help to ensure that a machine tool can perform that cutting path.
Some embodiments of the method may be arranged to insert further portions of a cutting path to ensure that the cutting path is tangent continuous. These further portions of a cutting path may be inserted if it is determined that the curve is not tangent continuous. In some embodiments, the further portions of the cutting path may be tangents to a curved portion of the cutting path. In other embodiments, the further portions may themselves be curved portions.
According to a seventh aspect of the invention there is provided a method of fabricating an article, the method comprising generating a plurality of cutting paths for a material remover of a machine tool and the method further comprising at least one of the following:
According to an eighth aspect of the invention there is provided a processing apparatus comprising processing circuitry arranged to perform at least one of the following:
According to a ninth aspect of the invention there is provided a machine-tool comprising processing circuitry, wherein the processing circuitry is arranged to perform at least one of the following:
According to a tenth aspect of the invention there is provided a machine readable medium containing instructions which when read by a machine cause that machine to:
The machine readable medium of any of the aspects of the invention may comprise any one or more of the following: a floppy disk, a CDROM, a DVD ROM/RAM (including +RW, −RW), an HD DVD, a BLU Ray disc, a hard drive, a non-volatile memory, any form of magneto optical disk, a wire, a transmitted signal (which may comprise an internet download, an ftp transfer, or the like), or any other form of computer readable medium.
According to a eleventh aspect of the invention there is provided an object produced by the method of any of the above aspects of the invention.
The skilled person will appreciate that a feature described in relation to any of the above aspects of the invention may be applied, mutatis mutandis, to any of the other aspects of the invention.
There now follows, by way of example only, a description of embodiments of the present invention of which:
a schematically illustrates a material remover of a machine tool highlighting various parameters;
b illustrates further parameters associated with the material remover of
a illustrates features of an internal pocket to be machined in relation to a material remover;
b illustrates a first stage in a method of determining a series of cutting paths;
a illustrates features of a further internal pocket to be machined in relation to a material remover;
b shows the first stage in a second embodiment of the method in which an initial offset is generated;
The computer system of
The graphics system 113 comprises a dedicated graphics processor arranged to perform some of the processing of the data that it is desired to display on the display 102. Such graphics systems 113 are well known and increase the performance of the computer system by removing some of the processing required to generate a display from the processing unit 112.
It will be appreciated that although reference is made to a memory 116 it is possible that the memory could be provided by a variety of devices. For example, the memory may be provided by a cache memory, a RAM memory, a local mass storage device such as the hard disk 114, any of these connected to the processing circuitry 104 over a network connection. However, the processing unit 112 can access the memory via the system bus 120 to access program code to instruct it what steps to perform and also to access data to be processed. The processing unit 112 is arranged to process the data as outlined by the program code.
A schematic diagram of the memory 114,116 of the computer system is shown in
The program storage portion 122 comprises a model generator 152 which is used, by a user, to generate a model of an object 150 to be fabricated. In the embodiment being described the model generator 152 is provided by CAM (Computer Aided Manufacture) software such as the PowerMILL™ package provided by the applicant although other packages are equally possible.
The program storage portion 122 may comprise portions of code which provide:
In one embodiment of the invention, there is provided a CNC milling machine 200 (an example of a machine tool) as shown in
In other embodiments, the CNC milling machine 200 may be controlled by a separate processing circuitry which receives data from the processing circuitry 104. In yet further embodiments, the machine may be a machine other than a milling machine.
Thus, the processing circuitry 104 is arranged to control the material remover 204 to follow a cutting path which causes the material remover 204 to move relative to the block of material 202 thereby causing an article represented by the model, or at least a portion thereof, to be manufactured.
Referring back to
However, as the material remover 204 moves around a curved cutting path, the equation to calculate the material remover engagement angle (eg the cutter engagement angle) a becomes more complex, and referring to
For completeness, equation B2 can be derived as follows (which uses notation highlighted on
Some embodiments of the invention try to maintain the same tool engagement around a curved cutting path as would be the case when cutting along a substantially straight cutting path. As such, equations B1 and B2 can be rearranged to express the stepover s for cutting a curve in terms of the straight-line stepover s0:
The second degree equation can be solved as follows:
Solution s1 should be excluded as it may give a result greater than the tool diameter and as such the acceptable solution is:
Embodiments of the invention can use equation B3 to calculate the radius of successive cutting paths in order to maintain the stepover s as desired. The above equations determine the stepover from a circular segment. Other embodiments may use different determinations for segments which are not circular or may use one or more circular approximations to the non-circular segment.
Thus, looking at
then equation (B3) becomes
Thus, and using the method of determining radii illustrated in
a illustrates that to machine an internal pocket 700, a material remover 204 is moved around an nth cutting path 701 which removes, in the straight regions (eg 703) of the nth cutting path 701 material of up to a width of the stepover s.
Turning to
The second step, illustrated with reference to
In the example/embodiment being described, the value of R (the radius of the material remover 204) is set to 12 mm and the value of the stepover is taken to be 7 mm Since the radii of the perimeter of the internal pocket 700 are known (values are given as rn in the following table), the values of rn-1 can be determined:
Circles having these radii are marked on
Once the circles per corner A-E have been determined then the method merges the perimeters of the A to E with the proto-cutting path 702 (ie the n−1th path) determined in the first step of the method and the resultant merged cutting path 900 is shown in
Once the nth path has been processed then the method repeats such that it is the n−1th which is considered as the current cutting path and the n−2th cutting path is considered as the preceding cutting path. This process continues until the method considers each of the cutting paths used to machine the pocket 700 or the method breaks down as described in relation to
Some embodiments of the invention may further process the merged cutting path 900 in order to help ensure that the cutting path is tangent continuous which is typically processed better by machine tools 200. This may be thought of as a fourth step of the method and helps to ensure that junctions between the circles A to E are smoothly merged into the proto cutting path 702 (ie the n−1th path). The skilled person will appreciate that discontinuities between the two will make it difficult for machine tools 200 to follow.
In some circumstances, the circles generated in the second stage of the method as described in relation to
Embodiments of the invention may be arranged to modify the creation of the modified cutting path in order to take into account the situation shown in
The discontinuities can be smoothed as previously described. However, other embodiments of the invention may employ other techniques, one of which is illustrated with the aid of
The method described in relation to
The description in relation to
As such, it will be seen that the embodiments being described herein no longer try to keep the angle of engagement a of the material remover 204 at a constant value.
Thus, embodiments that achieve points i) and ii) whilst minimising iii) should machine a part as quickly/efficiently as possible.
a shows a material remover 204 machining an internal pocket 2001 by moving along an nth cutting path 2002. Again, the material remover 204 removes material to a width of the stepover s in straight regions of the cutting path 2002.
It will be seen that in the embodiment being described, the internal pocket 2001 comprises five internal corners including one substantially 90° corner. The skilled person will appreciate that a rotary material remover, such as the material remover 204, cannot cut squares as shown in the Figure but the method described in relation to
For the following method a stepover (s) and minimum radius of curvature (rmin) are set and used to calculate the cutting path for the material remover 204. Each of the minimum cutting radius rmin and stepover s may be set according to a variety of factors including: the machine tool 200 being utilised, the nature of the block of material 202, the material remover 204, and the like.
The method generates a cutting tool path for the material remover 204; ie a path along which the material remover 204 is moved in order to machine the desired shape (ie the part) from the block of material 202. In the embodiment being described, the cutting tool path comprises a series of paths around the block of material 202 which comprises a plurality of subsets of cutting paths, in which each pass of the material remover 204 around the block of material 202 is separated from the next by a predetermined stepover (ie s). Between each subset, the amount of material to be removed can differ from s (ie is too great an amount to be removed in a single pass of the material remover 204) in some regions along the cutting tool path.
Thus, the final cutting path that is generated comprises what may be thought of as a series of subsets of offsets interleaved with backfill cutting paths which are used to remove the material which cannot be removed in a single pass from between the subsets of cutting paths. The skilled person will appreciate that such backfill moves are not efficient and as such there is a desire to use as few as possible of these.
The backfill moves may take various forms and in the embodiment being described are circular paths. However, in other embodiments the backfill moves may be trochoidal paths, Bezier curves, ellipses, circles or the like.
A first stage of this method, as shown in
The initial offset 2004 is created by offsetting the nth cutting path 2002 inwards by a radius r1=rmin+k×s, where k is an integer greater than zero and may be termed a predetermined multiple of the stepover distance. This radius r1 may be thought of as being a predetermined distance from the perimeter.
Once the initial offset has been created, as described in relation to
A skilled person will appreciate how to generate the cutting paths 2100,2102,2104, which are seen to have rounded corners, from the square initial offset 2004. However, for the avoidance of doubt one method that can be used to generate such a cutting path is to trace the outer perimeter of a disc as that disc is rotated around the square shape of the initial offset 2004.
Thus, it will be seen that the cutting paths within a subset are, what may be termed, a double offset; they are produced by offset in a first direction (in this case inwards from the nth cutting path 2002) and then by offsetting in a second direction opposite from the first (in this outwards towards the nth cutting path 2002). Embodiments which use such a double offset have the advantage that the cutting paths have no sharp corners.
Returning to the creation of the initial offset 2004, then
In some embodiments, the number of cutting paths in a subset of cutting curves is initially selected and set to a predetermined value; ie there are a predetermined number of cutting paths in a subset. In the embodiment being described then the number of cutting paths per subset has been set at 3; ie n=3. Setting n=3 results in the selection of the initial offset 2300 together with the further offsets 2302, 2304, 2306 all as shown in
With n set to 3 as in the embodiment being described then the offsets, as shown in
Once the initial offset 2300 and the further offsets 2302-2306 have been generated then a subset of cutting paths is generated starting from either the initial offset 2300 or the further offsets 2302-2306. It will be seen that in this embodiment that because the number of cutting paths per subset was set at three (ie n=3) there are three cutting paths per subset; for example see subset 2400 in
However, it will be seen that between the subsets of cutting paths (eg at 2402, 2404) there are regions where the gap between neighbouring cutting paths in neighbouring subsets are greater than the stepover s. As such, should the material remover 204 be made to simply follow the paths shown in
A further example of a subset of cutting paths is highlighted at 2406. It will be appreciated that each cutting path within a subset is separated from each other cutting path (ie each neighbouring cutting path) in the subset by the stepover s for the length of the cutting path. However, to exemplify that gap can be larger than the stepover along at least a portion of the cutting paths length it can be seen that a first cutting path of one subset will be separated from the last cutting path of a neighbouring subset by a distance greater than the stepover. Looking at
It will also be noted that in this embodiment, the method generates a set of offsets 2300, 2302, 2304, 2306, which although constant around the model are generated for each corner region of the model. Cutting paths created for each of the corner regions are subsequently joined to form the cutting paths, eg 2408.
Thus, looking at
It should also be noted that the number of backfill passes used to clear material from between subsets of cutting paths varies around the cutting paths. For example, in the region of corner F it can be seen that six backfill cutting paths 2003 are used to clear the material between subsets (which themselves comprise three cutting paths). In the region of corner J, a single backfill cutting path 2003a is inserted between subsets of cutting paths (which themselves comprise three cutting paths). In the region of corner I, two backfill cutting paths 2003b are inserted between subsets of cutting paths (which themselves comprise three cutting paths).
Thus, the embodiment described in relation to
Once the set of cutting paths have been generated then a data file may be created 3310 arranged to drive a machine tool 200. A final step 3312, it is of course possible to drive the machine tool 200 to produce the part by causing the material remover 204 to follow the cutting paths that have been generated.
b to 22 describe a method in which an arbitrary number of cutting paths per subset is decided and in the embodiment described, this number was set to three (ie n=3). Such embodiments are perhaps computationally simple to implement, quicker to process, etc., but the selection of the number of cutting paths per subset may not be optimal in some corner regions. Selection of a sub-optimal number of cutting paths, in some embodiments, can lead to inefficient use of backfill passes in that the material remover 204 may remove less material than it could leading to longer cutting times. Secondly, sharp convex corners (ie those less than 90°; perhaps less than 75°; perhaps less than 50°) may need an un-necessarily large number of backfill passes which can lead to longer return moves at the back of these and again can lead to an increase in machining time since the material remover 204 is not cutting material on these back moves.
As such, some embodiments of the invention may locally optimise the number of cutting paths per subset in the region of different corners of the nth cutting path 2002.
Looking at
The gap (g) between subsets can be expressed as a function of the angle α and the number of paths in a subset as follows:
g=d(c1,c2)+r−(r+(n−1)×s)
The distance between points C1 and C2 is given as follows:
Combining these two equations it then follows that:
Extracting the function k:
This can be re-arranged to give g:
g=k
α(n)×s+s
In order to fill the gap g it is desired to use m backfill cutting paths such that the maximum space between consecutive backfill cutting paths does not exceed the stepover s, so that the number of backfill cutting paths is given by:
where the notation [x] represents the ceiling function (ie the smallest integer not less than x).
And the remainder of the gap once m backfill cutting paths have been inserted is naturally:
δ=g−m×s=([kα(n)]−kα(n))
In order to generate as efficient a toolpath as possible, the remainder should be as close as possible to the nominal stepover s. So in a given corner forming an angle α, the method finds the best possible number of consecutive segments n in a series so as to minimize the following function:
F
α(n)=[kα(n)]−kα(n)
To provide some examples:
In other embodiments, the gap g, as illustrated in
As was described in relation to
The initial step to locally optimize the number of segments in a subset is to be able and identify the separate convex corner regions of a given perimeter.
Other embodiments may achieve the same result using alternative offset methods. For instance an offset method arranged to keep references to the original spans from which it generates offsets could be used to identify corners on the construction curve.
The empirical rules may then be used as above to determine the number of cutting paths per subset in the region of each corner. Thus, in the region of corner F it can be seen that a single cutting path per subset has been determined (and as such each of the further initial offsets is used); in the region of corner G only the initial offset is required; in the region of corner H two further offsets are utilised; in the region of corner I six further offsets are required; and in the region of corner J one further offset is required. Thus, it will be seen that the number of offsets utilised per corner, in addition to the initial offset, differs according to the angle of the corner. These remaining offsets are illustrated on
Thus, it will be seen that the method generates a set of offsets (e.g. the set 3008 in the region of corner F) from the nth cutting path for each corner region F-J of the model.
Once the number of further offsets per corner F to J has been determined as per
Accordingly, it will be seen that in the region of corner J there are six cutting paths per subset 3000, 3002. In the region of corner I there are two cutting paths per corner; in the region of corner H there are four cutting paths per subset; in the region of corner G there is ten cutting paths in the single subset; and in the region of corner F there is a single cutting path per subset.
For example, in the region of corner J there are generated two subsets of cutting paths 3000, 3002. The first of these subsets 3000 is generated from the initial offset 3004 and the second of the subsets 3002 is generated from the further offset 3006. The initial offset 3004 and the further offset 3006 are shown, for ease, on
Next, the cutting paths generated as described in relation to
Once the cutting paths have been joined, then the backfill cutting paths are added in order to remove material in-between the subsets of cutting paths (eg 2402, 2404).
Again, in other embodiments, the backfill cutting paths may be generated as the method proceeds in the generation of the cutting paths. The completed set of cutting paths, including the subsets of cutting paths and the backfill cutting paths is shown in
As such, looking at the cutting paths within the region of corner J, it can be seen that there are six cutting paths within a subset 2698 and that a single backfill cutting path 2700 is inserted between subsets. Looking at the subsets in the region of corner I, it can be seen that there are two cutting paths per subset 2702, 2704, with a single backfill 2706 cutting path inserted between subsets. Looking at the subsets within the region of corner F, it can be seen that there is a single cutting path 2708 per subset with two backfill passes 2710, 2712 inserted between subsets.
Thus, it will be seen that in this embodiment, the number of cutting paths within a subset are varied according to the angle of the corner. Also, the embodiment varies the number of backfill cutting paths between each subset.
Thus, it will be seen that the final cutting paths shown in
Number | Date | Country | Kind |
---|---|---|---|
1121277.6 | Dec 2011 | GB | national |