WO2023238206A1 - プログラム作成装置 - Google Patents

プログラム作成装置 Download PDF

Info

Publication number
WO2023238206A1
WO2023238206A1 PCT/JP2022/022841 JP2022022841W WO2023238206A1 WO 2023238206 A1 WO2023238206 A1 WO 2023238206A1 JP 2022022841 W JP2022022841 W JP 2022022841W WO 2023238206 A1 WO2023238206 A1 WO 2023238206A1
Authority
WO
WIPO (PCT)
Prior art keywords
machining
processing
area
point
unit
Prior art date
Application number
PCT/JP2022/022841
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 PCT/JP2022/022841 priority Critical patent/WO2023238206A1/ja
Publication of WO2023238206A1 publication Critical patent/WO2023238206A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • 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

Definitions

  • the present invention relates to a program creation device.
  • machining program is created.
  • T10 indicates the tool number
  • M6 indicates the tool change command
  • G1040 indicates the machining information for pocket rough machining
  • G1201 indicates the machining information for straight line machining. Shows information about the area.
  • One aspect of the program creation device of the present disclosure is a program creation device that automatically generates a machining program by setting machining information and specifying and setting a contour from shape data, wherein the program creation device automatically generates a machining program by specifying and setting a contour from shape data.
  • a machining point designation part that specifies a machining point inside the area or on the contour, and a minimum closed machining area that includes the machining point specified based on the shape data, and a machining area specifying unit that identifies a machining area by excluding closed machining areas that do not include the machining points; and a contour element extracting unit that extracts at least linear or circular arc elements constituting the identified machining area.
  • the elements constituting the processing area can be easily and quickly selected.
  • FIG. 1 is a functional block diagram of a program creation device for a numerical control device according to a first embodiment.
  • FIG. 6 is a diagram illustrating an example of specifying a processing point inside or on the contour of a region to be processed.
  • FIG. 6 is a diagram illustrating an example of specifying a processing point inside or on the contour of a region to be processed.
  • FIG. 3 is a diagram illustrating an example of element extraction processing. It is a figure which shows an example of the closed processing area in shape data. It is a figure which shows an example of the closed processing area in shape data.
  • FIG. 7 is a diagram illustrating an input example of a starting point for extracting elements and an instruction to change the direction.
  • FIG. 7 is a flowchart illustrating detailed processing contents of the machining area specifying process shown in step S3 in FIG. 6.
  • FIG. 8 is a flowchart illustrating detailed processing contents of the element extraction processing shown in step S31 in FIG. 7.
  • FIG. 8 is a flowchart illustrating detailed processing contents of the closed machining area specifying process shown in step S33 in FIG. 7.
  • FIG. It is a figure which shows an example of explanation of a closed machining area identification process.
  • 8 is a flowchart illustrating detailed processing contents of the machining point determination process shown in step S35 in FIG. 7.
  • FIG. FIG. 3 is a diagram showing an example of a closed machining area.
  • FIG. 3 is a diagram showing an example of an inside/outside determination table. It is a figure which shows an example of the relationship between the processing point and closed processing area in each pattern.
  • 12 is a flowchart illustrating detailed processing contents of the polygon inside/outside determination process shown in step S353 in FIG. 11.
  • FIG. 7 is a diagram illustrating an example of the relationship between angles between vectors when a processing point is inside a polygon.
  • FIG. 7 is a diagram illustrating an example of the relationship between angles between vectors when a processing point is located outside a polygon.
  • 12 is a flowchart illustrating detailed processing contents of the arc inside/outside determination process shown in step S354 in FIG. 11. It is a figure which shows an example of the relationship between a circular arc and a processing point.
  • FIG. 2 is a functional block diagram of a program creation device for a numerical control device according to a second embodiment.
  • FIG. 3 is a diagram showing an example of a combination of processing areas.
  • FIG. 6 is a diagram illustrating an example of a case where the processing area is different for each process. It is a flowchart explaining processing program creation processing of a program creation device for numerical control devices. 22 is a flowchart illustrating detailed processing contents of the processing area combination processing shown in step S43 in FIG. 21.
  • FIG. FIG. 7 is a diagram illustrating an example of selecting elements of a processing area from shape data. It is a figure which shows an example of the element of the selected process area. It is a figure which shows an example of input of processing information.
  • each embodiment specifies a machining point inside or on the contour of a region to be machined in the shape data, identifies a minimum closed machining region that includes the designated machining point based on the shape data,
  • a common configuration is that a machining area is specified by excluding closed machining areas that do not include machining points in the closed machining areas.
  • at least straight line or circular arc elements constituting the specified processing area are extracted.
  • a machining point is specified inside or on the contour of one or more adjacent regions together with the region to be machined, and if there is the same element common between adjacent machining regions,
  • This embodiment differs from the first embodiment in that processing areas are combined and specified as one processing area.
  • the first embodiment will be described in detail, and then, in the second embodiment, particularly the parts that are different from the first embodiment will be described.
  • FIG. 1 is a functional block diagram of a program creation device for a numerical control device according to a first embodiment.
  • a program creation device 1 for a numerical control device serving as a program creation device is a computer, a tablet terminal, or the like, and includes a control section 10, a storage section 20, an input section 30, and a display section 40.
  • the control unit 10 also includes a machining point designation unit 101, a machining area identification unit 102, a contour element extraction unit 103, a contour element setting unit 104, a machining information setting unit 105, and a program creation unit 106.
  • the numerical control device program creation device 1 may be connected to a numerical control device (not shown) via a network (not shown) such as a LAN (Local Area Network) or the Internet.
  • the program creation device 1 for a numerical control device includes a communication unit (not shown) for transmitting a machining program created by such a connection to a numerical control device (not shown).
  • the numerical control device program creation device 1 may be directly connected to a numerical control device (not shown) via a connection interface (not shown) by wire or wirelessly.
  • the storage unit 20 is an SSD (Solid State Drive), an HDD (Hard Disk Drive), or the like.
  • the storage unit 20 stores shape data 201 along with an operating system, application programs, etc. executed by the control unit 10 .
  • the shape data 201 is CAD data or the like that indicates the shape of a workpiece generated by performing a machining operation on a machine tool (not shown).
  • the input unit 30 is an input unit such as a keyboard, a mouse, a touch panel, etc., and accepts input operations from the user.
  • the display unit 40 is a liquid crystal display or the like as a display unit, and displays the shape data 201.
  • the display unit 40 also displays the selected machining area of the shape data 201, displays a screen for setting machining information such as finishing allowance and feed rate for the selected machining area, and displays the machining information.
  • a machining program created based on the information may be displayed.
  • the control unit 10 includes a CPU, ROM, RAM, CMOS memory, etc., which are configured to be able to communicate with each other via a bus, which are well known to those skilled in the art.
  • the CPU is a processor that controls the program creation device 1 for a numerical control device as a whole.
  • the CPU reads the system program and application program stored in the ROM via the bus, and controls the entire numerical control device program creation device 1 according to the system program and application program. As a result, as shown in FIG.
  • the control section 10 includes a machining point specifying section 101, a machining area specifying section 102, a contour element extracting section 103, a contour element setting section 104, a machining information setting section 105, and a program creating section 106. It is configured to realize the functions of Various data such as temporary calculation data and display data are stored in the RAM.
  • the CMOS memory is backed up by a battery (not shown) and is configured as a nonvolatile memory that maintains its storage state even when the power of the program creation device 1 for numerical control device is turned off.
  • the machining point designation unit 101 creates a machining program from the shape data 201 displayed on the display unit 40 based on the user's input operation via the input unit 30. Specify a processing point P inside or on the contour of the area to be processed.
  • the machining area specifying unit 102 identifies the minimum closed machining area that includes the specified machining point P based on the shape data 201, and selects a closed machining area that does not include the machining point P in the specified closed machining area. By excluding, the processing area is specified. Specifically, as shown in FIG. 3, the machining region specifying unit 102 executes element extraction processing in the region to be machined shown in FIG. A straight line L is calculated, and elements such as straight lines, arcs, and circles that intersect with the half-line L are extracted. The machining area specifying unit 102 calculates the distance from the specified machining point P to each extracted element, and sorts the extracted elements as elements Ei in descending order of the calculated distance (i is 1 to 2).
  • the machining area specifying unit 102 executes a closed machining area specifying process that specifies a closed machining area Ti that includes one element Ei among the sorted elements. Note that the closed machining area specifying process will be described later.
  • the shape data 201 shown in FIG. 2A includes two closed machining regions T1 and T2. Further, as shown in FIG. 4B, the shape data 201 shown in FIG. 2B includes closed processing regions T1 to T7.
  • the machining area specifying unit 102 executes machining point determination processing to determine whether or not the specified machining point P exists in the specified closed machining area Ti, and machining the closed machining area Ti where the machining point P is located. Specify as an area. On the other hand, the machining area specifying unit 102 excludes the closed machining area Ti where there is no machining point P from the machining area, increases i by 1, and specifies the closed machining area Ti that includes the next element Ei. Note that the machining point determination process will be described later.
  • the contour element extracting unit 103 extracts at least linear or circular arc elements constituting the machining area (closed machining area Ti) specified by the machining area specifying unit 102. Specifically, for example, in the closed machining region T2 of FIG. 4A, the contour element extraction unit 103 sets the element E3 closest to the machining point P shown in FIG. Extract elements in the order of element extraction. That is, when the element extraction order is clockwise, the outline element extraction unit 103 extracts the element E3, the element E5, the element E4, the element E7, the element E6, and the element E2 in this order.
  • the contour element extraction unit 103 extracts the element E3, the element E2, the element E6, the element E7, the element E4, and the element E5 in this order.
  • the contour element extraction unit 103 displays the starting point and direction for extracting elements on the display unit 40 with dots and arrows, as well as the closed machining region T2 of FIG. 4A. Good too.
  • the element extraction order may be changed clockwise so that element E7, element E6, element E2, element E3, element E5, and element E4 are extracted in this order.
  • the contour element setting section 104 sets the starting point, end point, radius, etc. of each element extracted by the contour element extraction section 103 as contour element information.
  • the contour element setting unit 104 outputs setting information for each element to a program creation unit 106, which will be described later.
  • the machining information setting unit 105 displays a setting screen on the display unit 40 for each element extracted by the contour element extraction unit 103, and determines the machining of each element based on the user's input operation via the input unit 30. Set processing information such as finishing allowance and feed speed.
  • the processing information setting unit 105 outputs processing information for each element to the program creation unit 106, which will be described later.
  • the program creation unit 106 creates a machining program for the closed machining area Ti based on the setting information of each element set by the contour element setting unit 104 and the machining information set by the machining information setting unit 105.
  • FIG. 6 is a flowchart illustrating the machining program creation process of the program creation device 1 for numerical control devices. The flow shown here is repeatedly executed every time the user selects the shape data 201.
  • step S1 the input unit 30 receives a selection of shape data 201 from the user, and the display unit 40 displays the selected shape data 201.
  • step S2 the machining point specifying unit 101 determines, based on the user's input operation via the input unit 30, the inside of the area to be machined for which the machining program is to be created, or Specify the processing point P on the contour.
  • step S3 the machining area specifying unit 102 identifies the minimum closed machining area that includes the machining point P specified in step S2, and excludes closed machining areas that do not include the machining point P in the closed machining area. Execute the machining area specifying process to specify the machining area. Note that the detailed flow of the processing area specifying process will be described later.
  • step S4 the contour element extraction unit 103 extracts straight line or arc elements that constitute the processing area specified in step S3.
  • step S5 the contour element setting unit 104 sets the starting point, end point, radius, etc. of each element extracted in step S4 as contour element information.
  • step S6 the machining information setting unit 105 displays the setting screen for each element extracted in step S3 on the display unit 40, and determines the finish for machining each element based on the user's input operation via the input unit 30.
  • Set machining information such as offset and feed rate.
  • step S7 the program creation unit 106 creates a machining program for the machining area specified in step S3, based on the setting information of each element set in step S5 and the machining information set in step S6.
  • step S8 the machining point designation unit 101 determines whether the machining point P of the next region to be machined has been designated based on the user's input operation via the input unit 30. If the processing point P of the next region to be processed is specified, the process proceeds to step S3. On the other hand, if the machining point P of the next region to be machined is not designated, the numerical control device program creation device 1 ends the program creation process.
  • FIG. 7 is a flowchart illustrating detailed processing contents of the machining area specifying process shown in step S3 in FIG.
  • step S32 the processing area specifying unit 102 initializes the variable i to "1".
  • step S33 the machining area specifying unit 102 executes a closed machining area specifying process and specifies a closed machining area Ti that includes the elements Ei sorted in step S31. Note that the closed machining area specifying process will be described later.
  • step S34 the machining area specifying unit 102 determines whether there is a closed machining area Ti specified in the identification result of step S33. If there is a specified closed machining area Ti, the process proceeds to step S35. On the other hand, if there is no identified closed machining area Ti, the process proceeds to step S39.
  • step S35 the machining area specifying unit 102 executes a machining point determination process to determine whether the specified machining point P exists inside the closed machining area Ti identified in step S33. Note that the machining point determination process will be described later.
  • step S36 the machining area specifying unit 102 determines whether the machining point P specified in the determination result of step S35 is inside the closed machining area Ti. If the designated machining point P is inside the closed machining area Ti, the process proceeds to step S37. On the other hand, if the specified machining point P is outside the closed machining area Ti, the process proceeds to step S38.
  • step S37 the machining area specifying unit 102 specifies the closed machining area Ti where the machining point P is located as the machining area.
  • the machining area specifying unit 102 ends the machining area specifying process, and the process proceeds to step S4.
  • step S38 the machining area specifying unit 102 excludes the closed machining area Ti where there is no machining point P from the machining area.
  • step S39 the processing area specifying unit 102 increases the variable i by one.
  • step S40 the processing area specifying unit 102 determines whether the variable i is less than or equal to the number of elements q in the set ⁇ element Ei ⁇ . If the variable i is less than or equal to the number of elements q, the process advances to step S33. On the other hand, if the variable i is larger than the number of elements q, the process proceeds to step S4.
  • FIG. 8 is a flowchart illustrating detailed processing contents of the element extraction process shown in step S31 in FIG.
  • step S311 the machining area specifying unit 102 calculates the coordinates of the machining point P specified in step S2.
  • step S315 the processing area specifying unit 102 sorts the extracted elements as elements Ei in descending order of the distance calculated in step S314. The process advances to step S32.
  • FIG. 9 is a flowchart illustrating detailed processing contents of the closed machining area specifying process shown in step S33 in FIG.
  • step S331 the machining area specifying unit 102 determines Ei as an element included in the closed machining area Ti and uses it as a determining element.
  • step S332 the machining area specifying unit 102 sets the element Ei as the element M of the closed machining area Ti to be searched. Specifically, as shown in FIG. 10, the processing area specifying unit 102 sets, for example, the element Ei indicated by the bold line in the shape data 201 in FIG. 2B as a search target for searching for the next element connected to the element Ei. Let the element M be
  • step S333 the processing area specifying unit 102 searches for an element Ek adjacent to the element M in the shape data 201 (k is a positive integer, and element Ek ⁇ shape data 201 ⁇ ).
  • step S334 the processing area specifying unit 102 determines whether there is an adjacent element Ek. If there is an adjacent element Ek, the process advances to step S335. On the other hand, if there is no adjacent element Ek, the process proceeds to step S33C.
  • step S335 the processing area specifying unit 102 determines whether there is one adjacent element Ek. If there is one adjacent element Ek, the process advances to step S336. On the other hand, if there are two or more adjacent elements Ek, the process proceeds to step S33A.
  • step S336 the machining area specifying unit 102 determines the adjacent element Ek as an element included in the closed machining area Ti, and sets it as a determined element.
  • step S337 the processing area specifying unit 102 determines whether the determining element determined in step S336 is the element Ei, which is the element M set in step S332. If the determining element is element Ei, the process advances to step S339. On the other hand, if the determining element is not element Ei, the process advances to step S338.
  • step S3308 the processing area specifying unit 102 sets the determining element, that is, the adjacent element Ek, as the element M. The process returns to step S333.
  • step S339 the machining area specifying unit 102 specifies the closed machining area Ti.
  • the machining area specifying unit 102 ends the machining area specifying process, and the process proceeds to step S34.
  • step S33A if there are a plurality of adjacent elements Ek and at least one element Ek is a circular arc, the processing area specifying unit 102 calculates a tangent L' passing through a point (branch point) adjacent to the element M. Specifically, as shown in FIG. 10, when two elements B1 and B2 as element Ek are connected to element M (element Ei) at point (branch point) A, and element B1 is an arc, processing area identification The unit 102 calculates a tangent L' that passes through the point (branch point) A and touches the arc of the element B1. By doing so, the processing area specifying unit 102 can calculate the angle formed by the element M and the element B1 at the point (branch point) A.
  • step S33B the processing area specifying unit 102 determines the element with the maximum angle with the element M in the counterclockwise direction as the element Ek. For example, in the case of FIG. 10, since the angle between element M and element B1 in the counterclockwise direction is larger than the angle between element M and element B2, the processing area specifying unit 102 determines element B1 as element Ek. .
  • step S33C the processing area specifying unit 102 determines that there is no closed processing area in the area to be processed, and the process proceeds to step S34.
  • FIG. 11 is a flowchart illustrating detailed processing contents of the machining point determination processing shown in step S35 in FIG.
  • step S351 the machining area specifying unit 102 determines whether the closed machining area Ti specified in step S33 is a circle. If the identified closed machining area Ti is a circle, the process proceeds to step S356. On the other hand, if the identified closed machining area Ti is not a circle, the process proceeds to step S352.
  • the machining area specifying unit 102 connects the start point and the end point of each arc element Ek of the elements Ek (k is an integer of 1 or more) included in the closed machining area Ti with a straight line, and defines the closed machining area Ti. Make it polygonal. Specifically, the machining area specifying unit 102 creates a polygon by connecting the starting point and the ending point of each arc element with a straight line indicated by a broken line in the closed machining area Ti shown in FIG. Note that the polygon in the case of FIG. 12 has 12 vertices TP(1) to TP(12). Further, TP(1) and TP(12) are the same vertex.
  • step S353 the machining area specifying unit 102 uses, for example, the well-known Winding Number Algorithm to perform polygon inside/outside determination processing on the polygon created in step S352, and determines whether the machining point P is inside the polygon or not. Determine whether it is outside. Note that the detailed flow of the polygon inside/outside determination process will be described later.
  • step S354 the machining area specifying unit 102 executes arc inside/outside determination processing to determine whether the machining point is inside or outside the arc element. Note that the detailed flow of the arc inside/outside determination process will be described later.
  • step S355 the machining area specifying unit 102 determines whether the machining point P is inside or outside the closed machining area Ti based on the determination result of step S353 and the determination result of step S354. Specifically, the machining area specifying unit 102 uses the inside/outside determination table shown in FIG. If the machining point P is inside the arc, or if the machining point P is pattern 1, or the determination result of the polygon inside/outside determination process indicates that the machining point P is outside the polygon, and the determination result of the arc inside/outside determination process indicates that the machining point P is a circular arc. If the machining point P outside is pattern 4, it is determined that the machining point P is outside the closed machining area Ti.
  • the machining area specifying unit 102 determines that the machining point P is inside the polygon in the determination result of the polygon inside/outside determination process, and that the machining point P is outside the arc in the determination result of the arc inside/outside determination process.
  • the processing point P is outside the polygon in the judgment result of polygon inside/outside judgment processing, and the processing point P is inside the arc in the judgment result of circular arc inside/outside judgment processing is pattern 3, the processing point It is determined that P is inside the closed processing area Ti.
  • FIG. 13B is a diagram showing an example of the relationship between the processing point P and the closed processing area Ti in each of the patterns 1 to 4.
  • step S356 the machining area specifying unit 102 calculates the distance D from the center of the circular closed machining area Ti to the machining point.
  • step S357 the machining area specifying unit 102 determines whether the distance D calculated in step S356 is smaller than the radius R of the circular closed machining area Ti. If the calculated distance D is smaller than the radius R, the process advances to step S358. On the other hand, if the calculated distance D is greater than or equal to the radius R, the process advances to step S359.
  • step S358 the machining area specifying unit 102 determines that the machining point P is inside the closed machining area Ti. The process then proceeds to step S36.
  • step S359 the machining area specifying unit 102 determines that the machining point P is outside the closed machining area Ti. The process then proceeds to step S36.
  • FIG. 14 is a flowchart illustrating detailed processing contents of the polygon inside/outside determination process shown in step S353 in FIG. 11.
  • step S3531 the processing area specifying unit 102 initializes the variable A to "0" and the variable s to "1".
  • step S3532 as shown in FIG. 15A, the processing area specifying unit 102 moves from the processing point P to the vertex TP(s) of the polygon shown in FIG.
  • the angle as formed by the adjacent vectors PTP(s) and PTP(s+1) among the directed vectors is calculated (s is 1 to (m-1), m is the number of vertices of the polygon). Note that when the vector PTP(s+1) is adjacent to the vector PTP(s) in the counterclockwise direction, the processing area specifying unit 102 calculates the angle as to be a positive value, and the vector PTP(s+1) is adjacent to the vector PTP(s). ), the angle as formed is calculated as a negative value.
  • step S3534 the processing area specifying unit 102 determines whether the value of the variable s is smaller than the number m of vertices of the polygon. If the value of the variable s is smaller than the number m of vertices of the polygon, the process returns to step S3532. On the other hand, if the value of the variable s is greater than or equal to the number m of vertices of the polygon, the process advances to step S3535.
  • step S3535 the processing area specifying unit 102 determines whether the variable A (the sum of the angle as formed by the vector PTP(s) and the vector PTP(s+1)) is "0". If variable A is "0", the process advances to step S3537. On the other hand, if variable A is not "0", the process advances to step S3536.
  • step S3536 the processing area specifying unit 102 determines that the processing point P is inside the polygon because the variable A is not "0", as shown in FIG. 15A.
  • step S3537 the processing area specifying unit 102 determines that the processing point P is outside the polygon because the variable A is "0", as shown in FIG. 15B.
  • FIG. 16 is a flowchart illustrating detailed processing contents of the arc inside/outside determination process shown in step S354 in FIG. 11.
  • step S3541 the processing area specifying unit 102 initializes the variable k to "1".
  • step S3542 when the element Ek of the closed machining area Ti is a circular arc, the machining area specifying unit 102 calculates the distance between the center and the machining point P, and determines whether the calculated distance is less than or equal to the radius of the circular arc. . If the calculated distance is less than or equal to the radius of the arc, the process advances to step S3546. On the other hand, if the calculated distance is larger than the radius of the arc, the process advances to step S3543.
  • step S3543 the processing area specifying unit 102 increases the variable k by one.
  • step S3544 the machining area specifying unit 102 determines whether the variable k is smaller than the number n of elements included in the closed machining area Ti. If the variable k is smaller than the number of elements n, the process advances to step S3542. On the other hand, if the variable k is greater than or equal to the number of elements n, the process advances to step S3545.
  • step S3545 the machining area specifying unit 102 determines that the machining point P is outside the arc of the element Ek. The process then proceeds to step S355.
  • step S3546 the processing area specifying unit 102 calculates a line segment SE connecting the starting point S and the ending point E of the arc of the element Ek, as shown in FIG.
  • step S3547 the machining area specifying unit 102 calculates a line segment CP connecting the center C of the arc of the element Ek and the machining point P, as shown in FIG.
  • the position of the processing point P when the line segment SE and the line segment CP intersect is shown with a white circle
  • the position of the processing point P when the line segment SE and the line segment CP do not intersect is shown with a white circle. is indicated by a shaded circle.
  • step S3548 the processing area specifying unit 102 determines whether the central angle of the arc of the element Ek is 180 degrees or less. If the central angle of the arc of element Ek is 180 degrees or less, the process advances to step S354B. On the other hand, if the central angle of the arc of element Ek is greater than 180 degrees, the process advances to step S3549.
  • step S3549 the processing area specifying unit 102 determines whether the line segment SE and the line segment CP intersect. If line segment SE and line segment CP intersect, the process advances to step S3545. On the other hand, if the line segment SE and the line segment CP do not intersect, the process advances to step S354A.
  • step S354A the machining area specifying unit 102 determines that the machining point P is inside the arc of the element Ek. The process advances to step S355.
  • step S354B the processing area specifying unit 102 determines whether the line segment SE and the line segment CP intersect. If line segment SE and line segment CP intersect, the process advances to step S354A. On the other hand, if line segment SE and line segment CP do not intersect, the process advances to step S3545.
  • the program creation device 1 for a numerical control device configures a closed machining area Ti including the machining point P by specifying one machining point P in the shape data 201 by the user. Elements Ek such as straight lines and circular arcs are automatically extracted. Thereby, the program creation device 1 for a numerical control device can easily and quickly select the elements constituting the machining area, and can reduce the effort and time required to create a machining program.
  • the first embodiment has been described above.
  • FIG. 18 is a functional block diagram of a program creation device for a numerical control device according to the second embodiment. Note that elements having the same functions as those of the program creation device 1 for a numerical control device shown in FIG. 1 are denoted by the same reference numerals, and detailed description thereof will be omitted.
  • the numerical control device program creation device 1A is a computer, a tablet terminal, or the like, and includes a control section 10a, a storage section 20, an input section 30, and a display section 40.
  • the control unit 10a also includes a machining point specifying unit 101a, a machining area specifying unit 102a, a contour element extraction unit 103, a contour element setting unit 104, a machining information setting unit 105, and a program creation unit 106.
  • the storage unit 20 stores shape data 201.
  • the storage section 20, input section 30, and display section 40 have the same functions as the storage section 20, input section 30, and display section 40 in the first embodiment.
  • the shape data 201 is the same data as the shape data 201 in the first embodiment.
  • the control unit 10a includes a CPU, ROM, RAM, CMOS memory, etc., which are configured to be able to communicate with each other via a bus, which is well known to those skilled in the art.
  • the CPU is a processor that controls the entire numerical control device program creation device 1A.
  • the CPU reads the system program and application program stored in the ROM via the bus, and controls the entire numerical control device program creation device 1A according to the system program and application program. As a result, as shown in FIG.
  • the control section 10a includes a machining point specifying section 101a, a machining area specifying section 102a, a contour element extracting section 103, a contour element setting section 104, a machining information setting section 105, and a program creating section 106. It is configured to realize the functions of The contour element extraction unit 103, the contour element setting unit 104, the machining information setting unit 105, and the program creation unit 106 are the same as the contour element extraction unit 103, the contour element setting unit 104, the machining information setting unit 105, and the program in the first embodiment. It has the same function as the creation unit 106.
  • the machining point designation unit 101a creates a machining program from the shape data 201 displayed on the display unit 40 based on the user's input operation via the input unit 30. Specify the processing point inside or on the contour of the area to be processed. The machining point specifying unit 101a also specifies machining points inside or on the contour of one or more regions adjacent to the region to be machined.
  • the machining area specifying unit 102a identifies and specifies the minimum closed machining area that includes the specified machining point in the area to be machined based on the shape data 201.
  • the machining area is specified by excluding closed machining areas that do not include machining points within the closed machining area.
  • the machining area specifying unit 102a identifies the minimum closed machining area that includes the specified machining points in each area adjacent to the area to be machined, and does not include the machining points in the specified closed machining area.
  • the machining area is identified by excluding the closed machining area.
  • the machining area specifying unit 102a determines whether the area to be processed is adjacent to the machining area of the area to be processed.
  • the processing area of the area to be processed is combined with the processing area and specified as one processing area.
  • FIG. 19 is a diagram showing an example of combining processing areas.
  • the machining area specifying unit 102a A closed machining area having elements F1 to F4 included in the closed machining area of the area is specified as a machining area.
  • the machining area specifying unit 102a determines the machining points in the area adjacent to the area to be machined on the right side of the shape data 201.
  • a closed machining area having elements G1 to G4 included in the closed machining area of the adjacent area is specified as a machining area.
  • the processing area specifying unit 102a searches for the same common elements among the processing area elements F1 to F4 of the area to be processed and the processing area elements G1 to G4 of the adjacent area.
  • the processing area specifying unit 102a since the processing area element F1 of the processing target area and the processing area element G3 of the adjacent area are the same common element, the processing area specifying unit 102a, as shown in the lower part of FIG. 19, Element F1 and element G3 are deleted, and elements G1, G2, F2, F3, F4, and G4 are specified as one processing area.
  • FIG. 20 is a diagram illustrating an example of a case where the processing area is different for each process.
  • the first row of FIG. 20 shows the completed work W and shape data 201 after processing.
  • the second row of FIG. 20 shows, from the left, the workpiece W before processing, the processing area to be cut in step 1, and the designation of processing points on the shape data 201 by the user for step 1.
  • the third row of FIG. 20 shows, from the left, the machining area to be cut in step 2 and the designation of the machining point on the shape data 201 by the user for step 2.
  • the fourth row in FIG. 20 shows the machining area to be cut in step 3 and designation of the machining point on the shape data 201 by the user for step 3. As shown in the first stage of FIG.
  • the workpiece W after processing has a two-step staircase shape, and the end of the first step is cut diagonally. Therefore, the shape data 201 has three regions.
  • the machining point specifying unit 101a specifies machining points sequentially from the left (or right or center) area in the shape data 201 based on the user's input operation via the input unit 30.
  • the machining area specifying unit 102 specifies a machining area that is combined into one machining area indicated by a bold line from the three designated machining points.
  • the processing point designation unit 101a is configured based on the user's input operation via the input unit 30. Then, machining points in the center and right side areas are specified in the shape data 201.
  • the machining area specifying unit 102 specifies a combined machining area indicated by a thick line based on the two designated machining points. Finally, as shown in the fourth row of FIG. Based on this, a machining point in the right region in the shape data 201 is specified.
  • the machining area specifying unit 102 specifies a machining area indicated by a thick line based on one specified machining point.
  • FIG. 21 is a flowchart illustrating the machining program creation process of the numerical control device program creation device 1A. The flow shown here is repeatedly executed every time the user selects the shape data 201. Note that the processing from step S1 to step S4 and from step S5 to step S8 is the same as the processing from step S1 to step S4 and from step S5 to step S8 in FIG. 6, and the explanation thereof will be omitted.
  • step S41 the machining area specifying unit 102a determines whether two or more machining points were specified in step S2. If multiple machining points are specified, the process advances to step S42. On the other hand, if multiple machining points are not specified, the process proceeds to step S5.
  • step S42 the machining area specifying unit 102a determines whether there is a next machining point. If there is a next machining point, the process advances to step S3. On the other hand, if there is no next machining point, the process advances to step S43.
  • step S43 the machining area specifying unit 102a executes machining area merging processing, and combines machining areas that have the same common elements among the machining areas including each of the machining points identified in step S3. Note that the detailed flow of the processing area combination processing will be described later.
  • FIG. 22 is a flowchart illustrating detailed processing contents of the machining area combination processing shown in step S43 in FIG. 21.
  • step S431 the machining area specifying unit 102a searches for the same common element among elements between adjacent machining areas.
  • step S432 if there are any common elements, the processing area specifying unit 102a deletes the common elements and combines them into one processing area.
  • step S433 the machining area specifying unit 102a determines whether all machining areas have been searched. If all machining areas have been searched, the process advances to step S5. On the other hand, if all processing areas have not been searched, the process returns to step S431.
  • the numerical control device program creation device 1A configures a machining area of a closed machining area including each machining point by designating two or more machining points by the user in the shape data 201. Automatically extract elements such as straight lines and arcs.
  • the program creation device 1A for a numerical control device combines adjacent machining regions into one machining region when there is a common element between adjacent machining regions. Thereby, the program creation device 1A for a numerical control device can easily and quickly select the elements constituting the machining area, and can reduce the effort and time required to create a machining program.
  • the second embodiment has been described above.
  • program creation devices 1 and 1A for numerical control devices are not limited to the above-mentioned embodiments, and may be modified within the range that can achieve the purpose. Including improvements etc.
  • the numerical control device program creation devices 1 and 1A are different from the numerical control device (not shown), but the present invention is not limited thereto.
  • the numerical control device program creation devices 1 and 1A may be installed inside a numerical control device (not shown) and may be integrated with the numerical control device (not shown).
  • each function included in the numerical control device program creation devices 1 and 1A in the first embodiment and the second embodiment can be realized by hardware, software, or a combination thereof.
  • being realized by software means being realized by a computer reading and executing a program.
  • Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media are magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-ROMs, R, CD-R/W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM).
  • the program may also be provided to the computer on various types of transitory computer readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves.
  • the temporary computer-readable medium can provide the program to the computer via wired communication channels such as electrical wires and optical fibers, or via wireless communication channels.
  • the step of writing a program to be recorded on a recording medium includes not only processes that are performed in chronological order, but also processes that are not necessarily performed in chronological order but are executed in parallel or individually. It also includes.
  • program creation device of the present disclosure can take various embodiments having the following configurations.
  • a program creation device 1 for a numerical control device is a program creation device that automatically generates a machining program by setting machining information and specifying and setting a contour from shape data 201.
  • a machining point specifying unit 101 that specifies a machining point P inside or on the contour of the region to be machined in the data 201, and a minimum closed machining area Ti that includes the specified machining point based on the shape data
  • a machining area specifying unit 102 that specifies a machining area by excluding a closed machining area that does not include a machining point P in the closed machining area Ti, and extracting at least linear or circular arc elements constituting the specified machining area.
  • a contour element extraction unit 103 is provided. According to this program creation device 1 for a numerical control device, elements constituting a machining area can be selected easily and quickly.
  • the contour element extraction unit 103 selects the element in the machining area closest to the machining point P specified by the machining point designation unit 101 as the first element. All the elements that are the contours forming the processing area may be extracted in clockwise or counterclockwise element extraction order.
  • the outline element extraction unit 103 may switch the element extraction order to clockwise or counterclockwise based on an instruction from the user.
  • the contour element extraction unit 103 determines the starting point and rotation direction from which element extraction is started in the program creation device for a numerical control device. Elements may be extracted based on the starting point and/or rotation direction that is displayed on the display unit 40 included in the display unit 1 and changed based on an instruction from the user.
  • the machining point designation unit 101a specifies a machining point inside or on the contour of each of one or more regions adjacent to the region to be machined. It's okay.
  • the machining area specifying unit 102a identifies the area to be machined and the adjacent area when there is a common element between the area to be machined and an adjacent area. Adjacent areas may be combined and specified as one processing area.

