WO2018122988A1 - 数値制御装置、プログラム変換装置、数値制御方法およびプログラム変換方法 - Google Patents

数値制御装置、プログラム変換装置、数値制御方法およびプログラム変換方法 Download PDF

Info

Publication number
WO2018122988A1
WO2018122988A1 PCT/JP2016/088999 JP2016088999W WO2018122988A1 WO 2018122988 A1 WO2018122988 A1 WO 2018122988A1 JP 2016088999 W JP2016088999 W JP 2016088999W WO 2018122988 A1 WO2018122988 A1 WO 2018122988A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
machining
tool
command position
shape
Prior art date
Application number
PCT/JP2016/088999
Other languages
English (en)
French (fr)
Inventor
弘樹 金子
健二 西脇
入口 健二
剛志 津田
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to DE112016007478.6T priority Critical patent/DE112016007478B4/de
Priority to CN201680091810.XA priority patent/CN110100211B/zh
Priority to JP2017538453A priority patent/JP6289765B1/ja
Priority to PCT/JP2016/088999 priority patent/WO2018122988A1/ja
Publication of WO2018122988A1 publication Critical patent/WO2018122988A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation

Definitions

  • the present invention relates to a numerical control device that constitutes a numerically controlled machine tool, a program conversion device that converts a numerically controlled machining program, a numerical control method, and a program conversion method.
  • machining program in which a movement command for moving a workpiece or a tool mounted on the numerically controlled machine tool to a preset path is described.
  • the machining program is created, for example, by a commercially available CAD (Computer-Aided Design) / CAM (Computer Aided Manufacturing) device, and is described in a prescribed format of a character string such as a G code and a macro sentence.
  • the G code is one of command codes used in numerical control, and is a command code described in a machining program when positioning, linear interpolation, circular interpolation, or plane designation of an object to be controlled.
  • a numerically controlled machine tool moves the tool along the tool path to perform cutting.
  • the tool path output from the CAD / CAM device is described in the machining program as a G code movement command that can be interpreted by the numerical controller, and the machining program is input to the numerical controller of the numerically controlled machine tool.
  • the numerical controller reads and interprets the machining program to create interpolation data obtained by interpolating the tool path for each interpolation cycle from the movement command.
  • the numerical control device controls each axis of the numerically controlled machine tool based on the created interpolation data, and processes the workpiece by moving the tool to a desired position.
  • machining curved surface the shape of the curved surface to be machined (hereinafter referred to as “machining curved surface”) in the workpiece. Calculate the ideal route.
  • the CAD / CAM device acquires information on the allowable error, samples the command point on the ideal path so that the calculated maximum error with the ideal path is equal to or less than the allowable error, A tool path is created by approximating a minute line segment obtained by interpolating between points with a straight line.
  • the machining curved surface is machined by interpolating between approximate command points with a straight line, so that there is a problem that the machining quality of the machining result is lowered.
  • the numerical control device partially restored the tool path received from the CAD / CAM device to a curved path, estimated and restored a curve such as a spline curve, and the restored curved path. The processing which interpolates was performed. It can be expected that a smooth processing result can be obtained.
  • Patent Document 1 discloses an invention in which a numerical control device adds information useful for restoring a curved path to a machining program.
  • the machining program includes a tool path movement command approximating the original shape and original shape information indicating whether the original shape of the tool path is a straight line or a curve, and if the original shape information is a straight line. If the original shape information is a curve, it is restored as a curved path.
  • the original shape information included in the machining program only indicates whether the original shape of the tool path is a straight line or a curve, and the shape of the ideal curved path to be restored is specified. It is not the information shown in. For this reason, the restored curved path does not match the shape of the ideal path to be restored, and it is difficult to realize machining capable of obtaining desired machining accuracy and machining quality.
  • Patent Document 1 it is necessary for the operator to determine whether the original shape is a straight line or a curve with respect to each movement command of the machining program, and to describe the original shape information in the machining program. There is a problem in that it takes a lot of time and effort to the worker, which is a burden and the work efficiency is lowered.
  • the present invention has been made in view of the above, and an object of the present invention is to obtain a numerical control device that realizes improvement of machining accuracy and machining quality.
  • a numerical control device inputs a machining program in which a movement command for a tool or a movement command for a workpiece is described, the movement command, and the movement command A curved path is generated on the basis of the shape feature information that represents the feature of the shape of the tool path that passes through the command position commanded by.
  • the numerical control device has an effect that the processing accuracy and processing quality of the processing result can be improved.
  • 1 is a diagram illustrating a configuration example of a numerical control device according to a first embodiment.
  • 1 is a flowchart showing an operation example of a numerical control apparatus according to a first embodiment; The figure which shows the 1st specific example of the machining program input into the numerical control apparatus concerning Embodiment 1.
  • FIG. The figure which shows the 1st specific example of the operation
  • FIG. The figure which shows the 2nd specific example of the operation
  • FIG. 10 is a flowchart showing an operation example of the numerical controller according to the second embodiment.
  • the figure which shows the example of the relation between the command position when a tool information expresses the shape of a ball end mill tool, a tool model, and a processing curved surface of a processing shape model
  • the figure which shows the example of the relation between the command position when a tool information expresses the shape of a ball end mill tool, a tool model, and a processing curved surface of a processing shape model
  • the figure which shows the example of the relation between the command position when a tool information expresses the shape of a ball end mill tool, a tool model, and a processing curved surface of a processing shape model
  • the figure which shows the example of relationship between the command position in case tool information expresses the shape of a radius end mill tool, a tool model, and the processing curved surface of a processing shape model
  • the figure which shows the example of relationship between the command position in case tool information expresses the shape of a radius end mill tool
  • Diagram showing a specific example of a machining shape model Diagram showing a specific example of a machining shape model Diagram showing a specific example of a tool model Diagram for explaining cutting point calculation method Diagram for explaining curve path section The figure for explaining the calculation procedure of the tangent direction vector Diagram showing a specific example of the tangent direction vector.
  • the figure which shows the specific example of a starting tangent direction vector and an end tangent direction vector The figure which shows the structural example of the program conversion apparatus concerning Embodiment 3. 10 is a flowchart showing an operation example of the program conversion apparatus according to the third embodiment.
  • FIG. 1 is a diagram illustrating a configuration example of the numerical controller according to the first embodiment of the present invention.
  • the numerical control device 10 is a device that performs numerical control on a machine tool (not shown) via the motor driving unit 16.
  • the numerical controller 10 includes a machining program input unit 11 that receives a machining program input from the outside, a machining program storage unit 12 that stores the machining program, a machining program analysis unit 13 that analyzes the machining program, and a machining program analysis.
  • a curve path generation unit 14 that generates a curve path based on the result and a curve path interpolation unit 15 that performs an interpolation process on the curve path are provided.
  • the machining program analysis unit 13 analyzes the machining program, obtains a command position that constitutes the tool path, and analyzes a machining program, and a shape feature information analysis unit 132 obtains shape feature information described later.
  • the numerical control apparatus 10 analyzes the machining program, generates a tool path, and executes an operation of outputting the tool path to the motor drive unit 16.
  • FIG. 2 is a flowchart showing an operation example of the numerical control apparatus 10 according to the first embodiment.
  • the flowchart of FIG. 2 shows a procedure of operations in which the numerical controller 10 generates a tool path.
  • a machining program is input to the numerical controller 10 (step S101). That is, in the numerical control device 10, the machining program input unit 11 reads a machining program for numerically controlling the machine tool from the outside.
  • the machining program includes a movement command for moving the workpiece or tool, which is a workpiece, to a preset path, and the shape of the curved path when the tool passes the command position commanded by the movement command.
  • Shape feature information representing the feature is described.
  • a tool path is formed by connecting command positions in a designated order, and the tool path includes one or more pairs of curved paths. Therefore, it can be said that the shape feature information is information representing the feature of the shape of the tool path.
  • the shape feature information corresponds to curve cancel information indicating a command position where generation of a curve path should be canceled, and a tangential direction vector indicating a tangent direction of the curve path at the command position.
  • the shape feature is a combination of a tangent direction vector indicating the tangent direction at the start point of the curve path of the movement command starting from the command position and a tangential direction vector indicating the tangential direction at the end point of the curve path of the movement command starting from the command position. Applicable to information. Further, the curvature of the curved path at the command position, curved section information indicating the section of the curved path, and the like also correspond to the shape feature information.
  • the shape feature information is configured by combining one or more of these pieces of information.
  • the input of the machining program to be executed as step S101 is realized by reading a file described in the G code format, for example, output by the CAD / CAM system. Alternatively, it is realized by an operator operating an input device such as a keyboard to input necessary information and creating a machining program.
  • the numerical controller 10 stores the machining program input via the machining program input unit 11 in the machining program storage unit 12.
  • Step S102 the numerical control apparatus 10 analyzes the machining program acquired by executing Step S101 (Step S102).
  • the machining program analysis unit 13 reads a machining program from the machining program storage unit 12, and the tool path analysis unit 131 obtains a command position commanded by a movement command described in the read machining program.
  • the shape feature information analysis unit 132 obtains shape feature information described in the machining program.
  • the shape feature information is obtained in association with each command position. That is, the tool path analysis unit 131 and the shape feature information analysis unit 132 of the machining program analysis unit 13 analyze the machining program to obtain each command position indicated by the movement command and associate it with each command position. Find shape feature information.
  • the tool path analysis unit 131 and the shape feature information analysis unit 132 pass the obtained command position and shape feature information to the curve path generation unit 14.
  • the numerical controller 10 generates a curved path (step S103). That is, in the numerical control device 10, the curve path generation unit 14 generates a curve path based on the command position and shape feature information received from the machining program analysis unit 13.
  • the curved path generated here also includes a straight path having a straight line between a plurality of command positions.
  • the curve path generation unit 14 when the curve cancellation information is included as the shape feature information, the curve path generation unit 14 generates the curve path in order from the top of the command position and reaches the command position associated with the curve cancellation information. The generation of the curved path is once canceled. Next, the curve path generation unit 14 generates a curve path in order starting from the command position where the generation of the curve path is canceled, and continues the process until all the command positions are processed. Generate as When a plurality of pieces of curve cancellation information are included, the curve path generation unit 14 cancels and restarts the generation of curve paths each time the command position associated with each of the plurality of curve cancellation information is reached. repeat.
  • the curved path generation unit 14 when a tangential direction vector is included as shape feature information, the curved path generation unit 14 generates a curved path in order from the top of the command position, and the command position associated with the tangential direction vector. Is reached, the curve path is generated so that the tangent direction of the curve path when passing through the command position is the same as the direction of the associated tangent direction vector.
  • the shape feature information includes a combination of a tangential direction vector indicating the tangential direction at the start point of the curved path and a tangential direction vector indicating the tangential direction at the end point of the curved path of the movement command having the command position as the end point A curved path is generated by the method of
  • the curved path generation unit 14 generates curved paths in order from the beginning of the command position, and when reaching the command position associated with the shape feature information, the tangent line when the curved path reaches the command position
  • the curved path is generated so that the direction is the same as the direction of the tangent direction vector associated with the direction, and the direction of the tangential direction vector associated with the tangential direction when the curved path departs from the command position A curved path is generated to be the same.
  • “to reach the command position associated with the shape feature information” means a tangent direction vector indicating the tangent direction at the start point of the curve path and a tangent at the end point of the curve path of the movement command having the command position as the end point. Reaching a command position associated with a combination of tangential direction vectors indicating directions.
  • the shape feature information associated with a certain command position includes a tangent direction vector indicating the tangent direction at the end point of the curved path of the movement command having the command position as the end point, and indicates the tangent direction at the start point of the curved path.
  • the curved path generation unit 14 indicates a tangential direction vector indicating the tangent direction at the end point of the curved path, which is associated with the curved path starting from the command position. Generate using.
  • a tangent direction vector indicating the tangent direction at the end point of the curved path of the movement command having the command position as the end point and a tangential direction vector indicating the tangent direction at the start point of the curved path are obtained.
  • the curved path generation unit 14 determines the tangential direction vector at the command position as one curved path along with the command position. Is calculated based on the command position that constitutes the curve, and a curved path is generated using the calculated tangential direction vector.
  • the curved path generation unit 14 passes the generated curved path to the curved path interpolation unit 15 when the generation of the curved path is completed.
  • the numerical controller 10 interpolates the curve path (step S104). That is, in the numerical controller 10, the curve path interpolation unit 15 generates an interpolation point on the curve path received from the curve path generation unit 14 by obtaining a tool movement amount per interpolation period that is a unit time and performing interpolation. .
  • the curved path after the interpolation processing in step S104 becomes the tool path.
  • the curve path interpolation unit 15 passes the interpolation point to the motor drive unit 16 when the generation of the interpolation point is completed.
  • the numerical controller 10 By operating in the above procedure, the numerical controller 10 according to the first embodiment generates a tool path.
  • FIG. 3 is a diagram illustrating a first specific example of a machining program input to the numerical control device 10
  • FIG. 4 is a diagram illustrating a first specific example of an operation in which the numerical control device 10 generates a curved path. .
  • step S101 shown in FIG. 2 the machining program input unit 11 of the numerical control apparatus 10 acquires the machining program 100 shown in FIG. 3, and the machining program storage unit 12 stores this.
  • the machining program 100 shown in FIG. 3 is described in a G code format, and is composed of a set of one-line units called blocks that command one operation to the numerically controlled machine tool.
  • a block is composed of a collection of units called words including instructions for one operation.
  • a word is composed of alphabets and numbers called addresses.
  • each block includes a plurality of words including a sequence number 101 and a movement command 102.
  • the sequence number 101 includes an address “N” followed by a numerical value.
  • the sequence number is a block index.
  • the movement command 102 includes an address “G” and a numerical value subsequent thereto, an address “X” and a numerical value subsequent thereto, and an address “Y” and a numerical value subsequent thereto.
  • the address “G” and the number “01” mean a command to move the axis by linear interpolation, and the addresses “X” and “Y” and the numerical value following these mean the coordinates of the command position where the axis moves.
  • the movement command “G01 X0.0 Y20.0” with the sequence number N01 shown in FIG. 3 is a command that means the movement of the axis by linear interpolation to the command position of the coordinates “X0.0 Y20.0”. .
  • the curve cancellation information 103 indicates that the generation of the curve path is canceled at the command position commanded to the same block by the address “L” and the numerical value “0” following the address “L”.
  • the block having the sequence number N03 shown in FIG. 3 includes a movement command “G01 X30.0 Y20.0” and curve cancellation information “L0”. Therefore, the block of sequence number N03 means that the axis is moved to the command position of coordinates “X30.0 Y20.0” in accordance with the movement command, and then the generation of the curve path is canceled at this command position.
  • the coordinates of the command position are two-dimensional, that is, the coordinate addresses are only “X” and “Y”. In the machining program input to, the coordinates of the command position are indicated by the three-dimensional coordinate addresses “X”, “Y”, and “Z” and the numerical values that follow them.
  • step S102 shown in FIG. 2 the machining program analysis unit 13 of the numerical control apparatus 10 analyzes the machining program 100 and sets command positions CL1 to CL10 commanded by the movement command of each block shown in FIG. Ask.
  • the command position CL1 indicates the command position by the movement command of the block of sequence number N01. The same applies to CL2 to CL10.
  • the machining program analysis unit 13 obtains command positions CL3 and CL8 where the curve cancellation information is commanded.
  • the command positions of the block of sequence number “N03” and the block of sequence number “N08” in which the curve cancellation information is described correspond to the command positions CL3 and CL8 shown in FIG. 4A, respectively.
  • step S103 shown in FIG. 2 the curve path generation unit 14 of the numerical controller 10 generates a curve path based on the command positions CL1 to CL10 and the curve cancellation information commanded to the command positions CL3 and CL8. .
  • FIG. 4B shows a state in which a curved path that passes through the command position in order from the command position CL1 that is the head of the tool path is generated.
  • the curve path generation unit 14 first generates a curve path that passes through the command positions CL1, CL2, and CL3. At this time, since the curve cancellation information is commanded in CL3, the curve path generation unit 14 interrupts the generation of the curve path with CL3 as the end point of the curve path.
  • the command positions CL1, CL2, and CL3 are located on a straight line, the command positions CL1, CL2, and CL3 are linear paths, and a curved path # 1 is generated.
  • the curved path generation unit 14 restarts the generation of the curved path from the command position CL3 as a starting point, and generates a curved path that passes through CL3, CL4, CL5, CL6, CL7, and CL8.
  • the curve path generation unit 14 interrupts the generation of the curve path with CL8 as the end point.
  • curve path # 2 is generated.
  • the curved path generation unit 14 restarts the generation of the curved path from the command position CL8 as a starting point, and generates a curved path that passes through CL8, CL9, and CL10. As a result, curve path # 3 is generated.
  • step S104 shown in FIG. 2 the curve path interpolation unit 15 of the numerical controller 10 obtains the amount of tool movement per interpolation cycle according to the curve paths # 1 to # 3 generated by the curve path generation unit 14, respectively. Interpolated interpolation points are generated and passed to the motor drive unit 16. For example, when the time required for the tool to move between adjacent command positions is N times the interpolation cycle, the curve path interpolation unit 15 generates N ⁇ 1 interpolation points between the command positions.
  • FIG. 5 is a diagram illustrating a second specific example of the machining program input to the numerical control device 10
  • FIG. 6 is a diagram illustrating a second specific example of the operation of the numerical control device 10 generating a curved path. is there.
  • the machining program input unit 11 of the numerical controller 10 acquires the machining program 200 shown in FIG. 5 and the machining program storage unit 12 stores this.
  • the starting tangent direction vector 201 is made up of addresses “VA”, “VB”, and “VC” followed by a numerical value.
  • the starting tangent direction vector 201 is vector information representing the tangent direction at the start point of the curved path toward the command position of the movement command of the block, that is, the command position of the movement command of the immediately preceding block. For example, the start tangent direction vector 201 included in the block with the sequence number N02 shown in FIG.
  • the command position commanded by the block with the sequence number N01 is the command position commanded by the block with the sequence number N01, that is, the tangent at the command position with the coordinates “X0.0 Y20.0”.
  • This is vector information representing the direction.
  • the addresses “VA”, “VB”, and “VC” of the starting tangent direction vector 201 indicate the X, Y, and Z components of the vector, respectively.
  • the end tangent direction vector 202 is vector information representing the tangent direction at the end point of the curved path toward the command position of the movement command of the same block by the addresses “VD”, “VE”, and “VF” and subsequent numerical values. is there.
  • the addresses “VD”, “VE”, and “VF” of the ending tangent direction vector 202 indicate the X, Y, and Z components of the vector, respectively.
  • step S102 shown in FIG. 2 the machining program analysis unit 13 of the numerical controller 10 analyzes the machining program 200, and determines command positions CL1 to CL10 commanded by the movement command of each block shown in FIG. Ask.
  • the command position CL1 indicates the command position by the movement command of the block of sequence number N01. The same applies to CL2 to CL10.
  • the machining program analysis unit 13 includes start tangent direction vectors SV2, SV4 and SV9 and end tangent direction vectors EV2 to EV10 at the command positions CL1 to CL10 of the movement commands of the respective blocks. Ask for.
  • step S103 shown in FIG. 2 the curve path generation unit 14 of the numerical controller 10 is based on the command positions CL1 to CL10, the start tangent direction vectors SV2, SV4 and SV9, and the end tangent direction vectors EV2 to EV10. , Generate a curved path.
  • FIG. 6B shows a state in which a curved path that passes through the command position in order from the command position CL1 that is the head of the tool path is generated.
  • the curve path generation unit 14 first generates a curve path that passes through the command positions CL1, CL2, and CL3. At this time, in the curved path from the command position CL1 to CL2, the tangential direction commanded by the start tangent direction vector SV2 is obtained at CL1 that is the start point of the curved path, and the end tangent direction vector EV2 is obtained at CL2 that is the end point of the curved path.
  • a curved path is generated so as to be in the tangential direction commanded in.
  • the start tangent direction vector is not commanded at CL2 which is the start point of the curve path, so that the tangent direction commanded by the end tangent direction vector EV2 at CL2 is obtained and the curve path A curved path is generated so that the tangential direction commanded by the end tangent direction vector EV3 is obtained at the end point CL3.
  • the start tangent direction vector SV4 is commanded at the command position CL3 which is the start point of the curve path, and therefore the generation of the curve path is temporarily interrupted at the command position CL3.
  • curve path # 4 is generated.
  • curve path # 5 and curve path # 6 are generated in the same procedure.
  • the generation of the curve path is temporarily interrupted at the command position commanded by the coordinates in the block including the start tangent direction vector 201, and the command position is The process proceeds to generation of the next curved path as the starting point.
  • step S104 shown in FIG. 2 the curve path interpolation unit 15 of the numerical controller 10 obtains the amount of tool movement per interpolation cycle according to the curve paths # 4 to # 6 generated by the curve path generation unit 14, respectively. Interpolated interpolation points are generated and passed to the motor drive unit 16.
  • the shape feature representing the feature of the movement command that instructs the movement of the tool or the workpiece and the shape of the route at a specific command position on the tool route.
  • the numerical control device 10 it is possible to generate a curved path based on the shape characteristic information of the curved path when passing the command position of the movement command, and the restored curved path is restored.
  • the degree of coincidence with the ideal path shape to be improved can be increased, and the processing accuracy and processing quality of the processing result can be improved.
  • the curve cancel information is commanded as the shape feature information, so that the generation of the curve path can be canceled according to the curve cancel information, and the restored curve path is restored. It can approach the ideal path to be done. As a result, the processing accuracy and processing quality of the processing result are improved.
  • a curved path is generated according to the start tangent direction vector and the end tangent direction vector.
  • the numerical controller 10 generates the curved path so that the tangent direction when the curved path passes the command position matches the direction of the start tangent direction vector and the end tangent direction vector. It becomes possible to approach the ideal path to be restored, and the processing accuracy and processing quality of the processing result can be improved.
  • the numerical control device 10 when the tangential direction vector at the start point of the movement command is not commanded together with the movement command, the tangential direction vector at the end point of the previous movement command is used as the start point of the movement command.
  • the tangent direction vector at Therefore, when the tangential direction vector at the end point of a specific movement command in the machining program matches the tangential direction vector at the start point of the immediately following movement command, only the tangential direction vector at the end point of the movement command may be specified. Therefore, it is possible to reduce the capacity of the machining program, reduce the amount of work and the work time when the operator creates the machining program, and improve the work efficiency.
  • the tangential direction vector at the command position commanded by the movement command is displayed along the curve path together with the command position. Since the calculation is performed based on the command position to be configured, the operator only needs to command a tangential direction vector for a portion of the machining program for which the machining accuracy of the machining result or the machining quality is desired to be improved. Therefore, the capacity of the machining program can be reduced, the amount of work and the work time when the operator creates the machining program can be reduced, and the work efficiency can be improved.
  • FIG. FIG. 7 is a diagram of a configuration example of the numerical controller according to the second embodiment.
  • symbol is attached
  • the machining program analysis unit 13 and the curve path generation unit 14 of the numerical control apparatus 10 according to the first embodiment are replaced with a machining program analysis unit 13a and a curve path generation unit 14a, respectively.
  • a tool data input unit 21, a tool data storage unit 22, a shape data input unit 23, a shape data storage unit 24, and a shape feature information calculation unit 25 are added.
  • the shape feature information calculation unit 25 includes a cutting point calculation unit 251, a cutting point storage unit 252, a curved path segment calculation unit 253, a curved path segment storage unit 254, a tangential direction vector calculation unit 255, and a tangential direction vector storage unit 256.
  • the machining program including the shape feature information is a processing target, and the curved path is based on the movement command and the shape feature information included in the machining program. Was restored and a tool path was generated.
  • shape feature information is calculated using tool data and shape data described later.
  • the machining program analysis unit 13a analyzes the machining program and obtains a command position commanded by a movement command described in the machining program.
  • the tool data input unit 21 receives tool data that is input from the outside and is information that defines a tool for processing a workpiece.
  • the tool data is information representing the shape of the tool, such as information representing the type of tool, tool diameter, tool edge radius, and tool length.
  • the numerical controller 10a can generate a tool model based on the tool data. That is, the tool data includes various information necessary for the numerical controller 10a to generate a tool model.
  • the tool data storage unit 22 stores the tool data input to the tool data input unit 21.
  • the shape data input unit receives shape data input from the outside.
  • the input shape data is data defining a machining shape model of the workpiece, that is, data representing the shape of the machining shape model.
  • the machining shape model has a machining curved surface that is a curved surface to be machined by a tool and an interference curved surface that is a curved surface to avoid interference.
  • the machining shape model is an ideal shape of a workpiece that is a result obtained by machining a workpiece by a machine tool according to a machining program.
  • the machine tool processes an object to be processed so that an error between the machining shape model and the workpiece is reduced.
  • the shape data storage unit 24 receives the shape data input to the shape data input unit 23 and stores the received shape data.
  • the shape feature information calculation unit 25 calculates shape feature information based on the command position, tool data, and shape data commanded by the movement command described in the machining program.
  • the cutting point calculation unit 251 calculates the cutting point on the workpiece based on the command position, tool data, and shape data instructed by the machining program.
  • the cutting point storage unit 252 stores the cutting points calculated by the cutting point calculation unit 251.
  • the curved path section calculation unit 253 calculates a curved path section based on the shape data and the cutting points stored in the cutting point storage unit 252.
  • the curved path segment storage unit 254 stores the curved path segment calculated by the curved path segment calculation unit 253.
  • the tangential direction vector calculation unit 255 calculates a tangential direction vector at each cutting point based on the shape data, the cutting point stored in the cutting point storage unit 252 and the curved path section stored in the curved path section storage unit 254. calculate.
  • the curve path generation unit 14 a is stored in the command position commanded by the movement command described in the machining program, the curve path section stored in the curve path section storage unit 254, and the tangential direction vector storage unit 256. A curved path is generated based on the tangential direction vector.
  • FIG. 8 is a flowchart showing an operation example of the numerical control apparatus 10a according to the second embodiment.
  • the flowchart of FIG. 8 shows a procedure of operations in which the numerical controller 10a generates a tool path.
  • a machining program, tool data, and shape data are input to the numerical controller 10a (step S201). That is, in the numerical controller 10a, the machining program input unit 11 reads the machining program from the outside, the tool data input unit 21 reads the tool data from the outside, and the shape data input unit 23 reads the shape data from the outside.
  • the numerical controller 1 stores a machining program input via the machining program input unit 11 in the machining program storage unit 12 and stores tool data input via the tool data input unit 21 in the tool data storage unit 22.
  • the shape data input via the shape data input unit 23 is stored in the shape data storage unit 24.
  • the input of the machining program executed as step S201 is realized by reading a file described in the G code format, for example, output by the CAD / CAM system. Alternatively, it is realized by an operator operating an input device such as a keyboard to input necessary information and creating a machining program. Moreover, the input of the tool data executed as step S201 is realized when the operator inputs the tool data using an input device such as a keyboard. Alternatively, it is realized by inputting CAD data from the outside and generating tool data by the tool data input unit 21 converting the CAD data. Further, the input of shape data executed as step S201 is realized by the operator inputting shape data by operating an input device such as a keyboard. Alternatively, it is realized by inputting CAD data from the outside and generating shape data by the shape data input unit 23 converting the CAD data.
  • step S202 the numerical controller 10a analyzes the machining program input in step S201 (step S202).
  • step S202 the machining program analysis unit 13a reads a machining program from the machining program storage unit 12, and obtains a command position of a movement command described in the read machining program.
  • the machining program analysis unit 13a passes the obtained command position to the cutting point calculation unit 251.
  • the numerical controller 10a calculates a cutting point based on the command position obtained in step S202, the tool data stored in the tool data storage unit 22, and the shape data stored in the shape data storage unit 24. (Step S203).
  • the cutting point is calculated by the cutting point calculation unit 251.
  • step S203 the cutting point calculation unit 251 first receives the command position from the machining program analysis unit 13a, reads the tool data from the tool data storage unit 22, and reads the shape data from the shape data storage unit 24.
  • the cutting point calculation unit 251 creates a tool model of a tool shape based on the tool data, and creates a machining shape model of a machining shape that is a machining target based on the shape data.
  • the machining shape model is composed of a plurality of machining curved surfaces.
  • the cutting point calculation unit 251 obtains a cutting point that is a virtual processing point on the processing curved surface of the processing shape model when the tool model is arranged at each command position.
  • the command position is the relative position of the tool with respect to the workpiece when the tool processes the workpiece, and if a tool model is placed at the command position, ideally the tool model and machining at each command position.
  • the machining surface of the shape model touches.
  • the cutting point calculation unit 251 calculates the cutting points by the method shown in FIGS. 9 to 17. A method by which the cutting point calculation unit 251 calculates cutting points will be described with reference to FIGS. 9 to 17. Normally, one cutting point is calculated for each command position, but if the command position satisfies a specific condition, a plurality of cutting points are calculated for the command position that satisfies the specific condition.
  • FIG. 9 to 11 are diagrams showing an example of the relationship between the command position, the tool model, and the machining surface of the machining shape model when the tool information represents the shape of the ball end mill tool.
  • FIG. 9 shows a state in which the tool model arranged at the command position is separated from the machining curved surface of the machining shape model.
  • the cutting point calculation unit 251 calculates one point on the machining curved surface where the distance between the tool model and the machining curved surface is the shortest as the cutting point.
  • FIG. 10 shows a state in which the tool model arranged at the command position is in contact with the machining curved surface of the machining shape model.
  • the cutting point calculation unit 251 calculates one point where the tool model and the machining curved surface are in contact as a cutting point.
  • FIG. 11 shows a state in which the tool model arranged at the command position interferes with the machining curved surface.
  • the cutting point calculation unit 251 offsets the tool model inward until the tool model and the machining curved surface come into contact with each other. At this point, one point where the tool model and the machining curved surface are in contact is calculated as a cutting point.
  • FIG. 12 to 14 are diagrams showing an example of the relationship between the command position, the tool model, and the machining surface of the machining shape model when the tool information represents the shape of the radius end mill tool.
  • FIG. 12 shows a state in which the tool model arranged at the command position is in a state separated from the machining curved surface of the machining shape model.
  • the cutting point calculation unit 251 calculates one point on the machining curved surface where the distance between the tool model and the machining curved surface is the shortest as the cutting point.
  • FIG. 13 shows a state where the tool model placed at the command position is in contact with the machining curved surface of the machining shape model.
  • the cutting point calculation unit 251 calculates one point where the tool model and the machining curved surface are in contact as a cutting point.
  • FIG. 14 shows a state in which the tool model arranged at the command position interferes with the machining curved surface.
  • the cutting point calculation unit 251 offsets the tool model inward until the tool model and the machining curved surface come into contact with each other. At this point, one point where the tool model and the machining curved surface are in contact is calculated as a cutting point.
  • FIG. 15 to 17 are diagrams showing examples of the relationship between the command position, the tool model, and the machining curved surface of the machining shape model when the tool information represents the shape of the flat end mill tool.
  • FIG. 15 shows a state in which the tool model arranged at the command position is separated from the machining curved surface of the machining shape model.
  • the cutting point calculation unit 251 calculates one point on the machining curved surface where the distance between the tool model and the machining curved surface is the shortest as the cutting point.
  • FIG. 16 shows a state in which the tool model arranged at the command position is in contact with the machining curved surface of the machining shape model.
  • the cutting point calculation unit 251 calculates one point where the tool model and the machining curved surface are in contact as a cutting point.
  • FIG. 17 shows a state in which the tool model arranged at the command position interferes with the machining curved surface.
  • the cutting point calculation unit 251 offsets the tool model inward until the tool model and the machining curved surface come into contact with each other. At this point, one point where the tool model and the machining curved surface are in contact is calculated as a cutting point.
  • the cutting point calculation unit 251 calculates a cutting point for each machining curved surface.
  • the cutting point calculation unit 251 treats the cutting points as existing on each machining curved surface.
  • the cutting point calculation unit 251 performs cutting when the closest distance between the tool model and each machining curved surface when the tool model is arranged at the command position is equal to or less than a predetermined threshold value. What is necessary is to calculate a point.
  • the cutting point calculation unit 251 stores the cutting point obtained as described above in the cutting point storage unit 252 in association with the command position where the cutting point is calculated and the processing curved surface where the cutting point exists. That is, the cutting point storage unit 252 has information indicating whether each cutting point calculated by the cutting point calculation unit 251 is a cutting point obtained when the tool model is arranged at which command position, and the cutting point is It is stored together with information indicating on which processed curved surface it exists.
  • information indicating which cutting point is obtained when the tool model is arranged at which command position and information indicating which machining surface the cutting point exists on are stored together with the cutting point. Collectively, it may be referred to as attribute information.
  • the numerical controller 10 a calculates a curve path section based on the cutting point and attribute information stored in the cutting point storage unit 252 and the shape data stored in the shape data storage unit 24 ( Step S204).
  • the curve route section calculation unit 253 performs calculation of the curve route section.
  • step S204 the curve path section calculation unit 253 first reads the cutting point and attribute information from the cutting point storage unit 252, and reads the shape data from the shape data storage unit 24, and generates a machining shape model based on the shape data. To do.
  • the curve path section calculation unit 253 obtains a curve path section by grouping the command positions on one curve path in order from the head command position.
  • the curve path section calculation unit 253 confirms the cutting point corresponding to each command position, and when the cutting point satisfies a specific condition, sets the command position as the end of the curve path section. Whether the cutting point satisfies a specific condition is determined from the attribute information. For example, when one of the following (1) to (4) is true, the curved path section calculation unit 253 determines that the cutting point satisfies a specific condition, and sets the command position as the end of the curved path section. To do.
  • the cutting point at the command position is the connection position of the machining curved surface, that is, the attribute information of the cutting point indicates that the cutting point is on the connection position between a plurality of machining curved surfaces, or the command
  • the machining curved surface with which the tool contacts at the command position is switched, that is, when the machining curved surface where the cutting point exists at a certain command position is different from the machining curved surface where the cutting point exists immediately after the command position, Suppose a point meets certain conditions.
  • the curved path section calculation unit 253 may determine whether or not the command position is set to the end of the curved path section using conditions different from the above (1) to (4).
  • the curve path section calculation unit 253 sets the command position at the end of the obtained curve path section as the head of the next curve path section, and sets the command position and the cutting point at the command position. Confirm the same in order and calculate a new curve path section.
  • the curved path section calculation unit 253 performs the same processing until the confirmation of the cutting points at all the command positions is completed, and calculates the curved path section.
  • the curve path section calculation unit 253 stores the calculated curve path section in the curve path section storage unit 254.
  • the numerical controller 10 a stores the cutting point and attribute information stored in the cutting point storage unit 252, the curved path section stored in the curved path section storage unit 254, and the shape data storage unit 24.
  • a tangential direction vector is calculated based on the shape data (step S205).
  • the tangential direction vector is calculated by the tangential direction vector calculation unit 255.
  • step S205 the tangential direction vector calculation unit 255 first reads the cutting point and attribute information from the cutting point storage unit 252, reads the curve path section from the curve path section storage unit 254, and further reads the shape from the shape data storage unit 24. Read data.
  • the tangential direction vector calculation unit 255 generates a machining shape model based on the shape data, and calculates a tangential direction vector of the curved path when passing each command position for each curved path section.
  • the tangential direction vector calculation unit 255 In the calculation of the tangential direction vector of the curved path, the tangential direction vector calculation unit 255 first extracts one curved path section, and extracts a command position included in the curved path section and a cutting point corresponding to the command position. Next, the tangential direction vector calculation unit 255 calculates a normal direction vector at the cutting point of the machining curved surface of the machining shape model.
  • a normal direction vector calculation method for example, in a machining surface that is a parametric curved surface expressed by parameters, a normal direction vector is calculated by calculating an outer product of vectors indicating the directions of the parameters at the cutting point on the machining surface. There is a way to get it.
  • the tangential direction vector calculation unit 255 calculates a tangential direction vector of the curved path at the command position corresponding to each cutting point so as to be perpendicular to the calculated normal direction vector.
  • the obtained tangential direction vector is parallel to the machining curved surface at the cutting point of the machining curved surface of the machining shape model.
  • the tangential direction vector calculation unit 255 When there are a plurality of cutting points corresponding to one command position, the tangential direction vector calculation unit 255 has a cutting point on the same processing curved surface as the processing curved surface having a cutting point corresponding to the command position immediately before the command position. Select. Alternatively, the tangential direction vector calculation unit 255 selects a cutting point on the same machining curved surface as the machining curved surface having a cutting point corresponding to the command position immediately after the command position. Then, the tangential direction vector calculation unit 255 calculates a tangential direction vector using the normal direction vector at the selected cutting point. That is, the tangential direction vector calculation unit 255 calculates the tangential direction vector using the normal direction vector at the cutting point on the machining curved surface corresponding to the extracted curve path section.
  • a curved path that passes through each command position is generated in advance as a temporary curve path, and the temporary tangent direction vector that is the tangential direction vector at the command position of the temporary curve path is the normal direction.
  • a temporary tangent direction vector that is a direction from the immediately preceding command position to the immediately following command position is obtained in advance using the command positions before and after the target command position for which the tangential direction vector is obtained.
  • the tangent direction vector calculation unit 255 extracts the next curve path section and performs the same processing, and performs the same process. Is calculated.
  • the tangent direction vector calculation unit 255 repeats the same processing, and calculates the tangent direction vector at each command position for all the curve path sections stored in the curve path section storage unit 254.
  • the tangent direction vector calculation unit 255 stores the calculated tangent direction vectors in the tangent direction vector storage unit 256 together with the corresponding command position information.
  • the numerical control device 10a the command position obtained by analyzing the machining program, the curve path section stored in the curve path section storage unit 254, and the tangent direction stored in the tangent direction vector storage unit 256.
  • a curved path is generated based on the vector (step S206).
  • the curved path generation unit 14a generates the curved path.
  • step S206 the curved path generation unit 14a first receives the command position from the machining program analysis unit 13a, reads the curved path section from the curved path section storage unit 254, and reads the tangential direction vector from the tangential direction vector storage unit 256. .
  • the curve path generation unit 14a determines a command position for commanding curve cancellation information based on the curve path section.
  • the curve path generation unit 14a determines the command position at the end of each curve path section as a command position for commanding curve cancellation information.
  • the curve path generation unit 14a determines a start tangent direction vector and an end tangent direction vector at each command position based on the tangent direction vector.
  • the start tangent direction vector and the end tangent direction vector are the start tangent direction vector and the end tangent direction vector described in the first embodiment.
  • the curve path generation unit 14a determines the tangential direction vector corresponding to the head command position of the curve path section as the start tangent direction vector at the command position, and corresponds to the command position not corresponding to the head command position of the curve path section.
  • the tangent direction vector is determined as the end tangent direction vector at the command position.
  • the curve path generation unit 14a generates a curve path according to the command position, the curve cancellation information, the start tangent direction vector, and the end tangent direction vector.
  • the curved path generation unit 14a generates a curved path by the same procedure as the curved path generation unit 14 of the first embodiment generates a curved path.
  • step S207 the numerical controller 10a interpolates the curve path (step S207). Since the process in step S207 is the same as that in step S104 described in the first embodiment, the description thereof is omitted.
  • the numerical control apparatus 10a By operating in the above procedure, the numerical control apparatus 10a according to the first embodiment generates a tool path.
  • FIGS. 18 and 19 are diagrams showing specific examples of machining programs and command positions input to the numerical control device 10a
  • FIGS. 20 and 21 are diagrams showing specific examples of machining shape models
  • FIG. 22 is a tool model.
  • FIG. 23 is a diagram for explaining a cutting point calculation method
  • FIG. 24 is a diagram for explaining a curve path section
  • FIG. 25 is a procedure for calculating a tangential direction vector.
  • FIG. 26 is a diagram showing a specific example of the tangent direction vector
  • FIG. 27 is a diagram showing a specific example of the start tangent direction vector and the end tangent direction vector.
  • step S201 shown in FIG. 8 the machining program input unit 11 of the numerical controller 10a acquires the machining program 300 shown in FIG. 18, and the machining program storage unit 12 stores this.
  • the coordinates of the command position are two-dimensional, that is, the coordinate addresses are only “X” and “Z”, but are input to the numerical control device of the actual numerical control machine tool.
  • the coordinates of the command position are indicated by three-dimensional coordinate addresses “X”, “Y”, and “Z” and numerical values that follow them.
  • step S201 shown in FIG. 8 the tool data input unit 21 of the numerical controller 10a acquires tool data for generating the tool model T10 shown in FIG. 22, and the tool data storage unit 22 stores this. To do.
  • the shape data input unit 23 of the numerical controller 10a acquires shape data for generating the machining shape model M1 shown in FIG.
  • the machining shape model M1 is generated by a CAD / CAM system.
  • the shape data input to the numerical controller 10a is CAD data in a predetermined format.
  • the machining shape model M1 has machining curved surfaces S0 to S3. As shown in the sectional view of the machining shape model M1 in FIG. 21, the machining curved surfaces S0 and S1 are at the connection position e0, and the machining curved surfaces S1 and S2 are the connection positions. In e1, the processing curved surfaces S2 and S3 are connected at the connection position e2. Further, at the connection positions e0 and e2, the machining curved surfaces are connected tangentially, and at the connection position e1, the machining curved surfaces are connected continuously.
  • step S202 shown in FIG. 8 the machining program analysis unit 13a of the numerical controller 10a analyzes the machining program 300 and obtains command positions CL11 to CL25 commanded by the movement command of each block shown in FIG.
  • the command position CL11 indicates a command position based on a movement command for the block of sequence number N11.
  • the machining program analysis unit 13a passes the obtained command position to the cutting point calculation unit 251 and the curve path generation unit 14a.
  • step S203 shown in FIG. 8 the cutting point calculation unit 251 of the numerical controller 10a first generates a tool model T10 based on the tool data, and then generates a machining shape model M1 based on the shape data. .
  • the cutting point calculation unit 251 calculates cutting points in the machining shape model M1 when the tool model T10 is arranged at each of the command positions CL11 to CL25.
  • FIG. 23A is a cross-sectional view of the tool model T10 and the machining shape model M1 when the tool model T10 is arranged at the command position CL11.
  • command positions CL12 to CL25 are also displayed.
  • FIG. 23B shows how the cutting point calculation unit 251 calculates one or two cutting points for each of the command positions CL11 to CL25.
  • the cutting point calculation unit 251 first calculates CP110, which is a point on the machining curved surface S0, as a cutting point when the tool model T10 is arranged at the command position CL11.
  • the cutting point calculation unit 251 calculates a cutting point CP120 which is a point on the connection position e0 between the machining curved surfaces S0 and S1 as a cutting point when the tool model T10 is arranged at the command position CL12.
  • the cutting point calculation unit 251 adds attribute information indicating that the cutting point CP120 is on the connection position of the processing curved surface.
  • the cutting point calculation unit 251 calculates a cutting point CP130 that is a point on the processing curved surface S1 as a cutting point when the tool model T10 is arranged at the command position CL13.
  • the cutting point calculation unit 251 calculates the cutting points CP140 to CP210 in the same procedure for the command positions CL14 to CL21.
  • the cutting point calculation unit 251 is close to the two machining curved surfaces, the machining curved surface S1 and the machining curved surface S2, and therefore the cutting point corresponding to the command position CL22 is on the machining curved surface S1.
  • a cutting point CP220 that is a point and a cutting point CP221 that is a point on the processing curved surface S2 are calculated.
  • the cutting point calculation unit 251 calculates a cutting point CP230 as a cutting point corresponding to the command position CL23, calculates a cutting point CP240 as a cutting point corresponding to the command position CL24, and uses it as a cutting point corresponding to the command position CL25.
  • a cutting point CP250 is calculated.
  • the cutting point calculation unit 251 passes the calculated cutting point and attribute information to the cutting point storage unit 252, and the cutting point storage unit 252 stores this.
  • step S204 shown in FIG. 8 the curve path section calculation unit 253 of the numerical control device 10a is configured to correspond to the command positions CL11 to CL25 based on the cutting point and attribute information stored in the cutting point storage unit 252.
  • the route section is calculated.
  • FIG. 24 is a diagram illustrating a correspondence relationship between the curve path section calculated by the curve path section calculation unit 253 and the command positions CL11 to CL25.
  • the curve path section calculation unit 253 indicates that the command position corresponding to the cutting point satisfying the condition or the command position satisfying the condition is a curve.
  • a curve route is calculated by determining that it corresponds to the end of the route section.
  • the curved path section calculation unit 253 first sets the head of the first curved path section as the command position CL11, and then checks the subsequent command position CL12.
  • the confirmation of the command position CL12 performed by the curve path section calculation unit 253 is to confirm the cutting point corresponding to the command position CL12 and the attribute information of the cutting point.
  • the curve path section calculation unit 253 satisfies the above (Condition 1) because the cutting point corresponding to the command position CL12 is the cutting point CP120 and the CP 120 is on the connection position e0. Therefore, the curved path segment calculation unit 253 determines that the command position CL12 corresponds to the end of the curved path segment.
  • the curve path section calculation unit 253 sets the command position CL12 at the end of the curve path section CR0 as the head of the next curve path section, and confirms the command position CL13 that follows the command position CL12. Since the command position CL13 does not satisfy the above (Condition 2) and the cutting point CP130 corresponding to the command position CL13 does not satisfy the above (Condition 1), the curve path section calculation unit 253 determines that the command position CL13 is a curve. Judge that it does not correspond to the end of the route section.
  • the curved path section calculation unit 253 confirms the command positions CL14 to CL21 in the same procedure, and determines that these command positions do not correspond to the end of the curved path section. Next, the curve path section calculation unit 253 confirms the command position CL22. Since the cutting points corresponding to the command position CL22 are the cutting points CP220 and CP221 and have a plurality of cutting points, the command position CL22 satisfies the above (condition 2). Therefore, the curved path segment calculation unit 253 determines that the command position CL22 corresponds to the end of the curved path segment. As a result, a curve path section CR1 composed of the command positions CP13 to CP22 is obtained.
  • the curved path section calculation unit 253 confirms the remaining command positions CL23 to CL25 in the same procedure, and calculates curved path sections CR2 and CR3.
  • the curved path section calculation unit 253 passes the calculated curved path sections CR0 to CR3 to the curved path section storage unit 254, and the curved path section storage unit 254 stores this.
  • step S205 shown in FIG. 8 the tangential direction vector calculation unit 255 of the numerical controller 10a is stored in the cutting point and attribute information stored in the cutting point storage unit 252, and in the curve path section storage unit 254. Based on the curve path section and the shape data stored in the shape data storage unit 24, tangential direction vectors at the command positions CL11 to CL25 are calculated.
  • the tangential direction vector calculation unit 255 first generates the machining shape model M1 based on the shape data, and then the normal direction vector shown in FIG. For the command positions CL12 to CL22 (see FIG. 23) included in the curve path section CR1 shown in FIG. 24, the normal direction vectors NV120 to NV221 at the corresponding cutting points CP120 to CP221 are calculated.
  • the tangential direction vector calculation unit 255 calculates a normal direction vector at each cutting point by evaluating the machining curved surface at the cutting points CP120 to CP221.
  • the tangential direction vector calculation unit 255 generates a provisional curve path that passes through the command positions CL12 to CL22, specifically, the provisional curve path PCV1 shown in FIG. At this time, the tangential direction vector calculation unit 255 obtains tangential direction vectors when the temporary curve path PCV1 passes through the command position as temporary tangent direction vectors PV121 to PV220.
  • the tangent direction vector calculation unit 255 corrects the obtained temporary tangent direction vectors PV121 to PV220 to obtain final tangent direction vectors TV121 to TV220 shown in FIG.
  • FIG. 25C shows a case where the temporary tangent direction vectors PV121 to PV220 at the command positions CL12 to CL22 are corrected to be perpendicular to the normal direction vectors NV120 to NV221 at the cutting points corresponding to the command positions. An example is shown.
  • the tangential direction vector calculation unit 255 When correcting the temporary tangent direction vectors PV121 to PV220, the tangential direction vector calculation unit 255 first cuts the temporary tangent direction vector PV121 when the temporary curve path PCV1 passes the command position CL12, corresponding to the command position CL12. Correction is performed so as to be perpendicular to the normal direction vector NV120 of CP120, and a final tangential direction vector TV121 is obtained. The tangential direction vector calculation unit 255 obtains the tangential direction vectors TV130 to TV210 in the same manner for the command positions CL13 to CL21.
  • the tangential direction vector calculation unit 255 selects a cutting point used for calculation.
  • the tangential direction vector calculation unit 255 selects the cutting point CP220 that exists on the same machining curved surface S1.
  • the tangential direction vector calculation unit 255 corrects the temporary tangent direction vector PV220 so as to be perpendicular to the normal direction vector NV220 of the selected cutting point CP220, and obtains a final tangential direction vector TV220.
  • the tangential direction vector calculation unit 255 calculates the tangential direction vectors TV121 to TV220 at the command positions CL12 to CL22 included in the curved path section CR1 by the above procedure.
  • the tangential direction vector calculation unit 255 calculates the tangential direction vector at the command position in the same procedure for the other curved path sections CR0, CR2, and CR3.
  • FIG. 26 is a diagram illustrating an example of a normal direction vector and a tangential direction vector in each of the curve path sections CR0, CR2, and CR3.
  • FIG. 26A shows normal direction vectors NV110 to NV120 of cutting points at command positions CL11 to CL12, and tangential direction vectors TV110 to TV120 calculated using the normal direction vectors NV110 to NV120.
  • FIG. 26B shows normal direction vectors NV221 to NV240 of cutting points at command positions CL22 to CL24, and tangential direction vectors TV221 to TV240 calculated using the normal direction vectors NV221 to NV240.
  • FIG. 26C shows normal direction vectors NV240 to NV250 of cutting points at command positions CL24 to CL25, and tangential direction vectors TV240 to TV250 calculated using the normal direction vectors NV240 to NV250.
  • the tangential direction vector calculation unit 225 passes the calculated tangent direction vectors TV110 to TV250 at the command positions to the tangential direction vector storage unit 256, and the tangential direction vector storage unit 256 stores them.
  • the curve path generation unit 14a of the numerical controller 10a includes the command position output from the machining program analysis unit 13a, the curve path section stored in the curve path section storage unit 254, A curved path is generated based on the tangent direction vector stored in the tangential direction vector storage unit 256.
  • the curve path generation unit 14a first determines a command position for instructing curve cancellation information based on the curve path sections CR0 to CR3 read from the curve path section storage unit 254. Specifically, the curve path generation unit 14a determines the command positions CL12, CL22, CL24, and CL25 that are the end of each curve path section as command positions that command curve cancellation information.
  • the curve path generation unit 14a obtains the start tangent direction vector and the end tangent direction vector at the command position included in each curve path section among the curve path sections read from the curve path section storage unit 254.
  • the curve path generation unit 14a first obtains a start tangent direction vector and an end tangent direction vector at the command positions CL11 and CL12 of the curve path section CR0. Specifically, since the command position CL11 is the head of the curve path section CR0, the curved path generation unit 14a determines the tangent direction vector TV110 as the start tangential direction vector SV12 at the command position CL11.
  • the curved path generation unit 14a determines the tangent direction vector TV120 at the command position CL12 as the end tangent direction vector EV12 at the command position CL12. Next, the curve path generation unit 14a obtains a start tangent direction vector and an end tangent direction vector at the command positions CL12 to CL22 in the curve path section CR1. Specifically, since the command position CL12 is the head of the curve path section CR1, the curved path generation unit 14a determines the tangent direction vector TV121 as the start tangent direction vector SV13 at the command position CL12, and the tangential direction at the command position CL13. Vector TV 130 is determined as end tangent direction vector EV13 at command position CL13.
  • the curve path generation unit 14a obtains the start tangent direction vector and the end tangent direction vector at the command positions CL14 to CL22 in the same manner. Similarly, the curve path generation unit 14a obtains the start tangent direction vector and the end tangent direction vector at each command position for the curve path sections CR2 and CR3.
  • FIG. 27A shows the start tangent direction vector and the end tangent direction vector obtained by the curved path generation unit 14a by the above procedure.
  • the command position in which both the end tangent direction vector and the start tangent direction vector are associated corresponds to the command position that commands the curve cancellation information. This is because the command position for commanding the curve cancellation information corresponds to the end of a certain curve path section and also corresponds to the head of the next curve path section.
  • the command position CL12 (see FIG. 23 (a)) is the end of the curve path section CR0 and the head of the curve path section CR1, so the command position CL12 includes Both the end tangent direction vector EV12 and the start tangent direction vector SV13 are associated with each other.
  • the curve cancellation information, the end tangent direction vector, and the start tangent direction vector are the shape feature information according to the second embodiment.
  • the curve path generation unit 14a outputs the command positions CL11 to CL25 output from the machining program analysis unit 13a, the command positions CL12, CL22, CL24, and CL25 obtained as command positions for commanding the curve cancellation information, and the curve path.
  • a curved path is generated based on the start tangent direction vectors SV12, SV13, SV23, SV25 and the end tangent direction vectors EV12 to EV25 obtained for the sections CR0 to CR3.
  • the curved path generation unit 14a generates curved paths # 7 to # 10 shown in FIG.
  • step S207 shown in FIG. 8 the curve path interpolation unit 15 of the numerical controller 10a obtains the amount of tool movement per interpolation cycle according to the curve paths # 7 to # 10 generated by the curve path generation unit 14a. Interpolated interpolation points are generated and passed to the motor drive unit 16.
  • the numerical control device 10a includes the tool data including information indicating the command position commanded by the movement command included in the machining program, the type and shape of the tool used in the machining, and the like. And shape feature information corresponding to each movement command based on the shape data defining the machining shape model of the workpiece, and each of the tool paths constituting the tool path based on the command position and the calculated shape feature information It was decided to generate a curved path.
  • the shape feature information is the curve cancellation information, the start tangent direction vector, and the end tangent direction vector described above.
  • the numerical control device 10a it is possible to generate an interpolation curve based on the shape feature information even when the shape feature information is not included in the machining program, and the first embodiment is applied. Similar to the numerical control device 10, the degree of coincidence between the restored curved path and the ideal path shape to be restored can be increased, and the machining accuracy and quality of the machining result can be improved. In addition, the amount of work and work time when the operator creates the machining program can be reduced, and the work efficiency can be improved.
  • Embodiment 3 the numerical control device calculates shape feature information based on the movement command, tool data, and shape data included in the machining program, and generates a curved path in consideration of the calculated shape feature information. It was.
  • a numerical control device that does not have a function of converting a machining program in consideration of shape feature information and generating a curved path in consideration of shape feature information is different from that in Embodiment 2.
  • a program conversion apparatus that generates a machining program capable of generating a similar curve path will be described.
  • FIG. 28 is a diagram of a configuration example of the program conversion apparatus according to the third embodiment.
  • the program conversion apparatus 30 according to the third embodiment includes a machining program input unit 11, a machining program storage unit 12, a machining program analysis unit 13a, a tool data input unit 21, a tool data storage unit 22, a shape data input unit 23, and shape data.
  • a storage unit 24, a shape feature information calculation unit 25, a machining program conversion unit 31, a post-conversion machining program storage unit 32, and a post-conversion machining program output unit 33 are provided.
  • the machining program input unit 11, the machining program storage unit 12, the machining program analysis unit 13a, the tool data input unit 21, the tool data storage unit 22, the shape data input unit 23, and the shape data storage unit 24 and the shape feature information calculation unit 25 are a machining program input unit 11, a machining program storage unit 12, a machining program analysis unit 13a, a tool data input unit 21, and a tool data storage unit 22 of the numerical controller 10a according to the second embodiment.
  • the shape data input unit 23, the shape data storage unit 24, and the shape feature information calculation unit 25 are the same. Therefore, description of each of these components is omitted.
  • the machining program conversion unit 31 converts the machining program based on the shape feature information calculated by the shape feature information calculation unit 25. Specifically, the machining program conversion unit 31 is stored in the command position output from the machining program analysis unit 13 a, the curve path section stored in the curve path section storage unit 254, and the tangential direction vector storage unit 256. The machining program stored in the machining program storage unit 12 is converted based on the tangential direction vector being displayed.
  • the post-conversion machining program storage unit 32 stores a post-conversion machining program that is a machining program after being converted by the machining program conversion unit 31.
  • the post-conversion machining program output unit 33 reads the post-conversion machining program stored in the post-conversion machining program storage unit 32 and outputs it to the outside.
  • FIG. 29 is a flowchart of an operation example of the program conversion apparatus 30 according to the third embodiment.
  • the flowchart of FIG. 29 shows a procedure of an operation in which the program conversion apparatus 30 converts the machining program and outputs the converted machining program to the outside.
  • step S301 In the operation in which the program conversion device 30 converts the machining program and outputs the converted machining program to the outside, first, the machining program, tool data, and shape data are input to the program conversion device 30 (step S301). Since this step S301 is the same process as step S201 executed by the numerical control apparatus 10a described in the second embodiment, the description thereof is omitted.
  • step S302 the program conversion device 30 analyzes the machining program input in step S301 (step S302). Since this step S302 is the same process as step S202 executed by the numerical control apparatus 10a described in the second embodiment, the description thereof will be omitted.
  • Step S303 the program conversion device 30 calculates a cutting point based on the command position obtained in step S302, the tool data stored in the tool data storage unit 22, and the shape data stored in the shape data storage unit 24. Since this step S303 is the same process as step S203 executed by the numerical control apparatus 10a described in the second embodiment, the description thereof will be omitted.
  • Step S304 the program conversion apparatus 30 calculates a curve path section based on the cutting point and attribute information stored in the cutting point storage unit 252 and the shape data stored in the shape data storage unit 24 ( Step S304). Since this step S304 is the same process as step S204 executed by the numerical control apparatus 10a described in the second embodiment, the description thereof is omitted.
  • the program conversion device 30 stores the cutting point and attribute information stored in the cutting point storage unit 252, the curve path section stored in the curve path section storage unit 254, and the shape data storage unit 24.
  • a tangential direction vector is calculated on the basis of the shape data (step S305). Since this step S305 is the same process as step S205 executed by the numerical control apparatus 10a described in the second embodiment, the description thereof will be omitted.
  • the program conversion apparatus 30 receives the command position output from the machining program analysis unit 13a, the curve path section stored in the curve path section storage unit 254, and the tangent stored in the tangent direction vector storage unit 256. Based on the direction vector, the machining program stored in the machining program storage unit 12 is converted to generate a converted machining program, which is output to the outside (step S306). In step S306, the machining program conversion unit 31 generates a post-conversion machining program, and the post-conversion machining program output unit 33 outputs it.
  • step S306 the machining program conversion unit 31 first receives a command position from the machining program analysis unit 13a, reads a curve path section from the curve path section storage unit 254, and reads a tangential direction vector from the tangent direction vector storage unit 256. .
  • the machining program conversion unit 31 determines a command position for commanding the curve cancellation information based on the curve path section.
  • the machining program conversion unit 31 determines the command position at the end of each curve path section as a command position for commanding curve cancellation information.
  • the machining program conversion unit 31 determines a start tangent direction vector and an end tangent direction vector at each command position based on the tangent direction vector.
  • the start tangent direction vector and the end tangent direction vector are the start tangent direction vector and the end tangent direction vector described in the first embodiment.
  • the machining program conversion unit 31 determines a tangential direction vector corresponding to the head command position of the curve path section as a start tangent direction vector at the command position, and corresponds to a command position not corresponding to the head command position of the curve path section.
  • the tangent direction vector is determined as the end tangent direction vector at the command position.
  • the machining program conversion unit 31 reads the machining program from the machining program storage unit 12, sets the read machining program to command positions for instructing curve cancellation information, and the start tangent direction vector and the end tangent direction at each command position. Convert based on vector. Specifically, the machining program conversion unit 31 adds curve cancellation information to a block corresponding to a command position for instructing curve cancellation information among the blocks of the machining program, and further corresponds to each command position.
  • a post-conversion machining program is generated by adding one or both of a start tangent direction vector and an end tangent direction vector to the block.
  • the machining program conversion unit 31 does not need to add the start tangent direction vector to the block corresponding to the command position for which the start tangent direction vector is not obtained, or starts the end tangent direction vector at the command position. It may be added as a tangential direction vector.
  • the post-conversion machining program generated by the machining program conversion unit 31 is stored in the post-conversion machining program storage unit 32.
  • the post-conversion machining program output unit 33 reads the post-conversion machining program from the post-conversion machining program storage unit 32 and outputs it to the outside.
  • the output of the post-conversion machining program to the outside may be performed in the same format as the machining program input to the machining program input unit 11, or may be performed in another format.
  • the machining program input unit 11 receives a machining program in a text format or binary format.
  • FIG. 30 is a diagram showing a specific example of the post-conversion machining program generated by the program conversion apparatus 30.
  • step S301 shown in FIG. 29 the machining program input unit 11 of the program conversion device 30 acquires the machining program 300 shown in FIG. 18, and the machining program storage unit 12 stores this.
  • step S301 shown in FIG. 29 the tool data input unit 21 of the program conversion device 30 acquires tool data for generating the tool model T10 shown in FIG. 22, and the tool data storage unit 22 stores this. To do.
  • the shape data input unit 23 of the program conversion device 30 acquires shape data for generating the machining shape model M1 shown in FIG. 20, and this is stored in the shape data storage unit 24.
  • the machining shape model M1 is generated by a CAD / CAM system.
  • the shape data input to the program conversion device 30 is CAD data in a predetermined format.
  • the machining shape model M1 has machining curved surfaces S0 to S3. As shown in the sectional view of FIG. 21, the machining curved surfaces S0 and S1 are machined at the connection position e0, and the machining curved surfaces S1 and S2 are machining at the connection position e1.
  • the curved surfaces S2 and S3 are connected at the connection position e2.
  • step S301 is the same process as step S201 executed by the numerical control apparatus 10a described in the second embodiment.
  • steps S302 to S305 shown in FIG. 29 the program conversion apparatus 30 executes the same processing as steps S202 to S205 executed by the numerical control apparatus 10a described in the second embodiment.
  • step S306 shown in FIG. 29 the machining program conversion unit 31 of the program conversion device 30 first receives command positions CL11 to CL25 from the machining program analysis unit 13a (see FIG. 23A), and further, a curve path section.
  • the curve path sections CR0 to CR3 are read from the storage unit 254 (see FIG. 24), and the tangential direction vectors TV121 to TV220 are read from the tangent direction vector storage unit 256 (see FIG. 25 (c)).
  • the machining program conversion unit 31 determines a command position for commanding the curve cancellation information based on the curve path sections CR0 to CR3. Specifically, the machining program conversion unit 31 determines the command positions CL12, CL22, CL24, and CL25, which are the end of each curve path section, as command positions that command curve cancellation information.
  • the machining program conversion unit 31 obtains a start tangent direction vector and an end tangent direction vector at the command position included in each curve path section among the curve path sections read from the curve path section storage unit 254.
  • the machining program conversion unit 31 first obtains a start tangent direction vector and an end tangent direction vector at the command positions CL11 and CL12 of the curve path section CR0. Specifically, since the command position CL11 is the head of the curve path section CR0, the machining program conversion unit 31 determines the tangent direction vector TV110 as the start tangent direction vector SV12 at the command position CL11.
  • the machining program conversion unit 31 determines the tangent direction vector TV120 at the command position CL12 as the end tangent direction vector EV12 at the command position CL12. Next, the machining program conversion unit 31 obtains a start tangent direction vector and an end tangent direction vector at the command positions CL12 to CL22 in the curved path section CR1. Specifically, since the command position CL12 is the head of the curve path section CR1, the machining program conversion unit 31 determines the tangent direction vector TV121 as the start tangent direction vector SV13 at the command position CL12, and the tangential direction at the command position CL13. Vector TV 130 is determined as end tangent direction vector EV13 at command position CL13.
  • the machining program conversion unit 31 similarly determines the start tangent direction vector and the end tangent direction vector at the command positions CL14 to CL22.
  • the machining program conversion unit 31 similarly obtains the start tangent direction vector and the end tangent direction vector at each command position for the curve path sections CR2 and CR3.
  • the start tangent direction vector and the end tangent direction vector obtained by the machining program conversion unit 31 in the above procedure are as shown in FIG.
  • the machining program conversion unit 31 converts the machining program 300 based on the command position for instructing the curve cancellation information and the start tangent direction vector and the end tangent direction vector at each command position determined in the above processing. Then, the post-conversion machining program 400 shown in FIG. 30 is generated. That is, the machining program conversion unit 31 adds the curve cancellation information to the block corresponding to the command position for instructing the curve cancellation information among the blocks constituting the machining program 300, and further to each block. Thus, the start tangent direction vector and the end tangent direction vector at the corresponding command position are added. As shown in FIG.
  • the machining program conversion unit 31 when the command position commanded by the movement command of each block of the machining program 300 before the conversion is the command position commanded by the curve cancellation information, the machining program conversion unit 31 A command 403 “L0” obtained by adding a numerical value “0” to the address “L” is added as curve cancellation information.
  • the machining program conversion unit 31 converts the X, Y, and Z components of the vector to addresses “VA”, “VB”, and “VC”, and a command 401 having a component value added thereto is added as a starting tangent direction vector.
  • the machining program conversion unit 31 converts the X, Y, and Z components of the vector to addresses “VD”, “VE”, and A command 402 having a configuration in which the component value is added to “VF” is added as an end tangent direction vector.
  • the processing program conversion unit 31 stores the post-conversion processing program 400 in the post-conversion processing program storage unit 32, which is read out by the post-conversion processing program output unit 33 and output to the outside. To do.
  • the program conversion device 30 includes tool data including information indicating the command position commanded by the movement command included in the machining program and the type and shape of the tool used in machining. And shape feature information corresponding to each movement command is calculated based on the shape data defining the machining shape model of the workpiece, and the machining program is converted based on the shape feature information.
  • the program conversion device 30 can convert a machining program that does not include shape feature information into a machining program that includes shape feature information.
  • the amount of work and work time when the operator creates the machining program can be reduced, and the work efficiency can be improved.
  • the cutting point on the machining shape when the tool passes the command position of each movement command is obtained, and the cutting point is on the boundary of the machining curved surface of the machining shape model.
  • the machining program is converted so that the curve cancellation information is commanded together with the movement command when it is in contact with two or more machining curved surfaces of the machining shape model at the same time. Therefore, it is possible to automatically obtain a machining program including curve cancellation information even when the machining program does not include curve cancellation information. Therefore, it is possible to reduce the work amount and work time when the worker creates the machining program, and the work efficiency can be improved.
  • the interpolation curve generated when the tool passes through the boundary between the machining curved surface and the position where the corner is formed by the machining curved surface is canceled, the machining accuracy of the machining result can be improved.
  • the cutting point on the machining shape when the tool passes the command position of each movement command is obtained, and the cutting point is at a position where the machining shape has a discontinuous curvature. If it exists, the machining program is converted so as to command the curve cancellation information together with the movement command. Therefore, it is possible to automatically obtain a machining program including curve cancellation information even when the machining program does not include curve cancellation information. Therefore, it is possible to reduce the work amount and work time when the worker creates the machining program, and the work efficiency can be improved. Furthermore, since the interpolation curve generated when the tool passes through the boundary between the machining curved surface and the position where the corner is formed by the machining curved surface is canceled, the machining accuracy of the machining result can be improved.
  • the cutting point on the machining shape when the tool passes the command position of each movement command is obtained, and the tangential direction vector of the machining curved surface of the machining shape at the cutting point And the machining program is converted to command the tangential direction vector calculated together with the movement command. Therefore, even when the machining program does not include a tangential direction vector, a machining program including the tangential direction vector can be automatically obtained. Therefore, it is possible to reduce the work amount and work time when the worker creates the machining program, and the work efficiency can be improved. Furthermore, since the interpolation curve generated when the tool passes through the boundary between the machining curved surface and the position where the corner is formed by the machining curved surface is canceled, the machining accuracy of the machining result can be improved.
  • FIG. 31 is a diagram showing a hardware configuration of the numerical control device and the program conversion device according to each embodiment of the present invention.
  • the hardware shown in FIG. 31 includes a processor 51 that performs arithmetic processing, a memory 52 that the processor 51 uses as a work area, a storage device 53 that stores a program for operating as a numerical control device or a program conversion device, and a user
  • An input device 54 that is an input interface between the communication device 56, a display device 55 that displays information to the user, and a communication device 56 that has a communication function with a controlled device or other numerical control device or other various devices.
  • the processor 51, the memory 52, the storage device 53, the input device 54, the display device 55, and the communication device 56 are connected by a data bus 50.
  • the processor 51 may be a processing device, an arithmetic device, a microprocessor, a microcomputer, a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or the like.
  • the memory 52 is a non-volatile or volatile semiconductor memory, such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable ROM), or an EEPROM (Electrically EPROM), or a magnetic disk. , Flexible disk, optical disk, compact disk, mini disk, or DVD (Digital Versatile Disc).
  • the numerical control device and the program conversion device described in each embodiment can be realized by the processor 51 reading out from the storage device 53 and executing a program for operating as a numerical control device or a program conversion device.
  • the configuration described in the above embodiment shows an example of the contents of the present invention, and can be combined with another known technique, and can be combined with other configurations without departing from the gist of the present invention. It is also possible to omit or change the part.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

