Machining program correction device, machining system, and machining method
The machining program correction device addresses inconsistent tool paths by generating and optimizing polygonal meshes to improve surface quality, effectively correcting tool paths without relying on three-dimensional model data.
Patent Information
- Application Number
- PCT/JP2024/013179
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-29
- Publication Date
- 2025-10-02
AI Technical Summary
Existing machining programs for numerically controlled machine tools fail to maintain consistent tool path alignment, leading to surface imperfections like scratches or streaks on machined surfaces, especially when three-dimensional model data is unavailable or impractical to obtain.
A machining program correction device that corrects tool paths by generating polygonal meshes around command points, associating peripheral meshes, and calculating evaluation values to optimize command point positions, thereby improving surface quality without relying on three-dimensional model data.
Enhances the quality of machined surfaces by aligning tool paths, reducing surface imperfections, and ensuring consistent machining without the need for three-dimensional model data acquisition.
Smart Images

Figure JP2024013179_02102025_PF_FP_ABST
Abstract
Description
Machining program correction device, machining system, and machining method
[0001] The present disclosure relates to a machining program correction device, a machining system, and a machining method for correcting a machining program.
[0002] Machining using a numerically controlled (NC) machine tool uses a numerically controlled machining program that describes movement commands for moving a workpiece or a tool along a predetermined path. Hereinafter, the numerically controlled machine tool will be simply referred to as the machine tool, and the numerically controlled machining program will be simply referred to as the machining program.
[0003] In machining free-form surfaces, most machining programs are generated by approximating curved tool paths with minute line segments using a computer-aided manufacturing (CAM) function. When a tool path is represented by a series of minute line segments, if there is an error in the CAM function's calculations, the shape of the tool path may change due to the influence of the error. If the shape of the tool path changes, the shapes of adjacent tool paths in a direction perpendicular to the tool path's direction of travel may become inconsistent, resulting in scratches or streaks on the machined surface, which may result in a deterioration in the quality of the machined surface.
[0004]
[0005] Patent Literature 1 discloses a design enhancement method including the steps of acquiring three-dimensional measurement data of a workpiece, converting the acquired three-dimensional measurement data of the workpiece into measurement mesh data composed of a plurality of polygons, extracting fillet portions having shape variations from the converted measurement mesh data, and replacing the fillet portions of the measurement mesh data with closed-region mesh data corresponding to the fillet portions in three-dimensional model data showing the shape of the workpiece. In one example, the design enhancement method described in Patent Literature 1 is applied to a first die, which is the workpiece, to generate machining data, and then machining is performed using this machining data to produce a second die that improves the quality of the machined surface due to uneven tool path shapes.
[0005] Japanese Patent Application Laid-Open No. 2017-138704
[0006] However, the high-quality design method described in Patent Document 1 references three-dimensional model data of the workpiece to improve the quality of the machined surface. This requires time, expense, and effort to acquire the three-dimensional model data in advance. This includes the time, expense, and effort required to manufacture the workpiece, since the workpiece is a mold. Furthermore, for example, if three-dimensional model data cannot be acquired at a production site, the high-quality design method described in Patent Document 1 cannot generate a machining program that enables high-quality machining. In other words, the high-quality design method described in Patent Document 1 has the problem of being unable to improve the quality of the machined surface without referencing three-dimensional model data of the workpiece, which requires time, expense, and effort.
[0007] The present disclosure has been made in consideration of the above, and aims to provide a machining program correction device that can improve the quality of the machined surface without referring to three-dimensional model data.
[0008] In order to solve the above-mentioned problems and achieve the object, a machining program correction device according to the present disclosure corrects a machining program used for machining by a machine tool by correcting a tool path, which is a path along which a tool of the machine tool moves, and includes a mesh generation unit, a surrounding mesh extraction unit, and a command point correction unit. The mesh generation unit generates a polygonal mesh based on a plurality of command points indicating the position of the tool on the tool path. The surrounding mesh extraction unit associates one or more polygonal meshes existing within a predetermined range from the command point with each of the plurality of command points as peripheral meshes. The command point correction unit corrects each of the plurality of command points based on the associated peripheral meshes.
[0009] The machining program correction device according to the present disclosure has the effect of being able to improve the quality of the machined surface without referring to three-dimensional model data.
[0010] FIG. 1 is a diagram showing a machining program correction device according to embodiment 1 and a machining system connected to the machining program correction device. FIG. 1 is a diagram showing an example of the functional configuration of the machining program correction device according to embodiment 1. FIG. 1 is a diagram showing an example of a tool path corrected by the machining program correction device according to embodiment 1. FIG. 1 is a diagram showing an example of a tool path corrected by the machining program correction device according to embodiment 1. Flowchart showing an example of an operation procedure of the machining program correction device according to embodiment 1. FIG. 1 is a diagram showing an example of a polygonal mesh generated by a mesh generation unit of the machining program correction device according to embodiment 1. FIG. 1 is a diagram showing an example of a polygonal mesh generated by a mesh generation unit of the machining program correction device according to embodiment 1. FIG. 1 is a diagram for explaining extraction of peripheral meshes by a peripheral mesh extraction unit of the machining program correction device according to embodiment 1. FIG. 1 is a diagram for explaining a first example of calculation of an evaluation value at a target command point by an evaluation value calculation unit of the machining program correction device according to embodiment 1. FIG. 1 is a diagram for explaining a second example of calculation of an evaluation value at a target command point; FIG. 2 is a diagram showing an example when a peripheral mesh of a target command point is projected in an optimal projection direction in which the total value of the projection area is minimized by an evaluation value calculation unit of the machining program correction device according to embodiment 1; FIG. 3 is a diagram showing an example when one of the edges of the peripheral mesh of a target command point is projected in an optimal projection direction by an evaluation value calculation unit of the machining program correction device according to embodiment 1; FIG. 4 is a diagram for explaining calculation of a correction amount using an evaluation value in the first example by a command point correction unit of the machining program correction device according to embodiment 1;FIG. 18 is an enlarged view of the vicinity of the corrected position of the command point of interest in FIG. 17; FIG. 19 is a view showing an example of a result of correction using a first example evaluation value by a command point correction unit of the machining program correction device according to embodiment 1; FIG. 20 is a view showing an example of a result of correction using a first example evaluation value by a command point correction unit of the machining program correction device according to embodiment 1; FIG. 21 is a view showing an example of a result of correction using a second example evaluation value by a command point correction unit of the machining program correction device according to embodiment 1;
[0011] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A machining program modifying device, a machining system, and a machining method according to embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0012] In the following embodiments, when a character indicates a vector, it is written as "character (vector)." Furthermore, a character represented by a symbol above it in a mathematical formula is written as "character (symbol above it)" in the text. For example, a character with a "^" above it in a mathematical formula is written as "character ^" in the text.
[0013] Embodiment 1. Figure 1 is a diagram showing a machining program modification device according to embodiment 1 and a machining system connected to the machining program modification device. An example of the machining system 1 is a numerically controlled machining system. The machining system 1 is a system that machines a workpiece 8 by controlling a machine tool 7, which is a controlled device. The machine tool 7 machines the workpiece 8 with a tool 72 while moving the tool 72 relative to the workpiece 8.
[0014] The machining system 1 includes a CAM device 3 which is a machining program generation device, a numerical control device 5 which controls a machine tool 7, and the machine tool 7. The CAM device 3 is a computer system in which CAM software is installed. The CAM device 3 generates a machining program 4 for machining using a tool 72 based on a computer-aided design (CAD) model 2. In other words, the CAM device 3 generates the machining program 4 for machining a workpiece 8 using the machine tool 7. The CAD model 2 is shape data which specifies a target shape.
[0015] The numerical control device 5 generates a control signal 6 by executing the machining program 4. The numerical control device 5 sends the generated control signal 6 to a drive unit 71 of a machine tool 7. The machine tool 7 has a drive unit 71 and a tool 72. The drive unit 71 has a motor that drives the tool 72 and a servo amplifier that controls the motor in accordance with the control signal 6. The motor and servo amplifier are not shown in the figure. The tool 72 is a member that performs machining on the workpiece 8 with or without contact. The machine tool 7 drives the tool 72 in accordance with the control signal 6 to machine the workpiece 8.
[0016] The machining program modification device 10 is connected to each of the CAM device 3 and the numerical control device 5 via a communication line. This enables the machining program modification device 10 to communicate with each of the CAM device 3 and the numerical control device 5. The communication via the communication line may be either wired communication or wireless communication. The machining program modification device 10 acquires the machining program 4 generated by the CAM device 3 and modifies the machining program 4. The machining program modification device 10 sends the modified machining program 4 to the numerical control device 5. The numerical control device 5 controls the machine tool 7 based on the modified machining program 4.
[0017] Next, the configuration of the machining program modification device 10 will be described. The machining program modification device 10 is a device that modifies the machining program 4 used in machining by the machine tool 7 by correcting the tool path. The tool path is a path along which the tool 72 is moved by the machine tool 7, i.e., a path along which the tool 72 is moved relative to the workpiece 8. In the first embodiment, the machining program modification device 10 generates a polygonal mesh based on a plurality of command points indicating the position of the tool 72 on the tool path, and for each of the plurality of command points, associates one or more polygonal meshes existing in a peripheral region within a predetermined range from the command point as peripheral meshes with the plurality of command points, and performs correction based on the associated peripheral meshes for each of the plurality of command points. When correcting each of the plurality of command points based on the peripheral meshes, the machining program modification device 10 may calculate an evaluation value for each of the plurality of command points, generate an evaluation model indicating the relationship between the evaluation value and the position of the command point, and correct the position of each of the plurality of command points based on the evaluation model so that the evaluation value for each of the plurality of command points is minimized or maximized. The machining program modification device 10 that performs such processing will be described below.
[0018] 2 is a diagram showing an example of the functional configuration of the machining program modifying device according to embodiment 1. The machining program modifying device 10 includes a mesh generating unit 11, a peripheral mesh extracting unit 12, an evaluation value calculating unit 13, and a command point correcting unit 14.
[0019] The mesh generation unit 11 generates a polygonal mesh based on a plurality of command points indicating the position of the tool 72 on the tool path. Specifically, the mesh generation unit 11 obtains the tool path and a plurality of command points lined up on the tool path by analyzing the machining program 4. Each command point indicates the position of the tool 72 of the machine tool 7. The mesh generation unit 11 generates mesh information that expresses, with shell elements, the machined surface formed by the machine tool 7 as it passes through the tool path. The mesh generation unit 11 outputs the tool path data and the generated mesh information to the surrounding mesh extraction unit 12.
[0020] The peripheral mesh extraction unit 12 associates one or more polygonal meshes surrounding each of the plurality of command points as peripheral meshes with the plurality of command points. Specifically, when one command point on a tool path obtained from the machining program 4 is set as a command point of interest, the peripheral mesh extraction unit 12 extracts peripheral meshes at the command point of interest from the mesh information. The peripheral mesh extraction unit 12 outputs the tool path data and the peripheral meshes of the command point of interest to the evaluation value calculation unit 13.
[0021] The evaluation value calculation unit 13 calculates an evaluation value for each of the plurality of command points of the tool path based on the tool path data and the peripheral meshes of each of the plurality of command points. The evaluation value is a value used to extract an optimum correction amount from among a plurality of correction amount candidates when the command point correction unit 14 calculates the correction amount for the target command point. The evaluation value calculation unit 13 outputs the tool path data and the evaluation value of the target command point to the command point correction unit 14.
[0022] The command point correction unit 14 corrects each of the multiple command points based on the surrounding meshes. Specifically, the command point correction unit 14 corrects the target tool path by correcting the command points of the target tool path based on the evaluation value. The command point correction unit 14 generates a modified machining program 4C by correcting the target tool path. The modified machining program 4C is the machining program 4 modified by the correction of the target tool path. The machining program correction device 10 sends the modified machining program 4C to the numerical control device 5.
[0023] 3 and 4 are diagrams showing an example of a tool path corrected by the machining program correction device according to the first embodiment. In these diagrams, a tool path 21 is depicted in a Cartesian coordinate system formed by mutually orthogonal x-, y-, and z-axes. FIG. 3 shows an example of the tool path 21 for machining a target shape. FIG. 4 is an enlarged view of a portion of the example of the tool path 21 shown in FIG. 3. In the example of the tool path 21 shown in FIGS. 3 and 4, there are portions where the trajectories of adjacent tool paths 21 are not aligned. The machine tool 7 sequentially moves a tool 72 along each of the multiple tool paths 21.
[0024] In Figures 3 and 4, multiple command points 22 of the tool path 21 are indicated by black dots. The CAM device 3 generates a machining program 4 that approximates a curve along a free-form surface with infinitesimal line segments. Line segments LS between the command points 22 represent infinitesimal line segments. Each tool path 21 is expressed by continuous infinitesimal line segments. Figure 4 shows that, among the multiple tool paths 21, a tool path 21a has a portion that is misaligned with other tool paths 21. Note that Figures 3 and 4 are an example of data generated from the machining program 4 by the mesh generation unit 11, and are different from three-dimensional model data prepared in advance for a workpiece 8 that has already been machined.
[0025] Next, the operation of the machining program modifying device 10 will be described. Fig. 5 is a flowchart showing an example of the operation procedure of the machining program modifying device according to the first embodiment. The machining program modifying device 10 generates a polygonal mesh for a plurality of command points 22 on the tool path 21 (step S1). The mesh generation will be described in detail later.
[0026] Next, the machining program modifying device 10 designates one of the plurality of command points 22 on the tool path 21 as a target command point (step S2). Thereafter, the machining program modifying device 10 extracts a peripheral mesh of the target command point based on the polygonal mesh information (step S3). Next, the machining program modifying device 10 calculates an evaluation value at the target command point based on the peripheral mesh information (step S4). Furthermore, the machining program modifying device 10 calculates a correction amount at the target command point based on the evaluation value, and corrects the target command point based on the correction amount (step S5). Thereafter, the machining program modifying device 10 determines whether the target command point is the final command point 22 on the tool path 21 (step S6). If the target command point is not the final command point 22 on the tool path 21 (No in step S6), the machining program modifying device 10 designates one of the plurality of command points 22 on the tool path 21 that has not yet been designated as the target command point (step S7), and the process returns to step S3. Furthermore, if the command point of interest is the final command point 22 on the tool path 21 (Yes in step S6), the processing ends. Through the above procedure, the machining program modifying device 10 generates the modified machining program 4C.
[0027] Next, the operation of the mesh generation unit 11 will be described. Figures 6 and 7 are diagrams showing an example of a polygonal mesh generated by the mesh generation unit of the machining program modification device according to embodiment 1. The mesh generation unit 11 generates mesh information that expresses, with shell elements, the machined surface formed by the machine tool 7 as it passes through the tool path 21. The mesh may be triangular shell elements, or may be shell elements of a polygon having four or more sides. Figure 6 shows an example in which a mesh is generated using triangular shell elements for the tool path 21 shown in Figure 3.
[0028] The mesh generation unit 11 generates mesh information including vertices V, sides E connecting the vertices V with lines, and information on faces F of closed regions surrounded by the sides E. The vertices V of the mesh are command points 22 on the tool path 21. The sides E of the mesh may be straight lines or curved lines. The faces F of the mesh may be flat surfaces or curved surfaces. The triangular meshes in FIGS. 6 and 7 are examples in which the vertices V of the mesh are command points 22 on the tool path 21, the sides E of the mesh are represented by straight lines, and the faces F of the mesh are represented by flat surfaces.
[0029] The mesh generation unit 11 generates a polygonal mesh such that, for each command point 22, at least one of the meshes including the command point 22 at its vertex V includes the immediately preceding and immediately succeeding command points 22. That is, the mesh generation unit 11 generates a polygonal mesh such that the two command points 22 immediately preceding and immediately succeeding the command point 22 in the movement of the tool 72 are included at their vertices V. FIG. 7 is an enlarged view of a portion of the mesh generation result shown in FIG. 6. Referring to FIG. 7, when one of the command points 22 on the tool path 21a is focused on, there are a plurality of meshes having the focused command point 22F, which is the focused command point 22, at its vertex V, and it can be seen that, among the plurality of meshes, there are two meshes having the command point 22A immediately preceding the focused command point 22F and the command point 22B immediately succeeding the focused command point 22F at their vertices V.
[0030] Furthermore, referring to FIGS. 6 and 7, it can be seen that variations occur in the orientation of the mesh faces F at locations where the trajectories of adjacent tool paths 21a are not aligned.
[0031] The mesh generation by the mesh generation unit 11 may be performed by, for example, Delaunay triangulation, Zippered Polygon method, or Marching Cubes method.
[0032] The mesh may be any quantity that represents the machining surface for machining the target shape, and is not limited to that described in embodiment 1. Hereinafter, an example will be described in which a mesh is generated using triangular shell elements.
[0033] Next, the operation of the peripheral mesh extraction unit 12 will be described. FIG. 8 is a diagram for explaining extraction of peripheral meshes by the peripheral mesh extraction unit of the machining program modifying device according to the first embodiment. When one command point 22 on the tool path 21 obtained from the machining program 4 is designated as a command point of interest 22F, the peripheral mesh extraction unit 12 extracts peripheral meshes 23 around the command point of interest 22F from the mesh information generated by the mesh generation unit 11. The peripheral mesh extraction unit 12 extracts all meshes having the command point of interest 22F as a vertex as the peripheral meshes 23 around the command point of interest 22F. FIG. 8 shows an example in which the peripheral meshes 23 around the command point of interest 22F are extracted by the peripheral mesh extraction unit 12. As shown in FIG. 8, it can be seen that six peripheral meshes 23 have been extracted around the command point of interest 22F. Note that the peripheral meshes 23 are hatched in FIG. 8. The same applies to FIG. 9 and subsequent figures. Further, here, all meshes having the target command point 22F as a vertex are extracted as the peripheral meshes 23, but one mesh or multiple meshes having the target command point 22F as a vertex may also be extracted as the peripheral meshes 23.
[0034] Next, the operation of the evaluation value calculation unit 13 will be described. The evaluation value calculation unit 13 calculates an evaluation value used when selecting one correction amount from a plurality of correction amounts for each of the target command points 22F. Here, a first example will be described in which an evaluation value based on the area of a mesh is used as the evaluation value of the target command point 22F, and a second example will be described in which an evaluation value based on the projected area of the mesh is used.
[0035] (First example: when using evaluation value based on mesh area) Fig. 9 is a diagram for explaining a first example of calculation of an evaluation value at a target command point by the evaluation value calculation unit of the machining program correction device according to the first embodiment. The evaluation value calculation unit 13 calculates an evaluation value based on the area of one peripheral mesh 23 or the entire area of multiple peripheral meshes 23 for each of multiple command points 22. In this example, the evaluation value calculation unit 13 calculates the area for all of the target command point 22F, for example, for each of six peripheral meshes 23 in the example of Fig. 9, and calculates an evaluation value based on the sum of the areas of the individual peripheral meshes 23 thus calculated. Specifically, the evaluation value calculation unit 13 calculates an evaluation value based on the sum of the areas of the individual peripheral meshes 23 calculated for the position p of the target command point 22F. i The normal vector s of the j-th surrounding mesh 23j of all m surrounding meshes 23 (vector) ij (vector) is calculated as in the following equation (1).
[0036]
[0037] At this time, p j1 (vector), p j2 (vector) is the position p of the target command point 22F i (vector) represents the coordinates of two vertices other than the target command point 22F of the j-th peripheral mesh 23j. ij Length of (vector) || s ij (vector) ∥ represents the area of the j-th surrounding mesh 23j. Then, the evaluation value calculation unit 13 calculates the sum of squares of the areas of the surrounding meshes 23 of the target command point 22F as an evaluation value f i,1 is calculated as in the following equation (2): where m is the total number of peripheral meshes 23 of the command point of interest 22F, and j is an integer between 1 and m. The superscript T denotes transposition.
[0038]
[0039] (Second Example: Case where Evaluation Value Based on Mesh Projection Area is Used) FIG. 10 is a diagram for explaining a second example of calculation of an evaluation value at a target command point by the evaluation value calculation unit of the machining program modifying device according to the first embodiment. The evaluation value calculation unit 13 determines a projection plane PP for the peripheral mesh 23 at each of the plurality of command points 22, and calculates an evaluation value of the command point 22 corresponding to the peripheral mesh 23 based on the projected area of the peripheral mesh 23 onto the determined projection plane PP. In this example, the evaluation value calculation unit 13 calculates an evaluation value based on the projected area of the peripheral mesh 23 at the target command point 22F projected in one direction. FIG. 10 is an example when the evaluation value calculation unit 13 calculates the sum of the projected areas of the peripheral mesh 23 at the target command point 22F projected in one direction as the evaluation value. The plane in FIG. 10 represents the projection plane PP. The evaluation value calculation unit 13 sets the projection direction at the target command point 22F as h i (vector), the sum of squares of the projected areas of all the surfaces of the peripheral meshes 23 of the target command point 22F, six in the example of FIG. 10, projected in the projection direction is used as the evaluation value f i,2 The evaluation value f is calculated as follows: i,2 is the projection direction h i (vector), so h i (vector) function form f i,2 (h i 10, the projection direction is a direction perpendicular to the projection plane PP.
[0040]
[0041] Here, the evaluation value f that minimizes the projection area of the mesh is i,2 Such an evaluation value f i,2 Using the evaluation value f i,2 The correction amount of the target command point 22F calculated so as to minimize is the one that minimizes the projection area of the mesh. In this case, the evaluation value calculation unit 13 calculates the evaluation value f i,2However, there are an infinite number of projection directions in the xyz space, and even if a direction in which the projection area becomes small is selected, there are many projection directions to be calculated. For this reason, the evaluation value calculation unit 13 calculates the evaluation value f i,2 In the following, (A) the evaluation value f i,2 (B) the direction in which the evaluation value f i,2 A case where one of the sides for which is smallest is set as the projection direction will be explained.
[0042] (A) Evaluation value f in all directions i,2 When the direction in which the sum of the projected areas is smallest is set as the projection direction, the evaluation value calculation unit 13 calculates, as the optimal projection plane, the projection plane PP in which the projected area of one peripheral mesh 23 or all of the peripheral meshes 23 is smallest for each of the plurality of command points 22. In this example, the evaluation value calculation unit 13 calculates, as the optimal projection direction, the projection direction in which the total value of the projected areas of the peripheral meshes 23 projected in one direction at the target command point 22F is smallest. FIG. 11 is a diagram showing an example in which the evaluation value calculation unit of the machining program correction device according to the first embodiment projects the peripheral meshes of the target command point 22F in the optimal projection direction in which the total value of the projected areas is smallest. The vector h in FIG. i (vector) represents the optimal projection direction, and the optimal projection direction h i The plane perpendicular to the vector represents the projection plane PP. The evaluation value calculation unit 13 calculates the optimal projection direction h i (vector) is calculated as in the following equation (4).
[0043]
[0044] Here, h i (vector) is the evaluation value f i,2 The vector with length 1 that minimizes the value of R is also 3 represents a set of real numbers in the xyz space, and x (vector) represents a position vector in the xyz space.
[0045] (B) Evaluation value f of the edges of the surrounding mesh 23 i,2 The evaluation value calculation unit 13 calculates, for each of the plurality of command points 22, a plane perpendicular to a direction parallel to one of the sides of one of the peripheral meshes 23 or all of the plurality of peripheral meshes 23 as the optimal projection plane. In this example, the evaluation value calculation unit 13 calculates, for each of the plurality of command points 22F, a plane perpendicular to a direction parallel to one of the sides of the peripheral mesh 23 at the target command point 22F in the optimal projection direction h i Specifically, the evaluation value calculation unit 13 calculates the optimum projection direction h as one of the sides of the surrounding mesh 23 that has the smallest total projected area among the total projected areas of the faces of the surrounding mesh 23 projected onto each of the sides of the surrounding mesh 23. i 12 is a diagram showing an example in which one of the sides of the mesh surrounding the target command point is projected in the optimal projection direction by the evaluation value calculation unit of the machining program correction device according to the first embodiment. i (vector) represents the optimal projection direction, and is in the same direction as one of the sides of the peripheral mesh 23. The evaluation value calculation unit 13 calculates the optimal projection direction h i (vector) is calculated as in the following equation (5): j (vector) represents the j-th vertex coordinates of the peripheral mesh 23 other than the target command point 22F.
[0046]
[0047] Here, h i (vector) is the evaluation value f i,2 is an edge vector of the surrounding mesh 23 having a length of 1 such that
[0048] The optimal projection direction h in (A) or (B) i After calculating the vector, the evaluation value calculation unit 13 calculates an evaluation value f based on the projected area of one peripheral mesh 23 or the entire peripheral meshes 23 projected onto the optimal projection plane for each of the plurality of command points 22. i,2 In this example, the evaluation value calculation unit 13 calculates the optimal projection direction h iThe evaluation value f is calculated based on the projected area projected onto (vector) i,2 (h i Specifically, the evaluation value calculation unit 13 calculates the optimal projection direction h i The sum of the squares of the projected area projected onto (vector) is the evaluation value f i,2 (h i Calculate as (vector).
[0049] Next, the operation of the command point correction unit 14 will be described. The command point correction unit 14 calculates a correction amount for the target command point 22F based on the evaluation value at the target command point 22F, and corrects the target command point 22F. Here, a case will be described in which the command point correction unit 14 calculates a correction amount so that the evaluation value at the target command point 22F is minimized or maximized, and corrects the target command point 22F using this correction amount. The correction amount represents the magnitude and direction of the movement of the position coordinates before and after correction. The command point correction unit 14 generates an evaluation model that indicates the relationship between the evaluation value and the position, i.e., the coordinates, of the command point 22, and corrects the position of each of the multiple command points 22, i.e., the target command point 22F, based on the evaluation model so that the evaluation value of the target command point 22F is minimized or maximized. The evaluation model may be, for example, a linear minimum problem without constraints, or it may be treated as a constrained or nonlinear problem.
[0050] Position p of the target command point 22F i Position p' of the target command point 22Fa after correction of (vector) i (vector), and the normal vector s of the surrounding mesh 23 ij (vector) is the correction amount d i (vector) functions as shown in the following equations (6) and (7).
[0051]
[0052]
[0053] Correction amount d iThe calculation of the correction amount d (vector) differs between the first example, which uses an evaluation value based on the area of the mesh, and the second example, which uses an evaluation value based on the projected area of the mesh. In the following, the correction amount d i The calculation of (vector) will be explained step by step.
[0054] (First example: Evaluation value f based on the area of the mesh i,1 When using the evaluation value f based on the area of the surrounding mesh 23 at the target command point 22F i,1 In the first example using the evaluation value f of the target command point 22F, i,1 The correction amount d i It is calculated as a function of (vector) as shown in the following equation (8).
[0055]
[0056] The command point correction unit 14 calculates the evaluation value f at the target command point 22F in the first example. i,1 When correcting the target command point 22F based on i,1 The correction amount d i (vector) is calculated, and the calculated correction amount d i (vector) to correct the target command point 22F. i,1 The normal vector s of the j-th surrounding mesh 23j of the surrounding mesh 23 in the formula for calculating ij (vector) is the position p' of the command point of interest 22Fa after correction as shown in equation (7). i (vector). In other words, the formula (8) is the evaluation value f i,1 and the position of the command point 22. i,1 When correcting the target command point 22F based on the evaluation value f i,1 The correction amount d is calculated as shown in the following equation (9) so that i Calculate (vector).
[0057]
[0058] 13 is a diagram for explaining calculation of a correction amount using the evaluation value of the first example by the command point correction unit of the machining program modifying device according to the first embodiment. The command point correction unit 14 calculates a correction amount using the evaluation value f of the first example based on the area of the peripheral mesh 23 of the target command point 22F according to the first example. i,1 As shown in FIG. 13, the command point corrector 14 calculates the correction amount based on the evaluation value f i,1 The correction amount d is calculated so that i (vector), the position p of the target command point 22F i (vector) is corrected. As a result, the position p i (vector) is the position p' of the command point of interest 22Fa after correction. i (vector). The peripheral mesh 23 also becomes a corrected peripheral mesh 23C with the corrected target command point 22Fa as a vertex. As a result of this correction, the evaluation value f i,1 It can be seen that the sum of squares of the mesh area is smaller than that in the case of FIG.
[0059] (Second example: Evaluation value f based on the projected area of the mesh i,2 In addition, the evaluation value f based on the projected area of the surrounding mesh 23 at the target command point 22F is i,2 In the second example using the evaluation value f of the target command point 22F, the command point correction unit 14 i,2 The correction amount d i (vector), and the projection direction h i It is calculated as a function of (vector) as shown in the following equation (10).
[0060]
[0061] The evaluation value f of the formula (10) i,2 The normal vector s of the j-th surrounding mesh 23j of the surrounding mesh 23 in the formula for calculating ij (vector) is the position p' of the command point of interest 22Fa after correction as shown in equation (7). i (vector). In other words, the formula (10) is the evaluation value f i,2and the position of the command point 22. The command point correction unit 14 calculates the evaluation value f i,2 Then, the evaluation value f at the target command point 22F is i,2 The correction amount d is minimized. i (vector) is calculated as in the following equation (11).
[0062]
[0063] 14 is a diagram for explaining calculation of a correction amount using an evaluation value of the second example by the command point correction unit of the machining program correction device according to the first embodiment. The command point correction unit 14 calculates a peripheral mesh 23 of a target command point 22F according to the second example in an optimal projection direction h i Based on the projected area projected onto (vector), that is, the evaluation value f of the target command point 22F in the second example i,2 The command point corrector 14 calculates the correction amount based on the evaluation value f at the target command point 22F using the formulas (10) and (11). i,2 The correction amount d is calculated so that i (vector), and the position p of the target command point 22F as shown in FIG. i (vector) is corrected. As a result, the position p i (vector) is the position p' of the command point of interest 22Fa after correction. i (vector). The peripheral mesh 23 also becomes a corrected peripheral mesh 23C with the corrected target command point 22Fa as its vertex. As a result of this correction, the evaluation value f i,2 It can be seen that the sum of squares of the projected area of the mesh is smaller than that in FIG.
[0064] In the second example, one of the edges of the peripheral mesh 23 at the target command point 22F is projected in the optimal projection direction h i When calculated as (vector), the optimal projection direction h i (vector) may be fixed to the direction of the side before correction, or the optimal projection direction h i In the second example, the optimal projection direction h iWhen updating the vector in accordance with the direction of the side that changes due to the correction, the command point correction unit 14 updates the optimal projection direction h i (vector) is the correction amount d i It is calculated as a function of (vector) as shown in the following equation (12).
[0065]
[0066] At this time, the command point correction unit 14 calculates the evaluation value f of the target command point 22F. i,2 , and the correction amount d i (vector) are calculated as in the following equations (13) and (14). Note that, like equation (10), equation (13) is used to calculate the evaluation value f i,2 and the position of the command point 22.
[0067]
[0068]
[0069] 15 is a diagram for explaining calculation of a correction amount using an evaluation value at a target command point in the second example by the command point correction unit of the machining program modifying device according to the first embodiment. i 15 shows an example in which the command point correction unit 14 updates the evaluation value f of the target command point 22F in the second example in accordance with the direction of the side that changes due to the correction. i,2 The surrounding mesh 23 is projected in the optimal direction h i The correction amount is calculated based on the projected area of the target command point 22F projected onto the vector. i (vector) is corrected by the calculated correction amount, and the position p' of the target command point 22Fa after correction is obtained. i (vector). The peripheral mesh 23 also becomes a corrected peripheral mesh 23C with the corrected target command point 22Fa as its vertex. The optimal projection direction h i The optimal projection direction h is set to the direction of the edge of the corrected peripheral mesh 23C corresponding to the edge (vector). i (vector) is updated as shown in FIG. 15. This update results in the evaluation value f i,2It can be seen that the sum of squares of the projected area of the mesh is reduced by the correction.
[0070] In the above, the evaluation value f based on the area of the mesh in the first example by the command point correction unit 14 is i,1 , or the evaluation value f based on the projection area of the mesh in the second example i,2 In the above, the calculation of the correction amount of the command point of interest 22F based on the above has been described. When calculating the correction amount, the command point correction unit 14 may impose restrictions on the area in which the corrected command point of interest 22F exists. The restrictions include a restriction to correct the corrected command point of interest 22F so that it exists on a correction plane, which is a specified plane, and a restriction to correct the distance of the corrected command point of interest 22F from the command point of interest 22F so that it falls within a range of a predetermined correction distance. Note that this is just an example, and other restrictions may be imposed.
[0071] In calculating the correction amount based on the evaluation value, the command point correction unit 14 may correct each of the multiple command points 22 under the restriction that the command point 22 and the command points 22 immediately before and immediately after the command point 22 are included in one plane. Fig. 16 is a diagram showing an example in which a command point of interest is corrected on a correction plane by the command point correction unit of the machining program modifying device according to the first embodiment. In Fig. 16, the command point correction unit 14 may calculate a plane passing through the command point of interest 22F, the command point 22A immediately before the command point 22F, and the command point 22B immediately after the command point of interest 22F as a correction plane CP, and may correct the command point of interest 22F to move on the correction plane CP.
[0072] However, when the command point of interest 22F, the command point 22A immediately before the command point of interest 22F, and the command point 22B immediately after the command point of interest 22F are on the same straight line, the correction plane CP cannot be uniquely determined. Therefore, when these three points are on the same straight line, a plane passing through any one of the x-axis, y-axis, and z-axis and a line passing through the three points may be calculated as the correction plane CP, or the correction plane CP may be calculated by enlarging the command points 22 until the correction plane CP can be calculated, such as the command point 22C two points before the command point of interest 22F or the command point 22D two points after the command point of interest 22F.
[0073] The plane in FIG. 16 represents the correction plane CP, and the vector is the correction amount d i (vector). The command point correction unit 14 calculates the correction amount d i (vector) is calculated as in the following equation (15).
[0074]
[0075] Here, v i1 ^(vector), v i2 ^ (vector) is a basis vector with length 1 on the correction plane CP, and u i1 , u i2 is each basis vector v for adjusting the correction amount. i1 ^(vector), v i2 ^ (vector). i By correcting the command point of interest 22F using (vector), the command point of interest 22Fa after correction is placed on the correction plane CP. In other words, the command point of interest 22F can be corrected within the correction plane CP, which is a plane passing through the command points 22 on the tool path 21a in the range shown in FIG.
[0076] Furthermore, in calculating the correction amount based on the evaluation value, the command point correction unit 14 may correct the correction amount for each of the plurality of command points 22 within a range that falls within a predetermined distance. That is, the command point correction unit 14 may correct the target command point 22F so that it falls within a predetermined distance. In one example, the command point correction unit 14 calculates the correction amount d so that it falls within the correction distance r, which is a distance that is determined for the target command point 22F. i (vector) is calculated as in the following equation (16).
[0077]
[0078] Fig. 17 is a diagram showing an example in which a command point of interest is corrected so as to fit within a determined distance by the command point correcting unit of the machining program modifying device according to the first embodiment. Fig. 18 is an enlarged view of the vicinity of the corrected position of the command point of interest in Fig. 17. When there is no constraint on the correction, the command point of interest 22F moves to a command point of interest 22Fa after correction by the correction. However, when there is a constraint, i.e., when the correction is made so as to fit within a constraint sphere 24 of the correction distance r, the command point of interest moves to a command point of interest 22Fb after correction by the correction. By setting such a constraint, excessive correction can be suppressed.
[0079] The command point correction unit 14 sequentially corrects the command points 22 on the tool path 21, and may complete the correction once for all the command points 22, or may repeat the correction multiple times. When performing correction multiple times, the correction distance from the position immediately before correction may be corrected to fall within a predetermined distance, or may be limited to a distance based on the position before correction.
[0080] The command point correction unit 14 may perform correction for all command points 22 on the tool path 21, or may select only specific command points 22 as correction targets and correct only the correction targets. The correction targets may be selected based on the evaluation value of each command point 22, or may be selected based on the machining shape. Correcting only specific command points 22 can speed up the processing.
[0081] Here, examples of correction results when the evaluation values of the first and second examples are used will be shown.
[0082] (First example: when using evaluation value based on mesh area) Figures 19 and 20 are diagrams showing an example of the result of correction using the evaluation value of the first example by the command point correction unit of the machining program correction device according to embodiment 1. Figure 19 is an example of a tool path 21C in which the command point 22 has been corrected by the command point correction unit 14. Figure 20 is an enlarged view of a portion of the tool paths 21, 21C in Figure 19. In Figures 19 and 20, the solid line indicates the corrected tool path 21C, and the dotted line indicates the tool path 21 of the machining program 4 shown in Figures 3 and 4. It can be seen that, compared to the tool path 21 before correction in Figures 3 and 4, the correction has been able to suppress misalignment of the trajectories of adjacent tool paths 21C, as shown in Figures 19 and 20.
[0083] (Second Example: Using Evaluation Values Based on Mesh Projection Area) FIGS. 21 and 22 are diagrams showing an example of the results of correction using evaluation values of the second example by the command point correction unit of the machining program correction device according to embodiment 1. FIG. 21 shows an example of a tool path 21C in which the command point 22 has been corrected by the command point correction unit 14. FIG. 22 is an enlarged view of a portion of the tool paths 21 and 21C in FIG. 21. In FIGS. 21 and 22, the solid line indicates the corrected tool path 21C, and the dotted line indicates the tool path 21 of the machining program 4 shown in FIGS. 3 and 4. As shown in FIGS. 21 and 22, it can be seen that the correction has been successful in suppressing misalignment of the trajectories of adjacent tool paths 21C, compared to the tool paths 21 before correction in FIGS. 3 and 4. Furthermore, compared to the correction results in FIGS. 19 and 20, it can be seen that the trajectory error caused by the tool path 21C turning inward is suppressed, and accuracy is maintained while suppressing misalignment of the trajectories.
[0084] In the above description, an example has been shown in which the command point correction unit 14 calculates the correction amount that minimizes the evaluation value. This is because the evaluation value calculated based on the area of the surrounding mesh 23 or the projected area of the surrounding mesh 23 is used. In the first embodiment, any evaluation value can be used as long as it indicates the degree of non-uniformity occurring in the shapes of the tool paths 21 adjacent to each other in a direction perpendicular to the traveling direction of the tool paths 21. When using an evaluation value in which the higher the value, the less non-uniformity occurs in the shapes of the adjacent tool paths 21, that is, the shapes of the adjacent tool paths 21 become uniform, the command point correction unit 14 calculates the correction amount that maximizes the evaluation value.
[0085] In the above description, the machining program modifying device 10 generates the modified machining program 4C by acquiring the data of the tool path 21 from the machining program 4 provided by the machining system 1. However, the machining program modifying device 10 may be provided with the data of the tool path 21 from the machining system 1 and generate the modified machining program 4C based on the provided data of the tool path 21.
[0086] The machining program 4 used in the machining program correction device 10 according to embodiment 1 may be intended for machining in three orthogonal axes, or may be intended for machining in four or more axes including a rotary axis.
[0087] In the machining program modifying device 10 according to the first embodiment, the mesh generating unit 11 determines the tool path 21 and a plurality of command points 22 aligned on the tool path 21 by analyzing the machining program 4, and generates a polygonal mesh for the determined command points 22. However, this is not limited to this, and the mesh generating unit 11 may analyze the machining program 4 to determine the tool path 21 and a plurality of command points 22 aligned on the tool path 21, and then interpolate additional command points 22 on the tool path 21, and generate a polygonal mesh for the determined command points 22 and the interpolated command points 22. In other words, the interpolated command points 22 are also command points 22 indicating the position of the tool 72.
[0088] According to the first embodiment, the machining program modification device 10 includes a mesh generation unit 11 that generates a polygonal mesh based on a command point 22 indicating the position of a tool 72, a peripheral mesh extraction unit 12 that associates one or more polygonal meshes around the command point 22 as peripheral meshes 23 with each of the command points 22, and a command point correction unit 14 that corrects each of the command points 22 based on the peripheral meshes 23. This has the effect of providing a modified machining program 4C that enables high-quality machining without using three-dimensional model data indicating the shape of the workpiece 8, as in Patent Document 1. Furthermore, unlike Patent Document 1, there is no need to previously manufacture a workpiece that will become the workpiece 8 before forming the workpiece 8. This eliminates the time, expense, and effort required by the user to manufacture the original workpiece, and also eliminates the time, expense, and effort required to acquire three-dimensional model data of the original workpiece. In other words, it is possible to shorten the time required to manufacture the workpiece 8 compared to conventional methods. Furthermore, it is possible to reduce processing defects that occur in actual processing sites, and to reduce the time, cost, and effort required to produce workpieces, thereby improving the work efficiency of users.
[0089] Furthermore, the machining program modifying device 10 according to the first embodiment calculates a correction amount for the command point of interest 22F based on an evaluation value calculated from the surrounding mesh 23 for the point of interest on the tool path 21, and corrects the tool path 21. The machining program modifying device 10 is capable of performing correction to minimize or maximize the evaluation value of the command point of interest 22F. Therefore, the machining program modifying device 10 can reduce irregularities in the tool path 21. As described above, the machining program modifying device 10 has the effect of providing a modified machining program 4C that can improve the quality of the machined surface. In other words, it has the effect of providing a modified machining program 4C that can perform high-quality machining while maintaining accuracy, without using three-dimensional model data representing the shape of the workpiece 8 as in Patent Document 1.
[0090] Second Embodiment. Figure 23 is a diagram showing an example of the configuration of a machining system according to a second embodiment. The machining system 1A includes a CAM device 3, a machining program modification device 10, a numerical control device 5, and a machine tool 7. In the second embodiment, the same components as those in the first embodiment are denoted by the same reference numerals, and differences in the configuration from the first embodiment will be mainly described. In the first embodiment, the machining program modification device 10 was located outside the machining system 1 and connected to the machining system 1 via a communication line, but in the second embodiment, the machining program modification device 10 is built into the machining system 1A. Therefore, the machining program modification device 10 acquires the machining program 4 from the CAM device 3 and outputs a modified machining program 4C to the numerical control device 5.
[0091] FIG. 24 is a flowchart showing an example of the steps of a machining method according to the second embodiment. This machining method is executed by the machining system 1A shown in FIG. 23. First, a machining program generation step is performed in which the CAM device 3, which is a machining program generation device, generates a machining program 4 for machining a workpiece 8 using a machine tool 7 (step S21). Next, a machining program modification step is performed in which the machining program modification device 10 modifies the machining program 4 (step S22). After that, a control step is performed in which the numerical control device 5 controls the machine tool 7 based on the modified machining program 4C, which is the modified machining program 4 (step S23). Then, a machining step is performed in which the machine tool 7 drives the tool 72 in accordance with instructions from the numerical control device 5 to machine the workpiece 8 (step S24). This completes the machining method.
[0092] By being equipped with the machining program correction device 10 according to embodiment 1, the machining system 1A has the effect of being able to improve the quality of the machined surface by using a modified machining program 4C that enables high-quality machining while maintaining accuracy, without using three-dimensional model data showing the shape of the workpiece 8 as in Patent Document 1.
[0093] Instead of having the machining program correction device 10, the machining system 1A may realize the same machining program correction method as in embodiment 1 by using a CAM device 3 having the function of the machining program correction device 10 or a numerical control device 5 having the function of the machining program correction device 10. In this case, the machining system 1A can also improve the quality of the machined surface. Note that in the numerical control device 5 having the function of the machining program correction device 10, it is not necessarily necessary to generate the corrected machining program 4C, and this may be performed in conjunction with processing to analyze the machining program 4 in the numerical control device 5.
[0094] Next, a description will be given of hardware that realizes the machining program modifying device 10 according to the first and second embodiments. Fig. 25 is a block diagram showing an example of the configuration of hardware that realizes the machining program modifying device according to the first and second embodiments.
[0095] The main parts of the machining program modifying device 10 are realized by a processing circuit 61 having a processor 63 and a memory 64. The main parts of the machining program modifying device 10 are a mesh generating unit 11, a surrounding mesh extracting unit 12, an evaluation value calculating unit 13, and a command point correcting unit 14.
[0096] The input unit 62 is a circuit that receives an input signal for the machining program modification device 10 from the outside. The input unit 62 receives the machining program 4. The output unit 65 is a circuit that outputs a signal generated by the machining program modification device 10 to the outside. The output unit 65 outputs the modified machining program 4C. The display unit 66 is a display that displays information.
[0097] The processor 63 is a central processing unit (CPU). The processor 63 may be an arithmetic unit, a microprocessor, a microcomputer, or a digital signal processor (DSP). The memory 64 is, for example, a non-volatile or volatile memory such as a random access memory (RAM), a read-only memory (ROM), a flash memory, an erasable programmable read-only memory (EPROM), or an electrically erasable programmable read-only memory (EEPROM (registered trademark)).
[0098] The processor 63 executes a machining program correction program, which is a computer program. The machining program correction program is a program in which processes for operating as each part constituting the main part of the machining program correction device 10 are described. The machining program correction program is stored in advance in the memory 64. The processor 63 reads out and executes the machining program correction program stored in the memory 64, thereby operating as each part constituting the main part of the machining program correction device 10.
[0099] Although the machining program modification program is assumed to be stored in advance in the memory 64, this is not limiting. The machining program modification program may be provided to a user of the machining program modification device 10 in a state in which it is written on a storage medium that can be read by a computer system, and may be installed in the memory 64 by the user. The storage medium may be a portable storage medium such as a flexible disk, or a flash memory such as a semiconductor memory. The machining program modification program may be installed in the memory 64 from another computer or a server device via a communication network.
[0100] The machining program modifying device 10 corrects the tool path 21 in real time while the machine tool 7 is machining, and generates a modified machining program 4C. The machining program modifying device 10 may correct the tool path 21 outside of machining, and may generate the modified machining program 4C outside of machining. The machining program modifying device 10 may test machining performance by simulating machining by the machine tool 7 based on the corrected tool path 21.
[0101] 26 is a flowchart showing an example of an operation procedure when the machining program modifying device according to the first and second embodiments simulates machining. First, the machining program modifying device 10 generates a model of a machined product by simulating machining in the processor 63 (step S41). In one example, the machining program modifying device 10 performs the machining simulation using the modified machining program 4C. Next, the machining program modifying device 10 stores the generated model in the memory 64 (step S42).
[0102] Thereafter, the machining program modifying device 10 generates an image of the machined product by rendering the model in the processor 63 (step S43). Then, the machining program modifying device 10 displays the image on the display unit 66 (step S44). With the above, the machining program modifying device 10 completes the operation according to the procedure shown in Fig. 26. By comparing the displayed image with the CAD model 2, the user can verify the corrected tool path 21 before performing actual machining.
[0103] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or different embodiments may be combined with each other. It is also possible to omit or modify parts of the configurations as long as they do not deviate from the gist of the invention.
[0104] 1, 1A Machining system, 2 CAD model, 3 CAM device, 4 Machining program, 4C Corrected machining program, 5 Numerical control device, 6 Control signal, 7 Machine tool, 8 Workpiece, 10 Machining program correction device, 11 Mesh generation unit, 12 Surrounding mesh extraction unit, 13 Evaluation value calculation unit, 14 Command point correction unit, 21, 21a, 21C Tool path, 22 Command point, 22A Command point immediately before command point of interest 22F, 22B Command point immediately after command point of interest 22F, 22C Command point two points before command point of interest 22F, 22D Command point two points after command point of interest 22F, 22F Command point of interest, 22Fa, 22Fb Corrected command point of interest, 23 Surrounding mesh, 23C Corrected surrounding mesh, 23j jth surrounding mesh, 24 Constraint sphere, 61 Processing circuit, 62 input unit, 63 processor, 64 memory, 65 output unit, 66 display unit, 71 drive unit, 72 tool, CP correction plane, E mesh edge, F mesh face, LS line segment, PP projection plane, V mesh vertex.
Claims
1. A machining program correction device that corrects a machining program used for machining by a machine tool by correcting a tool path, which is the path along which a tool of the machine tool moves, comprising: a mesh generation unit that generates a polygonal mesh based on a plurality of command points that indicate the position of the tool on the tool path; a peripheral mesh extraction unit that, for each of the plurality of command points, associates one or more polygonal meshes that exist within a predetermined range from the command point as peripheral meshes with the plurality of command points; and a command point correction unit that corrects each of the plurality of command points based on the associated peripheral meshes.
2. The machining program modification device according to claim 1, further comprising an evaluation value calculation unit that calculates an evaluation value for each of the plurality of command points, wherein the evaluation value calculation unit determines a projection plane for the surrounding mesh at each of the plurality of command points, and calculates the evaluation value for each of the plurality of command points corresponding to the surrounding mesh based on the projection area of the surrounding mesh onto the determined projection plane.
3. The machining program correction device according to claim 2, characterized in that the evaluation value calculation unit calculates, for each of the plurality of command points, a projection plane in which the projection area of one of the peripheral meshes or all of the plurality of peripheral meshes is smallest, as an optimal projection plane, and calculates the evaluation value based on the projection area of one of the peripheral meshes or all of the plurality of peripheral meshes projected onto the optimal projection plane for each of the plurality of command points.
4. The machining program correction device described in claim 2, characterized in that the evaluation value calculation unit calculates a plane perpendicular to a direction parallel to any one of the edges of one of the peripheral meshes or all of the multiple peripheral meshes as an optimal projection plane for each of the multiple command points, and calculates the evaluation value based on the projection area of one of the peripheral meshes or all of the multiple peripheral meshes projected onto the optimal projection plane for each of the multiple command points.
5. The machining program correction device according to claim 1, further comprising an evaluation value calculation unit that calculates an evaluation value for each of the plurality of command points based on the area of one of the surrounding meshes or the entire area of the plurality of surrounding meshes.
6. A machining program correction device as described in any one of claims 2 to 5, characterized in that the command point correction unit generates an evaluation model that indicates the relationship between the evaluation value and the position of the command point, and corrects the position of each of the multiple command points so that the evaluation value for each of the multiple command points is minimum or maximum based on the evaluation model.
7. A machining program correction device described in any one of claims 1 to 6, characterized in that the command point correction unit corrects the position of each of the multiple command points under the restriction that the command point and the command points immediately before and after the command point are included in a single plane.
8. A machining program correction device as described in any one of claims 1 to 7, characterized in that the command point correction unit corrects the position of each of the multiple command points within a range in which the correction amount falls within a predetermined distance.
9. A machining program correction device as described in any one of claims 1 to 8, characterized in that the mesh generation unit generates the polygonal mesh so that its vertices include the two command points immediately before and after the command point in the movement of the tool.
10. A machining system comprising: a machine tool that drives a tool to machine a workpiece; a machining program generation device that generates a machining program for machining the workpiece using the machine tool; a machining program correction device according to any one of claims 1 to 9 that corrects the machining program; and a numerical control device that controls the machine tool based on the corrected machining program.
11. A machining method in a machining system comprising a machine tool that drives a tool to machine a workpiece, a machining program generation device, a machining program correction device according to any one of claims 1 to 9, and a numerical control device, comprising: a machining program generation step in which the machining program generation device generates a machining program for machining the workpiece using the machine tool; a machining program correction step in which the machining program correction device corrects the machining program; a control step in which the numerical control device controls the machine tool based on the corrected machining program; and a machining step in which the machine tool drives the tool in accordance with instructions from the numerical control device to machine the workpiece.
Citation Information
Patent Citations
Handling procedure of cam system for cutting work
JP1995195253A
Path control method for robot
JP1995311611A
Method, apparatus, and program for optimizing feed rate
JP2008114333A