Landscapes

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

Abstract

加工領域を構成する要素を簡単かつ迅速に選択できること。 プログラム作成装置は、加工情報を設定するとともに、形状データから輪郭を指定し設定することで、加工プログラムを自動生成するプログラム作成装置であって、前記形状データにおいて加工対象の領域の内側又は前記輪郭上の加工点を指定する加工点指定部と、前記形状データに基づいて指定された前記加工点が含まれる最小となる閉加工領域を特定し、前記閉加工領域の中の前記加工点を含まない閉加工領域を除外することで、加工領域を特定する加工領域特定部と、特定された前記加工領域を構成する少なくとも直線又は円弧の要素を抽出する輪郭要素抽出部と、を備える。

Description

プログラム作成装置
 本発明は、プログラム作成装置に関する。
 ディスプレイに表示された形状データから、加工領域を構成する直線、円弧等の要素をキーボードやタッチパネル等の入力装置を介してユーザにより順次指定され、指定された要素に対する仕上代や送り速度等の加工情報を入力することにより加工プログラムを作成する技術が知られている。例えば、特許文献1参照。
 図23から図25は、要素を順次指定して加工情報を入力することにより加工プログラムを作成する手順の一例を示す図である。
 図24に示すように、図23のディスプレイに表示された形状データ(例えば、CADデータ等)のうち、ユーザは網掛けで示す加工領域を構成する要素1~要素6を指定する。図25に示すように、ユーザは、指定した要素1~要素6それぞれの始点及び終点の座標や半径等とともに、仕上代、送り速度等の加工情報を入力し、「OK」ボタンを押下することで、加工プログラムが作成される。なお、図25に示す加工プログラムでは、「T10」は工具番号を示し、「M6」は工具交換の指令を示し、「G1040」はポケット荒加工の加工情報を示し、「G1201」は直線の加工領域に関する情報を示す。
