Program editing assistance device
Patent Information
- Application Number
- JP2025509507
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2025-09-30
- Publication Date
- 2026-01-09
AI Technical Summary
Existing machining methods struggle to provide a clear range for setting the indexing angle without causing interference between the tool and workpiece, limiting the operator's freedom in programming machine tools.
A program editing support device that includes an analysis unit for generating command data, a tool shape acquisition unit for acquiring tool shape information, a range calculation unit for determining the indexing angle range that avoids interference, and a presentation unit for outputting this range to the operator, allowing for improved freedom in setting the indexing angle.
Enables operators to easily identify and set indexing angles within the range that avoid interference, enhancing the precision and efficiency of machine tool programming by providing a clear and understandable indexing angle range.
Abstract
Description
Program editing support device
[0001] The present disclosure relates to a program editing support device.
[0002] Conventionally, a machining method has been known in which turning is performed while dynamically changing the index angle of the tool as seen from the workpiece, enabling complex shapes to be machined with a single turning tool. In this type of machining, the cutting edge position and index angle are commanded in each block of a program, and linear axes and rotary axes are controlled based on these commands and a preset tool offset. For example, Patent Documents 1 to 4 describe techniques related to machining using this type of index angle.
[0003] JP 2002-304203 A JP 2002-79428 A JP 2011-83830 A JP 2005-305579 A
[0004] When creating a program, there are cases where it is desired to arbitrarily set the index angle. In this regard, according to the conventional technology, although it is possible to obtain an index angle for avoiding interference, it is difficult to grasp the range in which interference will occur. From the viewpoint of allowing the machine tool operator or the like to set the index angle by himself within the range in which interference will not occur, there is room for improvement in the conventional technology.
[0005] The present disclosure has been made in consideration of the above-described problems, and aims to provide a technology that can improve the degree of freedom in setting an index angle within a range that avoids interference when creating a program that controls the operation of a machine tool.
[0006] The present disclosure relates to a program editing support device that supports the creation of a program for turning a workpiece using a tool, and includes: an analysis unit that generates command data from the program, the command data including at least a predetermined position of a predetermined point on a movement path of the tool and a relative index angle between the tool and the workpiece at the predetermined position; a tool shape acquisition unit that acquires shape information of one or more components that make up the tool; a range calculation unit that calculates an index angle range in which the workpiece and the tool do not interfere with each other at the predetermined position based on the command data and the shape information; and a presentation unit that outputs the index angle range.
[0007] According to the present disclosure, it is possible to provide a technique that can improve the degree of freedom in setting the index angle within a range that avoids interference when creating a program that controls the operation of a machine tool.
[0008] 1 is a block diagram showing a configuration of a program editing support device according to a first embodiment. FIG. 2 is a diagram showing an example of a program command. FIG. 3 is a table showing tool behaviors specified by program commands. FIG. 4 is a diagram schematically showing a relationship between a workpiece and the operation of a tool based on program commands. FIG. 5 is a diagram schematically showing an example of a component of a tool. FIG. 6 is a diagram schematically showing an example of tool shape information. FIG. 7 is a diagram schematically showing a relationship between a program path of a tool and an index angle. FIG. 8 is a diagram showing an example of an index angle range presented to an operator in the first embodiment. FIG. 9 is a diagram showing an example of an index angle range changed by an operator in the first embodiment. FIG. 10 is a flowchart showing an example of the flow of creation support processing by the program editing support device according to the present embodiment. FIG. 11 is a diagram showing an example of an index angle range and recommended values presented to an operator in a second embodiment. FIG. 12 is a diagram showing an example of an index angle range changed by an operator in the second embodiment.
[0009] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the description of the second and subsequent embodiments, the same reference numerals will be used to designate components common to the first and second embodiments, and the description thereof will be omitted as appropriate.
[0010] First Embodiment FIG. 1 is a block diagram showing the configuration of a program editing support device 10 according to a first embodiment.
[0011] The program editing support device 10 is an information processing device that supports the creation of a program for a machine tool that performs turning processing on a workpiece using a tool. The machine tool is, for example, a combined lathe having a mechanism for oscillating the tool. The program for the machine tool is, for example, an NC program for controlling the operation of the machine tool. The program includes command values and the like for executing processing control, such as the position of a predetermined point (location) on the tool's movement path, the tool movement method and amount, and the relative index angle between the tool and the workpiece. Some of the command values may be parameters that are preset in the machine tool. The machine tool performs turning processing on the workpiece based on the program's command values and the parameters that are preset in the machine tool.
[0012] The program editing support device 10 is configured using, for example, a computer including memories such as a ROM (read only memory) and a RAM (random access memory), a CPU (control processing unit), and a communication control unit, all connected via a bus. The program editing support device 10 may be a numerical control device that controls machining, or may be a computer for creating programs independent of machine tools.
[0013] A display device 50 and an input device 51 are connected to the program editing support device 10 of this embodiment. The display device 50 is a display that presents various types of information to the operator by image, sound, or both. The input device 51 is an interface that allows the operator to input various settings related to machining and machine tools by operating it. The display device 50 and the input device 51 may be configured independently, or the display device 50 and the input device 51 may be configured as an integrated touch panel display. In this way, the configurations of the display device 50 and the input device 51 are not particularly limited.
[0014] The program editing support device 10 includes, as functional units operated by the CPU, an analysis unit 11, a tool shape acquisition unit 12, a range calculation unit 13, a presentation unit 14, a selection result acquisition unit 15, and a program correction unit 16. The functions and operations of the functional units of the program editing support device 10 are achieved by cooperation between the CPU, memory, and the control program stored in the memory. Each functional unit will be described below.
[0015] The analysis unit 11 analyzes the program and acquires operation information for determining the operation of the tool. The operation information includes, for example, information for specifying the movement path of the tool tip position. The movement path corresponds to the shape of the workpiece. The movement path is described in the program command as multiple blocks. For each block, position information such as a start point indicating the initial position of the tool and an end point indicating the end position, as well as the type of movement, are set.
[0016] The analysis unit 11 of this embodiment acquires from the program operation information including a predetermined position point of each block on the movement path and a relative index angle between the tool and the workpiece at the predetermined position point. The predetermined position point of each block is, for example, the start point, end point, or an interpolation point indicating the position of the tool between the start point and the end point of the block. Based on the operation information, the analysis unit 11 generates command data including the predetermined position point of each block on the movement path and a relative index angle between the tool and the workpiece at the predetermined position point.
[0017] An example of analysis by the analysis unit 11 will be described with reference to Figures 2 to 4. In the following description, a point at a predetermined position in a block will be described as the end point of the block. Figure 2 is a diagram showing an example of a program command. Figure 3 is a table showing the behavior of the tool specified by the program command. Figure 4 is a diagram showing a schematic diagram of the relationship between the operation of the tool 20 based on the program command and the workpiece W. The tool 20 is configured to be rotatable about the B axis in the ZX plane. The workpiece W is the object of lathe machining, which rotates around the Z axis as the rotation axis.
[0018] N101 to N108 shown in Figures 2 to 4 indicate each block in the program command. Blocks starting with "G00" or "G01" specify linear behavior and coordinates such as positioning and linear interpolation. Blocks starting with "G02" specify curved behavior and coordinates such as clockwise circular interpolation (arc CW). Also, "X" in each block specifies the X coordinate, "Z" specifies the Z coordinate, and "F" specifies the feed rate. The tip position of the cutting edge of the tool 20 is determined by the X coordinate and Z coordinate. "R" specifies the radius in circular interpolation. "B" is the index angle specified by the program command.
[0019] In this example program, the tool 20 moves at an index angle of 15° at N101 to N104, at an index angle of 0° at N105 and N106, and at an index angle of -30° at N107 and N108. The analysis unit 11 generates command data indicating the behavior of the position of the cutting edge tip of the tool 20, the index angle, etc., shown in Figures 3 and 4 from the program in Figure 2.
[0020] The tool shape acquisition unit 12 acquires shape information relating to the shapes of components that constitute the tool on a plane where turning is performed. The components include, for example, a tool post, a holder, a shank, a cutting edge, etc. The tool shape acquisition unit 12 may acquire the shape information from command values of the program, or may acquire the shape information from a storage unit (not shown) external to the program editing support device 10.
[0021] An example of acquisition of shape information by the tool shape acquisition unit 12 will be described with reference to Fig. 5 and Fig. 6. Fig. 5 is a diagram schematically showing an example of components of a tool. Fig. 5 shows a plurality of components 21 to 23 of a tool 20. The shape information is, for example, information indicating the shapes of the components 21 to 23 on the ZX plane where cutting is performed.
[0022] The component 21 is a holder (or tool rest) portion of the tool 20. The component 22 is a shank portion of the tool 20. The component 23 is a cutting edge portion of the tool 20. In this example, the tool shape acquisition unit 12 acquires the lengths in the X-axis direction and the Z-axis direction of the component 21 and the component 22, and acquires the length in the X-axis direction and the cutting edge angle of the component 23.
[0023] 6 is a diagram schematically illustrating an example of shape information of the tool 20. As shown in Fig. 6, the tool shape acquisition unit 12 obtains vectors tracing the end points of each element from the tip of the cutting edge to the left and right based on information on the lengths of the elements 21 to 23 in the X-axis direction, the lengths of the elements 21 to 23 in the Z-axis direction, and the cutting edge angle.
[0024] In Fig. 6, the vectors on the left side of the paper are indicated by chain lines, and the vectors on the right side of the paper are indicated by dashed lines. In the example of Fig. 6, the shape information of the component 23 is the left vector V 1 and the right vector V of the cutting edge 2 The left vector V of the cutting edge 1 is the Z-direction component V 1z and the component in the X direction V 1x and the right vector V of the cutting edge 2 is the Z-direction component V 2z and the component in the X direction V 2x The shape information of the component 22 is the left vector V of the shank. 3 and the shank's right vector V 4 The left vector of the shank V 3 is the Z-direction component V 3z and the component in the X direction V 3x and the right vector V of the shank 4 is the Z-direction component V 4z and the component in the X direction V 4x The shape information of the component 21 is made up of the first left vector V 5 and the first right vector V of the holder 6 and the second left vector V of the holder 7 and the holder's second right vector V 8 These also consist of Z-direction and X-direction components. That is, the first left vector V 5 is component V 5z、 V 5xand the first right vector V 6 is component V 6z、 V 6x and the second left vector V 7 is component V 7z、 V 7x and the second right vector V 8 is component V 8z、 V 8x As the shape on the ZX plane becomes more complex and the number of sides to be considered increases, the number of vectors of shape information also increases.
[0025] In this example, the index angle B is an angle indicating the inclination of the tool 20, with 0 degrees (reference angle) being the state in which an imaginary straight line direction from the tip side (cutting edge side) of the tool 20 toward the base side coincides with a direction perpendicular to the Z-axis direction. The tool 20 is in an upright state when B=0, and the way in which it inclines is determined according to the positive or negative sign of B. The direction in which positive or negative is set is arbitrary. In this example, it is set so that inclination from the upright state to the left side of the paper becomes a positive region. Inclination from the upright state to the right side of the paper becomes a negative region.
[0026] The range calculation unit 13 acquires the index angle of the tool 20 when the tool 20 interferes with the workpiece W based on the analysis results of the analysis unit 11 and the shape information acquired by the tool shape acquisition unit 12. The shape of the workpiece W can also be acquired using the movement path of the tool 20 based on command values of the program. For example, the movement path based on command values of the cutting edge (tip), which is a component 23 of the tool 20, can be considered to follow the surface of the workpiece W to be machined.
[0027] The index angle acquired by the range calculation unit 13 to set the index angle range is the angle at the position where the tool 20 interferes with the workpiece W at the start point or end point of a block of program commands. The range calculation unit 13 acquires the index angle when the tool 20 interferes with the workpiece W at the start point or end point of each block of program commands. The range calculation unit 13 determines the index angle range based on the acquired index angle.
[0028] When there is a structure of another machine (such as a chuck or tailstock) for the workpiece W, the range calculation unit 13 sets the index angle range taking into consideration not only the workpiece W but also interference with the structure of the other machine. For example, the range calculation unit 13 determines whether or not there is interference between the tool 20 and the structure of the other machine based on shape information of the structure of the other machine. The determination method may be the same as the method for detecting interference between the tool 20 and the workpiece W. Then, the index angle when interference between the tool 20 and the structure of the other machine occurs is excluded from the index angle range.
[0029] An example of calculation of the index angle by the range calculation unit 13 will be explained with reference to Fig. 7. Fig. 7 is a diagram schematically showing the relationship between the program path of the tool 20 and the index angle. Each of N101 to N108 in Fig. 7 is the program path (workpiece W) of each block in the command data. As shown in Fig. 7, the range calculation unit 13 calculates the index angle B at which the vector on the left side of the tool 20 (the vector of the chain line) contacts the program path of the workpiece W (workpiece W) when the cutting edge, which is the component 23 of the tool 20, is at the end point of each block. L The range calculation unit 13 also calculates the value of the index angle B R Ask for.
[0030] The range calculation unit 13 calculates the index angle B for each block. L and index angle B R In the example of FIG. 7, the angle at which the vector indicated by the dashed line on the left side of the component 23 (cutting edge) at the end point of N102 hits the workpiece W is the index angle B L On the other hand, at the end point of N102, the angle at which the vector indicated by the dashed line on the right side of the component 21 (holder or tool rest) hits the workpiece W is the minimum index angle B R Therefore, the index angle range at the end point of this block is from -60° to 5°.
[0031] The range calculation unit 13 calculates the minimum index angle B for each of the blocks N101 to N108. R and maximum index angle BL In calculating the range of the index angle, the left and right inclination of the tool 20 relative to the movement path instructed by the program may be specified by the program, or a set value stored in advance in the program editing support device 10 or an external computer may be used.
[0032] The presentation unit 14 presents the range of the index angle calculated by the range calculation unit 13 to the operator by displaying it on the display device 50. The operator is, for example, a user who operates the program editing support device 10.
[0033] The index angle range (minimum and maximum values of the index angle) presented by the presentation unit 14 will be described with reference to FIG. 8 . FIG. 8 is a diagram showing an example of the index angle range presented to the operator in the first embodiment. FIG. 8 shows information indicating the minimum and maximum values of the index angle in each block N101 to N108 in a table format. The table in FIG. 8 also includes an additional item, "Change command value," for confirming whether to use the program's command value as is or change it. Since FIG. 8 is at the stage of presenting the information to the operator, "NO" is displayed in the "Change command value" column for each block N101 to N108. The "New command value" is the index angle set by the operator, which will be described later, and is blank at this stage.
[0034] 8, when the index angle based on the program command is outside the index angle range specified by the range calculation unit 13, that part is displayed in a different manner than when it is within the index angle range. As a display method for the different manner, for example, the color, pattern, or shape may be changed, such as by changing the color of the text, or the fact that the range has been exceeded may be displayed in text. Alternatively, the color or pattern of the display of the corresponding item may be changed. Furthermore, an expression that changes over time, such as blinking, may also be used as a different display method.
[0035] The selection result acquisition unit 15 acquires the selection result of whether to use the index angle commanded by the program or to use an index angle within the range presented by the presentation unit 14. The person who makes the selection is, for example, an operator.
[0036] The program correction unit 16 corrects the program based on the selection result of the selection result acquisition unit 15.
[0037] An example of acquisition of an operator's selection result by the selection result acquisition unit 15 and correction by the program correction unit 16 will be described with reference to FIG. 9 . FIG. 9 is a diagram showing an example of an index angle range changed by an operator in the first embodiment. In the example of FIG. 9 , among the blocks N101 to N108, "YES" is set in the "Change Command Value" column for N102 to N104, N107, and N108. Furthermore, an index angle of -45° input by the operator is entered in the "New Command Value" column for N102 to N104, N107, and N108, for which "YES" is set. The operator inputs and sets "Change Command Value" or "New Command Value" via, for example, the input device 51 or an external computer. When the operator inputs a value into the "New Command Value" column and confirms it, the display in the "Change Command Value" column may automatically change from NO to YES.
[0038] In this example, the indexing angles for all blocks where "YES" was selected are set to -45°, but a different value within the indexing angle range may be input. The selection result acquisition unit 15 acquires as the operator's selection result that an indexing angle of -45°, different from the command value, is set for blocks N102 to N104, N107, and N108.
[0039] Furthermore, the program correction unit 16 corrects the program based on the selection result acquired by the selection result acquisition unit 15. In the example of FIG. 9 , "B-45" indicating the index angle is added to the block N102, and the index angles of the tool 20 at N102 to N104 become -45°. Furthermore, "B-45" is added to N107, which was the block for changing the index angle in the program before correction, and the index angles of the tool 20 at N107 and N108 become -45°. Through the correction process of the program correction unit 16, the index angle of the new command value set by the operator is reflected in the program. This correction is also reflected in the image displayed on the display device 50, resulting in the state shown in FIG. 9 . This correction is also displayed in a different display mode from the other parts.
[0040] Next, the flow of the program creation support process will be described with reference to Fig. 10. Fig. 10 is a flowchart showing an example of the flow of the creation support process by the program editing support device 10 of this embodiment. The flowchart shown in Fig. 10 is merely an example, and the order and content of the processes can be changed as appropriate.
[0041] In step S1 , the analysis unit 11 analyzes the program to generate command data and transmits it to the range calculation unit 13 .
[0042] Next, in step S2 , the tool shape acquisition unit 12 acquires shape information on the plane on which turning is performed, and transmits it to the range calculation unit 13 .
[0043] Next, in step S3, the range calculation unit 13 executes the above-described process to set the index angle range of each block based on the analysis result (command data) of the analysis unit 11 and the shape information acquired by the tool shape acquisition unit 12.
[0044] Next, in step S4, the range calculation unit 13 determines whether or not an index angle range that avoids interference can be set. If the range calculation unit 13 cannot set an index angle range that avoids interference, the process proceeds to step S8 (step S4; No). In step S8, the presentation unit 14 executes a process of outputting to the display device 50 a message that interference will occur or that an index range angle cannot be set.
[0045] If the range calculation unit 13 can set an index angle range that avoids interference, the process proceeds to step S5 (step S4; Yes). In step S5, the presentation unit 14 transmits image information to the display device 50 to present the index angle range of each block of the program command to the operator.
[0046] In step S6, the selection result acquisition unit 15 acquires the selection result of the operator who has confirmed the information presented on the presentation unit 14. The selection result here is information based on the input operation of the operator.
[0047] In step S7, the program correction unit 16 corrects the program instructions based on the selection result acquired by the selection result acquisition unit 15. The program correction unit 16 also causes the presentation unit 14 to execute a process to reflect the correction result in the information displayed on the display device 50.
[0048] The program editing support device 10 of this embodiment described above has the following effects: The program editing support device 10 includes an analysis unit 11 that generates, from a program, command data including at least a predetermined position of a predetermined point on a movement path of the tool 20 and a relative index angle between the tool 20 and the workpiece W at the predetermined position, a tool shape acquisition unit 12 that acquires shape information of one or more components that make up the tool 20, a range calculation unit 13 that calculates, based on the command data and the shape information, an index angle range within which the workpiece W and the tool 20 do not interfere with each other at the predetermined position, and a presentation unit 14 that outputs the index angle range.
[0049] This allows the operator to easily grasp the index angle range in which interference does not occur. Even when creating a program by hand, the operator can easily specify the appropriate index angle using the grasped index angle range.
[0050] In this embodiment, the components 21 to 23 are at least one of a tool rest that stores the tool 20, a holder, and a shank and cutting edge of the tool 20.
[0051] This allows the index angle range to be presented to the operator more appropriately, taking into consideration the shape of the tool 20 that will actually be used for cutting.
[0052] In addition, in this embodiment, the range calculation unit 13 sets the maximum and minimum values of the index angle range when the tool 20 contacts the movement path at a predetermined position.
[0053] This allows the index angle range to be presented to the operator in an easy-to-understand manner using the maximum and minimum values.
[0054] In this embodiment, the range calculation unit 13 also reflects interference with the structure of the machine performing the turning process in the index angle range.
[0055] This makes it possible to set an index angle range that can avoid interference with the structure of the machine, and to set the index angle within this index angle range.
[0056] Furthermore, in this embodiment, if it is determined that interference between the tool 20 and the workpiece W cannot be avoided even if the index angle is changed, the range calculation unit 13 notifies that interference cannot be avoided.
[0057] This allows the operator to easily and quickly grasp situations in which interference cannot be avoided even if the index angle is changed.
[0058] In addition, the program editing support device 10 of this embodiment further includes a selection result acquisition unit 15 that acquires a selection result indicating that the operator has selected either an index angle specified in the program or an index angle within the index angle range, and a program correction unit 16 that corrects the program based on the selection result.
[0059] This means that if the operator selects an index angle within the index angle range, the program is automatically corrected, and cutting is performed using commands based on an index angle that is reliably non-interfering.
[0060] In addition, in this embodiment, the presentation unit 14 displays information indicating that the index angle commanded by the program is within the index angle range and information indicating that the index angle commanded by the program is outside the index angle range in different display modes.
[0061] This allows the operator to easily understand, through different display modes, whether or not the index angle in the program command is likely to cause interference.
[0062] Second Embodiment Although an example of the program editing support device 10 according to the first embodiment has been described above, the present invention is not limited to this configuration. Next, a program editing support device 10 according to a second embodiment will be described.
[0063] The program editing support device 10 of the second embodiment has a common configuration with the first embodiment. In the second embodiment, the information presented by the presentation unit 14 and the format of input by the operator are different. The process of displaying recommended values by the presentation unit 14 will be described with reference to Figs. 11 and 12 .
[0064] Fig. 11 is a diagram showing an example of the index angle range and recommended values presented to the operator in the second embodiment. In the example of Fig. 11, "Change command value" in Fig. 8 and Fig. 9 in the first embodiment is changed to "Use recommended value", and the item "New command value" is changed to "Recommended value".
[0065] The presenting unit 14 of the second embodiment presents the index angle range and one or more index angles from the calculated range as recommended values on the display device 50 to the operator.
[0066] The process of calculating the recommended value will now be described. The presentation unit 14 acquires, as the recommended value, a representative value of the index angle range acquired by the range calculation unit 13. The representative value may be, for example, a median or average value within the index angle range of the block, or the maximum or minimum value of the index angle range may be used as is.
[0067] 11, the presenting unit 14 presents the median value of the index angle range as the recommended value to the operator. The recommended value is calculated for each of the blocks N101 to N108.
[0068] In the second embodiment, the presenting unit 14 also executes a process of displaying a block in which the index angle based on the command value falls outside the calculated index angle range in a manner that distinguishes it from blocks within the index angle range. In this example, the presenting unit 14 changes the color of the text in the "Use recommended value" column of the block and displays the recommended value on the display device 50.
[0069] Fig. 12 is a diagram showing an example of an index angle range changed by an operator in the second embodiment. The example in Fig. 12 shows a state in which the operator has changed "Use recommended value" in blocks N102 to N104 and N107 to YES. The selection result acquisition unit 15 acquires, as the operator's selection result, that the recommended value rather than the command value is to be set in blocks N102 to N104 and N107 where YES is set.
[0070] Here, we will explain the case where the index angle command value in a certain block is replaced with a recommended value, and the “Use Recommended Value” field in subsequent blocks is set to “NO.” Normally, once an index angle is set in a certain block, the index angle set in that block remains in effect until a new index angle is set in the next or subsequent block. In this embodiment, the program correction unit 16 interprets blocks in which “NO” is set as not intending a change by the operator and sets a new index angle to be applied in the program before the change, rather than the recommended value. More specifically, the program correction unit 16 sets the index angle to the recommended value in N107, in which “YES” is set, and sets the index angle to be applied when the program before the change is executed, rather than applying the recommended value in N107, in N108, in which “NO” is set. In the example of FIG. 12 , “B-30.0” is added to the block in N108. These corrections are also displayed in a different display format from the other parts.
[0071] As described above, the second embodiment has the following advantages in addition to the advantages of the first embodiment.
[0072] The presenting unit 14 of the second embodiment presents, in addition to the index angle range, one or more index angles from the index angle range as recommended values.
[0073] This allows the operator to easily set an index angle within an index angle range where interference does not occur by using the recommended value without having to specify it himself.
[0074] In the second embodiment, the presenting unit 14 presents any one of the median, maximum, minimum, or average value of the index angle range as the recommended value.
[0075] This allows the recommended value to be calculated easily and reliably through simple processing.
[0076] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values or mathematical expressions are used in the description of the above-described embodiments.
[0077] The following supplementary notes are further disclosed regarding the above-described embodiment and modified examples. (Supplementary Note 1) A program editing support device that supports creation of a program for turning a workpiece (W) using a tool (20), comprising: an analysis unit (11) that generates, from the program, command data including at least a predetermined position of a predetermined point on a movement path of the tool (20) and a relative index angle between the tool (20) and the workpiece (W) at the predetermined position; a tool shape acquisition unit (12) that acquires shape information of one or more components (21) to (23) that make up the tool (20); a range calculation unit (13) that calculates, based on the command data and the shape information, an index angle range within which the workpiece (W) and the tool (20) do not interfere with each other at the predetermined position; and a presentation unit (14) that outputs the index angle range.
[0078] (Supplementary Note 2) In the program editing support device (10), the presenting unit (14) presents, in addition to the index angle range, one or more index angles from the index angle range as recommended values.
[0079] (Supplementary Note 3) In the program editing support device (10), the presenting unit (14) presents any one of a median value, a maximum value, a minimum value, or an average value of the index angle range as the recommended value.
[0080] (Supplementary Note 4) In the program editing support device (10), the components are at least one of a tool post that stores the tool (20), a holder, and a shank and cutting edge of the tool (20).
[0081] (Supplementary Note 5) In the program editing support device (10), the range calculation unit (13) sets maximum and minimum values of the index angle range when the tool (20) contacts the movement path at the predetermined position.
[0082] (Supplementary Note 6) In the program editing support device (10), the range calculation unit (13) reflects interference with a structure of the machine that performs the turning process in the index angle range.
[0083] (Supplementary Note 7) In the above program editing support device (10), when it is determined that interference between the tool (20) and the workpiece (W) cannot be avoided even if the index angle is changed, the range calculation unit (13) notifies that the interference cannot be avoided.
[0084] (Supplementary Note 8) The above program editing support device (10) further comprises a selection result acquisition unit (15) that acquires a selection result indicating that an operator has selected either the index angle specified in the program or an index angle within the index angle range, and a program correction unit (16) that corrects the program based on the selection result.
[0085] (Supplementary Note 9) In the above program editing support device (10), the presentation unit (14) displays, in different display modes, information indicating that the index angle commanded by the program is within the index angle range and information indicating that the index angle commanded by the program is outside the index angle range.
[0086] REFERENCE SIGNS LIST 10 Program editing support device 11 Analysis unit 12 Tool shape acquisition unit 13 Range calculation unit 14 Presentation unit 15 Selection result acquisition unit 16 Program correction unit 20 Tool 21 to 23 Components
Claims
1. A program editing support device that supports creation of a program for turning a workpiece using a tool, an analysis unit that generates command data from the program, the command data including at least a predetermined position of a predetermined point on a movement path of the tool and a relative index angle between the tool and the workpiece at the predetermined position; a tool shape acquisition unit that acquires shape information of one or more components that configure the tool; a range calculation unit that calculates an index angle range in which the workpiece and the tool do not interfere with each other at the predetermined position based on the command data and the shape information; a presentation unit that outputs the index angle range.
2. The program editing support device according to claim 1 , wherein the presenting unit presents, in addition to the index angle range, one or more index angles from the index angle range as recommended values.
3. The program editing support device according to claim 2 , wherein the presenting unit presents one of a median value, a maximum value, a minimum value, and an average value of the index angle range as the recommended value.
4. 3. The program editing support device according to claim 1, wherein the component is at least one of a tool post that stores the tool, a holder, a shank, and a cutting edge of the tool.
5. The program editing support device according to claim 1 , wherein the range calculation unit sets a maximum value and a minimum value of the index angle range when the tool contacts the movement path at the predetermined position.
6. 3. The program editing support device according to claim 1, wherein the range calculation unit reflects interference with a structure of a machine performing the turning process in the index angle range.
7. 3. The program editing support device according to claim 1, wherein, when it is determined that interference between the tool and the workpiece cannot be avoided even if the index angle is changed, the range calculation unit notifies the user that the interference cannot be avoided.
8. a selection result acquisition unit that acquires a selection result indicating that an operator has selected either the index angle specified in the program or an index angle within the index angle range; 3. The program editing support device according to claim 1, further comprising: a program correction unit that corrects the program based on the selection result.
9. The presentation unit Information indicating that the index angle commanded by the program is within the index angle range; Information indicating that the index angle commanded by the program is outside the index angle range; and 3. The program editing support device according to claim 1, wherein the program editing support device displays the program in different display modes.