数値制御装置は、工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを入力する加工プログラム入力部(11)と、移動指令、および移動指令により指令された指令位置を通過する工具経路の形状の特徴を表した形状特徴情報に基づいて曲線経路を生成する曲線経路生成部(14)と、を備える。

Description

数値制御装置、プログラム変換装置、数値制御方法およびプログラム変換方法
 本発明は、数値制御工作機械を構成する数値制御装置、数値制御加工プログラムを変換するプログラム変換装置、数値制御方法およびプログラム変換方法に関する。
 数値制御工作機械が加工対象物を加工するためには、加工対象物または数値制御工作機械に装着された工具を、予め設定された経路に移動させるための移動指令が記述された数値制御加工プログラム(以下単に「加工プログラム」と称する)が用いられる。加工プログラムは、例えば市販のCAD(Computer-Aided Design)/CAM(Computer Aided Manufacturing)装置によって作成され、例えばGコードおよびマクロ文といった文字列の規定のフォーマットで記述される。ここでGコードとは、数値制御で用いられる命令コードの1つであり、制御対象物の位置決め、直線補間、円弧補間または平面指定を行う際に加工プログラムに記述される指令コードである。
 従来、自由曲面を有する形状の加工対象物の加工を行う場合、CAD/CAM装置を利用して加工対象物の自由曲面に接するようにして仮想的に工具を移動させた直線、円弧、曲線等からなる理想的な経路を微小線分によって近似した経路(以下「工具経路」と称する)を作成した後、数値制御工作機械がその工具経路に沿って工具を移動させて切削加工する。
 CAD/CAM装置から出力される工具経路は数値制御装置が解釈できるGコードの移動指令として加工プログラムに記述され、加工プログラムは数値制御工作機械が有する数値制御装置に入力される。数値制御装置は加工プログラムを読み取り解釈することにより、移動指令から補間周期ごとに工具経路を補間した補間データを作成する。数値制御装置は、作成した補間データによって数値制御工作機械の各軸を制御し、工具を所望の位置に移動させることにより加工対象物を加工する。
 自由曲面を加工するための工具経路をCAD/CAM装置が作成する一般的な手順を説明する。工具経路を生成する場合、CAD/CAM装置は、まず、加工対象物における加工すべき曲面(以下「加工曲面」と称する)の形状から、加工曲面に接するように工具を移動させた際に要求される理想的な経路を算出する。CAD/CAM装置は、次に、許容誤差の情報を取得し、算出された理想的な経路との最大誤差が許容誤差以下になるように、理想的な経路上に指令点をサンプリングし、指令点間を直線で補間した微小線分に近似することにより工具経路を作成する。このようにして作成した工具経路に従った加工では、加工曲面は近似された指令点間を直線で補間することにより加工されるため、加工結果の加工品質が低下するといった問題がある。この問題に対し、従来は、数値制御装置が、CAD/CAM装置から受け取った工具経路を部分的に曲線経路に復元して、スプライン曲線などの曲線を推測して復元して、復元した曲線経路を補間する加工を行っていた。これにより滑らかな加工結果を得られることが期待できる。
 しかし、許容誤差によって近似された指令点のみから推測して曲線経路を復元すると、復元した曲線経路が復元されるべき理想的な経路の形状と一致せず加工結果が加工曲面の形状と乖離してしまう、といった可能性があった。また、指令点のうち曲線経路として復元されるべき範囲が異なり、本来直線であるべき形状が曲線として復元される、逆に曲線として復元されるべき形状が直線のままである、といった可能性があった。これらのように近似された指令点のみから推測して復元された曲線経路によって加工されると、所望の加工精度および加工品位が得られないといった問題が存在する。
 この問題の解決方法として、数値制御装置が曲線経路を復元するために有用な情報を加工プログラムに対して付加する発明が特許文献1で開示されている。特許文献1に記載された発明では、加工プログラムに元形状を近似した工具経路の移動指令と工具経路の元形状が直線か曲線かを示す元形状情報と含ませ、元形状情報が直線であれば直線のままとし、元形状情報が曲線であれば曲線経路として復元する。