特開平07-311795号公報
 しかしながら、加工領域を構成する直線、円弧等の要素を順次指定することは、プログラム作成に手間と時間がかかるとともに、ユーザの入力ミスが発生しやすいという問題がある。また、表示される加工領域を構成する要素の一部が小さい場合、入力し易い大きさに拡大する必要があり、大変面倒である。
 そこで、加工領域を構成する要素を簡単かつ迅速に選択できることが望まれている。
 本開示のプログラム作成装置の一態様は、加工情報を設定するとともに、形状データから輪郭を指定し設定することで、加工プログラムを自動生成するプログラム作成装置であって、前記形状データにおいて加工対象の領域の内側又は前記輪郭上の加工点を指定する加工点指定部と、前記形状データに基づいて指定された前記加工点が含まれる最小となる閉加工領域を特定し、前記閉加工領域の中の前記加工点を含まない閉加工領域を除外することで、加工領域を特定する加工領域特定部と、特定された前記加工領域を構成する少なくとも直線又は円弧の要素を抽出する輪郭要素抽出部と、を備える。
 一態様によれば、加工領域を構成する要素を簡単かつ迅速に選択できる。
第1実施形態に係る数値制御装置用プログラム作成装置の機能ブロック図である。 加工対象の領域の内側又は輪郭上の加工点の指定の一例を示す図である。 加工対象の領域の内側又は輪郭上の加工点の指定の一例を示す図である。 要素抽出処理の一例を示す図である。 形状データにおける閉加工領域の一例を示す図である。 形状データにおける閉加工領域の一例を示す図である。 要素を抽出する開始点と方向の変更指示の入力例を示す図である。 数値制御装置用プログラム作成装置の加工プログラム作成処理について説明するフローチャートである。 図6においてステップS3で示した加工領域特定処理の詳細な処理内容を説明するフローチャートである。 図7においてステップS31で示した要素抽出処理の詳細な処理内容を説明するフローチャートである。 図7においてステップS33で示した閉加工領域特定処理の詳細な処理内容を説明するフローチャートである。 閉加工領域特定処理の説明の一例を示す図である。 図7においてステップS35で示した加工点判定処理の詳細な処理内容を説明するフローチャートである。 閉加工領域の一例を示す図である。 内外判定テーブルの一例を示す図である。 各パターンにおける加工点と閉加工領域との関係の一例を示す図である。 図11においてステップS353で示した多角形内外判定処理の詳細な処理内容を説明するフローチャートである。 加工点が多角形の内側にある場合のベクトル間のなす角度の関係の一例を示す図である。 加工点が多角形の外側にある場合のベクトル間のなす角度の関係の一例を示す図である。 図11においてステップS354で示した円弧内外判定処理の詳細な処理内容を説明するフローチャートである。 円弧と加工点との関係の一例を示す図である。 第2実施形態に係る数値制御装置用プログラム作成装置の機能ブロック図である。 加工領域の結合の一例を示す図である。 工程毎に加工領域が異なる場合の一例を示す図である。 数値制御装置用プログラム作成装置の加工プログラム作成処理について説明するフローチャートである。 図21においてステップS43で示した加工領域結合処理の詳細な処理内容を説明するフローチャートである。 形状データから加工領域の要素の選択の一例を示す図である。 選択された加工領域の要素の一例を示す図である。 加工情報の入力の一例を示す図である。
 第1実施形態、及び第2実施形態について図面を参照して詳細に説明をする。
 ここで、各実施形態は、形状データにおいて加工対象の領域の内側又は輪郭上の加工点を指定し、形状データに基づいて指定された加工点が含まれる最小となる閉加工領域を特定し、閉加工領域の中の加工点を含まない閉加工領域を除外することで、加工領域を特定するという構成において共通する。
 ただし、第1実施形態では特定された加工領域を構成する少なくとも直線又は円弧の要素を抽出する。これに対し、第2実施形態では加工対象の領域とともに隣接する1つ以上の領域それぞれの内側又は輪郭上の加工点を指定し、隣接する加工領域間で共通する同じ要素がある場合、隣接する加工領域を結合して1つの加工領域として特定する点で、第1実施形態と相違する。
 以下では、まず第1実施形態について詳細に説明し、次に第2実施形態において特に第1実施形態と相違する部分について説明を行う。
 <第1実施形態>
 図1は、第1実施形態に係る数値制御装置用プログラム作成装置の機能ブロック図である。
 図1に示すように、プログラム作成装置としての数値制御装置用プログラム作成装置1は、コンピュータやタブレット端末等であり、制御部10、記憶部20、入力部30、及び表示部40を有する。また、制御部10は、加工点指定部101、加工領域特定部102、輪郭要素抽出部103、輪郭要素設定部104、加工情報設定部105、及びプログラム作成部106を有する。
 なお、数値制御装置用プログラム作成装置1は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して数値制御装置(図示しない)と接続されていてもよい。この場合、数値制御装置用プログラム作成装置1は、かかる接続によって作成した加工プログラムを数値制御装置(図示しない)に送信するための図示しない通信部を備えている。なお、数値制御装置用プログラム作成装置1は、図示しない接続インタフェースを介して数値制御装置(図示しない)と有線又は無線で直接接続されてもよい。
