Abstract: A method and system for computing computerized numerical control (CNC) tool path for turning machines is disclosed. The method comprises creating a two-dimensional part profile and computing an offset of the section of the two-dimensional part profile to be machined. The offset is computed at a distance equal to the tool nose radius. The offset curves are sampled at a predefined number of equally spaced points and a tool is placed oriented according to a preset tool angel at each of the equally space points on the offset curve. Gouge and collision are checked at each point. The tool is further rotated at each gouge and collision in order to avoid gouge or collision if possible. Further, each contiguous point set, where there is still a gouge or collision, is replaced with a convex cover. Finally consecutive points with the same angle or with angles changing at a constant rate are grouped into singles segments thus computing a final CNC tool path. [To be published with Figure 1]
TECHNICAL FIELD
The present disclosure in general relates to a field of Computerized Numerical Control (CNC). More particularly, the disclosure relates to a method and system for computing computerized numerical control (CNC) toolpath for turning machines.
BACKGROUND
Lathe machines are among the first machine tools that are extensively used for turning wood and metal. Lathe machines were responsible for manufacturing of different components or tools that were used to make other machine tools. Presently used lathe machines used in mass production are Computerized Numerical Control (CNC) controlled. The CNC machine requires programming for producing a particular part of the machine. However, use of such CNC machines is time consuming as programming a CNC lathe machine requires lot of manual effort.
Further, while cutting complex parts on the machine, there is a need to implement additional checks to ensure that non-cutting portions of the tool and the holder do not collide with a part stock or with other parts of the machine. Further, during manufacturing, overcutting of the part, known as gouging must also be averted. The typical method to ensure a non-colliding and gouge-free tool path (amongst other considerations) is to iteratively run the program multiple times through a simulator and tweak the program till no more collisions or gouges are observed. Such program running for multiple times in itself is time consuming and may not produce optimal results.
SUMMARY
Before the present method and system for computing computerized numerical control (CNC) toolpath for turning machines, is described, it is to be understood that this application is not limited to the particular system, and methodologies described, as there can be multiple possible embodiments which are not expressly illustrated in the present disclosure. It is also to be understood that the terminology used in the description is for the purpose of describing the particular version or embodiments only and is not intended to limit the scope of the present application. This summary is provided to introduce concepts related to method and system for
computing Computerized Numerical Control (CNC) toolpath for turning machines. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
In one implementation, a method for computing Computerized Numerical Control (CNC) toolpath for turning machines is described. The method comprises creating, a two-dimensional (2-D) part profile, by taking one half of a two-dimensional cross-section of a three-dimensional axisymmetric part through an axis of symmetry. The method further comprises computing, an offset of a section of the 2-D part profile to be machined at a distance equal to the tool nose radius, wherein the offset provides an initial toolpath in form of an offset curve. Further, the method comprises sampling the offset curve at a predefined number of equally spaced points and placing a tool oriented according to a pre-set tool angle at each of the equally spaced point on the offset curve, wherein the tool is oriented within the limits allowed by the machine. The method further may comprise checking, at each point for each of the tool and a holder, a gouge and collision with the part profile to be machined wherein the tool and the holder are rotated to non-colliding orientation in case of the gouge and the collision and rotating the tool at each point expecting one of the gouge or the collision, to bring the tool, into an orientation where there is no gouge or collision, wherein the tool is rotated within the limits allowed by the machine. The method may further comprise replacing, each contiguous set of points with no non-colliding orientation, with a convex cover of contiguous set of points and the convex cover is sampled into a number of equally spaced points. Further, the method comprises repeating, each of the placing, the checking, the rotating and the replacing, for the contiguous points comprising the convex covers to reach a stage of no gouge or collision and grouping, contiguous points into a segment when the contiguous points have the same angle or angles changing monotonically at the same rate. The method further comprises computing, a final CNC toolpath by concatenating in order each of the segments obtained after the grouping.
In one implementation, a system for computing Computerized Numerical Control (CNC) toolpath for turning machines is disclosed. The system comprises a processor and a memory coupled to the processor. The memory stores a plurality of instructions to be executed by the processor. The processor is configured to take one half of a two- dimensional (2 D) cross-section of the three-dimensional axisymmetric part through the axis of symmetry to create a two- dimensional part profile. The processor may be configured to compute, an offset of a section of the part profile to be machined at a distance equal to the tool nose radius and the offset provides an initial toolpath in form of an offset curve. The processor is further configured to sample the offset curve at a number of equally spaced points and place a tool oriented
according to a preferred tool angle at each equally spaced point on the offset curve and the tool is oriented within the limits allowed by the machine. The process may be further configured to check, at each point for each of the tool and a holder, a gouge and collision with the part profile to be machined and rotate the tool at each point where there is a gouge or collision, to bring the tool, if possible, into an orientation where there is no gouge or collision and the tool may be rotated within the limits allowed by the machine. The processor further replaces, each contiguous set of points where there is a gouge or collision, with a convex cover of the same points and the convex cover is sampled into a number of equally spaced points. The processor may be further configured to repeat the steps of the placing, the checking, the rotating and the replacing for the points comprising the convex covers till there are no points where there is a gouge or collision and to group, contiguous points into a segment when the contiguous points have the same angle or angles changing monotonically at the same rate. Further, the processor may compute, a final CNC toolpath by an ordered concatenation of each of the segments obtained after the grouping.
BRIEF DESCRIPTION OF DRAWING
The detailed description is described with reference to the accompanying figures. In the figure, the left-most digit (s) of a reference number identifies the figure in which the reference number first appears. The same number are used throughout the drawings to refer like features and components.
Figure 1 illustrates a network implementation of a system 102 for computing computerized numerical control (CNC) toolpath for machines, in accordance with an embodiment of the present subject matter.
Figure 2 illustrates an architecture of the system 102 for computing computerized numerical control (CNC) toolpath for machines, in accordance with an embodiment of the present subject matter.
Figure 3A illustrates two-dimensional cross-section of a three-dimensional axisymmetric part, in accordance with an embodiment of the present subject matter.
Figure 3B illustrates one half of the axisymmetric cross-section of the part to be machined, in accordance with an embodiment of the present subject matter.
Figure 4A illustrates an offset (curve 2) at tool nose radius, in accordance with an embodiment of the present subject matter.
Figure 4B illustrates an example of sampling of the offset curves at number of equally spaced points.
Figure 5A illustrates tool placed at selected sample points and orientated along the preferred angle, in accordance with an embodiment of the present subject matter.
Figure 5B illustrates selected points where the tool is colliding, in accordance with an embodiment of the present subject matter.
Figure 6A illustrates position of tool after successful rotation to avoid collision, in accordance with an embodiment of the present subject matter.
Figure 6B illustrates an unsuccessful attempt at rotating the tool to avoid collision, in accordance with an embodiment of the subject matter.
Figure 7 A illustrates a convex cover, in accordance with an embodiment of the subject matter.
Figure 7B illustrates regions of contiguous points grouped into a segment, in accordance with an embodiment of the subject matter.
Figure 8 illustrates a method for computerized numerical control (CNC) toolpath for machines, in accordance with an embodiment of the present subject matter.
DETAILED DESCRIPTION
Some embodiment of the present disclosure, illustrating all its features, will now be discussed in detail. The words "including", "comprising", "consisting", "containing", and other forms thereof, are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms "a", "an" and "the" include plural references unless the context clearly dictates otherwise. Although any system and methods similar or equivalent to those described herein can be used in the practice or testing of embodiments of the present disclosure, the exemplary, system and method for computing computerized numerical control (cnc) toolpath for turning machines are now described. The disclosed embodiments of the system and method for computing computerized numerical control (cnc) toolpath for machines are merely exemplary of the disclosure, which may be embodied in various forms.
Various modifications to the embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. However, one
of ordinary skill in the art will readily recognize that the present disclosure for computing Computerized Numerical Control (CNC) toolpath for machines is not intended to be limited to the embodiment illustrated, but is to be accorded the widest scope consistent with principles and features described herein.
Generally, the existing lathe machine are CNC controlled and may be used in mass production of a particular part with minimal variation. Due to wearing of tool and other machined parts, variations are observed in the manufacture products, and thus replacement and maintenance of the tool and other machine parts are required at regular intervals.
The present subject matter addresses a problem for computing Computerized Numerical Control (CNC) toolpath for turning machines by reducing the gouge and collision of the tool.
Referring now to Figure 1, a network implementation 100 of a system 102 computing Computerized Numerical Control (CNC) toolpath for turning machines is disclosed. Although the present subject matter is explained considering that the system 102 is implemented on a server, it may be understood that the system 102 may also be implemented in a variety of computing systems, such as a laptop computer, a desktop computer, a notebook, a workstation, a mainframe computer, a server, a network server, and the like. In one implementation, the system 102 may be implemented over a cloud network. Further, it will be understood that the system 102 may be accessed by multiple users through one or more user devices 104-1, 104-
2 104-N, collectively referred to as user device 104 hereinafter, or applications residing on
the user device 104. Examples of the user device 104 may include, but are not limited to, a portable computer, a personal digital assistant, a handheld device, and a workstation. The user device 104 may be communicatively coupled to the system 102 through a network 106.
In one implementation 106 may be a wireless network, a wired network or a combination thereof. The network 106 may be implemented as one of the different types of networks, such as intranet, local area network (LAN), wide area network (WAN), the internet, and the like. The network 106 may either be a dedicated network or a shared network. The shared network represents an association of the different type of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), and the like, to communicate with one another. Further, the network 106 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices and the like.
In one embodiment, the system 102 may be controlled through one or more devices for computing toolpath for machines. The system 102 may be connected to with the one or more devices through a communication network 106.
Referring now to Figure 2, the system for computing computerized numerical control (CNC) toolpath for turning machines is illustrated in accordance with an embodiment of the present subject matter. In one embodiment, the system 102 may include at least one processor 202, an input/output (I/O) interface 204, and a memory 206. At least one processor 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machine logic circuitries, and/or any device that manipulate signals based on operational instructions. Among other capabilities, at least one processor 202 may be configured to fetch and execute computer-readable instructions stored in the memory 206.
The I/O interface 204 may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like. The I/O interface 204 may allow the system 102 to interact with the user directly or through the user device 104. Further, the I/O interface 204 may enable the system 102 to communication with other computing devices, such as web servers and external data servers (not shown). The I/O interface 204 may facilitate multiple communication within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc, and wireless networks, such as WLAN, cellular, or satellite. The I/O interface 204 may include one or more ports for connecting a number of devices to one another or to another server.
In one implementation, a user may access the system 102 via the I/O interface. The user may be registered using the I/O interface in order to use the system 102. In one aspect, the user may access the I/O interface of the system 102 for obtaining information, providing input information or configuring the system 102.
The memory 206 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. The memory 206 may include data.
The memory 206 is connected to a plurality of modules 208. The system 102 comprises. The system 102 comprises a creating module 212 an offset computing module 214, sampling module 216, tool placing module 218, checking module 220, tool rotating module 222, replacing and repeating module 224 and grouping and computing module 226. The other modules 228 may include programs or coded instructions that supplement applications and function of the system 102.
[0034] The data 210, amongst other things, serve as a database for storing data process, received, and generated by one or more of the modules 208. The 210 may also include a database 228, and other data 230. In one embodiment, the other data 230 may include data generated as a result of the execution of one or more modules in the other modules 226. [0035] In one embodiment, a creating module 212, communicatively coupled the processor 102, may be configured to take one half of a two-dimensional part profile obtained by taking a cross-section of a three-dimensional axisymmetric part through an axis of symmetry of the part. Referring to Figure 3A, illustrates a 2 D cross-section 302 of the part to be machined and axis of rotation and symmetry 304. Figure 3B illustrates one half of the two dimensional (2D) axisymmetric cross-section 306 created by the creating module.
[0036] In one embodiment the computing module 214, communicatively coupled the processor may be configured to compute an offset of a section of the part profile to be machined at a distance equal to a tool nose radius. The offset may provide an initial tool path in form of an offset curve.
[0037] Figure 4A illustrates the offset computed at a distance of tool nose radius. Curve 1 illustrates the original path and curve 2 shows an offset at the tool nose radius. Figure 4A shows the offset of the selected section of the part profile of the part to be machined 404 and further illustrates the nose radius distance 402.
[0038] Once the offset is calculated, the sampling module 216 may be configured to sample the offset curve at a number of equally spaced sampling points. The number of equally spaced sampling points are selected according to each of an available computing power and time taken for computing the CNC toolpath. The number of equally spaced sampling points may additionally include points at a start of the segments and at an end of the segments comprising the original offset profile. Selecting the start points and the end points may preserve corners in the tool path. Further, sampled equally spaced points 406 are illustrated in figure 4B. [0039] In one embodiment tool placing module 218 may be configured to place the tool orientated according to a preferred tool angle at each of the equally spaced points on the offset curve. The orientation of the tool may set according limits allowed by the machine. In some turning machine it may not be possible to rotate the tool at all during cutting but some machines may allow the tool to rotate as much as 45 to 60 degrees in both the clockwise and counter¬clockwise directions during cutting. The preferred tool angle at each of the equally spaced points is an angle normal to the part profile at a point of the equally spaced points and may be comprise a pre-set fixed angle. The tool placed at some selected sample points and orientated along the preferred angle 502 is illustrated in Figure 5A.
8
[0040] In one embodiment checking module 220 may be configured to check at each point for each of the tool and the holder, a gouge and collision with the part profile to be machined. Further, checking for the gouge and collision may additionally involve checking the collision of the tool and the holder with other parts of the CNC machine. The other parts may include chuck and tool rest. Figure 5B illustrates the colliding areas 504 (prospective colliding areas). [0041] In one embodiment a tool rotating module 222 may be configured to rotate the tool at each point (prospective point) of gouge or collision. The rotation may be performed to bring the tool into an orientation where there is no probability of gouge or the collision. The rotation of the tool may be performed according to the limits allowed by the machine. The machine limit may be angle limits and the tools attached to the machine are rotated according to the angle limits. Figure 6A illustrates the rotated position of the tool 602 within the permitted limit such that the tool does not gouge or collide at that particular position. Figure 6B illustrates an exemplary case where the tool may not be rotated within the machine rotation limits to a position where there is no gouge or collision.
[0042] In one embodiment a replacing and repeating module 224 may be configured to replace each contiguous set of points (prospective points of gouge or collision) where there is a gouge or collision with a convex cover of a similar set of points. The convex cover may be sampled into a number of equally spaced points. Further, the convex cover for a set of points may be computed by computing a partial convex hull for the set of points. In case the given set of points comprises of all convex points, then the convex cover for the set of points may be computed by expanding the set of points to include a nearest concave corner.
[0043] Once each contiguous set of points, where there is a gouge or collision, are replaced with a convex cover, the replacing and repeating module may be configured to repeat the each of the step of placing, checking, the rotating and the replacing for the points comprising the convex covers. Repetition of steps may be continued till there is a zero number of prospective points of gouge or collision. Figure 7A illustrate convex cover 702 that may be used to replace the region where non-colliding orientation of the tool may not be found. Figure 7B illustrates grouped contiguous points 704 into a segment corresponding to the same angles.
[0044] In one embodiment grouping and computing module 226 may be configured to group contiguous points into a segment when the contiguous points have the tool at the same angle or at angles changing monotonically at the same rate, that is where the change of tool angle between the points per unit distance remains the same. Further, once the grouping of contiguous point into segment is achieved, the grouping and computing module 226 may further be tuned
9
to compute a final CNC toolpath by concatenating from start to end ordered concatenation each consecutive segment obtained after the grouping.
[0045] Referring now to figure 8, a method 800 for computing the Computerized Numerical Control (CNC) toolpath for machines is disclosed in accordance with an embodiment of the present subject matter. The method 800 may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structure, procedure, modules, functions, and the like, that perform particular functions or implement particular abstract data types. The method 800 may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are lined though a communications network. In a distributed computing environment. Computer executable instructions may be located in both local and remote computer storage media, including memory storage device.
[0046] The order in which the method 800 is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method or alternate methods, Additionally, individual blocks may be deleted from the method 800 without departing from the spirit and scope of the subject matter described herein. Furthermore, the method 800 can be implemented in any suitable hardware, software, firmware, or combination thereof. However, for ease of explanation, in the embodiments described below, the method 800 may be considered to be implemented in the above described system 102.
[0047] At block 802, the two-dimensional part profile may be created by taking one half of the two-dimensional cross-section of the three-dimensional axisymmetric part through an axis of symmetry. In one aspect the machine considered to implement the method may comprise a continuous B-axis CNC machine or the method may be implemented on machine with one of a fixed or non-continuous B-axis CNC machine. .
[0048] At block 804, an offset of the section of the 2-D part profile to be machined at the distance equal to the tool nose radius may be computed. The offset may provide the initial toolpath in form of an offset curve.
[0049] At block 806, the offset curves may be sampled at the predefined number of equally spaced points. The number of equally spaced sampling points may be selected according to each of the available computing power and time taken for computing the CNC toolpath. The number of equally spaced sampling points may additionally include points at the start and end
10
of the segments comprising the original offset profile. Selecting the start and end points may
preserve the corners in the tool path.
[0050] At block 808, the tool may be oriented according to the pre-set tool angle at each of the
equally spaced point on the offset curve. The tool is oriented within the limits allowed by the
machine. The preferred tool angle at each equally spaced points is the angle normal to the part
profile at an equally spaced point from the equally spaced points and may further include the
pre-set fixed angle.
[0051] At block 810, a check for the gouge and collision with the part profile to be machined
at each point for each of the tool and a holder may be performed. The tool and the holder may
be rotated to non-colliding orientation in case of the gouge and the collision. Further, checking
for gouge and collision may additionally involve checking the collision of the tool and holder
with other parts of the CNC machine.
[0052] At block 812, the tool at each point may be rotated expecting one of the gouge or the
collision, to bring the tool, into the orientation where there is no gouge or collision. The tool is
rotated within the limits allowed by the machine.
[0053] At block 814, each contiguous set of points with no non-colliding orientation may be
replaced with the convex cover of contiguous set of points. The convex cover is sampled into
number of equally spaced points. The convex cover for the contiguous set of points may be
computed by computing the partial convex hull for the set of points. In case the given set of
points comprises of all convex points the convex cover for the set of points may be computed
by expanding the set of points to include the nearest concave corner.
[0054] At block 816, each of the placing, the checking, the rotating and the replacing for the
contiguous points comprising the convex covers may be repeated to reach a stage of no gouge
or collision may be repeated.
[0055] At block 818, contiguous points may be grouped into a segment when the contiguous
points have the same tool angle or tool angles changing monotonically at the same rate.
[0056] At block 320, the final CNC tool path may be computed by concatenating from start to
end each consecutive segment obtained after the grouping.
[0057] Exemplary embodiments discussed above may provide certain advantages. Though not
required to practice aspects of the disclosure, the advantages may include those provided by
the following features.
[0058] Some embodiment of the system 102 and the method 300 may provide fast computation
even on older hardware.
[0059] Some embodiment of the system 102 and the method 800 may be simple to implement and may be universal in applicability.
[0060] Some embodiment of the system 102 and the method 800 may have independent nature of computation hence making it possible to execute the most compute intensive parts of the algorithm in parallel on multiple cores of existing multicore processors.
WE CLAIM:
1. A method for computing Computerized Numerical Control (CNC) toolpath for turning
machines, the method comprising:
creating, a two-dimensional (2-D) part profile, by taking one half of a two-dimensional cross-section of a three-dimensional axisymmetric part through an axis of symmetry;
computing, an offset of a section of the 2-D part profile to be machined at a distance equal to a tool nose radius, wherein the offset provides an initial toolpath in form of an offset curve;
sampling the offset curve at a predefined number of equally spaced points;
placing a tool oriented according to a preset tool angle at each of the equally spaced point on the offset curve, wherein the tool is oriented within the limits allowed by the machine;
checking, at each point for each of the tool and a holder, a gouge and collision with the part profile to be machined wherein the tool and the holder are rotated to non-colliding orientation in case of the gouge and the collision;
rotating the tool at each point expecting one of the gouge or the collision, to bring the tool, into an orientation where there is no gouge or collision, wherein the tool is rotated within the limits allowed by the machine;
replacing, each contiguous set of points with no non-colliding orientation, with a convex cover of contiguous set of points; wherein the convex cover is sampled into a number of equally spaced points;
repeating, each of the placing, the checking, the rotating and the replacing, for the contiguous points comprising the convex covers to reach a stage of no gouge or collision
grouping, contiguous points into a segment when the contiguous points have the same tool angle or tool angles changing monotonically at the same rate;
computing, a final CNC toolpath by concatenating consecutive segments obtained after the grouping.
2. The method as claimed in claim 1, wherein the machine comprises a continuous B-axis CNC machine.
3. The method as claimed in claim 1, wherein the machine comprises one of a fixed or non-continuous B-axis CNC machine.
4. The method as claimed in claim 1, wherein the number of equally spaced sampling points are selected according to each of available computing power and time taken for computing the CNC toolpath.
5. The method as claimed in claim 1, wherein the number of equally spaced sampling points include points at each of a start of the segments and end of the segments comprising an original offset profile so that corners in the tool path are preserved.
6. The method as claimed in claim 1, wherein the preset tool angle at each equally space point is an angle normal to the part profile at that the equally space point.
7. The method as claimed in claim 1, wherein the preset tool angle at each equally spaced point is a preselected fixed angle.
8. The method as claimed in claim 1, wherein checking for gouge and collision comprises checking the collision of the tool and holder with one or more parts of the CNC machine.
9. The method as claimed in claim 1, wherein the convex cover for the contiguous set of points is computed by computing the partial convex hull for the set of points.
10. The method as claimed in claim 1, wherein the convex cover for the contiguous set of points is computed by expanding the set of points to include the nearest concave corner, in case the given set of points comprises of all convex points.
11. A system for computing Computerized Numerical Control (CNC) toolpath for machines, the system comprising:
a processor; and
a memory coupled to the processor, wherein the memory stores a plurality of instructions to be executed by the processor, wherein the processor is configured to:
take one half of a two dimensional cross-section of the three-dimensional axisymmetric part through the axis of symmetry to create a two dimensional part profile;
compute, an offset of a section of the part profile to be machined at a distance equal to the tool nose radius, wherein the offset provides an initial toolpath in form of an offset curve;
sample the offset curve at a number of equally spaced points;
place a tool oriented according to a preferred tool angle at each equally spaced point on the offset curve, wherein the tool is oriented within the limits allowed by the machine;
check, at each point for each of the tool and a holder, a gouge and collision with the part profile to be machined;
rotate the tool at each point where there is a gouge or collision, to bring the tool if possible into an orientation where there is no gouge or collision, wherein the tool is rotated within the limits allowed by the machine;
replace, each contiguous set of points where there is a gouge or collision, with a convex cover of the same points; wherein the convex cover is sampled into a number of equally spaced points;
repeat the steps of the placing, the checking, the rotating and the replacing for the points comprising the convex covers till there are no points where there is a gouge or collision;
group, contiguous points into a segment when the contiguous points have the same tool angle or tool angles changing monotonically at the same rate;
compute, a final CNC toolpath by an concatenation consecutive segments obtained after the grouping.
12. The system as claimed in claim 11, wherein the number of equally spaced sampling points are selected according to each of available computing power and time taken for computing the CNC toolpath.
13. The system as claimed in claim 11, wherein the number of equally spaced sampling points additionally includes points at the start and end of the segments comprising the original offset profile so that corners in the tool path are preserved.
14. The system as claimed in claim 11, wherein the preferred tool angle at each equally space point is the angle normal to the part profile at that point.
15. The system as claimed in claim 11, wherein the preferred tool angle at each equally spaced point is any particular fixed angle.
16. The system as claimed in claim 11, wherein checking for gouge and collision additionally involves checking the collision of the tool and holder with other parts of the CNC machine.
17. The system as claimed in claim 11, wherein a convex cover for a set of points is computed by computing the partial convex hull for the set of points.
18. The system as claimed in claim 11, wherein a convex cover for a set of points is computed by expanding the set of points to include the nearest concave corner, in case the given set of points comprises of all convex points.
| # | Name | Date |
|---|---|---|
| 1 | 202011024435-CLAIMS [23-05-2022(online)].pdf | 2022-05-23 |
| 1 | 202011024435-STATEMENT OF UNDERTAKING (FORM 3) [10-06-2020(online)].pdf | 2020-06-10 |
| 1 | 202011024435-US(14)-ExtendedHearingNotice-(HearingDate-01-05-2025)-1230.pdf | 2025-04-30 |
| 2 | 202011024435-Correspondence to notify the Controller [22-04-2025(online)].pdf | 2025-04-22 |
| 2 | 202011024435-CORRESPONDENCE [23-05-2022(online)].pdf | 2022-05-23 |
| 2 | 202011024435-REQUEST FOR EXAMINATION (FORM-18) [10-06-2020(online)].pdf | 2020-06-10 |
| 3 | 202011024435-FER_SER_REPLY [23-05-2022(online)].pdf | 2022-05-23 |
| 3 | 202011024435-FORM-26 [22-04-2025(online)].pdf | 2025-04-22 |
| 3 | 202011024435-REQUEST FOR EARLY PUBLICATION(FORM-9) [10-06-2020(online)].pdf | 2020-06-10 |
| 4 | 202011024435-POWER OF AUTHORITY [10-06-2020(online)].pdf | 2020-06-10 |
| 4 | 202011024435-OTHERS [23-05-2022(online)].pdf | 2022-05-23 |
| 4 | 202011024435-FORM-26 [08-04-2025(online)].pdf | 2025-04-08 |
| 5 | 202011024435-US(14)-HearingNotice-(HearingDate-01-05-2025).pdf | 2025-04-02 |
| 5 | 202011024435-FORM-9 [10-06-2020(online)].pdf | 2020-06-10 |
| 5 | 202011024435-FER.pdf | 2021-12-14 |
| 6 | 202011024435-Proof of Right [24-11-2021(online)].pdf | 2021-11-24 |
| 6 | 202011024435-FORM 18 [10-06-2020(online)].pdf | 2020-06-10 |
| 6 | 202011024435-CLAIMS [23-05-2022(online)].pdf | 2022-05-23 |
| 7 | 202011024435-FORM 13 [09-07-2021(online)].pdf | 2021-07-09 |
| 7 | 202011024435-FORM 1 [10-06-2020(online)].pdf | 2020-06-10 |
| 7 | 202011024435-CORRESPONDENCE [23-05-2022(online)].pdf | 2022-05-23 |
| 8 | 202011024435-FER_SER_REPLY [23-05-2022(online)].pdf | 2022-05-23 |
| 8 | 202011024435-FIGURE OF ABSTRACT [10-06-2020(online)].jpg | 2020-06-10 |
| 8 | 202011024435-POA [09-07-2021(online)].pdf | 2021-07-09 |
| 9 | 202011024435-DRAWINGS [10-06-2020(online)].pdf | 2020-06-10 |
| 9 | 202011024435-OTHERS [23-05-2022(online)].pdf | 2022-05-23 |
| 9 | 202011024435-Proof of Right [12-08-2020(online)].pdf | 2020-08-12 |
| 10 | 202011024435-COMPLETE SPECIFICATION [10-06-2020(online)].pdf | 2020-06-10 |
| 10 | 202011024435-DECLARATION OF INVENTORSHIP (FORM 5) [10-06-2020(online)].pdf | 2020-06-10 |
| 10 | 202011024435-FER.pdf | 2021-12-14 |
| 11 | 202011024435-COMPLETE SPECIFICATION [10-06-2020(online)].pdf | 2020-06-10 |
| 11 | 202011024435-DECLARATION OF INVENTORSHIP (FORM 5) [10-06-2020(online)].pdf | 2020-06-10 |
| 11 | 202011024435-Proof of Right [24-11-2021(online)].pdf | 2021-11-24 |
| 12 | 202011024435-DRAWINGS [10-06-2020(online)].pdf | 2020-06-10 |
| 12 | 202011024435-FORM 13 [09-07-2021(online)].pdf | 2021-07-09 |
| 12 | 202011024435-Proof of Right [12-08-2020(online)].pdf | 2020-08-12 |
| 13 | 202011024435-POA [09-07-2021(online)].pdf | 2021-07-09 |
| 13 | 202011024435-FIGURE OF ABSTRACT [10-06-2020(online)].jpg | 2020-06-10 |
| 14 | 202011024435-FORM 1 [10-06-2020(online)].pdf | 2020-06-10 |
| 14 | 202011024435-FORM 13 [09-07-2021(online)].pdf | 2021-07-09 |
| 14 | 202011024435-Proof of Right [12-08-2020(online)].pdf | 2020-08-12 |
| 15 | 202011024435-COMPLETE SPECIFICATION [10-06-2020(online)].pdf | 2020-06-10 |
| 15 | 202011024435-FORM 18 [10-06-2020(online)].pdf | 2020-06-10 |
| 15 | 202011024435-Proof of Right [24-11-2021(online)].pdf | 2021-11-24 |
| 16 | 202011024435-DECLARATION OF INVENTORSHIP (FORM 5) [10-06-2020(online)].pdf | 2020-06-10 |
| 16 | 202011024435-FER.pdf | 2021-12-14 |
| 16 | 202011024435-FORM-9 [10-06-2020(online)].pdf | 2020-06-10 |
| 17 | 202011024435-OTHERS [23-05-2022(online)].pdf | 2022-05-23 |
| 17 | 202011024435-POWER OF AUTHORITY [10-06-2020(online)].pdf | 2020-06-10 |
| 17 | 202011024435-DRAWINGS [10-06-2020(online)].pdf | 2020-06-10 |
| 18 | 202011024435-FIGURE OF ABSTRACT [10-06-2020(online)].jpg | 2020-06-10 |
| 18 | 202011024435-REQUEST FOR EARLY PUBLICATION(FORM-9) [10-06-2020(online)].pdf | 2020-06-10 |
| 18 | 202011024435-FER_SER_REPLY [23-05-2022(online)].pdf | 2022-05-23 |
| 19 | 202011024435-CORRESPONDENCE [23-05-2022(online)].pdf | 2022-05-23 |
| 19 | 202011024435-FORM 1 [10-06-2020(online)].pdf | 2020-06-10 |
| 19 | 202011024435-REQUEST FOR EXAMINATION (FORM-18) [10-06-2020(online)].pdf | 2020-06-10 |
| 20 | 202011024435-CLAIMS [23-05-2022(online)].pdf | 2022-05-23 |
| 20 | 202011024435-FORM 18 [10-06-2020(online)].pdf | 2020-06-10 |
| 20 | 202011024435-STATEMENT OF UNDERTAKING (FORM 3) [10-06-2020(online)].pdf | 2020-06-10 |
| 21 | 202011024435-FORM-9 [10-06-2020(online)].pdf | 2020-06-10 |
| 21 | 202011024435-US(14)-HearingNotice-(HearingDate-01-05-2025).pdf | 2025-04-02 |
| 22 | 202011024435-FORM-26 [08-04-2025(online)].pdf | 2025-04-08 |
| 22 | 202011024435-POWER OF AUTHORITY [10-06-2020(online)].pdf | 2020-06-10 |
| 23 | 202011024435-FORM-26 [22-04-2025(online)].pdf | 2025-04-22 |
| 23 | 202011024435-REQUEST FOR EARLY PUBLICATION(FORM-9) [10-06-2020(online)].pdf | 2020-06-10 |
| 24 | 202011024435-Correspondence to notify the Controller [22-04-2025(online)].pdf | 2025-04-22 |
| 24 | 202011024435-REQUEST FOR EXAMINATION (FORM-18) [10-06-2020(online)].pdf | 2020-06-10 |
| 25 | 202011024435-STATEMENT OF UNDERTAKING (FORM 3) [10-06-2020(online)].pdf | 2020-06-10 |
| 25 | 202011024435-US(14)-ExtendedHearingNotice-(HearingDate-01-05-2025)-1230.pdf | 2025-04-30 |
| 26 | 202011024435-Written submissions and relevant documents [15-05-2025(online)].pdf | 2025-05-15 |
| 27 | 202011024435-PatentCertificate20-05-2025.pdf | 2025-05-20 |
| 28 | 202011024435-IntimationOfGrant20-05-2025.pdf | 2025-05-20 |
| 1 | search(12)E_18-11-2021.pdf |