特許第4560191号公報
 しかしながら、特許文献1に記載の発明において、加工プログラムに含まれる元形状情報は、工具経路の元形状が直線か曲線かを示すだけであり、復元すべき理想的な曲線経路の形状を具体的に示す情報ではない。そのため、復元した曲線経路が復元すべき理想的な経路の形状と一致せず、所望の加工精度および加工品位が得られる加工の実現が難しい。
 特許文献1に記載の発明においては元形状情報によって元形状が直線か曲線かを判別することは可能であるが、それらの元形状同士がどのような接続関係になっているかを判別することはできないため、理想的な曲線経路を復元できない可能性がある。例えば、複数の加工曲面に沿って加工を行う工具経路であった場合に、元形状情報から工具経路の元形状が曲線であることを判別することはできるが、加工する加工曲面が切り替わる位置における接続関係が接線連続であるか曲率連続であるか、またはそのどちらでもなく角部であるか、を判別することはできない。そのため、元形状に角部が存在したとしても復元された曲線経路に角部が存在しない可能性がある。これとは逆に、元形状が接線連続であったとしても復元された曲線経路に角部が存在してしまう可能性がある。さらに、単一の加工曲面に沿って加工を行う工具経路であった場合でも、工具経路に沿った加工曲面の途中に曲率不連続な位置または接線不連続な位置が存在する場合に、そのような位置において曲率および接線方向の連続性を考慮した曲線を復元することはできない。このように、特許文献1に記載の発明には、理想的な曲線経路の形状を復元できない問題がある。
 また、特許文献1に記載の発明においては、作業者が加工プログラムの各々の移動指令に対して元形状が直線か曲線かを判断し、元形状情報を加工プログラムに記載する必要があるため、作業者に大きな時間と手間がかかって負担となり、作業能率が低下する問題がある。
 本発明は、上記に鑑みてなされたものであって、加工精度および加工品位の向上を実現する数値制御装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明にかかる数値制御装置は、工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを入力し、移動指令、および移動指令により指令された指令位置を通過する工具経路の形状の特徴を表した形状特徴情報に基づいて曲線経路を生成する。
 本発明にかかる数値制御装置は、加工結果の加工精度および加工品位を向上させることができる、という効果を奏する。