<記憶部20>
 記憶部20は、SSD(Solid State Drive)やHDD(Hard Disk Drive)等である。記憶部20には、制御部10が実行するオペレーティングシステム及びアプリケーションプログラム等とともに、形状データ201が記憶される。
 形状データ201は、工作機械(図示しない)に加工動作させることにより生成するワークの形状を示すCADデータ等である。
<入力部30>
 入力部30は、入力部としてのキーボードやマウス、タッチパネル等であり、ユーザからの入力操作を受け付ける。
<表示部40>
 表示部40は、表示部としての液晶ディスプレイ等であり、形状データ201を表示する。また、表示部40は、形状データ201のうち選択された加工領域を表示したり、選択された加工領域に対する仕上代、送り速度等の加工情報を設定する画面を表示したり、当該加工情報に基づいて作成された加工プログラムを表示したりしてもよい。
<制御部10>
 制御部10は、CPU、ROM、RAM、CMOSメモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
 CPUは数値制御装置用プログラム作成装置1を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、システムプログラム及びアプリケーションプログラムに従って数値制御装置用プログラム作成装置1全体を制御する。これにより、図1に示すように、制御部10は、加工点指定部101、加工領域特定部102、輪郭要素抽出部103、輪郭要素設定部104、加工情報設定部105、及びプログラム作成部106の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。CMOSメモリは図示しないバッテリでバックアップされ、数値制御装置用プログラム作成装置1の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
 加工点指定部101は、例えば、図2A及び図2Bに示すように、入力部30を介してユーザの入力操作に基づいて、表示部40に表示された形状データ201のうち加工プログラムを作成する加工対象の領域の内側又は輪郭上の加工点Pを指定する。
 加工領域特定部102は、形状データ201に基づいて指定された加工点Pが含まれる最小となる閉加工領域を特定し、特定した閉加工領域の中の加工点Pを含まない閉加工領域を除外することで、加工領域を特定する。
 具体的には、加工領域特定部102は、例えば、図3に示すように、図2Aに示す加工対象の領域において要素抽出処理を実行し、指定された加工点Pを始点とする任意の半直線Lを算出し、半直線Lと交差する直線、円弧、円等の要素を抽出する。加工領域特定部102は、指定された加工点Pから抽出した各要素までの距離を算出し、算出した距離の近い順に抽出した各要素を要素Eiとしてソートする(iは1~2)。なお、要素抽出処理については、後述する。
 また、加工領域特定部102は、図2Bに示す加工対象の領域の場合についても、図2Aの場合と同様に、指定された加工点Pを始点とする任意の半直線Lを算出し、半直線Lと交差する要素を抽出し、加工点Pから抽出した各要素までの距離を算出し、算出した距離の近い順に抽出した要素を要素Eiとしてソートする(iは1~2)。
 次に、加工領域特定部102は、ソートした要素の中の1つの要素Eiを含む閉加工領域Tiを特定する閉加工領域特定処理を実行する。なお、閉加工領域特定処理については、後述する。ただし、図4Aに示すように、図2Aに示す形状データ201には、2つの閉加工領域T1と閉加工領域T2とがある。また、図4Bに示すように、図2Bに示す形状データ201には、閉加工領域T1~T7がある。
 次に、加工領域特定部102は、特定した閉加工領域Tiに指定された加工点Pがあるか否かを判定する加工点判定処理を実行し、加工点Pがある閉加工領域Tiを加工領域として特定する。一方、加工領域特定部102は、加工点Pがない閉加工領域Tiを加工領域から除外して、iを1つ増加させて、次の要素Eiを含む閉加工領域Tiを特定する。なお、加工点判定処理については、後述する。
 輪郭要素抽出部103は、加工領域特定部102により特定された加工領域(閉加工領域Ti)を構成する少なくとも直線又は円弧の要素を抽出する。
 具体的には、輪郭要素抽出部103は、例えば、図4Aの閉加工領域T2において、図5に示す加工点Pに最も近い要素E3を1つ目の要素として、時計回り又は反時計回りの要素抽出順に要素を抽出する。すなわち、輪郭要素抽出部103は、要素抽出順が時計回りの場合、要素E3、要素E5、要素E4、要素E7、要素E6、及び要素E2の順に抽出する。一方、輪郭要素抽出部103は、要素抽出順が反時計回りの場合、要素E3、要素E2、要素E6、要素E7、要素E4、及び要素E5の順に抽出する。
 なお、輪郭要素抽出部103は、図5に示すように、図4Aの閉加工領域T2とともに、要素を抽出する開始点と方向とを点印と矢印とを表示部40に表示するようにしてもよい。輪郭要素抽出部103は、入力部30を介してユーザにより要素を抽出する開始点と方向の変更指示する、図5に示すようなフリック入力を受け付けた場合、要素E7を1つ目の要素とし要素抽出順を時計回りに変更して、要素E7、要素E6、要素E2、要素E3、要素E5、及び要素E4の順に抽出するようにしてもよい。
 輪郭要素設定部104は、輪郭要素抽出部103により抽出された各要素の始点、終点や半径等を輪郭要素情報として設定する。輪郭要素設定部104は、各要素の設定情報を後述するプログラム作成部106に出力する。
 加工情報設定部105は、例えば、輪郭要素抽出部103により抽出された要素毎に設定画面を表示部40に表示し、入力部30を介してユーザの入力操作に基づいて、各要素の加工に対する仕上代や送り速度等の加工情報を設定する。加工情報設定部105は、各要素の加工情報を後述するプログラム作成部106に出力する。
 プログラム作成部106は、輪郭要素設定部104により設定された各要素の設定情報、及び加工情報設定部105により設定された加工情報に基づいて、閉加工領域Tiに対する加工プログラムを作成する。
