Machining program correction device
The machining program correction device addresses the challenge of multiple machining processes on a single surface by classifying and correcting command points to generate accurate estimated machining surfaces, enhancing machining precision and accuracy.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2024-12-04
- Publication Date
- 2026-06-11
Smart Images

Figure JP2024042811_11062026_PF_FP_ABST
Abstract
Description
Processing Program Correction Device
[0001] The present disclosure relates to a device for correcting a processing program.
[0002] For the purpose of shortening cycle time, improving machining accuracy, or improving surface quality, the tool path may be corrected. Correction of the processing program for correcting the tool path, that is, recreation or modification of the processing program, is usually performed using a CAM, an interactive programming device, or a text editor by referring to the shape data of the target workpiece. Regarding the correction of the processing program accompanying the correction of the tool path, Patent Document 1 discloses a technique for generating a curved path between command points and correcting the tool path in consideration of the allowable range therewith. Further, Patent Document 2 discloses a polygon generation system that can be used when estimating the shape of a workpiece from a processing program.
[0003] International Publication WO2020 / 179798 Gazette, Japanese Patent Application Laid-Open No. 11-339071 Gazette
[0004] By the way, when there is no CAD data of the target workpiece or a document for knowing the target shape at the processing site, it is usually difficult to make changes such as changing the target tolerance, changing the pick feed, and changing the path pattern. Note that the path pattern refers to the movement pattern of the tool.
[0005] Therefore, it is conceivable to extract a command point group from the processing program and generate an estimated machining surface. Then, it is conceivable to correct the processing program based on the generated estimated machining surface. Specifically, it is conceivable to move, add, or delete command points so that the distance from the estimated machining surface falls within a predetermined range, and correct the processing program.
[0006] However, in finish machining where the depth of cut is extremely fine, command point groups of different machining processes may be concentrated on one surface of the workpiece. In this case, the accuracy of the estimated machining surface may decrease. Further, when the accuracy of the estimated machining surface decreases, the accuracy of the correction of the tool path also decreases accordingly.
[0007] Therefore, the present invention aims to provide a machining program correction device that can generate a highly accurate estimated machining surface even when multiple machining processes exist on a single surface.
[0008] The machining program correction device of this disclosure is a machining program correction device that commands the relative movement path between a tool and a workpiece and corrects a machining program used in a numerical control device, comprising: a machining program analysis unit that analyzes the machining program and extracts a command point cloud; a process-specific command point cloud classification unit that classifies the command point cloud according to machining processes; an estimated machining surface generation unit that generates an estimated machining surface for each classified process-specific command point cloud; a tool path correction unit that corrects the tool path by moving, adding or deleting command points in the corresponding process-specific command point cloud based on the distance between the estimated machining surface and the corresponding process-specific command point cloud; and a machining program output unit that converts the tool path corrected by the tool path correction unit into a machining program and outputs it.
[0009] The machining program correction device of this disclosure makes it possible to provide a machining program correction device that can generate a highly accurate estimated machining surface even when multiple machining processes exist on a single surface.
[0010] Figure 1 is a block diagram showing the schematic configuration of a machining program correction device according to Embodiment 1 of the present disclosure. Figure 2 is a diagram showing a part of the estimated machining surface generation procedure in Embodiment 1. Figure 3 is a diagram following Figure 2, showing a part of the estimated machining surface generation procedure, etc. Figure 4 is a diagram following Figure 3, showing an overview of the output of the corrected machining program. Figure 5 is a block diagram showing the schematic configuration of a machining program correction device according to Embodiment 2 of the present disclosure. Figure 6 is a diagram showing a part of the estimated machining surface generation procedure in Embodiment 2. Figure 7 is a diagram following Figure 6, showing a part of the estimated machining surface generation procedure, etc. Figure 8 is a diagram following Figure 7, showing an overview of the correction of the command point group of the final machining process. Figure 9 is a diagram following Figure 8, showing an overview of the output of the corrected machining program. Figure 10 is a block diagram showing the schematic configuration of a machining program correction device according to Embodiment 3 of the present disclosure. Figure 11 is a block diagram showing the schematic configuration of a machining program correction device according to Embodiment 4 of the present disclosure. Figure 12 is a diagram showing a part of the estimated machining surface acquisition procedure in Embodiment 3. Figure 13 is a flowchart showing the processing flow of the machining program correction method of the present disclosure.
[0011] (Embodiment 1) Embodiments of the present disclosure will be described with reference to the drawings. Figure 1 is a block diagram showing the schematic configuration of the machining program correction device 10 of Embodiment 1 of the present disclosure. The machining program correction device 10 of the present disclosure is a device that corrects a command point based on the distance from the command point to the estimated machining surface generated from the command point, and thereby corrects the tool path. The machining program correction device 10 can be realized by one or more computer devices having, for example, memory, a processor, an input / output interface, etc., and executing an appropriate processing program. Alternatively, the machining program correction device 10 may be realized as a function of other computer devices such as a management computer that manages a machine tool that executes a machining program, a CAM that creates a machining program, or a numerical control device that executes a machining program.
[0012] As shown in Figure 1, the machining program correction device 10 comprises a machining program analysis unit 12, an estimated machining surface generation unit 14, a tool path correction unit 16, and a machining program output unit 18. In the machining program correction device 10, the machining program analysis unit 12, the estimated machining surface generation unit 14, the tool path correction unit 16, and the machining program output unit 18 are connected in this order.
[0013] The machining program analysis unit 12 is the part that analyzes the machining program 22 and extracts the command point cloud. The machining program 22 is input to the machining program analysis unit 12 from outside the machining program correction device 10.
[0014] The estimated machining surface generation unit 14 is the part that generates an estimated machining surface from the command point group extracted by the machining program analysis unit 12.
[0015] The tool path correction unit 16 is the part that corrects the tool path by moving, adding, or deleting command points based on the distance to the estimated machining surface generated by the estimated machining surface generation unit 14.
[0016] The machining program output unit 18 converts the tool path corrected by the tool path correction unit 16 into a machining program and outputs it. The machining program generated by converting the corrected tool path is called the corrected machining program 24. The machining program output unit 18 outputs the corrected machining program 24 to the outside of the machining program correction device 10.
[0017] The machining program correction device 10 of this embodiment further includes a process-specific command point cloud classification unit 121. The process-specific command point cloud classification unit 121 is provided in the machining program analysis unit 12 of the machining program correction device 10. The process-specific command point cloud classification unit 121 is the part that classifies the command point cloud according to the machining process. This will be explained in order below.
[0018] (Overview of Machining Program Correction) The overview of machining program correction in the machining program correction device 10 of this embodiment is as follows.
[0019] Assume that a surface has multiple machining processes set for it. In other words, assume that the surface is formed by multiple machining processes. First, extract the command point group for each machining process from the machining program. The extraction of the command point group for each machining process is performed based on the sequence number, comments, arbitrary modal information, tool type, information about the machining mode, and information about the position of the command point included in the machining program.
[0020] Next, estimated machined surfaces are generated for each machining process. These estimated machined surfaces are generated from the extracted command point clouds for each machining process. Then, tool path corrections are performed for each generated estimated machined surface. The following is a detailed explanation with reference to the drawings.
[0021] (Example 1) An example of the present disclosure using the machining program correction device 10 of Embodiment 1 will be described with reference to Figures 2 to 4. Figure 2 is a diagram showing a part of the procedure for generating the estimated machined surface 90 in Embodiment 1. Figure 3 is a diagram following Figure 2 and shows a part of the procedure for generating the estimated machined surface 90, etc. Figure 4 is a diagram following Figure 3 and shows an overview of the output of the corrected machining program 24.
[0022] In the example shown in Embodiment 1, the correction performed by the tool path correction unit 16 involves moving, adding, or deleting command points so that the command points fall within a predetermined tolerance. The extraction of the command point group 30 from the machining program 22 will be explained with reference to Figure 2. In Figure 2, the procedure for generating the estimated machining surface 90 proceeds in the order of arrows 211 to 213.
[0023] The following explanation and drawings only show exemplary examples of a portion of the machining program 22, a portion of the command point group 30 included in the machining program 22, and consequently, a portion of the command points 32 included in the machining program 22.
[0024] Furthermore, Example 1 shows two processing steps: Processing Step 1 and Processing Step 2. However, the contents described below also apply when there are three or more processing steps.
[0025] The program list 201 in Figure 2 shows the machining program 22 before correction. The machining program 22 includes a first machining program 221 and a second machining program 222. The first machining program 221 is the machining program 22 corresponding to machining step 1. The second machining program 222 is the machining program 22 corresponding to machining step 2.
[0026] The procedure for generating the estimated machined surface 90 is as follows: First, the machining program analysis unit 12 reads the machining program 22. Alternatively, the machining program 22 is input to the machining program analysis unit 12.
[0027] Next, the machining program analysis unit 12 analyzes the machining program 22 and extracts command point groups. In the example shown in Figure 2, the machining program analysis unit 12 extracts command points for the G01 block of the machining program 22.
[0028] Table 202 in Figure 2 shows a command point list 23 indicating the extracted command point group 30. The command point group 30 is composed of multiple command points 32. The command point group 30 includes command points from command point n-2 to command point n+16. These command points are command points extracted from the processing program 22, which is the source of command points 32. The positions of command points 32 are indicated by coordinates in the XYZ coordinate system.
[0029] Plot 203 in Figure 2 shows the extracted command point group 30, specifically the command points 32 included in the command point group 30, plotted at their corresponding coordinates in the XYZ coordinate system. Note that the XYZ coordinate systems shown in other figures have the same orientation as the XYZ coordinate system shown in Figure 2.
[0030] Figure 3 shows the procedure following arrow 213 in Figure 2. In Figure 3, the procedure proceeds in the order of arrow 213, and then from arrow 321 to arrow 323.
[0031] Following the extraction of the command point group 30, the command point group 30 is classified from the machining program 22 according to the machining process that forms the surface. The classification of the command point group 30 is performed by analyzing the machining program 22. The classification of the command point group 30 is performed by the process-specific command point group classification unit 121 of the machining program analysis unit 12.
[0032] Plot 311 in Figure 3 shows the classified command point groups 30 for each process that forms a surface. Plot 311 shows two command point groups 30: a first command point group 301 and a second command point group 302. The first command point group 301 is the command point group 30 corresponding to processing process 1. The second command point group 302 is the command point group 30 corresponding to processing process 2.
[0033] The machining program correction device 10 of this embodiment includes a process-specific command point cloud classification unit 121. The process-specific command point cloud classification unit 121 identifies the machining process that forms the surface. The process-specific command point cloud classification unit 121 classifies the command point cloud 30 that forms the surface for each machining process by analyzing the machining program 22, etc.
[0034] In Example 1, we illustrate a case where the process-specific command point cloud classification unit 121 identifies the process for forming a surface based on the processing mode included in the processing program 22. The processing mode can be determined by the description corresponding to "G8.1Px" in the processing program 22.
[0035] In Example 1, as shown in the program list 201 in Figure 2, the first machining program 221, which is the machining program 22 for machining process 1, has "G8.1P1" written as the machining mode. On the other hand, the second machining program 222, which is the machining program 22 for machining process 2, has "G8.1P2" written as the machining mode.
[0036] Therefore, the process-specific command point group classification unit 121 identifies the processing process that forms the surface based on the processing mode described in the processing program 22, and classifies the command point group 30 for each processing process. Plot 311 in Figure 3 shows the results of this classification.
[0037] Thus, the machining program correction device 10 of this embodiment includes a process-specific command point group classification unit 121, which allows for the classification of command point groups for each machining process that forms a surface.
[0038] Furthermore, the classification of the command point group 30 for each processing step that forms a surface, and the extraction of the command point group 30 for each processing step that forms a surface, by the process-specific command point group classification unit 121, are not limited to being based on the processing mode.
[0039] The process-specific command point cloud classification unit 121 can, for example, extract and classify the command point cloud 30 for each machining process that forms a surface, based on the sequence number, comment text, modal information, tool type, machining mode, or command point position information, as described above.
[0040] (Tool Path) Each classified command point group 30 defines a tool path 60. The tool path 60 is the path obtained by sequentially connecting the command points 32 included in each command point group 30. The tool path 60 indicates the path along which the tool used in machining moves.
[0041] Plot 311 shows two tool paths 60. The tool path 60 corresponding to the first command point group 301 is called the first tool path 601. The tool path 60 corresponding to the second command point group 302 is called the second tool path 602. The first tool path 601 is the tool path corresponding to machining process 1. The second tool path 602 is the tool path corresponding to machining process 2.
[0042] (Generation of estimated machined surfaces) Next, estimated machined surfaces 90 are generated for each command point group 30 classified according to the machining process that forms the surface. The generation of the estimated machined surfaces 90 is performed by the estimated machined surface generation unit 14. The surface display 312 in Figure 3 shows the generated estimated machined surfaces 90.
[0043] The surface display 312 shows two estimated machining surfaces 90: a first estimated machining surface 901 and a second estimated machining surface 902. The first estimated machining surface 901 is the estimated machining surface 90 generated for the first command point group 301. The second estimated machining surface 902 is the estimated machining surface 90 generated for the second command point group 302. In other words, the first estimated machining surface 901 is the estimated machining surface 90 corresponding to machining process 1. The second estimated machining surface 902 is the estimated machining surface 90 corresponding to machining process 2.
[0044] Note that the method for generating the estimated machining surface 90 from the command point group 30 is not particularly limited. For example, the estimated surface machining can be generated from the point group using the technique shown in Patent Document 2.
[0045] (Correction of command point group) Next, for the generated estimated machining surface 90, the command point group 30 corresponding to the estimated machining surface 90 is corrected so that the distance from the estimated machining surface 90 falls within a predetermined range. The correction of the command point group 30 is performed by the tool path correction unit 16. The command point group 30 is composed of a plurality of command points 32. Therefore, the correction of the command point group 30 is performed by correcting the command points 32 included in the command point group 30.
[0046] The plot 313 in FIG. 3 shows the corrected command point group 30. In the plot 313, two corrected command point groups 30 of the first corrected command point group 303 and the second corrected command point group 304 are shown. The first corrected command point group 303 is the command point group 30 after correcting the first command point group 301. The second corrected command point group 304 is the command point group 30 after correcting the second command point group 302.
[0047] Also, in the plot 313, two corrected tool paths 60 of the first corrected tool path 603 and the second corrected tool path 604 are shown. The first corrected tool path 603 is the tool path corresponding to the first corrected command point group 303. The second corrected tool path 604 is the tool path corresponding to the second corrected command point group 304.
[0048] That is, the first corrected tool path 603 is the corrected tool path for the machining step 1. The second corrected tool path 604 is the corrected tool path for the machining step 2.
[0049] (Tolerance) As described above, in the example shown in the first embodiment, the content of the correction by the tool path correction unit 16 is to move, add, or delete the command points 32 so that the command points 32 fall within a predetermined tolerance.
[0050] (Addition of Command Points) Plot 313 shows existing command points 321 and new command points 322. Existing command points 321 are command points 32 that were included in the command point group 30 before correction. New command points 322 are command points 32 that were newly added during the correction. In the example shown in Embodiment 1, the content of the correction is to ensure that the command points fall within a predetermined tolerance. Therefore, if, for example, the spacing of existing command points 321 does not meet the predetermined tolerance before the correction, new command points 322 are added between those existing command points 321. This makes it possible to ensure that the command points 32 fall within the predetermined tolerance.
[0051] When adding a new command point 322, the command point 32 is added to the generated estimated machining surface 90 such that the distance from the estimated machining surface 90 falls within a predetermined range. In other words, the command point 32 is added based on the distance between the estimated machining surface 90 and the command point group 30 corresponding to each machining process, or more specifically, the command point 32 included in the command point group 30.
[0052] Furthermore, if the correction performed by the tool path correction unit 16 is to correct the command point so that it falls within a predetermined tolerance, then, in addition to adding command points, the command points may also be moved and added as appropriate, depending on the position of the existing command point 321, etc.
[0053] Furthermore, correcting the command point so that it falls within a predetermined tolerance is one example of correction performed by the tool path correction unit 16. The correction performed by the tool path correction unit 16 is not limited to matters related to tolerance. The correction performed by the tool path correction unit 16 can include various matters such as changes to the pick feed and changes to the path pattern.
[0054] Next, the corrected tool path 60 is inserted into the machining program 22 and output as the corrected machining program 24. This will be explained with reference to Figure 4. Figure 4 shows the procedure following arrow 323 in Figure 3. In Figure 4, the procedure proceeds in the order of arrows 323 and 411.
[0055] The command point list 23 after the addition of command point 32, that is, the command point list 23 showing the corrected command point group 30, is called the corrected command point list 25. The machining program 22 after the addition of command point 32, that is, the corrected machining program 22, is called the corrected machining program 24. Table 401 in Figure 4 shows the corrected command point list 25. Program list 402 in Figure 4 shows the corrected machining program 24. The tool path 60 corresponding to the corrected command point group 30 is converted into the corrected machining program 24 and output from the machining program correction device 10. The conversion to the corrected machining program 24 and the creation of the corrected machining program 24 are performed by the machining program output unit 18. This will be explained below.
[0056] The corrected command point list 25 shows two command point groups 30: the first corrected command point group 303 and the second corrected command point group 304. In addition, the command points 32 shown in the corrected command point list 25 have new command points 322 added to the existing command points 321. The command points n-1', n+1', n-12', and n+13' shown in bold in the corrected command point list 25 are the new command points 322 added by the tool path correction unit 16. The first corrected command point group 303 has two new command points 322 added: command points n-1' and n+1'. The second corrected command point group 304 has two new command points 322 added: command points n-12' and n+13'.
[0057] The corrected machining program 24 shown in the program list 402 of Figure 4 is obtained by the machining program output unit 18 converting the corrected tool paths corresponding to the first corrected command point group 303 and the second corrected command point group 304 shown in the corrected command point list 25 into a machining program.
[0058] The corrected machining program 24 includes two machining programs: a first corrected machining program 241 and a second corrected machining program 242. The first corrected machining program 241 is output as a machining program in which the corrected tool path corresponding to the first corrected command point group 303 has been converted. The second corrected machining program 242 is output as a machining program in which the corrected tool path corresponding to the second corrected command point group 304 has been converted.
[0059] In the first post-correction machining program 241 and the second post-correction machining program 242, the lines written in bold are the programs corresponding to the newly added command points 322, command points n-1', n+1', n-12', and n+13'.
[0060] As shown in the corrected command point list 25, the corrected command point group 30 is constructed by inserting the command points 32 added by the correction into the command points 32 from before the correction. Similarly, as shown in the corrected machining program 24, the corrected machining program 22, that is, the corrected machining program 24, is constructed by inserting the program added by the correction into the program from before the correction.
[0061] The processing program output unit 18 outputs the converted corrected processing program 24, and the series of processes is completed.
[0062] (Embodiment 2) The machining program correction device 10 of Embodiment 2 of the present disclosure will be described with reference to Figure 5. Figure 5 is a block diagram showing the schematic configuration of the machining program correction device of Embodiment 2 of the present disclosure. The following description will focus on the differences from the machining program correction device 10 of Embodiment 1. Matters not specifically described for Embodiment 2 can be the same as in Embodiment 1.
[0063] As shown in Figure 5, the machining program correction device 10 of Embodiment 2 differs from the machining program correction device 10 of Embodiment 1 in that the machining program analysis unit 12 includes a final process command point cloud discrimination unit 122 in addition to the process-specific command point cloud classification unit 121.
[0064] The final process command point cloud discrimination unit 122 is the part that identifies the command point cloud 30 for the final processing process from among multiple processing processes that form a single surface, based on the command point clouds 30 for each processing process classified by the process-specific command point cloud classification unit 121, using information such as the line information of the processing program 22, the sequence number described in the processing program 22, comment text, modal information, tool type, processing mode, or command point position information.
[0065] The final process command point cloud discrimination unit 122 is located downstream of the process-specific command point cloud classification unit 121 in the processing program analysis unit 12.
[0066] Furthermore, in the machining program correction device 10 of this embodiment, the process-specific command point cloud classification unit 121 may identify multiple machining processes that form a single surface from the command point cloud 30 for each machining process classified by the process-specific command point cloud classification unit 121, using any of the information described in the machining program 22, such as the sequence number, comment text, modal information, tool type, machining mode, or command point position information. This identification of multiple machining processes that form a single surface may be performed by the machining program analysis unit 12, and in particular, for example, the process-specific command point cloud classification unit 121.
[0067] (Example 2) An example of the present disclosure using the machining program correction device 10 of Embodiment 2 will be described with reference to Figures 6 to 9. In the following description of Example 2, the differences from Example 1 will be the main focus. Matters not specifically described in Example 2 can be the same as in Example 1.
[0068] In Example 2, multiple processing steps that form a single surface are identified from the command point group 30 for each processing step that forms the surface.
[0069] In Example 1, as explained with reference to plot 311 in Figure 3, the machining program correction device 10 classified the command point group 30 for each machining process that forms a surface. In Example 2, in addition to classifying the command point group 30 for each machining process that forms a surface, multiple machining processes that form a single surface are identified.
[0070] As mentioned above, various types of information can be referenced to identify multiple machining processes that form a single surface, including sequence numbers, comments, modal information, tool types, machining modes, or command point position information. In Example 2, the overlap of command point position information is used to determine whether each machining process that forms a surface is a single machining process that forms a single surface.
[0071] As described above, in Example 2, each processing step that forms a surface is identified and classified. Then, the processing step that forms one surface is identified.
[0072] The explanation will be given with reference to plot 311 in Figure 3. In the example shown in plot 311 of Figure 3 in Example 1, the process-specific command point cloud classification unit 121 identifies that among the processing processes included in the processing program 22, processing process 1 and processing process 2 are processes that form a surface. In Example 2, the process-specific command point cloud classification unit 121 identifies whether the processing processes it has identified as processes that form a surface are processes that form the same surface.
[0073] Specifically, in the example shown in plot 311 of Figure 3, it is determined whether processing steps 1 and 2 are processes that form a single surface. This determination is made based on the overlap of the positional information of the respective command points of processing steps 1 and 2.
[0074] This will be explained with reference to Figure 6. Figure 6 is a diagram illustrating an example of identifying multiple machining processes that form a single surface based on the overlap of positional information of command points. Specifically, Figure 6 shows how machining processes 1 and 2, which have been classified as machining processes that form a surface, are judged to determine whether or not they are machining processes that form a single surface.
[0075] Plot 621 in Figure 6 shows the command point group 30 and tool path 60 for machining processes 1 and 2, which are classified as machining processes that form a surface. The first command point group 301 and the first tool path 601 correspond to machining process 1. The second command point group 302 and the second tool path 602 correspond to machining process 2.
[0076] Table 622 in Figure 6 shows the command point list 23. The command point list 23 includes two command point groups 30: a first command point group 301 and a second command point group 302. The first command point group 301 is the command point group 30 corresponding to machining process 1. The second command point group 302 is the command point group 30 corresponding to machining process 2.
[0077] In Example 1, the command point list 23 shown in Table 202 of Figure 2 did not specify the command point group 30, and consequently the command point 32, corresponding to each processing step. In contrast, the command point list 23 shown in Table 622 of Figure 6 specifies the first command point group 301, which corresponds to processing step 1, and the second command point group 302, which corresponds to processing step 2. This is because the command point group 30 corresponding to each processing step is specified in the process of classifying the command point group 30 for each processing step that forms a surface.
[0078] Furthermore, the position of each command point 32 included in the command point group 30 is indicated by coordinates in the XYZ coordinate system. Therefore, the overlap of the positions of each command point 32 included in the command point group 30 is determined. In other words, the coordinates of the command point 32 in the XYZ coordinate system are used as the position information of the command point, and the overlap of their positions is determined.
[0079] In this way, based on the overlap of the positional information of the respective command points 32 of processing step 1 and processing step 2, it is determined whether or not processing step 1 and processing step 2 are processing steps that form a single surface.
[0080] As shown in Table 622 of Figure 6, the XYZ coordinates of the six command points 32 from command point n-2 to command point n+3 in machining process 1 are the same as the XYZ coordinates of the six command points 32 from command point n+11 to command point n+16 in machining process 2. In other words, the positional information of machining process 1 and machining process 2 overlap. Therefore, machining process 1 and machining process 2 can be identified as machining processes that form a single surface. This disclosure is presented as an example of identifying multiple machining processes that form a single surface based on the overlap of the positional information of command points, and is not limited to this. For example, identification may be based only on the overlap of XY coordinates, and this may vary depending on the embodiment.
[0081] Figure 7 shows the procedure following arrow 631 in Figure 6. In the subsequent procedure, the command point group 30 for the final machining process is determined. In Figure 7, the procedure proceeds in the order of arrows 631 and 731.
[0082] As shown in plot 621 of Figure 6, after determining the multiple processing steps that form a single surface, the command point group 30 for the final processing step is identified from among those processing steps. This will be explained with reference to Figure 7.
[0083] The determination of the command point group 30 for the final machining process is performed by the final machining process command point group determination unit 122 of the machining program analysis unit 12. When determining the command point group 30 for the final machining process from multiple machining processes that constitute one surface, the information referenced may include, as described above, line information of the machining program 22, sequence numbers, comment statements, modal information, tool type, machining mode, or command point position information, as well as various other types of information. The following description of Embodiment 2 describes an example in which the final machining process is identified from the machining mode of the machining program 22.
[0084] There are various machining modes, such as speed-prioritizing modes and shape-prioritizing modes. Within these modes, the order of machining can sometimes be inferred from their content. For example, in a shape-prioritizing mode, the machining process in the shape-prioritizing mode is likely to occur later than in the speed-prioritizing mode. This is because machining in the shape-prioritizing mode is often performed as the final finishing stage of the machining process.
[0085] Therefore, in cases where there are multiple machining processes that constitute a single surface, and one machining process is a shape-prioritizing machining mode while the other machining processes are speed-prioritizing machining modes, the machining process that is in the shape-prioritizing machining mode can be determined to be the final machining process.
[0086] In the example shown in Figure 6, there are two machining processes, machining process 1 and machining process 2, which constitute a single surface. Machining process 1 is a speed-prioritizing machining mode, and machining process 2 is a shape-prioritizing machining mode. In this case, machining process 2 is determined to be the final machining process.
[0087] Plot 721 in Figure 7 shows processing step 2, which was determined to be the final processing step.
[0088] The machining mode can be determined, for example, from the description in the machining program 22. In the machining program 22 shown in the program list 201 of Figure 2, the description "G8.1P1" indicates that the machining process is in a speed-priority machining mode. On the other hand, the description "G8.1P2" in the machining program 22 indicates that the machining process is in a shape-priority machining mode.
[0089] Therefore, the final process command point group discrimination unit 122 determines that the processing process 2, which has "G8.1P2" written in the processing program 22, is the final processing process. In other words, the final process command point group discrimination unit 122 determines that the second command point group 302, which is the command point group 30 corresponding to processing process 2, is the command point group 30 of the final process.
[0090] Next, the estimated machining surface of the command point group 30 for the final machining process is generated. The generation of the estimated machining surface 90 from the command point group 30 can be done in the same way as in Example 1. The surface display 722 in Figure 7 shows the second estimated machining surface 902, which is the estimated machining surface 90 of the command point group 30 for machining process 2.
[0091] After generating the estimated machining surface 90, the command point group 30 that forms the estimated machining surface 90 of the final machining process is corrected. This will be explained with reference to Figure 8. Figure 8 is a diagram showing the correction of the command point group. In Embodiment 2, as in Embodiment 1, the content of the correction by the tool path correction unit 16 is to move, add, or delete command points so that they fit within the tolerance. Note that the content of the correction is not limited to matters related to tolerance.
[0092] In Example 2, the command point group 30 corresponding to the final machining step is corrected so that the distance from the estimated machining surface 90 of the final machining step falls within a predetermined range.
[0093] In Example 1, as shown in plots 311 and 313 of Figure 3, the command point group 30 was corrected for both the first command point group 301 corresponding to machining process 1 and the second command point group 302 corresponding to machining process 2. In contrast, in Example 2, the command point group that forms the estimated machined surface of the final machining process is corrected. In the example shown in Figure 8, machining process 2 is the final machining process. Therefore, only for machining process 2, the corresponding second command point group 302 is corrected.
[0094] The correction method can be the same as in Example 1, which was described with reference to Figure 3. Plot 821 in Figure 8 shows the second command point group 302 of machining process 2 before correction. Plot 822 in Figure 8 shows the command point group 30 of machining process 2 after correction, that is, the second corrected command point group 304. In Figure 8, the procedure proceeds in the direction of arrow 831.
[0095] Figure 8 corresponds to a diagram extracted from Figure 3 that shows the information related to processing step 2. In other words, the second command point group 302 for processing step 2 shown in plot 821 of Figure 8 is the same as the second command point group 302 for processing step 2 shown in plot 311 of Figure 3. Also, the second corrected command point group 304 for processing step 2 shown in plot 822 of Figure 8 is the same as the second corrected command point group 304 for processing step 2 shown in plot 313 of Figure 3.
[0096] After correcting the command point group 30, the corrected command point group 30, i.e., the corrected tool path 60, is inserted into the machining program 22 and output as the corrected machining program 24.
[0097] The explanation will be given with reference to Figure 9. Figure 9 shows the procedure following arrow 832 in Figure 8. Figure 9 shows the corrected command point list 25 and the corrected machining program 24. In Figure 9, the procedure proceeds in the order of arrows 832 and 931.
[0098] Table 921 in Figure 9 shows the corrected command point list 25, which includes the corrected command point group 30. Program list 922 in Figure 9 shows the corrected machining program 24.
[0099] Figure 9 corresponds to Figure 4 of Example 1. In Example 2, only the final machining process is targeted, and the corresponding command point group 30 is corrected. Therefore, the contents shown in Figure 9 correspond to the contents in Figure 4 of Example 1, where machining process 1 is not corrected, and only machining process 2 is corrected.
[0100] In the corrected command point list 25 shown in Table 921 of Figure 9, the command point 32 included in the first command point group 301 corresponding to the machining process 1 is the same as the command points n-2 to n+3 shown in Table 202 of Figure 2.
[0101] In contrast, in the corrected command point list 25 shown in Table 921 of Figure 9, the command points 32 included in the command point group 30 corresponding to machining process 2 are the same as the command points n-12' and n+13' shown in Table 202 of Figure 2, from command points n+11 to n+16. In other words, the command points 32 included in the command point group 30 corresponding to machining process 2 are the same as the corrected command point group 30 corresponding to machining process 2 shown in Table 401 of Figure 4.
[0102] Next, the corrected command point group 30, that is, the corrected tool path 60, is output as the corrected machining program 24. The program list 922 in Figure 9 shows the corrected machining program 24. Similar to the corrected command point group 30 described above, the corrected machining program 24 is the same as the pre-machining program for machining process 1, and only the corrected machining program is used for machining process 2.
[0103] (Embodiments 3 and 4) The machining program correction device 10 of Embodiments 3 and 4 of the present disclosure will be described with reference to Figures 10 and 11. Figure 10 is a block diagram showing the schematic configuration of the machining program correction device of Embodiment 3 of the present disclosure. Figure 11 is a block diagram showing the schematic configuration of the machining program correction device of Embodiment 4 of the present disclosure. The following description will focus on the differences from the machining program correction device 10 of Embodiment 1 described above. Matters not specifically described for Embodiments 3 and 4 can be the same as in Embodiment 1.
[0104] As shown in Figure 10, the machining program correction device 10 of Embodiment 3 differs from the machining program correction device 10 of Embodiment 1 in that it includes an estimated machining surface output unit 151. The estimated machining surface output unit 151 is provided in the machining program correction device 10 between the estimated machining surface generation unit 14 and the tool path correction unit 16. The estimated machining surface output unit 151 is the part that outputs one or more estimated machining surfaces 90 generated by the estimated machining surface generation unit 14.
[0105] Furthermore, a display 160 connected to the machining program correction device 10 may be provided. The display unit 160 is the part that displays the estimated machining surface 90 output by the estimated machining surface output unit 151. In the example shown in Figure 10, the display unit 160 is provided separately from the machining program correction device 10. However, the location where the display unit 160 is provided is not limited to the example shown in Figure 10. The display unit may be provided, for example, in the machining program correction device 10 or the like.
[0106] As shown in Figure 11, the machining program correction device 10 of Embodiment 4 further includes a correction estimated machining surface acquisition unit 152 in addition to the parts of the machining program correction device 10 of Embodiment 3 shown in Figure 10. The correction estimated machining surface acquisition unit 152 is the part that acquires the estimated machining surface 90 to be corrected based on the estimated machining surface 90 output by the estimated machining surface output unit 151. The correction estimated machining surface acquisition unit 152 inputs the estimated machining surface 90 to be corrected to the tool path correction unit 16. Alternatively, the correction estimated machining surface acquisition unit 152 may input information about the estimated machining surface 90 to be corrected to the tool path correction unit 16.
[0107] (Example 3) Referring to Figure 12, Example 3 of the present disclosure using the machining program correction device 10 of Embodiment 4 will be described. In the following description of Example 3, the differences from Example 1 will be the main focus. Matters not specifically described in Example 3 can be done in the same way as in Example 1.
[0108] In Example 3, unlike Example 1, the estimated machining surface 90 generated by the estimated machining surface generation unit 14 is output to the outside of the machining program correction device 10 by the estimated machining surface output unit 151. The user then selects and acquires the estimated machining surface 90 to be corrected from the outputted estimated machining surface 90. The acquisition of the selected estimated machining surface 90 to be corrected is performed by the corrected estimated machining surface acquisition unit 152.
[0109] Figure 12 shows the procedure for obtaining the estimated machined surface 90 to be corrected in Example 3. In Figure 12, the procedure proceeds in the order of arrows 1211 and 1212.
[0110] First, estimated machined surfaces 90 are generated for each machining process. The surface display 1201 in Figure 12 is the same as the surface display 312 in Figure 3 described in Example 1. The surface display 1201 in Figure 12 shows the estimated machined surfaces 90 generated for each machining process. Specifically, the surface display 1201 in Figure 12 shows the first estimated machined surface 901 for machining process 1 and the second estimated machined surface 902 for machining process 2. The first estimated machined surface 901 and the second estimated machined surface 902 are generated in the same manner as in Example 1.
[0111] Next, the generated estimated machined surface 90 is output. The surface display 1201 in Figure 12 shows the state in which the generated estimated machined surface 90 has been output. The output of the estimated machined surface 90 is performed by the estimated machined surface output unit 151. The outputted estimated machined surface 90 may be displayed on a display unit 160 provided separately from the machining program correction device 10. Note that the display unit on which the outputted estimated machined surface 90 is displayed may be provided, for example, in the machining program correction device 10.
[0112] In the example shown in the surface display 1201 of Figure 12, the first estimated machining surface 901 for machining process 1 and the second estimated machining surface 902 for machining process 2 are output and displayed.
[0113] Next, the user is asked to select and acquire the estimated machining surface 90 to be corrected from the outputted estimated machining surface 90. The acquisition of the estimated machining surface 90 to be corrected is performed by the corrected estimated machining surface acquisition unit 152. The user's selection of the estimated machining surface 90 to be corrected may be done, for example, via the display unit 160. The user can select an appropriate estimated machining surface depending on the situation, such as the final machining process or a machining process that prioritizes shape.
[0114] The surface display 1202 in Figure 12 is output and shows, for example, the first estimated machining surface 901 corresponding to machining process 1 and the second estimated machining surface 902 corresponding to machining process 2, as displayed on the display unit. Next, for example, in such a display, the user is asked to select the estimated machining surface 90 to be corrected from the outputted estimated machining surfaces 90. The surface display 1203 in Figure 12 shows an example in which the user has selected the second estimated machining surface 902 for machining process 2 as the estimated machining surface 90 to be corrected. The corrected estimated machining surface acquisition unit 152 may acquire, that is, understand, that the user has selected the second estimated machining surface 902 as the estimated machining surface 90 to be corrected. Alternatively, the corrected estimated machining surface acquisition unit 152 may acquire the estimated machining surface 90 to be corrected based on the estimated machining surface 90 output by the estimated machining surface output unit 151. The corrected estimated machining surface acquisition unit 152 then outputs the acquired information to the tool path correction unit 16.
[0115] After obtaining the estimated machined surface 90 to be corrected, the corrected machining program 24 can be obtained in the same manner as in Example 2. In Example 2, the estimated machined surface 90 was generated from the command point group 30 of the final machining step from multiple machining steps that constitute one surface, and the command point group 30 was corrected based on the generated estimated machined surface 90 to obtain the corrected machining program 24. In contrast, in Example 3, the command point group 30 corresponding to the estimated machined surface 90 selected by the user from the outputted estimated machined surface 90 is corrected to obtain the corrected machining program 24.
[0116] In Example 3, for the estimated machining surfaces 90 selected by the display unit 160 from among the generated estimated machining surfaces 90, the command point group 30 corresponding to the estimated machining surface 90 is corrected so that the distance to the estimated machining surface 90 falls within a predetermined range. That is, only the command point group 30 that form the selected estimated machining surface 90 is corrected.
[0117] Next, the corrected command point group 30, i.e., the tool path 60, is inserted into the machining program 22 and output as the corrected machining program 24. In other words, the corrected command point group 30 is inserted into the machining program 22 and the corrected machining program 24 is output. This completes the processing of Embodiment 3.
[0118] The above description of Embodiment 3 was based on the assumption that the machining program correction device 10 of Embodiment 4 is equipped with a corrected estimated machining surface acquisition unit 152. However, the above description of Embodiment 3 can also be performed using the machining program correction device 10 of Embodiment 3, which is not equipped with a corrected estimated machining surface acquisition unit 152. If the corrected estimated machining surface acquisition unit 152 is not provided, information regarding the selected estimated machining surface 90 to be corrected can be input to the machining program correction device 10, such as the tool path correction unit 16.
[0119] The machining program correction device 10 may be configured using a computer equipped with memory such as ROM (read-only memory) or RAM (random access memory), a CPU (Control Processing Unit), and a communication control unit, all connected to each other via a bus. The functions and operations of each of the above-mentioned functional units are achieved through the cooperation of the CPU, memory, and control programs stored in the memory installed in the computer. The machining program correction device 10 may also be configured using a CNC (Computer Numerical Controller) or a PLC (Programmable Logic Controller), and may be connected to a higher-level computer that outputs machining conditions in addition to the machining program.
[0120] (Processing Program Correction Method) Referring to Figure 13, an outline of one example of a processing program correction method performed by the processing program correction device of this disclosure will be described. Figure 13 is a flowchart outlining the processing program correction method. In Figure 13 and the following description, S1 indicates step 1. The same applies to the other steps. Unless otherwise specified, the processing steps of the processing program correction method proceed in the order of S1, S2.
[0121] (S1) S1 is the step in which the machining program analysis unit reads the machining program. (S2) S2 is the step in which the process-specific command point cloud classification unit classifies the command point cloud by machining process.
[0122] The steps following S3 differ depending on whether the machining program correction device includes a final process command point cloud determination unit or an estimated machining surface output unit. If the machining program correction device includes a final process command point cloud determination unit, the process proceeds to S4. On the other hand, if the machining program correction device includes an estimated machining surface output unit, the process proceeds to S11.
[0123] First, we will explain the case where the machining program correction device includes a final process command point cloud determination unit. (S4) S4 is the step in which the final process command point cloud determination unit determines the command point cloud of the final machining process. (S5) S5 is the step in which the estimated machining surface generation unit generates an estimated machining surface from the command point cloud of the final machining process. After S5, the steps proceed to S6.
[0124] Next, we will explain the case where the machining program correction device is equipped with an estimated machining surface output unit. (S11) S11 is the step in which the estimated machining surface generation unit generates an estimated machining surface from the command point group of the machining process that forms the surface. (S12) S12 is the step in which the estimated machining surface output unit outputs the generated estimated machining surface and displays it to the user. (S13) S13 is the step in which the user selects the estimated machining surface to be corrected from the displayed estimated machining surfaces. (S14) S14 is the step in which the corrected estimated machining surface acquisition unit acquires the selected estimated machining surface to be corrected. After S13, the steps proceed to S6.
[0125] (S6) In both S5 and S14, the process proceeds to step S6. S6 is a step in which the tool path correction unit corrects the tool path, i.e., the command point group, based on the estimated machining surface. (S7) S7 is a step in which the machining program output unit generates a machining program from the corrected tool path. (S8) S8 is a step in which the machining program output unit outputs the corrected machining program. The processing steps of the machining program correction method end at S8.
[0126] This disclosure is not limited to the embodiments, examples, and modifications described above, and any modifications or improvements that can achieve the objectives of this disclosure are included.
[0127] This disclosure can also be expressed, for example, as follows: The machining program analysis unit analyzes the machining program and extracts command point clouds. The process-specific command point cloud classification unit analyzes the machining program and classifies the command point clouds for each process that forms a surface. This classification is performed using any of the following information described in the machining program: sequence number, comment text, modal information, tool type, machining mode, or command point position information.
[0128] The process-specific command point cloud classification unit identifies multiple processes that form a single surface based on one of the following pieces of information described in the machining program: sequence number, comment text, modal information, tool type, machining mode, or command point position information. The final process command point cloud determination unit determines the command point cloud for the final process from among the multiple processes that form a single surface based on one of the following pieces of information described in the machining program: line information, sequence number, comment text, modal information, tool type, machining mode, or command point position information. The estimated machined surface generation unit generates an estimated machined surface for each of the classified process-specific command point clouds / or final process command point clouds.
[0129] The estimated machining surface output unit outputs one or more of the generated estimated machining surfaces. The corrected estimated machining surface acquisition unit allows the user to select and acquire the machining surface to be corrected from the outputted estimated machining surfaces.
[0130] The tool path correction unit corrects the command points for each command point group that forms the classified surface by moving or adding command points so that the distance from the estimated machined surface shape for that process falls within a predetermined range. The machining program output unit generates a corrected machining program in which the corrected command points are inserted into the machining program.
[0131] According to this disclosure, for example, the following becomes possible: Even when a machined surface is formed in multiple processes and command point groups from different processes are densely clustered on a single machined surface, by forming an estimated machined surface for each process that forms the surface, it becomes possible to generate an estimated machined surface with high accuracy, and the accuracy of tool path correction is also improved.
[0132] By allowing the user to select only the estimated machining surfaces that require tool path correction from the estimated machining surfaces, the scope of tool path correction can be reduced, thereby shortening the correction time.
[0133] Even when a machined surface is formed through multiple processes and command point clusters from different processes are densely concentrated on a single machined surface, the system automatically identifies the multiple processes that form the single machined surface, as well as the final process. Tool path correction is then performed only on the final process, reducing the user's workload and shortening the correction time.
[0134] The following additional information is disclosed regarding the above embodiment. (Note 1) A machining program correction device (10) that commands the relative movement path between a tool and a workpiece and corrects a machining program (22) used in a numerical control device, comprising: a machining program analysis unit (12) that analyzes the machining program (22) and extracts command point groups (30); a process-specific command point group classification unit (121) that classifies the command point groups (30) by process; an estimated machining surface generation unit (14) that generates estimated machining surfaces (90) for each classified process-specific command point group; a tool path correction unit (16) that corrects the tool path (60) by moving, adding or deleting command points (32) in the corresponding process-specific command point group based on the distance between the estimated machining surface (90) and the corresponding process-specific command point group; and a machining program output unit (18) that converts the tool path (60) corrected by the tool path correction unit (16) into a machining program (22) and outputs it. (Note 2) In the above-described machining program correction device (10), the process-specific command point group classification unit (121) classifies the command point group (30) for each process based on any of the information contained in the machining program (22), such as the sequence number, comment text, modal information, tool type, machining mode, or command point position information. (Note 3) In the above-described machining program correction device (10), the process-specific command point group classification unit (121) has a final process command point group determination unit (122) that determines the command point group (30) of the final process from among multiple processes that form one surface based on any of the information contained in the machining program (22), such as the line information of the machining program (22), the sequence number, comment text, modal information, tool type, machining mode, or command point position information. The final process command point group (30) generates an estimated machined surface (90) and corrects the command point group (30). (Note 4) In the machining program correction device (10) described above, the process-specific command point group classification unit (121) classifies the process-specific command point group and identifies multiple processes that form a single surface based on any of the information described in the machining program (22), such as the sequence number, comment text, modal information, tool type, machining mode, or command point position information.(Note 5) The machining program correction device (10) described above includes an estimated machining surface output unit (151) that outputs one or more estimated machining surfaces (90) generated by the estimated machining surface generation unit (14). (Note 6) The machining program correction device (10) described above includes a corrected estimated machining surface acquisition unit (152) that acquires an estimated machining surface (90) to be corrected based on the estimated machining surface (90) output by the estimated machining surface output unit (151), and corrects the tool path (60) based on the acquired estimated machining surface (90).
[0135] 10 Machining program correction device 12 Machining program analysis unit 14 Estimated machined surface generation unit 16 Tool path correction unit 18 Machining program output unit 22 Machining program 23 Command point list 24 Corrected machining program 25 Corrected command point list 30 Command point group 32 Command point 60 Tool path 90 Estimated machined surface 121 Process-specific command point group classification unit 122 Final process command point group discrimination unit 151 Estimated machined surface output unit 152 Corrected estimated machined surface acquisition unit 160 Display unit
Claims
1. A machining program correction device that commands the relative movement path between a tool and a workpiece and corrects a machining program used in a numerical control device, comprising: a machining program analysis unit that analyzes the machining program and extracts a command point cloud; a process-specific command point cloud classification unit that classifies the command point cloud by process; an estimated machining surface generation unit that generates an estimated machining surface for each classified process-specific command point cloud; a tool path correction unit that corrects the tool path by moving, adding, or deleting command points in the corresponding process-specific command point cloud based on the distance between the estimated machining surface and the corresponding process-specific command point cloud; and a machining program output unit that converts the tool path corrected by the tool path correction unit into a machining program and outputs it.
2. The machining program correction device according to claim 1, wherein the process-specific command point cloud classification unit classifies the command point cloud for each process based on any of the following information described in the machining program: sequence number, comment text, modal information, tool type, machining mode, or command point position information.
3. A machining program correction device according to claim 1 or 2, further comprising: a final process command point group determination unit that determines the command point group of the final process from among multiple processes that form a single surface, based on the process command point group classified by the process command point group classification unit, using information such as the line information of the machining program, the sequence number described in the machining program, the comment text, modal information, the tool type, the machining mode, or the command point position information; and generating an estimated machined surface from the command point group of the final process and correcting the command point group.
4. The machining program correction device according to claim 3, which identifies a plurality of processes that form a single surface from the process-specific command point group classified by the process-specific command point group classification unit, using any of the information described in the machining program, such as the sequence number, comment text, modal information, tool type, machining mode, or command point position information.
5. The machining program correction device according to any one of claims 1 to 4, further comprising an estimated machining surface output unit that outputs one or more estimated machining surfaces generated by the estimated machining surface generation unit.
6. The machining program correction device according to claim 5, further comprising a correction estimated machining surface acquisition unit that acquires an estimated machining surface to be corrected based on the estimated machining surface output by the estimated machining surface output unit, and correcting the tool path based on the acquired estimated machining surface.