実施の形態1にかかる数値制御装置の構成例を示す図 実施の形態1にかかる数値制御装置の動作例を示すフローチャート 実施の形態1にかかる数値制御装置に入力される加工プログラムの第1の具体例を示す図 実施の形態1にかかる数値制御装置が曲線経路を生成する動作の第1の具体例を示す図 実施の形態1にかかる数値制御装置に入力される加工プログラムの第2の具体例を示す図 実施の形態1にかかる数値制御装置が曲線経路を生成する動作の第2の具体例を示す図 実施の形態2にかかる数値制御装置の構成例を示す図 実施の形態2にかかる数値制御装置の動作例を示すフローチャート 工具情報がボールエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図 工具情報がボールエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図 工具情報がボールエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図 工具情報がラジアスエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図 工具情報がラジアスエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図 工具情報がラジアスエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図 工具情報がフラットエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図 工具情報がフラットエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図 工具情報がフラットエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図 実施の形態2にかかる数値制御装置に入力される加工プログラムおよび指令位置の具体例を示す図 実施の形態2にかかる数値制御装置に入力される加工プログラムおよび指令位置の具体例を示す図 加工形状モデルの具体例を示す図 加工形状モデルの具体例を示す図 工具モデルの具体例を示す図 切削点の算出方法を説明するための図 曲線経路区間を説明するための図 接線方向ベクトルの算出手順を説明するための図 接線方向ベクトルの具体例を示す図 開始接線方向ベクトルおよび終了接線方向ベクトルの具体例を示す図 実施の形態3にかかるプログラム変換装置の構成例を示す図 実施の形態3にかかるプログラム変換装置の動作例を示すフローチャート 実施の形態3にかかるプログラム変換装置が生成する変換後加工プログラムの具体例を示す図 数値制御装置およびプログラム変換装置のハードウェア構成を示す図
 以下に、本発明の実施の形態にかかる数値制御装置、プログラム変換装置、数値制御方法およびプログラム変換方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
 図1は、本発明の実施の形態1にかかる数値制御装置の構成例を示す図である。数値制御装置10は、モータ駆動部16を介して、図示しない工作機械に対して数値制御を実行する装置である。
 数値制御装置10は、外部から入力される加工プログラムを受け取る加工プログラム入力部11と、加工プログラムを記憶する加工プログラム記憶部12と、加工プログラムを解析する加工プログラム解析部13と、加工プログラムの解析結果に基づいて曲線経路を生成する曲線経路生成部14と、曲線経路に対して補間処理を行う曲線経路補間部15とを備える。また、加工プログラム解析部13は、加工プログラムを解析し、工具経路を構成する指令位置を求める工具経路解析部131と、加工プログラムを解析し、後述する形状特徴情報を求める形状特徴情報解析部132とを備える。本実施の形態にかかる数値制御装置10は、外部から加工プログラムが入力されると、加工プログラムを解析して工具経路を生成し、モータ駆動部16へ出力する動作を実行する。
 図1に示した実施の形態1にかかる数値制御装置10が工具経路を生成する動作について説明する。ここでは、まず、数値制御装置10が工具経路を生成する手順について説明し、その後、工具経路を生成する動作の具体例について説明する。なお、本実施の形態では2つの具体例を説明する。
 図2は、実施の形態1にかかる数値制御装置10の動作例を示すフローチャートである。図2のフローチャートは、数値制御装置10が工具経路を生成する動作の手順を示している。
 数値制御装置10が工具経路を生成する動作においては、まず、加工プログラムが数値制御装置10に入力される(ステップS101)。すなわち、数値制御装置10において、加工プログラム入力部11が、工作機械を数値制御するための加工プログラムを外部から読み込む。加工プログラムには、加工対象物である被加工物または工具を予め設定された経路に移動させるための移動指令と、工具が移動指令により指令された指令位置を通過する際の曲線経路の形状の特徴を表した形状特徴情報とが記述されている。指令位置を指定された順番に結んだものが工具経路であり、工具経路は1対以上の曲線経路を含んで構成される。よって、形状特徴情報は工具経路の形状の特徴を表す情報ともいえる。
 形状特徴情報としては、曲線経路の生成をキャンセルすべき指令位置を示す曲線キャンセル情報、および指令位置における曲線経路の接線方向を示す接線方向ベクトルが該当する。また、指令位置を始点とする移動指令の曲線経路の始点における接線方向を示す接線方向ベクトルおよび指令位置を終点とする移動指令の曲線経路の終点における接線方向を示す接線方向ベクトルの組み合わせが形状特徴情報に該当する。また、指令位置における曲線経路の曲率、曲線経路の区間を示す曲線区間情報なども形状特徴情報に該当する。形状特徴情報は、これらの情報の中の1つ、または2つ以上を組み合わせて構成される。
 ステップS101として実行する加工プログラムの入力は、CAD/CAMシステムにより出力された、例えばGコードのフォーマットで記述されたファイルを読込むことにより実現される。または、作業者がキーボードなどの入力機器を操作することにより必要な情報を入力して加工プログラムを作成することにより実現される。数値制御装置10は、加工プログラム入力部11を介して入力された加工プログラムを、加工プログラム記憶部12で記憶する。
 数値制御装置10は、次に、ステップS101を実行して取得した加工プログラムを解析する(ステップS102)。このステップS102では、まず、加工プログラム解析部13が、加工プログラム記憶部12から加工プログラムを読み出し、読み出した加工プログラム中に記述された移動指令により指令された指令位置を工具経路解析部131において求めるとともに、加工プログラム中に記述された形状特徴情報を形状特徴情報解析部132において求める。このとき、形状特徴情報は各々の指令位置に対応付けて求められる。すなわち、加工プログラム解析部13の工具経路解析部131および形状特徴情報解析部132は、それぞれ加工プログラムを解析し、移動指令により示された各指令位置を求めるとともに、各指令位置に対応付けられている形状特徴情報を求める。工具経路解析部131および形状特徴情報解析部132は、求めた指令位置および形状特徴情報を曲線経路生成部14に渡す。
 数値制御装置10は、次に、曲線経路を生成する(ステップS103)。すなわち、数値制御装置10において、曲線経路生成部14が、加工プログラム解析部13から受け取った指令位置および形状特徴情報に基づいて、曲線経路を生成する。ここで生成する曲線経路には複数の指令位置間を直線とする直線経路も含む。
 例えば、形状特徴情報として曲線キャンセル情報が含まれている場合、曲線経路生成部14は、指令位置の先頭から順に曲線経路を生成していき曲線キャンセル情報が対応付けられている指令位置に到達すると、曲線経路の生成を一旦キャンセルする。曲線経路生成部14は、次に、曲線経路の生成をキャンセルした指令位置を先頭として順に曲線経路を生成していき、全ての指令位置について処理するまで処理を続けて、全体を複数の曲線経路として生成する。なお、曲線キャンセル情報が複数含まれている場合、曲線経路生成部14は、複数の曲線キャンセル情報の各々と対応付けられている指令位置に到達するごとに、曲線経路の生成のキャンセルと再開とを繰り返す。
 また、例えば、形状特徴情報として接線方向ベクトルが含まれている場合、曲線経路生成部14は、指令位置の先頭から順に曲線経路を生成していき、接線方向ベクトルと対応付けられている指令位置に到達すると、当該指令位置を通過する際の曲線経路の接線方向が、対応付けられている接線方向ベクトルの向きと同じになるように曲線経路を生成する。
 特に、曲線経路の始点における接線方向を示す接線方向ベクトルおよび指令位置を終点とする移動指令の曲線経路の終点における接線方向を示す接線方向ベクトルの組み合わせが形状特徴情報として含まれている場合は以下の方法で曲線経路を生成する。曲線経路生成部14は、指令位置の先頭から順に曲線経路を生成していき、上記の形状特徴情報と対応付けられている指令位置に到達すると、曲線経路が当該指令位置へ到達する際の接線方向が対応付けられている接線方向ベクトルの向きと同じになるように曲線経路を生成するとともに、当該指令位置から曲線経路が出発する際の接線方向が対応付けられている接線方向ベクトルの向きと同じになるように曲線経路を生成する。この場合の「形状特徴情報と対応付けられている指令位置に到達する」とは、曲線経路の始点における接線方向を示す接線方向ベクトルおよび指令位置を終点とする移動指令の曲線経路の終点における接線方向を示す接線方向ベクトルの組み合わせと対応付けられている指令位置に到達することをいう。
 また、ある指令位置に対応付けられた形状特徴情報として、指令位置を終点とする移動指令の曲線経路の終点における接線方向を示す接線方向ベクトルが含まれ、かつ曲線経路の始点における接線方向を示す接線方向ベクトルが含まれていない場合、曲線経路生成部14は、当該指令位置を始点とする曲線経路を、当該指令位置に対応付けられている、曲線経路の終点における接線方向を示す接線方向ベクトルを用いて生成する。
 また、ある指令位置に対応付けられた形状特徴情報として、指令位置を終点とする移動指令の曲線経路の終点における接線方向を示す接線方向ベクトルおよび曲線経路の始点における接線方向を示す接線方向ベクトルの両方が含まれていない場合、すなわち、接線方向ベクトルが対応付けられていない指令位置が存在する場合、曲線経路生成部14は、当該指令位置における接線方向ベクトルを、当該指令位置とともに1つの曲線経路を構成する指令位置に基づいて算出し、算出した接線方向ベクトルを使用して曲線経路を生成する。曲線経路を構成する指令位置に基づいて接線方向ベクトルを算出して曲線経路を生成する方法としては、例えば、特許第1930085号公報または特開平2-36406号公報で開示されている方法を用いることができる。
 曲線経路生成部14は、曲線経路の生成が終了すると、生成した曲線経路を曲線経路補間部15に渡す。
 数値制御装置10は、次に、曲線経路を補間する(ステップS104)。すなわち、数値制御装置10において、曲線経路補間部15が、曲線経路生成部14から受け取った曲線経路上に、単位時間である補間周期あたりの工具の移動量を求めて補間した補間点を生成する。ステップS104で補間処理を行った後の曲線経路が工具経路となる。曲線経路補間部15は、補間点の生成が終了すると、補間点をモータ駆動部16に渡す。
 以上のような手順で動作することにより、実施の形態1にかかる数値制御装置10は工具経路を生成する。
 つづいて、数値制御装置10の動作の具体例、すなわち図2に示したステップS101~S104を実行して工具経路を生成する動作の第1の具体例について、図3および図4を用いて説明する。図3は、数値制御装置10に入力される加工プログラムの第1の具体例を示す図、図4は、数値制御装置10が曲線経路を生成する動作の第1の具体例を示す図である。
 図2に示したステップS101において、数値制御装置10の加工プログラム入力部11は、図3に示す加工プログラム100を取得し、これを加工プログラム記憶部12が記憶する。図3に示す加工プログラム100は、Gコードのフォーマットで記述されており、数値制御工作機械に一つの動作を指令するブロックと呼ばれる一行単位の集まりで構成されている。ブロックは、一つの動作に対する命令を含むワードと呼ばれる単位の集まりで構成される。ワードはアドレスと呼ばれるアルファベットと数値で構成される。加工プログラム100では、各ブロックは、シーケンス番号101および移動指令102を含む複数のワードから構成されている。シーケンス番号101は、アドレス「N」およびこれに続く数値で構成される。シーケンス番号はブロックの指標である。移動指令102は、アドレス「G」およびこれに続く数値と、アドレス「X」およびこれに続く数値と、アドレス「Y」およびこれに続く数値とで構成される。アドレス「G」および数字「01」は、直線補間による軸の移動の指令を意味し、アドレス「X」および「Y」とこれらに続く数値は、軸が移動する指令位置の座標を意味する。例えば、図3に示したシーケンス番号N01の移動指令「G01 X0.0 Y20.0」は、座標「X0.0 Y20.0」の指令位置への直線補間による軸の移動を意味する指令である。また、曲線キャンセル情報103は、アドレス「L」とこれに続く数値「0」により、同ブロックに指令された指令位置において曲線経路の生成をキャンセルすることを示す。例えば、図3に示したシーケンス番号N03のブロックは、移動指令「G01 X30.0 Y20.0」および曲線キャンセル情報「L0」を含んで構成されている。そのため、シーケンス番号N03のブロックは、移動指令に従って軸を座標「X30.0 Y20.0」の指令位置まで移動させた後、この指令位置において曲線経路の生成をキャンセルすることを意味する。なお、図3に示した加工プログラム100では、説明の便宜上、指令位置の座標を2次元、すなわち座標アドレスを「X」および「Y」のみとしているが、実際の数値制御工作機械の数値制御装置に入力される加工プログラムでは、指令位置が3次元の座標アドレス「X」、「Y」および「Z」とこれらに続く数値とにより座標が示される。
 図2に示したステップS102において、数値制御装置10の加工プログラム解析部13は、加工プログラム100を解析し、図4(a)に示す各ブロックの移動指令によって指令される指令位置CL1~CL10を求める。ここで、指令位置CL1はシーケンス番号N01のブロックの移動指令による指令位置を示す。CL2~CL10も同様である。
 また、加工プログラム解析部13は、曲線キャンセル情報が指令される指令位置CL3およびCL8を求める。曲線キャンセル情報が記述されたシーケンス番号「N03」のブロックおよびシーケンス番号「N08」のブロックの指令位置は、それぞれ図4(a)に示した指令位置CL3およびCL8に対応する。
 図2に示したステップS103において、数値制御装置10の曲線経路生成部14は、指令位置CL1~CL10と、指令位置CL3およびCL8に指令された曲線キャンセル情報とに基づいて、曲線経路を生成する。
 図4(b)に、工具経路の先頭となる指令位置CL1から順に指令位置を通過する曲線経路を生成する様子を示す。曲線経路生成部14は、まず、指令位置CL1、CL2およびCL3を通過する曲線経路を生成する。このとき、CL3において曲線キャンセル情報が指令されているため、曲線経路生成部14は、CL3を曲線経路の終点として曲線経路の生成を中断する。図4に示した例では、指令位置CL1、CL2およびCL3は一直線上に位置するため直線経路となり、曲線経路#1が生成される。曲線経路生成部14は、次に、指令位置CL3を始点として曲線経路の生成を再開し、CL3、CL4、CL5、CL6、CL7およびCL8を通過する曲線経路を生成する。このとき、CL8において曲線キャンセル情報が指令されているため、曲線経路生成部14は、CL8を終点として曲線経路の生成を中断する。この結果、曲線経路#2が生成される。曲線経路生成部14は、次に、指令位置CL8を始点として曲線経路の生成を再開し、CL8、CL9およびCL10を通過する曲線経路を生成する。この結果、曲線経路#3が生成される。
 図2に示したステップS104において、数値制御装置10の曲線経路補間部15は、曲線経路生成部14が生成した曲線経路#1~#3に従って、それぞれ補間周期あたりの工具の移動量を求めて補間した補間点を生成し、モータ駆動部16に渡す。例えば、隣り合った指令位置の間を工具が移動する場合の所要時間が補間周期のN倍の場合、曲線経路補間部15は、指令位置の間にN-1個の補間点を生成する。
 つづいて、数値制御装置10の動作の第2の具体例について、図5および図6を用いて説明する。図5は、数値制御装置10に入力される加工プログラムの第2の具体例を示す図、図6は、数値制御装置10が、曲線経路を生成する動作の第2の具体例を示す図である。
 図2に示したステップS101において、数値制御装置10の加工プログラム入力部11は、図5に示す加工プログラム200を取得し、これを加工プログラム記憶部12が記憶する。加工プログラム200のうち、シーケンス番号および移動指令は図3に示した加工プログラム100と同じため説明を省略する。開始接線方向ベクトル201は、アドレス「VA」、「VB」および「VC」とこれに続く数値により構成されている。開始接線方向ベクトル201は、同ブロックの移動指令の指令位置に向かう曲線経路の始点、つまり直前のブロックの移動指令の指令位置における接線方向を表すベクトルの情報である。例えば、図5に示したシーケンス番号N02のブロックに含まれている開始接線方向ベクトル201は、シーケンス番号N01のブロックが指令する指令位置すなわち、座標「X0.0 Y20.0」の指令位置における接線方向を表すベクトルの情報である。開始接線方向ベクトル201のアドレス「VA」、「VB」および「VC」は、それぞれベクトルのX、YおよびZ成分を示す。また、終了接線方向ベクトル202は、アドレス「VD」、「VE」および「VF」とそれに続く数値により、同ブロックの移動指令の指令位置に向かう曲線経路の終点における接線方向を表すベクトルの情報である。例えば、図5に示したシーケンス番号N05のブロックに含まれている終了接線方向ベクトル202は、同じブロックすなわちシーケンス番号N05のブロックが指令する指令位置である座標「X53.5 Y15.5」の指令位置における接線方向を表すベクトルの情報である。終了接線方向ベクトル202のアドレス「VD」、「VE」および「VF」は、それぞれベクトルのX、YおよびZ成分を示す。
 図2に示したステップS102において、数値制御装置10の加工プログラム解析部13は、加工プログラム200を解析し、図6(a)に示す各ブロックの移動指令によって指令される指令位置CL1~CL10を求める。ここで、指令位置CL1はシーケンス番号N01のブロックの移動指令による指令位置を示す。CL2~CL10も同様である。
 また、加工プログラム解析部13は、図6(a)に示すように、各ブロックの移動指令の指令位置CL1~CL10における開始接線方向ベクトルSV2、SV4およびSV9と、終了接線方向ベクトルEV2~EV10とを求める。
 図2に示したステップS103において、数値制御装置10の曲線経路生成部14は、指令位置CL1~CL10と、開始接線方向ベクトルSV2、SV4およびSV9と、終了接線方向ベクトルEV2~EV10とに基づいて、曲線経路を生成する。
 図6(b)に、工具経路の先頭となる指令位置CL1から順に指令位置を通過する曲線経路を生成する様子を示す。曲線経路生成部14は、まず、指令位置CL1、CL2およびCL3を通過する曲線経路を生成する。このとき、指令位置CL1からCL2に向かう曲線経路では、曲線経路の始点であるCL1において開始接線方向ベクトルSV2で指令された接線方向となり、かつ、曲線経路の終点であるCL2において終了接線方向ベクトルEV2で指令された接線方向となるように、曲線経路を生成する。次の指令位置CL2からCL3に向かう曲線経路では、曲線経路の始点であるCL2において開始接線方向ベクトルは指令されないため、CL2における終了接線方向ベクトルEV2で指令された接線方向となり、かつ、曲線経路の終点であるCL3において終了接線方向ベクトルEV3で指令された接線方向となるように、曲線経路を生成する。次の指令位置CL3からCL4に向かう曲線経路では、曲線経路の始点である指令位置CL3において開始接線方向ベクトルSV4が指令されるため、指令位置CL3で曲線経路の生成を一旦中断する。この結果、曲線経路#4が生成される。以下、同様の手順で曲線経路#5および曲線経路#6を生成する。このように、図5に示した加工プログラム200による曲線経路の生成では、開始接線方向ベクトル201を含んだブロック内の座標が指令する指令位置において曲線経路の生成を一旦中断し、この指令位置を始点とする次の曲線経路の生成に移行する。
 図2に示したステップS104において、数値制御装置10の曲線経路補間部15は、曲線経路生成部14が生成した曲線経路#4~#6に従って、それぞれ補間周期あたりの工具の移動量を求めて補間した補間点を生成し、モータ駆動部16に渡す。
 以上のように、本実施の形態にかかる数値制御装置10においては、工具または加工対象物の移動を指令する移動指令と、工具経路上の特定の指令位置における経路の形状の特徴を表す形状特徴情報とが記述された加工プログラムが入力されると、移動指令および形状特徴情報に基づいて、工具経路を構成する各曲線経路を生成することとした。
 本実施の形態にかかる数値制御装置10によれば、移動指令の指令位置を通過する際の曲線経路の形状特徴情報に基づいて曲線経路を生成することが可能となり、復元した曲線経路と復元されるべき理想的な経路の形状との一致度を高めることができ、加工結果の加工精度および加工品位が向上する。
 また、本実施の形態にかかる数値制御装置10によれば、形状特徴情報として曲線キャンセル情報を指令するため、曲線キャンセル情報に従って曲線経路の生成をキャンセルすることが可能となり、復元した曲線経路を復元されるべき理想的な経路に近づけることができる。この結果、加工結果の加工精度および加工品位が向上する。
 また、本実施の形態にかかる数値制御装置10によれば、形状特徴情報として開始接線方向ベクトルおよび終了接線方向ベクトルを指令するため、開始接線方向ベクトルおよび終了接線方向ベクトルに従って曲線経路を生成することが可能となる。すなわち、数値制御装置10は、曲線経路が指令位置を通過する際の接線方向を、開始接線方向ベクトルおよび終了接線方向ベクトルの方向と一致するように曲線経路を生成するため、復元した曲線経路を復元されるべき理想的な経路に近づけることが可能となり、加工結果の加工精度および加工品位を向上させることができる。
 また、本実施の形態にかかる数値制御装置10によれば、移動指令と一緒に移動指令の始点における接線方向ベクトルが指令されない場合、直前の移動指令の終点における接線方向ベクトルを当該移動指令の始点における接線方向ベクトルとする。そのため、加工プログラムのうち特定の移動指令の終点における接線方向ベクトルと直後の移動指令の始点における接線方向ベクトルが一致する場合には、移動指令の終点における接線方向ベクトルのみを指令すればよい。したがって、加工プログラムの容量を少なくできるとともに、作業者が加工プログラムを作成する際の作業量および作業時間を削減することができ、作業能率を向上させることができる。
 また、本実施の形態にかかる数値制御装置10によれば、移動指令と一緒に接線方向ベクトルが指令されない場合に当該移動指令が指令する指令位置における接線方向ベクトルを、当該指令位置とともに曲線経路を構成する指令位置に基づいて算出するため、作業者は、加工プログラムのうち加工結果の加工精度や加工品位を向上させたい部分について接線方向ベクトルを指令すればよい。そのため、加工プログラムの容量を少なくできるとともに、作業者が加工プログラムを作成する際の作業量および作業時間を削減することができ、作業能率を向上させることができる。