<数値制御装置用プログラム作成装置1の加工プログラム作成処理>
 次に、図6を参照しながら、数値制御装置用プログラム作成装置1の加工プログラム作成処理の流れを説明する。
 図6は、数値制御装置用プログラム作成装置1の加工プログラム作成処理について説明するフローチャートである。ここで示すフローは、ユーザが形状データ201を選択する度に繰り返し実行される。
 ステップS1において、入力部30は、ユーザから形状データ201の選択を受け付け、表示部40は、選択された形状データ201を表示する。
 ステップS2において、加工点指定部101は、入力部30を介してユーザの入力操作に基づいて、ステップS1で選択され表示された形状データ201のうち加工プログラムを作成する加工対象の領域の内側又は輪郭上の加工点Pを指定する。
 ステップS3において、加工領域特定部102は、ステップS2で指定された加工点Pが含まれる最小となる閉加工領域を特定し、閉加工領域の中の加工点Pを含まない閉加工領域を除外する加工領域特定処理を実行し、加工領域を特定する。なお、加工領域特定処理の詳細なフローについては、後述する。
 ステップS4において、輪郭要素抽出部103は、ステップS3で特定された加工領域を構成する直線又は円弧の要素を抽出する。
 ステップS5において、輪郭要素設定部104は、ステップS4で抽出された各要素の始点、終点や半径等を輪郭要素情報として設定する。
 ステップS6において、加工情報設定部105は、ステップS3で抽出された要素毎の設定画面を表示部40に表示し、入力部30を介してユーザの入力操作に基づいて、各要素の加工に対する仕上代や送り速度等の加工情報を設定する。
 ステップS7において、プログラム作成部106は、ステップS5で設定された各要素の設定情報、及びステップS6で設定された加工情報に基づいて、ステップS3で特定された加工領域に対する加工プログラムを作成する。
 ステップS8において、加工点指定部101は、入力部30を介してユーザの入力操作に基づいて、次の加工対象の領域の加工点Pが指定されたか否かを判定する。次の加工対象の領域の加工点Pが指定された場合、処理はステップS3に進む。一方、次の加工対象の領域の加工点Pが指定されなかった場合、数値制御装置用プログラム作成装置1は、プログラム作成処理を終了する。
 図7は、図6においてステップS3で示した加工領域特定処理の詳細な処理内容を説明するフローチャートである。
 ステップS31において、加工領域特定部102は、ステップS2で指定された加工点Pを始点とする任意の半直線Lにおいて要素抽出処理を実行し、当該半直線Lと交差する直線、円弧、円等の要素を抽出し、指定された加工点Pから抽出した各要素までの距離を算出し、算出した距離の近い順に要素Eiとしてソートする。なお、要素抽出処理については、後述する。
 ステップS32において、加工領域特定部102は、変数iを「1」に初期化する。
 ステップS33において、加工領域特定部102は、閉加工領域特定処理を実行し、ステップS31でソートした要素Eiを含む閉加工領域Tiを特定する。なお、閉加工領域特定処理については、後述する。
 ステップS34において、加工領域特定部102は、ステップS33の特定結果において特定された閉加工領域Tiがあるか否かを判定する。特定された閉加工領域Tiがある場合、処理はステップS35に進む。一方、特定された閉加工領域Tiがない場合、処理はステップS39に進む。
 ステップS35において、加工領域特定部102は、ステップS33で特定した閉加工領域Tiの内側に指定された加工点Pがあるか否かを判定する加工点判定処理を実行する。なお、加工点判定処理については、後述する。
 ステップS36において、加工領域特定部102は、ステップS35の判定結果において指定された加工点Pが閉加工領域Tiの内側にあるか否かを判定する。指定された加工点Pが閉加工領域Tiの内側にある場合、処理はステップS37に進む。一方、指定された加工点Pが閉加工領域Tiの外側にある場合、処理はステップS38に進む。
 ステップS37において、加工領域特定部102は、加工点Pがある閉加工領域Tiを加工領域と特定する。加工領域特定部102は、加工領域特定処理を終了し、処理はステップS4に進む。
 ステップS38において、加工領域特定部102は、加工点Pがない閉加工領域Tiを加工領域から除外する。
 ステップS39において、加工領域特定部102は、変数iを1つ増加させる。
 ステップS40において、加工領域特定部102は、変数iが集合{要素Ei}の要素数q以下か否かを判定する。変数iが要素数q以下の場合、処理はステップS33に進む。一方、変数iが要素数qより大きい場合、ステップS4の処理に進む。
 図8は、図7においてステップS31で示した要素抽出処理の詳細な処理内容を説明するフローチャートである。
 ステップS311において、加工領域特定部102は、ステップS2で指定された加工点Pの座標を算出する。
 ステップS312において、加工領域特定部102は、加工点Pを始点とする半直線Lを算出する。
 ステップS313において、加工領域特定部102は、ステップS312で算出した半直線Lと交差する直線、円弧、円等の全ての要素を抽出する。
 ステップS314において、加工領域特定部102は、指定された加工点PからステップS313で抽出した各要素までの距離を算出する。
 ステップS315において、加工領域特定部102は、ステップS314で算出した距離の近い順に抽出した各要素を要素Eiとしてソートする。処理はステップS32に進む。
 図9は、図7においてステップS33で示した閉加工領域特定処理の詳細な処理内容を説明するフローチャートである。
 ステップS331において、加工領域特定部102は、Eiを閉加工領域Tiに含まれる要素として決定し決定要素とする。
 ステップS332において、加工領域特定部102は、要素Eiを検索対象の閉加工領域Tiの要素Mとする。具体的には、図10に示すように、加工領域特定部102は、例えば、図2Bの形状データ201のうち太線で示す要素Eiを、当該要素Eiに接続する次の要素を検索する検索対象の要素Mとする。
 ステップS333において、加工領域特定部102は、形状データ201において要素Mに隣接する要素Ekを検索する(kは正の整数であり、要素Ek∈{形状データ201})。
 ステップS334において、加工領域特定部102は、隣接する要素Ekがあるか否かを判定する。隣接する要素Ekがある場合、処理はステップS335に進む。一方、隣接する要素Ekがない場合、処理はステップS33Cに進む。
 ステップS335において、加工領域特定部102は、隣接する要素Ekが1つか否かを判定する。隣接する要素Ekが1つの場合、処理はステップS336に進む。一方、隣接する要素Ekが2以上の複数ある場合、処理はステップS33Aに進む。
 ステップS336において、加工領域特定部102は、隣接する要素Ekを閉加工領域Tiに含まれる要素として決定し決定要素とする。
 ステップS337において、加工領域特定部102は、ステップS336で決定した決定要素がステップS332で設定した要素Mである要素Eiか否かを判定する。決定要素が要素Eiである場合、処理はステップS339に進む。一方、決定要素が要素Eiでない場合、処理はステップS338に進む。
 ステップS338において、加工領域特定部102は、決定要素、すなわち隣接する要素Ekを要素Mとする。処理はステップS333に戻る。
 ステップS339において、加工領域特定部102は、閉加工領域Tiを特定する。加工領域特定部102は、加工領域特定処理を終了し、処理はステップS34に進む。
 ステップS33Aにおいて、加工領域特定部102は、隣接する要素Ekが複数あり、少なくとも1つの要素Ekが円弧の場合、要素Mと隣接する点(分岐点)を通る接線L´を算出する。具体的には、図10に示すように、要素Ekとして2つの要素B1、B2が点(分岐点)Aで要素M(要素Ei)に接続し、要素B1が円弧である場合、加工領域特定部102は、点(分岐点)Aを通り要素B1の円弧に接する接線L´を算出する。
 そうすることで、加工領域特定部102は、点(分岐点)Aにおける要素Mと要素B1とのなす角を算出することができる。
 ステップS33Bにおいて、加工領域特定部102は、反時計回りに要素Mとなす角度が最大となる要素を要素Ekに決定する。例えば、図10の場合、反時計回りに要素Mと要素B1とのなす角度が要素Mと要素B2とのなす角度より大きいことから、加工領域特定部102は、要素B1を要素Ekに決定する。
 ステップS33Cにおいて、加工領域特定部102は、加工対象の領域に閉加工領域がないと決定し、処理はステップS34に進む。
 図11は、図7においてステップS35で示した加工点判定処理の詳細な処理内容を説明するフローチャートである。
 ステップS351において、加工領域特定部102は、ステップS33で特定した閉加工領域Tiが円か否かを判定する。特定した閉加工領域Tiが円の場合、処理はステップS356に進む。一方、特定した閉加工領域Tiが円でない場合、処理はステップS352に進む。
 ステップS352において、加工領域特定部102は、閉加工領域Tiに含まれる要素Ek(kは1以上の整数)のうち円弧の要素Ekそれぞれにおいて始点と終点とを直線で結び、閉加工領域Tiを多角形にする。具体的には、加工領域特定部102は、図12に示す閉加工領域Tiにおいて、各円弧の要素において始点と終点とを破線で示す直線で結び、多角形を作成する。なお、図12の場合の多角形は、12個の頂点TP(1)~TP(12)を有する。また、TP(1)とTP(12)とは同じ頂点である。
 ステップS353において、加工領域特定部102は、例えば、公知のWinding Number Algorithmを用いて、ステップS352で作成した多角形に対して多角形内外判定処理を実行し、加工点Pが多角形の内側か外側かを判定する。なお、多角形内外判定処理の詳細なフローについては、後述する。
 ステップS354において、加工領域特定部102は、円弧内外判定処理を実行し、加工点が円弧の要素の内側か外側かを判定する。なお、円弧内外判定処理の詳細なフローについては、後述する。
 ステップS355において、加工領域特定部102は、ステップS353の判定結果とステップS354の判定結果とに基づいて加工点Pが閉加工領域Tiの内側か外側かを判定する。具体的には、加工領域特定部102は、図13Aに示す内外判定テーブルを用いて、多角形内外判定処理の判定結果において加工点Pが多角形の内側、及び円弧内外判定処理の判定結果において加工点Pが円弧の内側の加工点Pがパターン1の場合、又は多角形内外判定処理の判定結果において加工点Pが多角形の外側、及び円弧内外判定処理の判定結果において加工点Pが円弧の外側の加工点Pがパターン4の場合、加工点Pが閉加工領域Tiの外側と判定する。一方、加工領域特定部102は、多角形内外判定処理の判定結果において加工点Pが多角形の内側、及び円弧内外判定処理の判定結果において加工点Pが円弧の外側の加工点Pがパターン2の場合、又は多角形内外判定処理の判定結果において加工点Pが多角形の外側、及び円弧内外判定処理の判定結果において加工点Pが円弧の内側の加工点Pがパターン3の場合、加工点Pが閉加工領域Tiの内側と判定する。そして、処理はステップS36に進む。
 なお、図13Bは、各パターン1~4における加工点Pと閉加工領域Tiとの関係の一例を示す図である。
 ステップS356において、加工領域特定部102は、円の閉加工領域Tiの中心から加工点までの距離Dを算出する。
 ステップS357において、加工領域特定部102は、ステップS356で算出した距離Dが円の閉加工領域Tiの半径Rより小さいか否かを判定する。算出した距離Dが半径Rより小さい場合、処理はステップS358に進む。一方、算出した距離Dが半径R以上の場合、処理はステップS359に進む。
 ステップS358において、加工領域特定部102は、加工点Pが閉加工領域Tiの内側と判定する。そして、処理はステップS36に進む。
 ステップS359において、加工領域特定部102は、加工点Pが閉加工領域Tiの外側と判定する。そして、処理はステップS36に進む。
 図14は、図11においてステップS353で示した多角形内外判定処理の詳細な処理内容を説明するフローチャートである。
 ステップS3531において、加工領域特定部102は、変数Aを「0」に、変数sを「1」に初期化する。
 ステップS3532において、加工領域特定部102は、図15Aに示すように、加工点PからステップS352で求めた図12に示す多角形の頂点TP(s)(すなわち、要素Ekの始点又は終点)へ向かうベクトルのうち隣接するベクトルPTP(s)とベクトルPTP(s+1)とのなす角度asを算出する(sは1~(m-1)であり、mは多角形の頂点の数)。なお、加工領域特定部102は、ベクトルPTP(s+1)がベクトルPTP(s)と反時計回りに隣接する場合、なす角度asをプラスの値で算出し、ベクトルPTP(s+1)がベクトルPTP(s)と時計回りに隣接する場合、なす角度asをマイナスの値で算出する。
 ステップS3533において、加工領域特定部102は、ステップS3532で算出したなす角度asを、A=(1/2π)(A+as)で加算するとともに、変数sを1つ増加させる。
 ステップS3534において、加工領域特定部102は、変数sの値が多角形の頂点の数mより小さいか否かを判定する。変数sの値が多角形の頂点の数mより小さい場合、処理はステップS3532に戻る。一方、変数sの値が多角形の頂点の数m以上の場合、処理はステップS3535に進む。
 ステップS3535において、加工領域特定部102は、変数(ベクトルPTP(s)とベクトルPTP(s+1)とのなす角度asの合計)Aが「0」か否かを判定する。変数Aが「0」の場合、処理はステップS3537に進む。一方、変数Aが「0」でない場合、処理はステップS3536に進む。
 ステップS3536において、加工領域特定部102は、図15Aに示すように、変数Aが「0」でないことから、加工点Pが多角形の内側にあると判定する。
 ステップS3537において、加工領域特定部102は、図15Bに示すように、変数Aが「0」であることから、加工点Pが多角形の外側にあると判定する。
 図16は、図11においてステップS354で示した円弧内外判定処理の詳細な処理内容を説明するフローチャートである。
 ステップS3541において、加工領域特定部102は、変数kを「1」に初期化する。
 ステップS3542において、加工領域特定部102は、閉加工領域Tiの要素Ekが円弧の場合、中心と加工点Pとの距離を算出し、算出した距離が当該円弧の半径以下か否かを判定する。算出した距離が円弧の半径以下の場合、処理はステップS3546に進む。一方、算出した距離が円弧の半径より大きい場合、処理はステップS3543に進む。
 ステップS3543において、加工領域特定部102は、変数kを1つ増加させる。
 ステップS3544において、加工領域特定部102は、変数kが閉加工領域Tiに含まれる要素数nより小さいか否かを判定する。変数kが要素数nより小さい場合、処理はステップS3542に進む。一方、変数kが要素数n以上の場合、処理はステップS3545に進む。
 ステップS3545において、加工領域特定部102は、加工点Pが要素Ekの円弧の外側と判定する。そして、処理はステップS355に進む。
 ステップS3546において、加工領域特定部102は、図17に示すように、要素Ekの円弧の始点Sと終点Eとを結ぶ線分SEを算出する。
 ステップS3547において、加工領域特定部102は、図17に示すように、要素Ekの円弧の中心Cと加工点Pとを結ぶ線分CPを算出する。なお、図17では、線分SEと線分CPとが交差する場合の加工点Pの位置を白の丸印で示し、線分SEと線分CPとが交差しない場合の加工点Pの位置を網掛けの丸印で示す。
 ステップS3548において、加工領域特定部102は、要素Ekの円弧の中心角が180度以下か否かを判定する。要素Ekの円弧の中心角が180度以下の場合、処理はステップS354Bに進む。一方、要素Ekの円弧の中心角が180度より大きい場合、処理はステップS3549に進む。
 ステップS3549において、加工領域特定部102は、線分SEと線分CPとが交差するか否かを判定する。線分SEと線分CPとが交差する場合、処理はステップS3545に進む。一方、線分SEと線分CPとが交差しない場合、処理はステップS354Aに進む。
 ステップS354Aにおいて、加工領域特定部102は、加工点Pが要素Ekの円弧の内側と判定する。処理はステップS355に進む。
 ステップS354Bにおいて、加工領域特定部102は、線分SEと線分CPとが交差するか否かを判定する。線分SEと線分CPとが交差する場合、処理はステップS354Aに進む。一方、線分SEと線分CPとが交差しない場合、処理はステップS3545に進む。
 以上により、第1実施形態に係る数値制御装置用プログラム作成装置1は、形状データ201において、ユーザにより1つの加工点Pが指定されることで、加工点Pを含む閉加工領域Tiを構成する直線、円弧等の要素Ekを自動的に抽出する。これにより、数値制御装置用プログラム作成装置1は、加工領域を構成する要素を簡単かつ迅速に選択でき、加工プログラムの作成に要する手間と時間とを削減することができる。
 以上、第1実施形態について説明した。
<第2実施形態>
 次に、第2実施形態について説明する。上述したように、第1実施形態では特定された加工領域を構成する少なくとも直線又は円弧の要素を抽出する。これに対し、第2実施形態では加工対象の領域とともに隣接する1つ以上の領域それぞれの内側又は輪郭上の加工点を指定し、隣接する加工領域間で共通する同じ要素がある場合、隣接する加工領域を結合して1つの加工領域として特定する点で、第1実施形態と相違する。
 これにより、数値制御装置用プログラム作成装置1Aは、加工領域を構成する要素を簡単かつ迅速に選択できる。
 以下、第2実施形態について説明する。
 図18は、第2実施形態に係る数値制御装置用プログラム作成装置の機能ブロック図である。なお、図1の数値制御装置用プログラム作成装置1の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 図18に示すように、数値制御装置用プログラム作成装置1Aは、コンピュータやタブレット端末等であり、制御部10a、記憶部20、入力部30、及び表示部40を有する。また、制御部10aは、加工点指定部101a、加工領域特定部102a、輪郭要素抽出部103、輪郭要素設定部104、加工情報設定部105、及びプログラム作成部106を有する。また、記憶部20は、形状データ201が記憶される。
 記憶部20、入力部30及び表示部40は、第1実施形態における記憶部20、入力部30及び表示部40と同等の機能を有する。
 また、形状データ201は、第1実施形態における形状データ201と同様のデータである。