実施の形態2.
 図7は、実施の形態2にかかる数値制御装置の構成例を示す図である。図7では、実施の形態1で説明した数値制御装置10と共通の構成要素に同じ符号を付している。本実施の形態では、数値制御装置10と共通の構成要素についての説明は省略する。
 実施の形態2にかかる数値制御装置10aは、実施の形態1にかかる数値制御装置10の加工プログラム解析部13および曲線経路生成部14が加工プログラム解析部13aおよび曲線経路生成部14aにそれぞれ置き換えられ、さらに、工具データ入力部21、工具データ記憶部22、形状データ入力部23、形状データ記憶部24および形状特徴情報算出部25が追加された構成である。また、形状特徴情報算出部25は、切削点算出部251、切削点記憶部252、曲線経路区間算出部253、曲線経路区間記憶部254、接線方向ベクトル算出部255および接線方向ベクトル記憶部256を備える。
 上述したように、実施の形態1にかかる数値制御装置10では、形状特徴情報が含まれている加工プログラムを処理対象とし、加工プログラムに含まれている移動指令および形状特徴情報に基づいて曲線経路を復元して工具経路を生成した。これに対して、本実施の形態にかかる数値制御装置10aでは、後述する工具データおよび形状データを用いて形状特徴情報を算出する。
 加工プログラム解析部13aは、加工プログラムを解析して加工プログラム中に記述された移動指令により指令された指令位置を求める。
 工具データ入力部21は、外部から入力される、加工対象物を加工するための工具を定義する情報である工具データを受け取る。工具データは、工具の種別を表現する情報、工具径、工具刃先半径および工具長といった工具の形状を表現する情報である。数値制御装置10aは、工具データに基づいて工具モデルを生成ことが可能である。すなわち、工具データは、数値制御装置10aが工具モデルを生成するために必要な各種情報を含んで構成される。工具データ記憶部22は、工具データ入力部21に入力された工具データを記憶する。
 形状データ入力部は、外部から入力される形状データを受け取る。入力される形状データは、加工対象物の加工形状モデルを定義するデータ、すなわち加工形状モデルの形状を表すデータである。加工形状モデルは、工具により加工すべき曲面である加工曲面および干渉を回避すべき曲面である干渉曲面を有する。また、加工形状モデルとは、加工プログラムに従って工作機械が加工対象物を加工することにより得られる結果である加工物の理想的な形状である。工作機械は加工形状モデルと加工物との誤差が少なくなるように加工対象物を加工する。
 形状データ記憶部24は、形状データ入力部23に入力された形状データを受け取り、受け取った形状データを記憶する。
 形状特徴情報算出部25は、加工プログラムに記述された移動指令が指令する指令位置、工具データおよび形状データに基づいて形状特徴情報を算出する。
 切削点算出部251は、加工プログラムが指令する指令位置、工具データおよび形状データに基づいて、加工対象物上の切削点を算出する。切削点記憶部252は、切削点算出部251で算出された切削点を記憶する。
 曲線経路区間算出部253は、形状データおよび切削点記憶部252で記憶されている切削点に基づいて、曲線経路区間を算出する。曲線経路区間記憶部254は、曲線経路区間算出部253で算出された曲線経路区間を記憶する。
 接線方向ベクトル算出部255は、形状データ、切削点記憶部252で記憶されている切削点および曲線経路区間記憶部254で記憶されている曲線経路区間に基づいて、各切削点における接線方向ベクトルを算出する。
 曲線経路生成部14aは、加工プログラム中に記述された移動指令により指令された指令位置と、曲線経路区間記憶部254で記憶されている曲線経路区間と、接線方向ベクトル記憶部256で記憶されている接線方向ベクトルとに基づいて曲線経路を生成する。
 図7に示した実施の形態2にかかる数値制御装置10aが工具経路を生成する動作について説明する。上述した実施の形態1と同様に、まず、数値制御装置10aが工具経路を生成する手順について説明し、その後、工具経路を生成する動作の具体例について説明する。
 図8は、実施の形態2にかかる数値制御装置10aの動作例を示すフローチャートである。図8のフローチャートは、数値制御装置10aが工具経路を生成する動作の手順を示している。
 数値制御装置10aが工具経路を生成する動作においては、まず、加工プログラム、工具データおよび形状データが数値制御装置10aに入力される(ステップS201)。すなわち、数値制御装置10aにおいて、加工プログラム入力部11が加工プログラムを外部から読み込み、工具データ入力部21が工具データを外部から読み込み、形状データ入力部23が形状データを外部から読み込む。数値制御装置1は、加工プログラム入力部11を介して入力された加工プログラムを加工プログラム記憶部12で記憶し、工具データ入力部21を介して入力された工具データを工具データ記憶部22で記憶し、形状データ入力部23を介して入力された形状データを形状データ記憶部24で記憶する。
 ステップS201として実行する加工プログラムの入力は、CAD/CAMシステムにより出力された、例えばGコードのフォーマットで記述されたファイルを読込むことにより実現される。または、作業者がキーボードなどの入力機器を操作することにより必要な情報を入力して加工プログラムを作成することにより実現される。また、ステップS201として実行する工具データの入力は、作業者がキーボードなどの入力機器を使用して工具データを入力することにより実現される。または、CADデータが外部から入力され、工具データ入力部21がCADデータを変換するなどして工具データを生成することにより実現される。また、ステップS201として実行する形状データの入力は、作業者がキーボードなどの入力機器を操作することにより形状データを入力することにより実現される。または、CADデータが外部から入力され、形状データ入力部23がCADデータを変換するなどして形状データを生成することにより実現される。
 数値制御装置10aは、次に、ステップS201で入力された加工プログラムを解析する(ステップS202)。このステップS202では、加工プログラム解析部13aが、加工プログラム記憶部12から加工プログラムを読み出し、読み出した加工プログラム中に記述された移動指令の指令位置を求める。加工プログラム解析部13aは、求めた指令位置を切削点算出部251に渡す。
 数値制御装置10aは、次に、ステップS202で求めた指令位置、工具データ記憶部22で記憶している工具データおよび形状データ記憶部24で記憶している形状データに基づいて切削点を算出する(ステップS203)。切削点の算出は切削点算出部251が行う。
 ステップS203において、切削点算出部251は、まず、加工プログラム解析部13aから指令位置を受け取り、工具データ記憶部22から工具データを読み出すとともに、形状データ記憶部24から形状データを読み出す。切削点算出部251は、次に、工具データに基づいて工具形状の工具モデルを作成し、形状データに基づいて、加工対象物である加工形状の加工形状モデルを作成する。加工形状モデルは複数の加工曲面から構成される。次に、切削点算出部251は、各指令位置に工具モデルを配置した際の、加工形状モデルの加工曲面上における仮想的な加工点である切削点を求める。ここで、指令位置は工具が加工対象物を加工するときの工具の加工対象物に対する相対的な位置であり、指令位置に工具モデルを配置すると、理想的には各指令位置において工具モデルと加工形状モデルの加工曲面が接する。ただし、誤差などによって工具モデルと加工形状モデルの加工曲面が接しない場合もある。このような場合も加味して、切削点算出部251は、図9から図17に示す方法で切削点を算出する。切削点算出部251が切削点を算出する方法について、図9から図17を参照しながら説明する。なお、切削点は、通常は指令位置の各々に対して1つずつ算出されるが、指令位置が特定の条件を満たしている場合、特定の条件を満たしている指令位置に対して複数算出される。
 図9から図11は、工具情報がボールエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図である。図9は、指令位置に配置した工具モデルが加工形状モデルの加工曲面と離反した状態にある様子を示している。このような工具モデルと加工曲面とが離反した状態の場合、切削点算出部251は、工具モデルと加工曲面の間の距離が最短となる加工曲面上の一点を切削点として算出する。図10は、指令位置に配置した工具モデルが加工形状モデルの加工曲面と接触した状態にある様子を示している。このような工具モデルと加工曲面とが接触した状態の場合、切削点算出部251は、工具モデルと加工曲面とが接触している一点を切削点として算出する。図11は、指令位置に配置した工具モデルが加工曲面と干渉する状態にある様子を示している。このような工具モデルと加工曲面とが干渉する状態の場合、切削点算出部251は、工具モデルと加工曲面とが接触する状態となるまで工具モデルを内側へオフセットさせ、両者が接触する状態となった時点で工具モデルと加工曲面とが接触している一点を切削点として算出する。
 図12から図14は、工具情報がラジアスエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図である。図12は、指令位置に配置した工具モデルが加工形状モデルの加工曲面と離反した状態にある様子を示している。このような工具モデルと加工曲面とが離反した状態の場合、切削点算出部251は、工具モデルと加工曲面の間の距離が最短となる加工曲面上の一点を切削点として算出する。図13は、指令位置に配置した工具モデルが加工形状モデルの加工曲面と接触した状態にある様子を示している。このような工具モデルと加工曲面とが接触した状態の場合、切削点算出部251は、工具モデルと加工曲面とが接触している一点を切削点として算出する。図14は、指令位置に配置した工具モデルが加工曲面と干渉する状態にある様子を示している。このような工具モデルと加工曲面とが干渉する状態の場合、切削点算出部251は、工具モデルと加工曲面とが接触する状態となるまで工具モデルを内側へオフセットさせ、両者が接触する状態となった時点で工具モデルと加工曲面とが接触している一点を切削点として算出する。
 図15から図17は、工具情報がフラットエンドミル工具の形状を表す場合の指令位置、工具モデルおよび加工形状モデルの加工曲面の関係例を示す図である。図15は、指令位置に配置した工具モデルが加工形状モデルの加工曲面と離反した状態にある様子を示している。このような工具モデルと加工曲面とが離反した状態の場合、切削点算出部251は、工具モデルと加工曲面の間の距離が最短となる加工曲面上の一点を切削点として算出する。図16は、指令位置に配置した工具モデルが加工形状モデルの加工曲面と接触した状態にある様子を示している。このような工具モデルと加工曲面とが接触した状態の場合、切削点算出部251は、工具モデルと加工曲面とが接触している一点を切削点として算出する。図17は、指令位置に配置した工具モデルが加工曲面と干渉する状態にある様子を示している。このような工具モデルと加工曲面とが干渉する状態の場合、切削点算出部251は、工具モデルと加工曲面とが接触する状態となるまで工具モデルを内側へオフセットさせ、両者が接触する状態となった時点で工具モデルと加工曲面とが接触している一点を切削点として算出する。
 なお、加工プログラム中に工具の移動指令だけでなく、回転軸の回転指令などにより工具軸方向が指令された場合であっても、指令位置において指令された工具軸方向へ工具モデルを傾けて、同様の方法を用いて切削点を求めることが可能である。
 また、指令位置に工具モデルを配置した時に工具モデルが同時に複数の加工曲面に近接する場合、切削点算出部251は、それぞれの加工曲面に対して切削点を算出する。
 また、算出した切削点が複数の加工曲面同士の接続位置上であった場合、切削点算出部251は、切削点がそれぞれの加工曲面上に存在しているものとして扱う。
 なお、実用的には、切削点算出部251は、指令位置に工具モデルを配置した際の工具モデルと各加工曲面との間の最近接距離が予め与えられたある閾値以下となる場合に切削点を算出すればよい。
 切削点算出部251は、上記のようにして求めた切削点を、切削点が算出された指令位置および切削点が存在する加工曲面と対応付けて、切削点記憶部252に格納する。すなわち、切削点記憶部252は、切削点算出部251で算出された各切削点を、いずれの指令位置に工具モデルを配置した際に得られた切削点かを示す情報、および、切削点がいずれの加工曲面上に存在するかを示す情報と併せて記憶する。以下、切削点と併せて記憶する、いずれの指令位置に工具モデルを配置した際に得られた切削点かを示す情報と、切削点がいずれの加工曲面上に存在するかを示す情報とをまとめて、属性情報と称する場合がある。
 数値制御装置10aは、次に、切削点記憶部252で記憶している切削点および属性情報と、形状データ記憶部24で記憶している形状データとに基づいて、曲線経路区間を算出する(ステップS204)。曲線経路区間の算出は曲線経路区間算出部253が行う。
 ステップS204において、曲線経路区間算出部253は、まず、切削点記憶部252から切削点および属性情報を読み出すとともに、形状データ記憶部24から形状データを読み出し、形状データに基づいて加工形状モデルを生成する。曲線経路区間算出部253は、次に、先頭の指令位置から順番に、1つの曲線経路上にある指令位置をグループ化して曲線経路区間を求める。このとき、曲線経路区間算出部253は、各指令位置に対応する切削点を確認し、切削点が特定の条件を満たしている場合、当該指令位置を曲線経路区間の末尾とする。切削点が特定の条件を満たしているか否かは属性情報から判断する。曲線経路区間算出部253は、例えば、以下の(1)~(4)のいずれかに該当する場合、切削点が特定の条件を満たしていると判断し、指令位置を曲線経路区間の末尾とする。