<制御部10a>
 制御部10aは、CPU、ROM、RAM、CMOSメモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
 CPUは数値制御装置用プログラム作成装置1Aを全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、システムプログラム及びアプリケーションプログラムに従って数値制御装置用プログラム作成装置1A全体を制御する。これにより、図18に示すように、制御部10aは、加工点指定部101a、加工領域特定部102a、輪郭要素抽出部103、輪郭要素設定部104、加工情報設定部105、及びプログラム作成部106の機能を実現するように構成される。
 輪郭要素抽出部103、輪郭要素設定部104、加工情報設定部105、及びプログラム作成部106は、第1実施形態における輪郭要素抽出部103、輪郭要素設定部104、加工情報設定部105、及びプログラム作成部106と同等の機能を有する。
 加工点指定部101aは、図1の加工点指定部101と同様に、入力部30を介してユーザの入力操作に基づいて、表示部40に表示された形状データ201のうち加工プログラムを作成する加工対象の領域の内側又は輪郭上の加工点を指定する。また、加工点指定部101aは、当該加工対象の領域に隣接する1つ以上の領域それぞれの内側又は輪郭上の加工点も指定する。
 加工領域特定部102aは、図1の加工領域特定部102と同様に、形状データ201に基づいて加工対象の領域で指定された加工点が含まれる最小となる閉加工領域を特定し、特定した閉加工領域の中の加工点を含まない閉加工領域を除外することで、加工領域を特定する。また、加工領域特定部102aは、加工対象の領域に隣接する領域それぞれで指定された加工点が含まれる最小となる閉加工領域を特定し、特定した閉加工領域の中の加工点を含まない閉加工領域を除外することで、加工領域を特定する。加工領域特定部102aは、加工対象の領域から特定した加工領域の要素と、隣接する領域から特定した加工領域の要素とのうち共通する要素が存在する場合、加工対象の領域の加工領域と隣接する領域の加工領域とを結合して1つの加工領域として特定する。
 図19は、加工領域の結合の一例を示す図である。
 図19の上段に示すように、加工領域特定部102aは、入力部30を介してユーザの入力操作に基づいて、形状データ201のうち左側の加工対象の領域の加工点が指定されると、当該領域の閉加工領域に含まれる要素F1~F4を有する閉加工領域を加工領域として特定する。
 次に、図19の中段に示すように、加工領域特定部102aは、入力部30を介してユーザの入力操作に基づいて、形状データ201の右側の加工対象の領域に隣接する領域の加工点が指定されると、隣接する領域の閉加工領域に含まれる要素G1~G4を有する閉加工領域を加工領域として特定する。
 この場合、加工領域特定部102aは、加工対象の領域の加工領域の要素F1~F4と隣接する領域の加工領域の要素G1~G4とのうち共通する同じ要素を検索する。この場合、加工対象の領域の加工領域の要素F1と隣接する領域の加工領域の要素G3とは共通する同じ要素であることから、加工領域特定部102aは、図19の下段に示すように、要素F1と要素G3とを削除し、要素G1、G2、F2、F3、F4、G4を要素とする1つの加工領域として特定する。
 そうすることで、ワークの加工工程毎に加工領域が異なるような場合、ユーザは、工程毎の加工領域を容易に指定(特定)することができ、工程毎の加工プログラムを作成することができる。
 図20は、工程毎に加工領域が異なる場合の一例を示す図である。図20の1段目は、加工後、すなわち完成のワークW及び形状データ201を示す。図20の2段目は、左から加工前のワークW、工程1で切削する加工領域、及び工程1に対するユーザによる形状データ201上での加工点の指定を示す。図20の3段目は、左から工程2で切削する加工領域、及び工程2に対するユーザによる形状データ201上での加工点の指定を示す。図20の4段目は、工程3で切削する加工領域、及び工程3に対するユーザによる形状データ201上での加工点の指定を示す。
 図20の1段目に示すように、加工後のワークWは、2段の階段状の形状を有し1段目の階段の端が斜めに切削されている。このため、形状データ201は3つの領域を有する。
 図20の2段目に示すように、直方体の加工前のワークWを図20の1段目に示す形状に切削するために、工程1では、加工前のワークWの上面全体を切削する必要があり、加工点指定部101aは、入力部30を介してユーザの入力操作に基づいて、形状データ201において左(又は右又は中央)の領域から順に加工点を指定する。加工領域特定部102は、指定された3つの加工点から太線で示す1つに結合した加工領域を特定する。
 次に、図20の3段目に示すように、工程2では、加工前のワークWの右側を切削するために、加工点指定部101aは、入力部30を介してユーザの入力操作に基づいて、形状データ201において中央と右側との領域の加工点を指定する。加工領域特定部102は、指定された2つの加工点に基づいて太線で示す1つに結合した加工領域を特定する。
 最後に、図20の4段目に示すように、工程3では、加工前のワークWの右端を斜めに切削するために、加工点指定部101aは、入力部30を介してユーザの入力操作に基づいて、形状データ201において右側の領域の加工点を指定する。加工領域特定部102は、指定された1つの加工点に基づいて、太線で示す加工領域を特定する。
<数値制御装置用プログラム作成装置1Aの加工プログラム作成処理>
 次に、図21を参照しながら、数値制御装置用プログラム作成装置1Aの加工プログラム作成処理の流れを説明する。
 図21は、数値制御装置用プログラム作成装置1Aの加工プログラム作成処理について説明するフローチャートである。ここで示すフローは、ユーザが形状データ201を選択する度に繰り返し実行される。
 なお、ステップS1からステップS4、ステップS5からステップS8の処理は、図6のステップS1からステップS4、ステップS5からステップS8の処理と同様であり、説明は省略する。
 ステップS41において、加工領域特定部102aは、ステップS2で2以上の複数の加工点が指定されたか否かを判定する。複数の加工点が指定された場合、処理はステップS42に進む。一方、複数の加工点が指定されていない場合、処理はステップS5に進む。
 ステップS42において、加工領域特定部102aは、次の加工点があるか否かを判定する。次の加工点がある場合、処理はステップS3に進む。一方、次の加工点がない場合、処理はステップS43に進む。
 ステップS43において、加工領域特定部102aは、加工領域結合処理を実行し、ステップS3で特定された複数の加工点それぞれを含む複数の加工領域のうち共通する同じ要素を有する加工領域を結合する。なお、加工領域結合処理の詳細なフローについては、後述する。
 図22は、図21においてステップS43で示した加工領域結合処理の詳細な処理内容を説明するフローチャートである。
 ステップS431において、加工領域特定部102aは、隣接する加工領域間の要素において、共通する同じ要素を検索する。
 ステップS432において、加工領域特定部102aは、共通する同じ要素がある場合、共通する同じ要素を削除して、1つの加工領域に結合する。
 ステップS433において、加工領域特定部102aは、全ての加工領域について検索したか否かを判定する。全ての加工領域について検索した場合、処理はステップS5に進む。一方、全ての加工領域について検索していない場合、処理はステップS431に戻る。
 以上により、に係る数値制御装置用プログラム作成装置1Aは、形状データ201において、ユーザにより2以上の複数の加工点が指定されることで、各加工点を含む閉加工領域の加工領域を構成する直線、円弧等の要素を自動的に抽出する。数値制御装置用プログラム作成装置1Aは、隣接する加工領域間の要素において共通する同じ要素がある場合、1つの加工領域に結合する。これにより、数値制御装置用プログラム作成装置1Aは、加工領域を構成する要素を簡単かつ迅速に選択でき、加工プログラムの作成に要する手間と時間とを削減することができる。
 以上、第2実施形態について説明した。
 以上、第1実施形態、及び第2実施形態について説明したが、数値制御装置用プログラム作成装置1、1Aは、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
<変形例>
 第1実施形態、及び第2実施形態では、数値制御装置用プログラム作成装置1、1Aは、数値制御装置(図示しない)と異なる装置としたが、これに限定されない。例えば、数値制御装置用プログラム作成装置1、1Aは、図示しない数値制御装置の内部に実装され、図示しない数値制御装置と一体化されてもよい。
 なお、第1実施形態、及び第2実施形態における、数値制御装置用プログラム作成装置1、1Aに含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
 プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
 なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 以上を換言すると、本開示のプログラム作成装置は、次のような構成を有する各種各様の実施形態を取ることができる。
 (1)本開示の数値制御装置用プログラム作成装置1は、加工情報を設定するとともに、形状データ201から輪郭を指定し設定することで、加工プログラムを自動生成するプログラム作成装置であって、形状データ201において加工対象の領域の内側又は輪郭上の加工点Pを指定する加工点指定部101と、形状データに基づいて指定された加工点が含まれる最小となる閉加工領域Tiを特定し、閉加工領域Tiの中の加工点Pを含まない閉加工領域を除外することで、加工領域を特定する加工領域特定部102と、特定された加工領域を構成する少なくとも直線又は円弧の要素を抽出する輪郭要素抽出部103と、を備える。
 この数値制御装置用プログラム作成装置1によれば、加工領域を構成する要素を簡単かつ迅速に選択できる。
 (2) (1)に記載の数値制御装置用プログラム作成装置1において、輪郭要素抽出部103は、加工点指定部101により指定された加工点Pに最も近い加工領域の要素を1番目の要素として、時計回り又は反時計回りの要素抽出順に加工領域を構成する輪郭である全ての要素を抽出してもよい。
 (3) (2)に記載の数値制御装置用プログラム作成装置1において、輪郭要素抽出部103は、ユーザからの指示に基づいて要素抽出順として時計回り又は反時計回りに切替えてもよい。
 (4) (2)又は(3)に記載の数値制御装置用プログラム作成装置1において、輪郭要素抽出部103は、要素の抽出を開始する開始点と回転方向とを数値制御装置用プログラム作成装置1に含まれる表示部40に表示し、ユーザからの指示に基づいて変更された開始点及び/又は回転方向に基づいて要素を抽出してもよい。
 (5) (1)に記載の数値制御装置用プログラム作成装置1Aにおいて、加工点指定部101aは、加工対象の領域に隣接する1つ以上の領域それぞれの内側又は輪郭上の加工点を指定してもよい。
 (6) (5)に記載の数値制御装置用プログラム作成装置1Aにおいて、加工領域特定部102aは、加工対象の領域と隣接する領域との間で共通する要素がある場合、加工対象の領域と隣接する領域とを結合して1つの加工領域として特定してもよい。
 1、1A 数値制御装置用プログラム作成装置
 10、10a 制御部
 101、101a 加工点指定部
 102、102a 加工領域特定部
 103 輪郭要素抽出部
 104 輪郭要素設定部
 105 加工情報設定部
 106 プログラム作成部
 20 記憶部
 201 形状データ
 30 入力部
 40 表示部

Claims (6)

  1.  加工情報を設定するとともに、形状データから輪郭を指定し設定することで、加工プログラムを自動生成するプログラム作成装置であって、
     前記形状データにおいて加工対象の領域の内側又は前記輪郭上の加工点を指定する加工点指定部と、
     前記形状データに基づいて指定された前記加工点が含まれる最小となる閉加工領域を特定し、前記閉加工領域の中の前記加工点を含まない閉加工領域を除外することで、加工領域を特定する加工領域特定部と、
     特定された前記加工領域を構成する少なくとも直線又は円弧の要素を抽出する輪郭要素抽出部と、
     を備えるプログラム作成装置。
  2.  前記輪郭要素抽出部は、前記加工点指定部により指定された前記加工点に最も近い前記加工領域の要素を1番目の要素として、時計回り又は反時計回りの要素抽出順に前記加工領域を構成する輪郭である全ての要素を抽出する、請求項1に記載のプログラム作成装置。
  3.  前記輪郭要素抽出部は、ユーザからの指示に基づいて前記要素抽出順として前記時計回り又は反時計回りに切替える、請求項2に記載のプログラム作成装置。
  4.  前記輪郭要素抽出部は、前記要素の抽出を開始する開始点と回転方向とを前記プログラム作成装置に含まれる表示部に表示し、ユーザからの指示に基づいて変更された前記開始点及び/又は前記回転方向に基づいて前記要素を抽出する、請求項2又は請求項3に記載のプログラム作成装置。
  5.  前記加工点指定部は、前記加工対象の領域に隣接する1つ以上の領域それぞれの内側又は前記輪郭上の加工点を指定する、請求項1に記載のプログラム作成装置。
  6.  前記加工領域特定部は、前記加工対象の領域と隣接する前記領域との間で共通する要素がある場合、前記加工対象の領域と隣接する前記領域とを結合して1つの加工領域として特定する、請求項5に記載のプログラム作成装置。
PCT/JP2022/022841 2022-06-06 2022-06-06 プログラム作成装置 WO2023238206A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/022841 WO2023238206A1 (ja) 2022-06-06 2022-06-06 プログラム作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/022841 WO2023238206A1 (ja) 2022-06-06 2022-06-06 プログラム作成装置

Publications (1)

Publication Number Publication Date
WO2023238206A1 true WO2023238206A1 (ja) 2023-12-14

Family

ID=89118025

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/022841 WO2023238206A1 (ja) 2022-06-06 2022-06-06 プログラム作成装置

Country Status (1)

Country Link
WO (1) WO2023238206A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0457106A (ja) * 1990-06-27 1992-02-24 Toyoda Mach Works Ltd 加工領域指定装置
JP2002236509A (ja) * 2001-11-28 2002-08-23 Canon Inc Ncデータ作成装置、及び方法
JP2005219177A (ja) * 2004-02-09 2005-08-18 Shinko Electric Ind Co Ltd ルータ加工軌跡の作成方法
JP2015521333A (ja) * 2012-06-01 2015-07-27 ディーピー テクノロジー コーポレーション プロフィットミリング
JP2018116707A (ja) * 2011-02-28 2018-07-26 ソリッドキャム リミテッド コンピューター化された工具経路生成

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0457106A (ja) * 1990-06-27 1992-02-24 Toyoda Mach Works Ltd 加工領域指定装置
JP2002236509A (ja) * 2001-11-28 2002-08-23 Canon Inc Ncデータ作成装置、及び方法
JP2005219177A (ja) * 2004-02-09 2005-08-18 Shinko Electric Ind Co Ltd ルータ加工軌跡の作成方法
JP2018116707A (ja) * 2011-02-28 2018-07-26 ソリッドキャム リミテッド コンピューター化された工具経路生成
JP2015521333A (ja) * 2012-06-01 2015-07-27 ディーピー テクノロジー コーポレーション プロフィットミリング

Similar Documents

Publication Publication Date Title
JP5925976B1 (ja) 加工プログラム編集支援装置
JPH02293903A (ja) Cad/cam装置
JP6441262B2 (ja) 加工プログラム編集装置、方法、及び編集用プログラム
JP3574202B2 (ja) 図形入出力装置
JPWO2008015737A1 (ja) プログラム作成装置およびプログラム作成方法
WO2016013043A1 (ja) 表示装置及び表示方法
JP5990662B2 (ja) 加工プログラム編集支援装置
CN110199230B (zh) 加工程序修正装置以及加工程序修正方法
WO2023238206A1 (ja) プログラム作成装置
JP4046370B2 (ja) 3次元形状の作図方法
TWI570530B (zh) Numerical control system and numerical control data generation method
JP5274714B1 (ja) 加工プログラム生成装置、加工プログラム生成方法、および加工プログラム生成プログラム
JP2007138317A (ja) 3次元衣服型紙データ構造情報入力装置および方法
JP5734228B2 (ja) 自動プログラミング装置および方法
WO2018003206A1 (ja) 図形選択装置、図形選択方法および図形選択プログラム
JP4333182B2 (ja) レーザ制御装置及び廃材加工処理方法
JP6239204B1 (ja) 図形選択装置
WO2023112207A1 (ja) 図形データ編集装置、加工プログラム作成装置、および図形データ編集方法
JP2005334987A (ja) 平面加工工具選択装置及び平面加工工具選択方法
JPH0916260A (ja) ロボットの簡易ジョグ座標系の設定方法
JP4608237B2 (ja) 等高線加工方法
JP3564721B2 (ja) Cad/cam装置
JP2001272963A (ja) 画像表示装置および座標入力装置
TW202325444A (zh) 圖形資料編輯裝置、加工程式製作裝置及圖形資料編輯方法
WO1998035274A1 (fr) Procede de generation de donnees cn pour usinage par enlevement dans le cas de l'usinage d'un fil electrique par etincelage

Legal Events

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

Ref document number: 22945716

Country of ref document: EP

Kind code of ref document: A1