(1)指令位置における切削点が加工曲面の接続位置である場合、すなわち、切削点の属性情報が、切削点が複数の加工曲面同士の接続位置上であることを示している、または、指令位置における切削点が複数の加工曲面上に存在する場合、切削点が特定の条件を満たしているとする。
(2)指令位置において工具が接触する加工曲面が切替わる場合、すなわち、ある指令位置における切削点が存在する加工曲面と、直後の指令位置における切削点が存在する加工曲面とが異なる場合、切削点が特定の条件を満たしているとする。
(3)指令位置における切削点が曲率不連続な位置である場合、すなわち、加工形状モデルの加工曲面の切削点における連続性を評価し、曲率連続ではない場合、切削点が特定の条件を満たしているとする。
(4)指令位置における切削点が接線不連続な位置である場合、すなわち、加工形状モデルの加工曲面の切削点における連続性を評価し、接線連続ではない場合、切削点が特定の条件を満たしているとする。
 曲線経路区間算出部253は、上記の(1)~(4)とは異なる条件を使用して指令位置を曲線経路区間の末尾とするか否かを判別してもよい。
 曲線経路区間算出部253は、曲線経路区間が一つ得られた場合、得られた曲線経路区間の末尾とした指令位置を次の曲線経路区間の先頭として、指令位置および指令位置における切削点を順次同様に確認し、新たな曲線経路区間を算出する。曲線経路区間算出部253は、全ての指令位置における切削点の確認が終わるまで同様の処理を行い、曲線経路区間を算出する。曲線経路区間算出部253は、算出した曲線経路区間を曲線経路区間記憶部254に格納する。
 数値制御装置10aは、次に、切削点記憶部252で記憶している切削点および属性情報と、曲線経路区間記憶部254で記憶している曲線経路区間と、形状データ記憶部24で記憶している形状データとに基づいて、接線方向ベクトルを算出する(ステップS205)。接線方向ベクトルの算出は接線方向ベクトル算出部255が行う。
 ステップS205において、接線方向ベクトル算出部255は、まず、切削点記憶部252から切削点および属性情報を読み出すとともに曲線経路区間記憶部254から曲線経路区間を読み出し、さらに、形状データ記憶部24から形状データを読み出す。接線方向ベクトル算出部255は、次に、形状データに基づいて加工形状モデルを生成し、各々の曲線経路区間に対して、各指令位置を通過する際の曲線経路の接線方向ベクトルを算出する。
 曲線経路の接線方向ベクトルの算出では、接線方向ベクトル算出部255は、まず、一つの曲線経路区間を取り出し、当該曲線経路区間に含まれる指令位置および指令位置に対応する切削点を取り出す。接線方向ベクトル算出部255は、次に、加工形状モデルの加工曲面の切削点における法線方向ベクトルを算出する。法線方向ベクトルの算出方法としては、例えば、パラメータで表現されたパラメトリック曲面である加工曲面において、加工曲面上の切削点における各パラメータの方向を示すベクトルの外積を算出することにより法線方向ベクトルを得る方法がある。接線方向ベクトル算出部255は、次に、算出した法線方向ベクトルと垂直になるように、各々の切削点に対応する指令位置における曲線経路の接線方向ベクトルを求める。求めた接線方向ベクトルは加工形状モデルの加工曲面の切削点において加工曲面と平行である。
 1つの指令位置に対応する切削点が複数存在する場合、接線方向ベクトル算出部255は、当該指令位置の直前の指令位置に対応する切削点を有する加工曲面と同一の加工曲面上にある切削点を選択する。または、接線方向ベクトル算出部255は、当該指令位置の直後の指令位置に対応する切削点を有する加工曲面と同一の加工曲面上にある切削点を選択する。そして、接線方向ベクトル算出部255は、選択した切削点における法線方向ベクトルを用いて接線方向ベクトルを算出する。すなわち、接線方向ベクトル算出部255は、取り出した曲線経路区間と対応する加工曲面上にある切削点における法線方向ベクトルを用いて接線方向ベクトルを算出する。
 接線方向ベクトルの算出方法としては、例えば、各指令位置を通過する曲線経路を仮曲線経路として予め生成しておき、仮曲線経路の指令位置における接線方向ベクトルである仮接線方向ベクトルが法線方向ベクトルと垂直になるように、仮接線方向ベクトルを補正することにより、最終的な接線方向ベクトルを求める方法がある。また、接線方向ベクトルを求める対象の指令位置の前後の指令位置を用いて、直前の指令位置から直後の指令位置への方向となる仮接線方向ベクトルを予め求めておき、仮接線方向ベクトルが法線方向ベクトルと垂直になるように、仮接線方向ベクトルを補正し、最終的な接線方向ベクトルを求める方法がある。
 接線方向ベクトル算出部255は、1つの曲線経路区間に含まれる各指令位置における接線方向ベクトルの算出が終了すると、次の曲線経路区間を取り出して同様の処理を行い、各指令位置における接線方向ベクトルを算出する。接線方向ベクトル算出部255は、同様の処理を繰り返し、曲線経路区間記憶部254が記憶している全ての曲線経路区間について、各指令位置における接線方向ベクトルを算出する。接線方向ベクトル算出部255は、算出した各接線方向ベクトルを、対応する指令位置の情報とともに接線方向ベクトル記憶部256に格納する。
 数値制御装置10aは、次に、加工プログラムを解析して求めた指令位置と、曲線経路区間記憶部254で記憶している曲線経路区間と、接線方向ベクトル記憶部256で記憶している接線方向ベクトルとに基づいて、曲線経路を生成する(ステップS206)。曲線経路の生成は曲線経路生成部14aが行う。
 ステップS206において、曲線経路生成部14aは、まず、加工プログラム解析部13aから指令位置を受け取り、曲線経路区間記憶部254から曲線経路区間を読み出すとともに、接線方向ベクトル記憶部256から接線方向ベクトルを読み出す。
 曲線経路生成部14aは、次に、曲線経路区間に基づいて、曲線キャンセル情報を指令する指令位置を決定する。曲線経路生成部14aは、各々の曲線経路区間の末尾の指令位置を、曲線キャンセル情報を指令する指令位置に決定する。
 曲線経路生成部14aは、次に、接線方向ベクトルに基づいて、各々の指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルを決定する。開始接線方向ベクトルおよび終了接線方向ベクトルは、実施の形態1で説明した開始接線方向ベクトルおよび終了接線方向ベクトルである。曲線経路生成部14aは、曲線経路区間の先頭の指令位置に対応する接線方向ベクトルを当該指令位置における開始接線方向ベクトルに決定し、曲線経路区間の先頭の指令位置に該当しない指令位置に対応する接線方向ベクトルを当該指令位置における終了接線方向ベクトルに決定する。
 曲線経路生成部14aは、次に、指令位置、曲線キャンセル情報、開始接線方向ベクトルおよび終了接線方向ベクトルに従って曲線経路を生成する。曲線経路生成部14aは、実施の形態1の曲線経路生成部14が曲線経路を生成する手順と同様の手順で曲線経路を生成する。
 数値制御装置10aは、次に、曲線経路を補間する(ステップS207)。このステップS207の処理は実施の形態1で説明したステップS104と同様の処理であるため、説明を省略する。
 以上のような手順で動作することにより、実施の形態1にかかる数値制御装置10aは工具経路を生成する。
 つづいて、数値制御装置10aの動作の具体例、すなわち図8に示したステップS201~S207を実行して工具経路を生成する動作の具体例について、図18~図27を用いて説明する。図18および図19は、数値制御装置10aに入力される加工プログラムおよび指令位置の具体例を示す図、図20および図21は、加工形状モデルの具体例を示す図、図22は、工具モデルの具体例を示す図、図23は、切削点の算出方法を説明するための図、図24は、曲線経路区間を説明するための図、図25は、接線方向ベクトルの算出手順を説明するための図、図26は、接線方向ベクトルの具体例を示す図、図27は、開始接線方向ベクトルおよび終了接線方向ベクトルの具体例を示す図である。
 図8に示したステップS201において、数値制御装置10aの加工プログラム入力部11は、図18に示す加工プログラム300を取得し、これを加工プログラム記憶部12が記憶する。なお、図18に示した加工プログラム300では、指令位置の座標を2次元、すなわち座標アドレスを「X」および「Z」のみとしているが、実際の数値制御工作機械の数値制御装置に入力される加工プログラムでは、指令位置が3次元の座標アドレス「X」、「Y」および「Z」とこれらに続く数値とにより座標が示される。
 また、図8に示したステップS201において、数値制御装置10aの工具データ入力部21は、図22に示す工具モデルT10を生成するための工具データを取得し、これを工具データ記憶部22が記憶する。
 また、図8に示したステップS201において、数値制御装置10aの形状データ入力部23は、図20に示す加工形状モデルM1を生成するための形状データを取得し、これを形状データ記憶部24が記憶する。加工形状モデルM1は、CAD/CAMシステムにより生成される。数値制御装置10aに入力される形状データは所定のフォーマットのCADデータである。また、加工形状モデルM1は、加工曲面S0~S3を有し、図21加工形状モデルM1の断面図に示すように、加工曲面S0とS1は接続位置e0において、加工曲面S1とS2は接続位置e1において、加工曲面S2とS3は接続位置e2において、それぞれ接続されている。また接続位置e0およびe2においては各々の加工曲面が接線連続に接続されており、接続位置e1においては加工曲面が位置連続に接続されている。
 図8に示したステップS202において、数値制御装置10aの加工プログラム解析部13aは、加工プログラム300を解析し、図19に示す各ブロックの移動指令によって指令される指令位置CL11~CL25を求める。ここで、指令位置CL11はシーケンス番号N11のブロックの移動指令による指令位置を示す。CL12~CL25も同様である。加工プログラム解析部13aは、求めた指令位置を切削点算出部251および曲線経路生成部14aに渡す。
 図8に示したステップS203において、数値制御装置10aの切削点算出部251は、まず、工具データに基づいて工具モデルT10を生成し、次に、形状データに基づいて加工形状モデルM1を生成する。切削点算出部251は、次に、指令位置CL11~CL25の各々に工具モデルT10を配置した場合の、加工形状モデルM1における切削点を算出する。
 図23(a)は、工具モデルT10を指令位置CL11に配置した場合の工具モデルT10および加工形状モデルM1の断面図である。図23(a)では指令位置CL12~CL25を併せて表示している。
 切削点算出部251が、指令位置CL11~CL25の各々について、一つまたは二つの切削点を算出する様子を図23(b)に示す。切削点算出部251は、まず、指令位置CL11に工具モデルT10を配置したときの切削点として、加工曲面S0上の点であるCP110を算出する。切削点算出部251は、次に、指令位置CL12に工具モデルT10を配置したときの切削点として、加工曲面S0とS1の接続位置e0上の点である切削点CP120を算出する。このとき、切削点算出部251は、切削点CP120に対し、加工曲面の接続位置上であるとの属性情報を付加する。切削点算出部251は、次に、指令位置CL13に工具モデルT10を配置したときの切削点として、加工曲面S1上の点である切削点CP130を算出する。以下、切削点算出部251は、指令位置CL14~CL21を対象として、同様の手順で切削点CP140~CP210を算出する。切削点算出部251は、指令位置CL22に工具モデルT10を配置した場合、加工曲面S1および加工曲面S2の二つの加工曲面に近接するため、指令位置CL22に対応する切削点として、加工曲面S1上の点である切削点CP220および加工曲面S2上の点である切削点CP221を算出する。また、切削点算出部251は、指令位置CL23に対応する切削点として切削点CP230を算出し、指令位置CL24に対応する切削点として切削点CP240を算出し、指令位置CL25に対応する切削点として切削点CP250を算出する。切削点算出部251は、算出した切削点および属性情報を切削点記憶部252に渡し、切削点記憶部252がこれを記憶する。
 図8に示したステップS204において、数値制御装置10aの曲線経路区間算出部253は、切削点記憶部252で記憶されている切削点および属性情報に基づいて、指令位置CL11~CL25に対応する曲線経路区間を算出する。
 図24は、曲線経路区間算出部253が算出する曲線経路区間と指令位置CL11~CL25との対応関係を示す図である。曲線経路区間算出部253は、切削点または指令位置が以下のいずれかの条件を満たしている場合、条件を満たしている切削点に対応する指令位置、または、条件を満たしている指令位置が曲線経路区間の末尾に該当すると判断して曲線経路を算出する。
(条件1)切削点の属性情報が複数の加工曲面同士の接続位置上であることを示している。
(条件2)1つの指令位置に対して複数の切削点が存在する、すなわち、1つの指令位置が複数の加工曲面に対して切削点を有している。
 上記の(条件1)および(条件2)を用いて曲線経路区間算出部253が図24に示した曲線経路区間CR0~CR3を算出する動作を以下に示す。
 曲線経路区間算出部253は、まず、最初の曲線経路区間の先頭を指令位置CL11とし、次に、これに続く指令位置CL12を確認する。ここで、曲線経路区間算出部253が行う指令位置CL12の確認は、指令位置CL12に対応する切削点および切削点の属性情報を確認することである。他の指令位置の確認も同様である。曲線経路区間算出部253は、指令位置CL12に対応する切削点は切削点CP120であり、CP120は接続位置e0上であることから上記の(条件1)を満たしている。そのため、曲線経路区間算出部253は、指令位置CL12が曲線経路区間の末尾に該当すると判断する。この結果、指令位置CL11およびCL12で構成される曲線経路区間CR0が得られる。曲線経路区間算出部253は、次に、曲線経路区間CR0の末尾である指令位置CL12を次の曲線経路区間の先頭とし、これに続く指令位置CL13を確認する。曲線経路区間算出部253は、指令位置CL13が上記(条件2)を満たしておらず、かつ指令位置CL13に対応する切削点CP130が上記(条件1)を満たしていないため、指令位置CL13が曲線経路区間の末尾には該当しないと判断する。曲線経路区間算出部253は、同様の手順で指令位置CL14~CL21を確認し、これらの指令位置が曲線経路区間の末尾には該当しないと判断する。曲線経路区間算出部253は、次に、指令位置CL22を確認する。指令位置CL22に対応する切削点が切削点CP220およびCP221であり、複数の切削点を有することから、指令位置CL22は上記(条件2)を満たしている。そのため、曲線経路区間算出部253は、指令位置CL22が曲線経路区間の末尾に該当すると判断する。この結果、指令位置CP13~CP22で構成される曲線経路区間CR1が得られる。曲線経路区間算出部253は、以下、同様の手順で残りの指令位置CL23からCL25を確認し、曲線経路区間CR2およびCR3を算出する。曲線経路区間算出部253は、算出した曲線経路区間CR0~CR3を曲線経路区間記憶部254に渡し、曲線経路区間記憶部254がこれを記憶する。
 図8に示したステップS205において、数値制御装置10aの接線方向ベクトル算出部255は、切削点記憶部252で記憶されている切削点および属性情報と、曲線経路区間記憶部254で記憶されている曲線経路区間と、形状データ記憶部24で記憶されている形状データとに基づいて、指令位置CL11~CL25における接線方向ベクトルを算出する。
 接線方向ベクトルを算出する処理において、接線方向ベクトル算出部255は、まず、形状データに基づいて加工形状モデルM1を生成し、次に、図25(a)に示した法線方向ベクトル、すなわち、図24に示した曲線経路区間CR1に含まれる指令位置CL12~CL22(図23参照)について、対応する切削点CP120~CP221における法線方向ベクトルNV120~NV221を算出する。接線方向ベクトル算出部255は、切削点CP120~CP221において加工曲面を評価することにより、各切削点における法線方向ベクトルを算出する。
 接線方向ベクトル算出部255は、次に、指令位置CL12~CL22を通過する仮曲線経路、具体的には、図25(b)に示した仮曲線経路PCV1を生成する。このとき、接線方向ベクトル算出部255は、仮曲線経路PCV1が指令位置を通過するときの接線方向ベクトルを仮接線方向ベクトルPV121~PV220として求める。
 接線方向ベクトル算出部255は、次に、求めた仮接線方向ベクトルPV121~PV220を補正することにより、図25(c)に示した最終的な接線方向ベクトルTV121~TV220を求める。図25(c)は、各指令位置CL12~CL22における仮接線方向ベクトルPV121~PV220を、各指令位置に対応する切削点における法線方向ベクトルNV120~NV221に対して垂直になるように補正する場合の例を示している。
 接線方向ベクトル算出部255は、仮接線方向ベクトルPV121~PV220を補正する場合、まず、仮曲線経路PCV1が指令位置CL12を通過するときの仮接線方向ベクトルPV121について、指令位置CL12と対応する切削点CP120の法線方向ベクトルNV120と垂直になるように補正し、最終的な接線方向ベクトルTV121を求める。接線方向ベクトル算出部255は、以下、指令位置CL13~CL21について、同様に、接線方向ベクトルTV130~TV210を求める。また、接線方向ベクトル算出部255は、指令位置CL22において、指令位置CL22と対応する切削点として切削点CP220およびCP221の2つが存在するため、算出に用いる切削点を選択する。ここで、接線方向ベクトル算出部255は、指令位置CL22の直前の指令位置CL21と対応する切削点CP210が加工曲面S1上に存在するため、同じ加工曲面S1上に存在する切削点CP220を選択する。そして、接線方向ベクトル算出部255は、仮接線方向ベクトルPV220を、選択した切削点CP220の法線方向ベクトルNV220と垂直になるように補正し、最終的な接線方向ベクトルTV220を求める。
 接線方向ベクトル算出部255は、以上の手順により、曲線経路区間CR1に含まれる指令位置CL12~CL22における接線方向ベクトルTV121~TV220を算出する。接線方向ベクトル算出部255は、他の曲線経路区間CR0、CR2およびCR3についても、指令位置における接線方向ベクトルを同様の手順で算出する。図26は、曲線経路区間CR0、CR2およびCR3のそれぞれにおける法線方向ベクトルおよび接線方向ベクトルの一例を示す図である。図26(a)は、指令位置CL11~CL12における切削点の法線方向ベクトルNV110~NV120と、法線方向ベクトルNV110~NV120を用いて算出された接線方向ベクトルTV110~TV120とを示している。図26(b)は、指令位置CL22~CL24における切削点の法線方向ベクトルNV221~NV240と、法線方向ベクトルNV221~NV240を用いて算出された接線方向ベクトルTV221~TV240とを示している。図26(c)は、指令位置CL24~CL25における切削点の法線方向ベクトルNV240~NV250と、法線方向ベクトルNV240~NV250を用いて算出された接線方向ベクトルTV240~TV250とを示している。
 接線方向ベクトル算出部225は、算出した各指令位置における接線方向ベクトルTV110~TV250を接線方向ベクトル記憶部256に渡し、接線方向ベクトル記憶部256がこれを記憶する。
 図8に示したステップS206において、数値制御装置10aの曲線経路生成部14aは、加工プログラム解析部13aから出力される指令位置と、曲線経路区間記憶部254で記憶されている曲線経路区間と、接線方向ベクトル記憶部256で記憶されている接線方向ベクトルとに基づいて、曲線経路を生成する。
 曲線経路を生成する処理において、曲線経路生成部14aは、まず、曲線経路区間記憶部254から読み出した曲線経路区間CR0~CR3に基づいて、曲線キャンセル情報を指令する指令位置を決定する。具体的には、曲線経路生成部14aは、各々の曲線経路区間の末尾である指令位置CL12、CL22、CL24およびCL25を、曲線キャンセル情報を指令する指令位置に決定する。
 曲線経路生成部14aは、次に、曲線経路区間記憶部254から読み出した曲線経路区間のうち、各々の曲線経路区間に含まれる指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。曲線経路生成部14aは、まず、曲線経路区間CR0の指令位置CL11およびCL12における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。具体的には、曲線経路生成部14aは、指令位置CL11が曲線経路区間CR0の先頭であるため、接線方向ベクトルTV110を指令位置CL11における開始接線方向ベクトルSV12に決定する。また、曲線経路生成部14aは、指令位置CL12における接線方向ベクトルTV120を、指令位置CL12における終了接線方向ベクトルEV12に決定する。曲線経路生成部14aは、次に、曲線経路区間CR1の指令位置CL12~CL22における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。具体的には、曲線経路生成部14aは、指令位置CL12が曲線経路区間CR1の先頭であるため、接線方向ベクトルTV121を指令位置CL12における開始接線方向ベクトルSV13に決定し、指令位置CL13における接線方向ベクトルTV130を、指令位置CL13における終了接線方向ベクトルEV13に決定する。曲線経路生成部14aは、以下、同様に、指令位置CL14~CL22における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。曲線経路生成部14aは、曲線経路区間CR2およびCR3についても同様に、各指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。以上の手順で曲線経路生成部14aが求めた開始接線方向ベクトルおよび終了接線方向ベクトルを図27(a)に示す。
 なお、図27において、終了接線方向ベクトルおよび開始接線方向ベクトルの双方が対応付けられている指令位置が、曲線キャンセル情報を指令する指令位置に該当する。これは、曲線キャンセル情報を指令する指令位置は、ある曲線経路区間の末尾に該当し、かつ次の曲線経路区間の先頭にも該当するためである。例えば、指令位置CL12(図23(a)参照)は、図24に示したように、曲線経路区間CR0の末尾であり、かつ曲線経路区間CR1の先頭でもあるため、この指令位置CL12には、終了接線方向ベクトルEV12および開始接線方向ベクトルSV13の双方が対応付けられている。曲線キャンセル情報、終了接線方向ベクトルおよび開始接線方向ベクトルは、実施の形態2にかかる形状特徴情報である。
 曲線経路生成部14aは、次に、加工プログラム解析部13aから出力された指令位置CL11~CL25と、曲線キャンセル情報を指令する指令位置として求めた指令位置CL12、CL22、CL24およびCL25と、曲線経路区間CR0~CR3について求めた開始接線方向ベクトルSV12,SV13,SV23,SV25および終了接線方向ベクトルEV12~EV25と、に基づいて、曲線経路を生成する。曲線経路生成部14aは、図27(b)に示した曲線経路#7~#10を生成する。
 図8に示したステップS207において、数値制御装置10aの曲線経路補間部15は、曲線経路生成部14aが生成した曲線経路#7~#10に従って、それぞれ補間周期あたりの工具の移動量を求めて補間した補間点を生成し、モータ駆動部16に渡す。
 以上のように、本実施の形態にかかる数値制御装置10aは、加工プログラムに含まれる移動指令が指令する指令位置と、加工で使用する工具の種別および形状などを示す情報を付含んだ工具データと、加工対象物の加工形状モデルを定義する形状データとに基づいて、各移動指令に対応する形状特徴情報を算出し、指令位置および算出した形状特徴情報に基づいて、工具経路を構成する各曲線経路を生成することとした。形状特徴情報は、上述した曲線キャンセル情報、開始接線方向ベクトルおよび終了接線方向ベクトルである。
 本実施の形態にかかる数値制御装置10aによれば、加工プログラムに形状特徴情報が含まれていない場合でも、形状特徴情報に基づいて補間曲線を生成することが可能となり、実施の形態1にかかる数値制御装置10と同様に、復元した曲線経路と復元されるべき理想的な経路の形状との一致度を高めることができ、加工結果の加工精度および加工品位を向上させることができる。また、作業者が加工プログラムを作成する際の作業量および作業時間を削減することができ、作業能率を向上させることができる。
実施の形態3.
 実施の形態2では、数値制御装置が、加工プログラムに含まれる移動指令、工具データおよび形状データに基づいて、形状特徴情報を算出し、算出した形状特徴情報を考慮して曲線経路を生成することとした。これに対して、本実施の形態では、形状特徴情報を考慮して加工プログラムを変換し、形状特徴情報を考慮して曲線経路を生成する機能を有さない数値制御装置でも実施の形態2と同様の曲線経路を生成可能な加工プログラムを生成するプログラム変換装置を説明する。
 図28は、実施の形態3にかかるプログラム変換装置の構成例を示す図である。実施の形態3にかかるプログラム変換装置30は、加工プログラム入力部11、加工プログラム記憶部12、加工プログラム解析部13a、工具データ入力部21、工具データ記憶部22、形状データ入力部23、形状データ記憶部24、形状特徴情報算出部25、加工プログラム変換部31、変換後加工プログラム記憶部32および変換後加工プログラム出力部33を備える。
 プログラム変換装置30の構成要素のうち、加工プログラム入力部11、加工プログラム記憶部12、加工プログラム解析部13a、工具データ入力部21、工具データ記憶部22、形状データ入力部23、形状データ記憶部24および形状特徴情報算出部25は、実施の形態2にかかる数値制御装置10aの加工プログラム入力部11、加工プログラム記憶部12、加工プログラム解析部13a、工具データ入力部21、工具データ記憶部22、形状データ入力部23、形状データ記憶部24および形状特徴情報算出部25と同じものである。そのため、これらの各構成要素については説明を省略する。
 加工プログラム変換部31は、形状特徴情報算出部25で算出された形状特徴情報に基づいて加工プログラムを変換する。具体的には、加工プログラム変換部31は、加工プログラム解析部13aから出力される指令位置と、曲線経路区間記憶部254で記憶されている曲線経路区間と、接線方向ベクトル記憶部256で記憶されている接線方向ベクトルとに基づいて、加工プログラム記憶部12で記憶されている加工プログラムを変換する。
 変換後加工プログラム記憶部32は、加工プログラム変換部31で変換された後の加工プログラムである変換後加工プログラムを記憶する。
 変換後加工プログラム出力部33は、変換後加工プログラム記憶部32で記憶されている変換後加工プログラムを読み出して外部へ出力する。
 図29は、実施の形態3にかかるプログラム変換装置30の動作例を示すフローチャートである。図29のフローチャートは、プログラム変換装置30が加工プログラムを変換して変換後加工プログラムを外部へ出力する動作の手順を示している。
 プログラム変換装置30が加工プログラムを変換して変換後加工プログラムを外部へ出力する動作においては、まず、プログラム変換装置30に加工プログラム、工具データおよび形状データを入力する(ステップS301)。このステップS301は、実施の形態2で説明した数値制御装置10aが実行するステップS201と同様の処理であるため、説明を省略する。
 プログラム変換装置30は、次に、ステップS301で入力された加工プログラムを解析する(ステップS302)。このステップS302は、実施の形態2で説明した数値制御装置10aが実行するステップS202と同様の処理であるため、説明を省略する。
 プログラム変換装置30は、次に、ステップS302で求めた指令位置、工具データ記憶部22で記憶している工具データおよび形状データ記憶部24で記憶している形状データに基づいて切削点を算出する(ステップS303)。このステップS303は、実施の形態2で説明した数値制御装置10aが実行するステップS203と同様の処理であるため、説明を省略する。
 プログラム変換装置30は、次に、切削点記憶部252で記憶している切削点および属性情報と、形状データ記憶部24で記憶している形状データとに基づいて、曲線経路区間を算出する(ステップS304)。このステップS304は、実施の形態2で説明した数値制御装置10aが実行するステップS204と同様の処理であるため、説明を省略する。
 プログラム変換装置30は、次に、切削点記憶部252で記憶している切削点および属性情報と、曲線経路区間記憶部254で記憶している曲線経路区間と、形状データ記憶部24で記憶している形状データとに基づいて、接線方向ベクトルを算出する(ステップS305)。このステップS305は、実施の形態2で説明した数値制御装置10aが実行するステップS205と同様の処理であるため、説明を省略する。
 プログラム変換装置30は、次に、加工プログラム解析部13aから出力される指令位置と、曲線経路区間記憶部254で記憶されている曲線経路区間と、接線方向ベクトル記憶部256で記憶されている接線方向ベクトルとに基づき、加工プログラム記憶部12で記憶されている加工プログラムを変換して変換後加工プログラムを生成し、外部へ出力する(ステップS306)。このステップS306では、加工プログラム変換部31が変換後加工プログラムを生成し、変換後加工プログラム出力部33がこれを出力する。
 ステップS306において、加工プログラム変換部31は、まず、加工プログラム解析部13aから指令位置を受け取り、曲線経路区間記憶部254から曲線経路区間を読み出すとともに、接線方向ベクトル記憶部256から接線方向ベクトルを読み出す。
 加工プログラム変換部31は、次に、曲線経路区間に基づいて、曲線キャンセル情報を指令する指令位置を決定する。加工プログラム変換部31は、各々の曲線経路区間の末尾の指令位置を、曲線キャンセル情報を指令する指令位置に決定する。
 加工プログラム変換部31は、次に、接線方向ベクトルに基づいて、各々の指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルを決定する。開始接線方向ベクトルおよび終了接線方向ベクトルは、実施の形態1で説明した開始接線方向ベクトルおよび終了接線方向ベクトルである。加工プログラム変換部31は、曲線経路区間の先頭の指令位置に対応する接線方向ベクトルを当該指令位置における開始接線方向ベクトルに決定し、曲線経路区間の先頭の指令位置に該当しない指令位置に対応する接線方向ベクトルを当該指令位置における終了接線方向ベクトルに決定する。
 加工プログラム変換部31は、次に、加工プログラム記憶部12から加工プログラムを読み出し、読み出した加工プログラムを、曲線キャンセル情報を指令する指令位置と、各々の指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルとに基づいて変換する。具体的には、加工プログラム変換部31は、加工プログラムのブロックのうち、曲線キャンセル情報を指令する指令位置に対応するブロックに対して曲線キャンセル情報を付加し、さらに、各々の指令位置に対応するブロックに対して開始接線方向ベクトルおよび終了接線方向ベクトルの一方または双方を付加することにより、変換後加工プログラムを生成する。なお、加工プログラム変換部31は、開始接線方向ベクトルが求められていない指令位置に対応するブロックについては、開始接線方向ベクトルを付加しなくてもよいし、当該指令位置における終了接線方向ベクトルを開始接線方向ベクトルとして付加してもよい。
 加工プログラム変換部31で生成された変換後加工プログラムは変換後加工プログラム記憶部32に格納される。変換後加工プログラム出力部33は、変換後加工プログラム記憶部32から変換後加工プログラムを読み出して外部へ出力する。変換後加工プログラムの外部への出力は、加工プログラム入力部11に入力された加工プログラムと同じ形式で行ってもよいし、他の形式で行ってもよい。なお、加工プログラム入力部11には、テキスト形式またはバイナリ形式といった形式の加工プログラムが入力される。
 つづいて、プログラム変換装置30が、入力された加工プログラムを変換して変換後加工プログラムとして出力する動作の具体例を説明する。ここでは、図12~図22および図27~図30を用いて説明する。図30は、プログラム変換装置30が生成する変換後加工プログラムの具体例を示す図である。
 図29に示したステップS301において、プログラム変換装置30の加工プログラム入力部11は、図18に示す加工プログラム300を取得し、これを加工プログラム記憶部12が記憶する。
 また、図29に示したステップS301において、プログラム変換装置30の工具データ入力部21は、図22に示す工具モデルT10を生成するための工具データを取得し、これを工具データ記憶部22が記憶する。
 また、図29に示したステップS301において、プログラム変換装置30の形状データ入力部23は、図20に示す加工形状モデルM1を生成するための形状データを取得し、これを形状データ記憶部24が記憶する。加工形状モデルM1は、CAD/CAMシステムにより生成される。プログラム変換装置30に入力される形状データは所定のフォーマットのCADデータである。また、加工形状モデルM1は、加工曲面S0~S3を有し、図21の断面図に示すように、加工曲面S0とS1は接続位置e0において、加工曲面S1とS2は接続位置e1において、加工曲面S2とS3は接続位置e2において、それぞれ接続されている。また接続位置e0およびe2においては各々の加工曲面が接線連続に接続されており、接続位置e1においては加工曲面が位置連続に接続されている。このステップS301の処理は、実施の形態2で説明した数値制御装置10aが実行するステップS201と同様の処理である。
 図29に示したステップS302~S305においては、プログラム変換装置30が、実施の形態2で説明した数値制御装置10aが実行するステップS202~S205と同様の処理を実行する。
 図29に示したステップS306において、プログラム変換装置30の加工プログラム変換部31は、まず、加工プログラム解析部13aから指令位置CL11~CL25を受け取り(図23(a)参照)、さらに、曲線経路区間記憶部254から曲線経路区間CR0~CR3を読み出すとともに(図24参照)、接線方向ベクトル記憶部256から接線方向ベクトルTV121~TV220を読み出す(図25(c)参照)。
 加工プログラム変換部31は、次に、曲線経路区間CR0~CR3に基づいて、曲線キャンセル情報を指令する指令位置を決定する。具体的には、加工プログラム変換部31は、各々の曲線経路区間の末尾である指令位置CL12、CL22、CL24およびCL25を、曲線キャンセル情報を指令する指令位置に決定する。
 加工プログラム変換部31は、次に、曲線経路区間記憶部254から読み出した曲線経路区間のうち、各々の曲線経路区間に含まれる指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。加工プログラム変換部31は、まず、曲線経路区間CR0の指令位置CL11およびCL12における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。具体的には、加工プログラム変換部31は、指令位置CL11が曲線経路区間CR0の先頭であるため、接線方向ベクトルTV110を指令位置CL11における開始接線方向ベクトルSV12に決定する。また、加工プログラム変換部31は、指令位置CL12における接線方向ベクトルTV120を、指令位置CL12における終了接線方向ベクトルEV12に決定する。加工プログラム変換部31は、次に、曲線経路区間CR1の指令位置CL12~CL22における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。具体的には、加工プログラム変換部31は、指令位置CL12が曲線経路区間CR1の先頭であるため、接線方向ベクトルTV121を指令位置CL12における開始接線方向ベクトルSV13に決定し、指令位置CL13における接線方向ベクトルTV130を、指令位置CL13における終了接線方向ベクトルEV13に決定する。加工プログラム変換部31は、以下、同様に、指令位置CL14~CL22における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。加工プログラム変換部31は、曲線経路区間CR2およびCR3についても同様に、各指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルを求める。以上の手順で加工プログラム変換部31が求めた開始接線方向ベクトルおよび終了接線方向ベクトルは図27(a)に示したものとなる。
 加工プログラム変換部31は、次に、上記の処理で決定した、曲線キャンセル情報を指令する指令位置と、各指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルとに基づいて、加工プログラム300を変換し、図30に示した変換後加工プログラム400を生成する。すなわち、加工プログラム変換部31は、加工プログラム300を構成している各ブロックのうち、曲線キャンセル情報を指令する指令位置に対応するブロックに対して曲線キャンセル情報を付加し、さらに、各ブロックに対して、対応する指令位置における開始接線方向ベクトルおよび終了接線方向ベクトルを付加する。図30に示したように、加工プログラム変換部31は、変換前の加工プログラム300の各ブロックの移動指令が指令する指令位置が、曲線キャンセル情報が指令される指令位置であった場合には、アドレス「L」に数値「0」を加えた「L0」という指令403を、曲線キャンセル情報として付加する。加工プログラム変換部31は、また、各ブロックの移動指令が指令する指令位置に対応する開始接線方向ベクトルが存在する場合、ベクトルのX、YおよびZ成分をそれぞれアドレス「VA」、「VB」および「VC」とし、これらに成分値を加えた構成の指令401を、開始接線方向ベクトルとして付加する。加工プログラム変換部31は、また、各ブロックの移動指令が指令する指令位置に対応する終了接線方向ベクトルが存在する場合、ベクトルのX、YおよびZ成分をそれぞれアドレス「VD」、「VE」および「VF」とし、これらに成分値を加えた構成の指令402を、終了接線方向ベクトルとして付加する。
 加工プログラム変換部31は、変換後加工プログラム400の生成が終了すると、変換後加工プログラム400を変換後加工プログラム記憶部32に格納し、これを変換後加工プログラム出力部33が読み出して外部へ出力する。
 以上のように、本実施の形態にかかるプログラム変換装置30は、加工プログラムに含まれる移動指令が指令する指令位置と、加工で使用する工具の種別および形状などを示す情報を付含んだ工具データと、加工対象物の加工形状モデルを定義する形状データとに基づいて、各移動指令に対応する形状特徴情報を算出し、形状特徴情報に基づいて加工プログラムを変換することとした。
 本実施の形態にかかるプログラム変換装置30によれば、形状特徴情報が含まれていない加工プログラムを、形状特徴情報を含んだ加工プログラムに変換することができる。また、作業者が加工プログラムを作成する際の作業量および作業時間を削減することができ、作業能率を向上させることができる。
 また、本実施の形態にかかるプログラム変換装置30によれば、各移動指令の指令位置を工具が通過する際の加工形状上の切削点を求め、切削点が加工形状モデルの加工曲面の境界上に存在するか、または加工形状モデルの2つ以上の加工曲面に同時に接する場合に、移動指令と一緒に曲線キャンセル情報を指令するように加工プログラムを変換する。そのため、加工プログラムに曲線キャンセル情報が含まれていない場合であっても自動的に曲線キャンセル情報を含んだ加工プログラムを得ることが可能となる。よって、作業者が加工プログラムを作成する際の作業量および作業時間を削減することができ、作業能率を向上させることができる。さらに、加工曲面の境界および加工曲面によって角部が形成される位置を工具が通過する際に生成される補間曲線がキャンセルされるため、加工結果の加工精度を向上させることができる。
 また、本実施の形態にかかるプログラム変換装置30によれば、各移動指令の指令位置を工具が通過する際の加工形状上の切削点を求め、切削点が加工形状の曲率不連続な位置に存在する場合に、移動指令と一緒に曲線キャンセル情報を指令するように加工プログラムを変換する。そのため、加工プログラムに曲線キャンセル情報が含まれていない場合であっても自動的に曲線キャンセル情報を含んだ加工プログラムを得ることが可能となる。よって、作業者が加工プログラムを作成する際の作業量および作業時間を削減することができ、作業能率を向上させることができる。さらに、加工曲面の境界および加工曲面によって角部が形成される位置を工具が通過する際に生成される補間曲線がキャンセルされるため、加工結果の加工精度を向上させることができる。
 また、本実施の形態にかかるプログラム変換装置30によれば、各移動指令の指令位置を工具が通過する際の加工形状上の切削点を求め、切削点における加工形状の加工曲面の接線方向ベクトルを算出し、移動指令と一緒に算出した接線方向ベクトルを指令するように加工プログラムを変換する。そのため、加工プログラムに接線方向ベクトルが含まれていない場合でも自動的に接線方向ベクトルを含んだ加工プログラムを得ることが可能となる。よって、作業者が加工プログラムを作成する際の作業量および作業時間を削減することができ、作業能率を向上させることができる。さらに、加工曲面の境界および加工曲面によって角部が形成される位置を工具が通過する際に生成される補間曲線がキャンセルされるため、加工結果の加工精度を向上させることができる。
 図31は、本発明の各実施の形態にかかる数値制御装置およびプログラム変換装置のハードウェア構成を示す図である。図31に示したハードウェアは、演算処理を行うプロセッサ51と、プロセッサ51がワークエリアに用いるメモリ52と、数値制御装置またはプログラム変換装置として動作するためのプログラムを記憶する記憶装置53と、ユーザとの間の入力インタフェースである入力装置54と、ユーザに情報を表示する表示装置55と、被制御機器または他の数値制御装置、その他の各種装置との通信機能を有する通信装置56と、を備える。プロセッサ51、メモリ52、記憶装置53、入力装置54、表示装置55および通信装置56はデータバス50で接続されている。ここで、プロセッサ51は、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、CPU(Central Processing Unit)、またはDSP(Digital Signal Processor)などであってもよい。また、メモリ52は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、またはEEPROM(Electrically EPROM)などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはDVD(Digital Versatile Disc)などが該当する。
 各実施の形態で説明した数値制御装置およびプログラム変換装置は、プロセッサ51が、数値制御装置またはプログラム変換装置として動作するためのプログラムを記憶装置53から読み出して実行することにより実現することができる。
 以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 10,10a 数値制御装置、11 加工プログラム入力部、12 加工プログラム記憶部、13,13a 加工プログラム解析部、14,14a 曲線経路生成部、15 曲線経路補間部、16 モータ駆動部、21 工具データ入力部、22 工具データ記憶部、23 形状データ入力部、24 形状データ記憶部、25 形状特徴情報算出部、30 プログラム変換装置、31 加工プログラム変換部、32 変換後加工プログラム記憶部、33 変換後加工プログラム出力部、131 工具経路解析部、132 形状特徴情報解析部、251 切削点算出部、252 切削点記憶部、253 曲線経路区間算出部、254 曲線経路区間記憶部、255 接線方向ベクトル算出部、256 接線方向ベクトル記憶部。

Claims (14)

  1.  工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを入力する加工プログラム入力部と、
     前記移動指令、および前記移動指令により指令された指令位置を通過する工具経路の形状の特徴を表した形状特徴情報に基づいて曲線経路を生成する曲線経路生成部と、
     を備えることを特徴とする数値制御装置。
  2.  前記形状特徴情報が前記加工プログラムに記述され、
     前記加工プログラムを解析して前記指令位置および前記形状特徴情報を求める加工プログラム解析部、
     を備えることを特徴とする請求項1に記載の数値制御装置。
  3.  前記形状特徴情報は、前記曲線経路の生成を一旦中断することを指示する曲線キャンセル情報であり、
     前記曲線経路生成部は、前記曲線キャンセル情報と対応付けられている前記指令位置において曲線経路の生成を中断して当該指令位置を曲線経路の終点とするとともに、当該指令位置を始点とする新たな曲線経路の生成を開始する、
     ことを特徴とする請求項1または2に記載の数値制御装置。
  4.  前記形状特徴情報は、前記指令位置における接線方向ベクトルであり、
     前記曲線経路生成部は、前記接線方向ベクトルと対応付けられている指令位置における接線方向が、対応付けられている接線方向ベクトルの向きと一致するように曲線経路を生成する、
     ことを特徴とする請求項1または2に記載の数値制御装置。
  5.  前記接線方向ベクトルは、前記曲線経路の先頭の指令位置における接線方向ベクトルおよび前記曲線経路の末尾の指令位置における接線方向ベクトルであり、
     前記曲線経路生成部は、前記曲線経路の先頭の指令位置における接線方向が、対応付けられている接線方向ベクトルの向きと一致し、かつ前記曲線経路の末尾の指令位置における接線方向が対応付けられている接線方向ベクトルの向きと一致するように曲線経路を生成する、
     ことを特徴とする請求項4に記載の数値制御装置。
  6.  前記曲線経路生成部は、前記接線方向ベクトルが対応付けられていない指令位置がある場合、当該指令位置における接線方向ベクトルを、当該指令位置とともに曲線経路を構成する指令位置に基づいて算出する、
     ことを特徴とする請求項4または5に記載の数値制御装置。
  7.  前記曲線経路生成部は、曲線経路の先頭の指令位置に対応付けられた接線方向ベクトルが存在しておらず、かつ、当該曲線経路の直前の曲線経路の末尾の指令位置に対応付けられた接線方向ベクトルが存在する場合、当該直前の曲線経路の末尾の指令位置に対応付けられた接線方向ベクトルを、接線方向ベクトルが対応付けられていない前記先頭の指令位置における接線方向ベクトルとする、
     ことを特徴とする請求項4、5または6に記載の数値制御装置。
  8.  前記工具を定義する情報である工具データを入力する工具データ入力部と、
     前記加工対象物の加工形状モデルを定義する形状データを入力する形状データ入力部と、
     前記移動指令により指令された指令位置、前記工具データおよび前記形状データに基づいて、前記指令位置を通過する工具経路の形状の特徴を表した形状特徴情報を算出する形状特徴情報算出部と、
     を備えることを特徴とする請求項1に記載の数値制御装置。
  9.  工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを入力する加工プログラム入力部と、
     前記工具を定義する情報である工具データを入力する工具データ入力部と、
     前記加工対象物の加工形状モデルを定義する形状データを入力する形状データ入力部と、
     前記移動指令により指令された指令位置、前記工具データおよび前記形状データに基づいて、前記指令位置を通過する工具経路の形状の特徴を表した形状特徴情報を算出する形状特徴情報算出部と、
     前記指令位置および前記形状特徴情報に基づいて前記加工プログラムを変換する加工プログラム変換部と、
     を備えることを特徴とするプログラム変換装置。
  10.  前記形状特徴情報算出部は、前記指令位置の各々を工具が通過するときの加工形状上における切削点を前記指令位置ごとに算出し、算出した各切削点が加工形状の加工曲面の境界上に存在するか、および、1つの指令位置に対応する切削点が加工形状の複数の加工曲面上に存在するかを判断し、
     前記加工プログラム変換部は、前記切削点が加工形状の加工曲面の境界上に存在する場合、および、1つの指令位置に対応する切削点が複数の加工曲面上に存在すると判断された場合、当該切削点に対応する指令位置を指令する移動指令に対して、曲線経路の生成を一旦中断することを指示する曲線キャンセル情報を付加する、
     ことを特徴とする請求項9に記載のプログラム変換装置。
  11.  前記形状特徴情報算出部は、前記指令位置の各々を工具が通過するときの加工形状上における切削点を前記指令位置ごとに算出し、算出した各切削点が加工形状の曲率不連続な位置に存在するかを判断し、
     前記加工プログラム変換部は、前記切削点が加工形状の曲率不連続な位置に存在すると判断された場合、当該切削点に対応する指令位置を指令する移動指令に対して、曲線経路の生成を一旦中断することを指示する曲線キャンセル情報を付加する、
     ことを特徴とする請求項9または10に記載のプログラム変換装置。
  12.  前記形状特徴情報算出部は、前記指令位置の各々を工具が通過するときの加工形状上における切削点を前記指令位置ごとに算出し、算出した各切削点に対応する各指令位置における接線方向ベクトルを算出し、
     前記加工プログラム変換部は、各指令位置を指令する移動指令に対して、前記算出された接線方向ベクトルを付加する、
     ことを特徴とする請求項9から11のいずれか一つに記載のプログラム変換装置。
  13.  工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを受け取る加工プログラム取得ステップと、
     前記移動指令、および前記移動指令により指令された指令位置を通過する工具経路の形状の特徴を表した形状特徴情報に基づいて曲線経路を生成する曲線経路生成ステップと、
     前記曲線経路に対して補間処理を行って前記工具経路を生成する工具経路生成ステップと、
     を含むことを特徴とする数値制御方法。
  14.  工具に対する移動指令または加工対象物に対する移動指令が記述された加工プログラムを受け取る加工プログラム取得ステップと、
     前記工具を定義する情報である工具データを受け取る工具データ取得ステップと、
     前記加工対象物の加工形状モデルを定義する形状データを受け取る形状データ取得ステップと、
     前記移動指令により指令された指令位置、前記工具データおよび前記形状データに基づいて、前記指令位置を通過する工具経路の形状の特徴を表した形状特徴情報を算出する形状特徴情報算出ステップと、
     前記指令位置および前記形状特徴情報に基づいて前記加工プログラムを変換する加工プログラム変換ステップと、
     を含むことを特徴とするプログラム変換方法。
PCT/JP2016/088999 2016-12-27 2016-12-27 数値制御装置、プログラム変換装置、数値制御方法およびプログラム変換方法 WO2018122988A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE112016007478.6T DE112016007478B4 (de) 2016-12-27 2016-12-27 Numerische Steuervorrichtung, Programmkonvertierungsvorrichtung, numerisches Steuerungsverfahren und Programmkonvertierungsverfahren
CN201680091810.XA CN110100211B (zh) 2016-12-27 2016-12-27 数控装置、程序转换装置、数控方法及程序转换方法
JP2017538453A JP6289765B1 (ja) 2016-12-27 2016-12-27 数値制御装置、プログラム変換装置、数値制御方法およびプログラム変換方法
PCT/JP2016/088999 WO2018122988A1 (ja) 2016-12-27 2016-12-27 数値制御装置、プログラム変換装置、数値制御方法およびプログラム変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/088999 WO2018122988A1 (ja) 2016-12-27 2016-12-27 数値制御装置、プログラム変換装置、数値制御方法およびプログラム変換方法

Publications (1)

Publication Number Publication Date
WO2018122988A1 true WO2018122988A1 (ja) 2018-07-05

Family

ID=61557988

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/088999 WO2018122988A1 (ja) 2016-12-27 2016-12-27 数値制御装置、プログラム変換装置、数値制御方法およびプログラム変換方法

Country Status (4)

Country Link
JP (1) JP6289765B1 (ja)
CN (1) CN110100211B (ja)
DE (1) DE112016007478B4 (ja)
WO (1) WO2018122988A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112122666A (zh) * 2020-08-27 2020-12-25 北京北一机床股份有限公司 一种溜板导轨曲线加工方法
WO2021095170A1 (ja) * 2019-11-13 2021-05-20 三菱電機株式会社 加工プログラム変換装置、数値制御装置および加工プログラムの変換方法
CN113490894A (zh) * 2019-03-05 2021-10-08 三菱电机株式会社 加工程序变换装置、数控装置、加工程序变换方法及机器学习装置
JP6997360B1 (ja) * 2021-04-22 2022-01-17 ファナック株式会社 数値制御装置、加工システムシミュレータ及び数値制御プログラム
WO2022138843A1 (ja) * 2020-12-25 2022-06-30 ファナック株式会社 数値制御装置
WO2023073815A1 (ja) * 2021-10-26 2023-05-04 ファナック株式会社 工具経路修正装置及び工具経路修正方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116583794B (zh) * 2021-01-08 2024-04-05 三菱电机株式会社 加工程序修正装置、数控装置、加工程序修正方法及机器学习装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3882304A (en) * 1973-05-04 1975-05-06 Allen Bradley Co Parametric interpolation of three-dimensional surfaces
JP2003177809A (ja) * 2001-12-07 2003-06-27 Mori Seiki Co Ltd 3次元モデルデータ生成装置、及びこれを備えた自動プログラミング装置
JP2005011204A (ja) * 2003-06-20 2005-01-13 Toshiba Mach Co Ltd 数値制御装置及び数値制御方法
JP2011180787A (ja) * 2010-02-26 2011-09-15 Mitsubishi Heavy Ind Ltd 点列生成方法、点列生成プログラム、並びに点列生成装置及びこれを備えた工作機械
WO2012026279A1 (ja) * 2010-08-25 2012-03-01 三菱電機株式会社 軌跡制御装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0236406A (ja) 1988-07-26 1990-02-06 Toyoda Mach Works Ltd スプライン補間機能を有するnc装置
JPH02199509A (ja) * 1989-01-30 1990-08-07 Fanuc Ltd インボリュート補間速度制御方式
JPH06242816A (ja) * 1993-02-19 1994-09-02 Mitsubishi Electric Corp 倣い制御装置
JP3328150B2 (ja) * 1996-11-11 2002-09-24 株式会社牧野フライス製作所 工具経路データ生成方法
JPH10198412A (ja) * 1997-01-07 1998-07-31 Okuma Mach Works Ltd 数値制御データ作成装置
JP4102521B2 (ja) * 1999-07-26 2008-06-18 三菱電機株式会社 軌跡制御装置
JP4560191B2 (ja) 2000-09-20 2010-10-13 東芝機械株式会社 数値制御装置
JP4168060B2 (ja) * 2006-04-24 2008-10-22 ファナック株式会社 円錐状の加工面の加工を可能にした数値制御装置
JP5426153B2 (ja) * 2008-12-17 2014-02-26 ファナック株式会社 回転軸を有する工作機械用の数値制御装置
JP5326015B2 (ja) * 2012-02-20 2013-10-30 ファナック株式会社 加工曲線作成機能を有する数値制御装置
JP6845108B2 (ja) 2017-07-27 2021-03-17 京セラ株式会社 パワーコンディショナ及びパワーコンディショナの制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3882304A (en) * 1973-05-04 1975-05-06 Allen Bradley Co Parametric interpolation of three-dimensional surfaces
JP2003177809A (ja) * 2001-12-07 2003-06-27 Mori Seiki Co Ltd 3次元モデルデータ生成装置、及びこれを備えた自動プログラミング装置
JP2005011204A (ja) * 2003-06-20 2005-01-13 Toshiba Mach Co Ltd 数値制御装置及び数値制御方法
JP2011180787A (ja) * 2010-02-26 2011-09-15 Mitsubishi Heavy Ind Ltd 点列生成方法、点列生成プログラム、並びに点列生成装置及びこれを備えた工作機械
WO2012026279A1 (ja) * 2010-08-25 2012-03-01 三菱電機株式会社 軌跡制御装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113490894A (zh) * 2019-03-05 2021-10-08 三菱电机株式会社 加工程序变换装置、数控装置、加工程序变换方法及机器学习装置
WO2021095170A1 (ja) * 2019-11-13 2021-05-20 三菱電機株式会社 加工プログラム変換装置、数値制御装置および加工プログラムの変換方法
JPWO2021095170A1 (ja) * 2019-11-13 2021-05-20
JP7175403B2 (ja) 2019-11-13 2022-11-18 三菱電機株式会社 加工プログラム変換装置、数値制御装置および加工プログラムの変換方法
CN112122666A (zh) * 2020-08-27 2020-12-25 北京北一机床股份有限公司 一种溜板导轨曲线加工方法
WO2022138843A1 (ja) * 2020-12-25 2022-06-30 ファナック株式会社 数値制御装置
JP6997360B1 (ja) * 2021-04-22 2022-01-17 ファナック株式会社 数値制御装置、加工システムシミュレータ及び数値制御プログラム
WO2022224407A1 (ja) * 2021-04-22 2022-10-27 ファナック株式会社 数値制御装置、加工システムシミュレータ及び数値制御プログラム
WO2023073815A1 (ja) * 2021-10-26 2023-05-04 ファナック株式会社 工具経路修正装置及び工具経路修正方法

Also Published As

Publication number Publication date
DE112016007478T5 (de) 2019-08-08
JPWO2018122988A1 (ja) 2018-12-27
JP6289765B1 (ja) 2018-03-07
CN110100211B (zh) 2022-04-26
CN110100211A (zh) 2019-08-06
DE112016007478B4 (de) 2021-11-25

Similar Documents

Publication Publication Date Title
JP6289765B1 (ja) 数値制御装置、プログラム変換装置、数値制御方法およびプログラム変換方法
JP6157781B1 (ja) 工具経路修正装置および工具経路修正方法
JP6553508B2 (ja) Cncコントローラに組み込まれたcam機能を有するコンピュータ数値制御(cnc)システム及びcnc機械を修正する方法
US9846424B2 (en) Numerical control apparatus
EP2495628A1 (en) Tool path generation method and device
JP5615377B2 (ja) 工具経路の生成方法および生成装置
US10884390B2 (en) Optimized control of a metal-cutting machine tool
JP6316513B1 (ja) 加工プログラム分析装置
JP6242539B1 (ja) 数値制御装置
US20130006394A1 (en) Numerical control device and numerical control method
JP6068414B2 (ja) 曲率の小さな円弧・曲面の形状を指定可能な数値制御装置
JP6479275B1 (ja) 加工プログラム修正装置および加工プログラム修正方法
WO2020178978A1 (ja) 加工プログラム変換装置、数値制御装置および加工プログラム変換方法
WO2019082394A1 (ja) 数値制御装置
CN109507955B (zh) 一种基于数控系统的刀路偏置路径方法
JP4969484B2 (ja) 数値制御装置
JP2007200121A (ja) 工具経路作成方法および工具経路作成プログラム
JP6903255B1 (ja) 加工プログラム修正装置、数値制御装置、加工プログラム修正方法および機械学習装置
JP2018533127A (ja) 移動プロファイルを提供するための方法、制御装置、機械、およびコンピュータプログラム
CN109843504B (zh) 数控装置
JP6021690B2 (ja) 数値制御装置
CN116795044B (zh) 速度规划方法、装置、机床控制系统和存储介质
JP7428793B2 (ja) 加工経路作成装置
JP3562576B2 (ja) 数値制御装置の曲線補間方法
JP2011258138A (ja) 補正工具軌跡情報作成システム、補正工具軌跡情報作成方法、及び、補正工具軌跡情報作成プログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2017538453

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16925349

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16925349

Country of ref document: EP

Kind code of ref document: A1