Aspects of the disclosure relate to a non-transitory computer-readable medium and an embroidery data generation method.
Sewing machines capable of embroidering use embroidery hoops for holding a workpiece to embroider within a sewing area to be set inside an embroidery hoop. The size of sewing area varies according to the type of embroidery hoop. A known sewing machine splits an embroidery pattern, which is larger in size than the sewing area, into sub patterns which are each smaller than the sewing area, and stores embroidery data corresponding to the sub patterns. The sewing machine sews such an embroidery pattern larger than the sewing area by sequentially sewing the sub patterns in accordance with embroidery data. Every time a sub pattern is embroidered, a user changes a position of the workpiece to be held by the embroidery hoop relative thereto. The sewing machine includes an imaging device to capture images of signs placed on a workpiece before and after changing a position of the workpiece to be held by the embroidery hoop. The sewing machine extracts features from the images of the signs and adjust positions of sub patterns based on the extracted features.
Aspects of the disclosure provide a non-transitory computer-readable medium and a method of generating embroidery data, wherein, when an embroidery pattern larger than a sewing area is split into the sub patterns each smaller than the sewing area, an arrangement of sub patterns relative to sewing areas is set with an enhanced flexibility.
According to a first aspect of the disclosure, a non-transitory computer-readable medium stores computer-readable instructions, when executed by a computer, causing the computer to execute a process. The process includes: obtaining a pattern to be sewn on a workpiece by a sewing machine; obtaining a size of a sewing area to be set inside an embroidery hoop attachable to the sewing machine; setting a virtual arrangement of a plurality of the sewing areas relative to the workpiece; setting a virtual arrangement of the pattern relative to the workpiece; changing a relative position of the sewing areas; and generating embroidery data including needle drop data, the needle drop data representing a plurality of coordinates of needle drop points to form a plurality of stitches for the pattern located in each of the sewing areas in the relative position changed
In a case where an embroidery pattern larger than the sewing area is split into sub patterns each smaller than the sewing area, the computer can change the relative position of the sewing areas when the computer executes a computer-readable instruction stored in the non-transitory computer-readable medium according to the first aspect of the disclosure. The computer has a greater flexibility in setting an arrangement of sub patterns relative to sewing areas than a known apparatus which cannot change a relative position of sewing areas.
According to a second aspect of the disclosure, a method of generating embroidery data includes: obtaining a pattern to be sewn on a workpiece by a sewing machine; obtaining a size of a sewing area to be set inside an embroidery hoop attachable to the sewing machine; setting a virtual arrangement of a plurality of the sewing areas relative to the workpiece; setting a virtual arrangement of the pattern relative to the workpiece; changing a relative position of the sewing areas; and generating embroidery data including needle drop data, the needle drop data representing a plurality of coordinates of needle drop points to form a plurality of stitches for the pattern located in each of the sewing areas in the relative position changed.
The method of generating embroidery data according to the second aspect of the disclosure provides effects similar to those of the non-transitory computer-readable medium according to the first aspect of the disclosure.
An embodiment is described with reference to the accompanying drawings. In the following description, image data to be processed by a computer may be simply referred to as an image. As illustrated in
<1. Physical Structure of Sewing Machine 10 and Embroidery Hoop 45>
As illustrated in
The movement mechanism 40 is configured to move a workpiece C held by an embroidery hoop 45 relative to the needle bar. The movement mechanism 40 includes a body case 41 and a carriage 42. For embroidering, a user attaches the embroidery hoop 45 to the carriage 42. A Y-axis movement mechanism included in the carriage 42 and an X-axis movement mechanism included in the body case 41 move the embroidery hoop 45 to a needle drop point on the XY coordinate system (an embroidery coordinate system) specified in the sewing machine 10. Along with the movement of the embroidery hoop 45, the needle attached to the needle bar and the shuttle mechanism cooperate to form an embroidery pattern on the workpiece C. The movement mechanism 40 is configured to support a selected one of attachable embroidery hoops including the embroidery hoop 45, which are different in size.
<2. Electrical Configuration of Sewing Machine 10>
Referring to
The drive circuit 71 is connected to a machine motor 81. The drive circuit 71 drives the machine motor 81 based on a control signal from the CPU 61. In response to the driven machine motor 81, the needle bar drive mechanism is driven via a shaft of the sewing machine 10 and the needle bar thus moves up and down. The drive circuit 72 is connected to an X-axis motor 83. The drive circuit 73 is connected to a Y-axis motor 84. The drive circuits 72, 73 drive the X-axis motor 83 and the Y-axis motor 84, respectively, based on a control signal from the CPU 61. In response to the driven X-axis motor 83 and Y-axis motor 84, the embroidery hoop 45 attached to the movement mechanism 40 moves in the left-right direction (X-axis direction) and the front-rear direction (Y-axis direction) by a movement corresponding to the control signal. The drive circuit 74 drives the LCD 15 to display an image on the LCD 15 based on a control signal from the CPU 61. The communication interface 67 connects the sewing machine 10 to a network 16. The CPU 61 is capable of sending and receiving data to and from an apparatus connected to the network 16, such as the apparatus 20, through the communication interface 67.
Operation of the sewing machine 10 is described. During embroidering using the embroidery hoop 45, the movement mechanism 40 moves the embroidery hoop 45 in the X-axis direction and the Y-axis direction, and the needle bar drive mechanism and the shuttle mechanism are driven accordingly. Thus, the needle attached to the needle bar is operated to sew an embroidery pattern on a workpiece C held by the embroidery hoop 45.
<3. Electrical Configuration of Device 20>
As illustrated in
<4. Process to be Executed in Sewing Machine 10>
Referring to
In the main process illustrated in
The CPU 61 sets an overlap condition based on the instruction to start the main process (S2). The overlap condition includes a length (width) of an overlap area in an adjacent direction in which two adjacent sewing areas overlap, a position of an overlap range relative to the overlap area, and an overlap amount. For a pattern to be arranged in an area larger than a sewing area on a workpiece C, the CPU 61 of this example virtually sets a contiguous area in which the sewing areas are contiguous with each other such that a particular sewing area of the sewing areas overlaps an adjacent sewing area adjacent to the particular sewing area. The overlap area is an area where a sewing area and its adjacent sewing area overlap when sewing areas are virtually arranged on the workpiece C. The adjacent direction (moving direction) is a direction in which a line passing through the centers of the particular sewing area and the adjacent sewing area extends. The adjacent direction of this example includes directions in which sides of a sewing area extend, that is, the X direction and the Y direction. The overlap range is a range of an overlap of stitches with which a split sub pattern and its adjacent split sub pattern are to be blurredly connected. The overlap amount is a length in an adjacent direction of an overlap of stitches with which a split sub pattern and its adjacent sub pattern are to be blurredly connected. The overlap amount to be set to both split patterns may be set with the same value or a different value according to the moving direction or with an initial value.
The CPU 61 sets a virtual arrangement of sewing areas relative to the workpiece C (S3). The CPU 61 of this example sets a contiguous area based on the overlap condition set at S2. As illustrated in
The CPU 61 fixes a position of a reference area of the sewing areas and displays a relative position of the sewing areas on the LCD 15 (S4). The reference area includes at least one of the sewing areas. The CPU 61 uses, as the reference area, an upper left sewing area, which is at an end in the X direction and the Y direction, of the sewing areas forming the contiguous area. For specific examples 1 and 2, the CPU 61 displays a screen 50 of
The display area 53 displays a contiguous area R1 and first objects X1 and Y1. The first objects X1 and Y1 indicate a relative position of each of the sewing areas. The first object X1 is a rectangular object indicating left ends of the sewing areas R12 and R14 relative to the reference area R11. The first object X1 is located on an imaginary line indicating the left ends of the sewing areas R12 and R14 and above the sewing area R12. The first object Y1 is a rectangular object indicating upper ends of the sewing areas R13 and R14 relative to the reference area R11. The first object Y1 is located on an imaginary line indicating the upper ends of the sewing areas R13 and R14 and closer to the left than the sewing area R12. For specific example 3, as illustrated in
The CPU 61 determines whether the button 51 has been selected, that is, the CPU 61 has received an instruction to set a virtual arrangement of a pattern relative to a workpiece C (S5). For specific example 1, the user selects the button 51, draws objects to be sewn with a predetermined stitch type (e.g., tatami stitch), and then inputs an instruction to set a virtual arrangement of the drawn objects relative to the workpiece C. For specific example 2, the user selects the button 51, imports a pattern from the flash memory 64, and then inputs an instruction to set a virtual arrangement of the pattern relative to the workpiece C. For specific example 3, the user selects the button 51, imports a photograph from the flash memory 64, and coverts data of the photograph into embroidery data, and then inputs an instruction to set a virtual arrangement of patterns based on the converted embroidery data relative to the workpiece C.
If the CPU 61 has received an instruction to set a virtual arrangement of a pattern relative to a workpiece C (S5: YES), the CPU 61 obtains a pattern to be arranged (S6). For specific example 1, the CPU 61 obtains the pattern E. For specific example 2, the CPU 61 obtains the pattern F. For specific example 3, the CPU 61 obtains the pattern G. The CPU 61 sets a virtual arrangement of a pattern relative to the workpiece C (S7). The CPU 61 sets a virtual arrangement of a pattern relative to the workpiece C in accordance with the instruction from the user. The CPU 61 may automatically set a virtual arrangement of a pattern relative to the workpiece C. As illustrated in
The CPU 61 determines whether the CPU 61 has received an instruction to execute an optimization process at the start of the main process (S8). The optimization process is to set a virtual arrangement of sewing areas relative to the workpiece C based on the arrangement of patterns relative to the workpiece C and an optimization condition. The optimization condition of this example is selected from a first condition to minimize the number of splits of a sub pattern included in a pattern and a second condition to minimize the number of thread changes. A sub pattern is a portion of the pattern to be sewn from which it is delimited with cutting of thread. For specific example 3, the CPU 61 does not receive the instruction to execute the optimization process (S8: NO). The CPU 61 executes steps S16 and S17 which will be described later to display a relative position of sewing areas and an arrangement of a pattern relative to the sewing area on the LCD 15. If the CPU 61 has received the instruction to execute the optimization process (S8: YES), the CPU 61 executes the optimization process (S9). The optimization process will be described on the premise that the instruction to execute the optimization process includes the first condition for specific example 1 and the second condition for specific example 2.
In the optimization process illustrated in
The CPU 61 determines an order combination (S32). The order combination is a combination of an order to move first objects set in a contiguous area. For specific examples 1 and 2, two combinations are determined as indicated in a table 49. In a combination where a variable N is 1, the CPU 61 moves the first object X1 in the X direction, and then the first object Y1 in the Y direction. In a combination where the variable N is 2, the CPU 61 moves the first object Y1 in the Y direction, and then the first object X1 in the X direction.
The CPU 61 sets each of variables N and M to 1 (S33). The variable N is used to read a combination in the order combination determined at S32 in sequence. That is, the variable N refers to an Nth combination in the order combination. The variable M is used to read a first object in the Nth combination in sequence. That is, the variable M refers to an Mth first object to be moved in the Nth combination. The CPU 61 obtains the Nth combination in the combination determined at S32 (S34). The CPU 61 obtains a target area corresponding to the Mth first object to be moved of the Nth combination obtained at S34 (S35). The CPU 61 obtains, as a target area, the sewing areas R12 and R14 corresponding to the first object X1 of which moving order is 1 in the first combination. The first object X1 may correspond to one or more sewing areas. The CPU 61 moves the target area obtained at S35 by a specified amount (S36). The specified amount may be set as appropriate. The specified amount is smaller than, for example, an initial value for the width of the overlap area. The CPU 61 moves the sewing area corresponding to the first object relative to the reference area, thus changing a virtual relative position of sewing areas relative to a workpiece C. For specific examples 1 and 2, the CPU 61 moves the sewing areas R12 and R14 obtained at S35 leftward. In this case, the CPU 61 does not change a virtual arrangement of patterns and the sewing area R11, which is a reference area, relative to the workpiece C. The CPU 61 also does not change a virtual arrangement of the sewing area R13, which is not a target area, relative to the workpiece C.
The CPU 61 determines whether, in a case where the target area is moved at S36, the number set in the optimization condition is smaller than its minimum value (S37). When the variable N is 1, an initial value of the minimum value for the number set in the optimization process is a value calculated at S31. For specific example 1, if the first object X1 is moved to a position illustrated in
If the first object X1, which has been moved further in the moving direction by a specified amount, does not reach the position further to the right than the left end of the sewing area R11 (S39: NO), the CPU 61 sets the arrangement of the target area obtained at S35 such that the number set in the optimization process becomes the minimum value (S40). The CPU 61 determines whether the variable M is the last number (S41). If the variable M is not the last number (S41: YES), the CPU 61 increments the variable M by one (S42) and returns to S35. If the variable M is the last number (S41: NO), the CPU 61 obtains the minimum value for the number set in the optimization process in the Nth combination (S43). For the first combination of specific example 1, the number of splits in the arrangement illustrated in
The CPU 61 determines whether the number set in the optimization process obtained at S43 is the minimum value (S44). If the number set in the optimization process obtained at S43 is the minimum value (S44: YES), the CPU 61 stores the number set in the optimization process in the Nth combination and a relative position of sewing areas relative to the workpiece C (S45). If the number set in the optimization process obtained at S43 is not the minimum value (S44: NO), or subsequently to S45, the CPU 61 determines whether there is a next combination (S46). If there is a next combination (S46: YES), the CPU 1 increments the variable N by one (S47) and returns to S34. If there is no more next combination (S46: NO), the CPU 61 sets the arrangement of the combination in which the number set in the optimization process becomes the minimum value at S45 (S48). The CPU 61 virtually sets a relative position of the sewing areas in the adjacent direction according to the number of sub patterns each falling within a corresponding one of the sewing areas. For specific example 1, the arrangement illustrated in
In the main process in
If the CPU 61 has received a move instruction to move the first object Y1 (S10: YES), the CPU 61 specifies one of the sewing areas to be moved as a target area (S11). If one or more of the sewing areas is located downstream of a particular sewing area corresponding to the first object in a moving direction to move the particular sewing area, the CPU 61 specifies, as a target area, the particular sewing area and at least one of the sewing areas located opposite, in the moving direction, to the reference area relative to the particular sewing area. If the CPU 61 has received the move instruction to move the first object Y1, the CPU 61 specifies, as a target area, sewing areas R24 to R26 corresponding to the first object Y1, and sewing areas R27 to R29 located opposite to the sewing area R21 which is a reference range. If the CPU 61 has received a move instruction to move the first object Y2, no sewing areas are located opposite to the sewing area R21 relative to the sewing areas R27 to R29 corresponding to the first object Y2. Thus, the CPU 61 specifies the sewing areas R27 to R29 corresponding to the first object Y2 as a target area.
The CPU 61 moves the target area specified at S11 in the moving direction in response to the move instruction while maintaining intervals between the sewing areas in the moving direction, thereby changing the relative position of the sewing areas (S12). As illustrated in
If the CPU 61 has not received a move instruction to move the first object Y1 or Y2 (S10: NO), the CPU 61 determines whether it has received a move instruction to move the first object X1 or X2 (S13). If the CPU 61 has not received a move instruction to move the first object X1 or X2 (S13: NO), the CPU 61 executes step S18 which will be described later. If the CPU 61 has received a move instruction to move the first object X1 or X2 (S13: YES), as in the case with S11 and S12, the CPU 61 specifies a target area to be moved (S14), and moves the target area by a specified moving amount (S15).
The CPU 61 executes a split process subsequently to step S9, S12, or S15 (S16). In the split process, each of stitches with which a pattern is sewn is associated with any of sewing areas. The split process will be described using specific example 1. In the split process illustrated in
The CPU 61 sets an overlap amount relative to the overlap area defined by the first object X1 obtained at S52 (S54). The CPU 61 sets an overlap amount relative to an overlap area defined by the Nth first object based on an instruction, at the start of the main process, regarding an overlap amount relative to an overlap area. Through steps S53 and S54, the CPU 61 sets an overlap range indicated with a width U2 in the X direction in
The CPU 61 obtains an Mth sub pattern (S58). For specific example 1, for example, the CPU 61 obtains the pattern E1. The CPU 61 obtains a Pth sewing area (S59). For example, the CPU 61 obtains the sewing area R11. The CPU 61 determines whether the sub pattern obtained at S58 is located within the sewing area obtained at S59 (S60). If the sub pattern obtained at S58 is not located within the sewing area obtained at S59 (S60: NO), the CPU 61 executes step S63 which will be described later. The CPU 61 determines that the sub pattern E1 is located within the sewing area R11 based on, for example, a virtual arrangement of the pattern E1 relative to the workpiece C and a virtual arrangement of the sewing area R11 relative to the workpiece C (S60: YES). The CPU 61 determines whether the sub pattern obtained at S58 wholly falls within the sewing area obtained at S59 (S61). The CPU 61 determines that the sub pattern E1 does not wholly fall within the sewing area R11 or is located beyond the sewing area R11, for example, based on a virtual arrangement of the pattern E1 relative to the workpiece C and a virtual arrangement of the sewing area R11 relative to the workpiece C (S61: NO). The CPU 61 determines whether there is a next sewing area (S63).
If there is a next sewing area (S63: YES), the CPU 61 increments the variable P by one (S64) and returns to S59. If the sewing area R12 is obtained (S59), the CPU 61 determines that the pattern E1 is located within the sewing area R12 (S60: YES) and that the pattern E1 wholly falls within the sewing area R12 (S61: YES). In this case, the CPU 61 associates stitches with which the pattern E1 is sewn with the sewing area R12 such that all stitches for the pattern E1 are sewn within the sewing area R12 (S62). Through step S62, none of stitches for the pattern E1 is associated with the sewing area R11 although the pattern E1 is located in the sewing range R11. The CPU 61 determines whether there is a next sub pattern (S65). If there is a next sub pattern (S65: YES), the CPU 61 increments the variable M by one and sets one to the variable P (S66). The CPU 61 returns to S58 and repeats the above steps until it determines that there is no more next sub pattern.
If the pattern E2 is obtained (S58), determinations are made that the pattern E2 is not located in the sewing area R11 or R12 (S60: NO) and that the pattern E2 is in the sewing areas R13 and R14 but wholly does not fall within the sewing area R13 or R14 (S60: YES, S61: NO). In this case, none of stitches for the pattern E2 is associated with any of the sewing areas R11 to R14 at S62. The CPU 61 determines that there is no more next sub pattern (S65: NO), and splits a sub pattern which is not associated with any of the sewing areas at S62, in an overlap area, in a split direction orthogonal to an adjacent direction (S67). For example, the CPU 61 splits the pattern E2 in an overlap range indicated with the width U2 set in the sewing areas R13 and R14 over which the pattern E extends, in the Y direction orthogonal to the X direction. The pattern E2 is split into two patterns E3 and E4. Stitches for the pattern E3 are associated with the sewing area R13 and stitches for the pattern E4 are associated with the sewing area R14. The CPU 61 sets positioning seams (S68). The positioning seams are used to check whether a relative position of actual sewing areas relative to a workpiece C coincides with a virtual position of sewing areas relative to the workpiece C. The positioning seams are set in the same position in each overlap area between a sewing area and its adjacent sewing area. For example, the CPU 61 sets positioning seams D1 and D2 in the sewing areas R12 and R14, respectively, such as to be in the same position in an overlap area therebetween. Setting positioning seams may be eliminated as necessary. The CPU 61 ends the split process and returns to the main process illustrated in
The CPU 61 updates the contents on the LCD 15 (S17). The CPU 61 reflects any of results including a changed relative position of a target sewing area relative to a workpiece C in relation to movement of the first object and association between a sewing area and stitches representing a pattern, which is set at S16. The CPU 61 determines whether the CPU 61 has received an instruction to start sewing (S18). When the button 52 is selected, the CPU 61 determines that the CPU 61 has received an instruction to start sewing. If the CPU 61 has not received the instruction to start sewing (S18: NO), the CPU 61 returns to S5. If the instruction to start sewing has been entered (S18: YES), the CPU 61 generates embroidery data including needle drop data indicating stitch positions in each of sewing areas based on association, which is set at S16, between a sewing area and stitches representing a pattern (S19). Embroidery data which is generated for every sewing area includes needle drop data, a sewing order, and color data. Embroidery data for a particular sewing area includes needle drop data indicating stitches for a portion of a pattern located within the particular sewing area. Stitches outside the particular sewing area is not included in the needle drop data. For specific example 1, the sewing area R12 and stitches for the sub pattern E1 which fall within the sewing area R12 are associated with each other at S16. The CPU 61 generates embroidery data to sew the sub pattern E1 in the sewing area R12 based on the association set at S16, and does not generate embroidery data to sew the sub pattern E1 in the sewing area R11 adjacent to the sewing area R12.
In the split process at S16, it is determined that the sub pattern E2 is located in the sewing range R13, but the sub pattern E2 does not wholly fall within the sewing area R13 or its adjacent sewing area R14. The sub pattern E2 is thus split into the sub patterns E3 and E4 in an overlap area between the sewing areas R13 and R14 in the Y direction. The CPU 61 generates embroidery data to sew, in the sewing area R13, stitches for the sub pattern E3 which fall within the sewing area R13. The CPU 61 generates embroidery data to sew, in the sewing area R14, stitches for the sub pattern E4 which are located beyond the sewing area R13 and wholly fall within the sewing area R14. The CPU 61 generates embroidery data such that the sub patterns E3 and E4 are overlapped and blurredly connected in the X direction. As a method of generating embroidery data where stitches are blurredly connected in an overlap area, a known manner disclosed in, for example, Japanese Laid-Open Patent Publication 2000-024350 may be used. The CPU 61 generates embroidery data by setting an overlap amount between the sub patterns E3 and E4 in their adjacent direction smaller than a length of the overlap area in their adjacent direction. In a case of splitting a sub pattern in an overlap area at S16, the CPU 61 splits, for example, the sub pattern E2 into the sub patterns E3 and E4 based on the position of the overlap range and the overlap amount to generate embroidery data.
The sewing order of each sewing area in embroidery data may be set as appropriate. For specific example 1, the CPU 61 generates embroidery data in which patterns E1, E4, and E3 are to be sewn in this order, as illustrated in
The CPU 61 executes a print data generation process (S20). In the print data generation process, print data for printing a second object indicating a relative position of sewing areas is generated. In the print data generation process illustrated in
The CPU 61 generates print data for printing a second object indicating a relative position of sewing areas (S73). The second object may have any shape to indicate a relative position of the sewing areas. The second object of this example is indicated with double-headed arrows extending in the X direction and the Y direction, and each arrow points a center of a sewing area. The CPU 61 connects centers C1 to C4 of the sewing areas R11 to R14 specified at S72 with second objects Z1 and Z2 extending in the X direction and second objects Z3 and Z4 extending in the Y direction. The CPU 61 sets each of lengths in the X direction of the second objects Z1 and Z2 to a length of a segment connecting centers C1 and C2. The CPU 61 sets each of lengths in the Y direction of the second objects Z3 and Z4 to a length of a segment connecting centers C1 and C3. The second objects Z1 and Z2 may be distinguishable from the second objects Z3 and Z4 by line type, thickness, color, or another element. The CPU 61 outputs the print data generated at S73 as information indicating a relative position of sewing areas (S74). The CPU 61 sends the generated print data via the network 16 to the printer 17. The printer 17 prints the second objects Z1 to Z4 on a printing medium (such as a sheet of paper) in accordance with the received print data. The CPU 61 ends the print data generation process and returns to the main process illustrated in
The user uses the printed printing medium to mark positions for sewing areas to be sewn sequentially on a workpiece C. For example, the user bores holes at points of double arrows of the second objects Z1 to Z4 in the printed printing medium. The user places the printed printing medium on the workpiece C in accordance with a virtual arrangement of sewing areas relative to the workpiece C, and inserts the point of a tailor chalk pen in each of the holes to mark positions of the holes on the workpiece C. The user positions the embroidery hoop 45 on the workpiece C such that, as for the sewing area R12 to be sewn, a segment connecting centers C1 and C2 extends in the X direction and the center C2 becomes a center of the sewing area R12.
The CPU 61 executes a sewing process (S21). In the sewing process, stitches for a pattern is sewn on a workpiece C in accordance with embroidery data generated at S19. As illustrated in
If the embroidery data obtained at S82 includes a sub pattern yet to be sewn (S88: YES), the CPU 61 increments the variable P by one (S89) and returns to S83. If there is no more sub pattern yet to be sewn (S88: NO) and there is embroidery data corresponding to a next sewing area (S91: YES), the CPU 61 increments the variable M by one and sets one to the variable P (S92). If a positioning seam is not sewn (S93: NO), the CPU 61 returns to S82. The CPU 61 may display a message prompting the user to change the position of the embroidery hoop 45 relative to the workpiece C in accordance with a virtual arrangement of a next sewing area relative to the workpiece C. If a positioning seam is sewn (S93: YES), the CPU 61 controls the sewing machine 10 to sew the positioning seam in accordance with the embroidery data (S94). The CPU 61 displays a message prompting the user to change the position of the embroidery hoop 45 relative to the workpiece C in accordance with a virtual arrangement of a next sewing area relative to the workpiece C (S95).
The user changes the position of the embroidery hoop 45 relative to the workpiece C in accordance with the virtual arrangement of the next sewing area relative to the workpiece C, and then presses the start/stop switch 29 to input an instruction to sew a positioning seam. The CPU 61 waits until the CPU 61 receives the instruction to sew the positioning seam (S96: NO). If the CPU 61 has received the instruction to sew the positioning seam (S96: YES), the CPU 61 controls the sewing machine 10 to sew the positioning seam (S97). The user checks whether the positioning seam sewn at S94 and the positioning seam sewn at S97 are located at the same position. If the positioning seam sewn at S94 and the positioning seam sewn at S97 are located at different positions, the user operates, for example, the touch screen 26 to input an instruction to redo sewing of positioning seams. If the CPU 61 has received the redo instruction within a specified time (S98: YES), the CPU 61 returns to S95. The user readjusts the position of the embroidery hoop 45 relative to the workpiece C in accordance with the virtual arrangement of the next sewing area relative to the workpiece C, and then inputs an instruction to redo sewing a positioning seam. If the CPU 61 has not received the redo instruction within a specified time, for example, five minutes (S98: NO), the CPU 61 returns to S82. If there is no more next embroidery data (S91: NO), the CPU 61 ends the sewing process and returns to the main process illustrated in
In the above embodiment, step S6 is an example of a step of obtaining a pattern of the disclosure. Step S1 is an example of a step of obtaining a size of a sewing area of the disclosure. Steps S3 and S48 are an example of a step of setting a virtual arrangement of a plurality of sewing areas of the disclosure. Step S7 is an example of a step of setting a virtual arrangement of the pattern of the disclosure. Steps S12 and S15 are an example of a step of changing of the disclosure. Step S19 is an example of a step of generating embroidery data of the disclosure. Step S2 is an example of a step of setting an overlap amount of the disclosure. Step S17 after step S7 is an example of a step of displaying of the disclosure. Step S17 after step S12 or S15 is an example of a step of updating of the disclosure. Steps S10 and S13 are an example of a step of obtaining an instruction of the disclosure. Step S74 is an example of a step of outputting of the disclosure. Step S73 is an example of a step of generating print data of the disclosure.
According to an embroidery data generation method of the above embodiment, the sewing machine 10 can change a relative position of sewing areas in a case where an embroidery pattern having a size larger than a sewing area is split into sub patterns each having a size smaller than the sewing area. The sewing machine 10 has a greater flexibility in setting an arrangement of sub patterns relative to sewing areas than a known sewing machine which cannot change a relative position of sewing areas. The sewing machine 10 can readily sew based on generated embroidery data.
The sewing machine 10 virtually sets a contiguous area in which the sewing areas are contiguous with each other such that a particular sewing area of the sewing areas overlaps an adjacent sewing area adjacent to the particular sewing area (S3). The sewing machine 10 changes a relative position of each of the sewing areas in an adjacent direction in which a line passing through a center of a sewing area of the sewing areas and a center of another sewing area adjacent to the sewing area extends (S12, S15). The sewing machine 10 can change a relative position of each of the sewing areas in a case where an embroidery pattern larger than a sewing area is split into sub patterns each smaller than the sewing area.
In a case where a pattern to be sewn includes sub patterns delimited with cutting of thread, the sewing machine 10 generates embroidery data to sew, in a particular sewing area, a sub pattern falling within the particular sewing area, and does not generate embroidery data to sew the sub pattern in an adjacent sewing area adjacent to the particular sewing area (S19). The sewing machine 10 splits a sub pattern, which is located in a particular sewing area of the sewing areas but wholly does not fall within the particular sewing area or its adjacent sewing area, in an overlap area in which the particular sewing area and the adjacent sewing area overlap, in a direction orthogonal to an adjacent direction. The sewing machine 10 generates embroidery data to sew, in the particular sewing area, a first split sub pattern which is split from the sub pattern and wholly falls within the particular sewing area, and generates embroidery data to sew, in the adjacent sewing area, a second split sub pattern which is split from the sub pattern and located beyond the particular sewing area and wholly falls within the adjacent sewing area (S19). The sewing machine 10 can prevent splitting of a sub pattern which wholly falls within one of the sewing areas forming a contiguous area, when generating embroidery data. An embroidery pattern is sewn based on the generated embroidery data with a beautiful finish more than an embroidery pattern having sub patterns split from a pattern which wholly falls within a sewing area.
The sewing machine 10 generates embroidery data such that two sub patterns split in an overlap area are blurredly connected with stitches for the sub patterns overlapping in the adjacent direction (S19). When a sub pattern is split, the sewing machine 10 can generate embroidery data having less conspicuous split positions.
The sewing machine 10 generates embroidery data by setting an overlap amount between two split sub patterns in the adjacent direction smaller than a length of the overlap area in the adjacent direction (S19). The sewing machine 10 can generate embroidery data to provide less conspicuous split positions when sewing split sub patterns having a relatively large overlap range.
The sewing machine 10 sets a position of an overlap range relative to an overlap area, and an overlap amount (S2). In a case of splitting a sub pattern in an overlap area, the sewing machine 10 splits the sub pattern into two sub patterns based on the position of the overlap range and the overlap amount set at S2 and then generates embroidery data (S16, S19). The sewing machine 10 can generate embroidery data such that two split sub patterns overlap each other by a specified amount at a specified position in a split area. The sewing machine 10 has a greater flexibility in setting an arrangement of sub patterns relative to sewing areas than a known sewing machine which cannot set an overlap range and an overlap amount. For specific example 3 illustrated in
The sewing machine 10 virtually sets a relative position of the sewing areas in the adjacent direction according to the number of sub patterns each falling within a corresponding one of the sewing areas, the sub patterns being delimited with cutting of thread in a pattern to be sewn (S48). The sewing machine 10 can automatically set the relative position of the sewing areas to sew a pattern with a minimum number of split sub patterns. The sewing machine 10 thus saves the user from having to depend on trial and error methods to set the relative position of the sewing areas to sew a pattern with a minimum number of split sub patterns.
The sewing machine 10 virtually sets a relative position of the sewing areas in the adjacent direction according to the number of thread changes to be executed within each of the sewing areas in accordance with color data of embroidery data (S48). The sewing machine 10 can automatically set the relative position of the sewing areas using the number of thread changes in sewing in accordance with the embroidery data. The sewing machine 10 thus saves the user from having to depend on trial and error methods to set the relative position of the sewing areas in consideration of the number of thread changes in sewing in accordance with the embroidery data. The sewing machine 10 generates embroidery data in terms of the number of thread changes, thus enabling reduction of sewing time.
The sewing machine 10 fixes a position of a reference area of sewing areas on the LCD 15, and displays a relative position of the sewing areas and an arrangement of a pattern relative to the sewing areas on the LCD 15 (S17 after S7). When the relative position of the sewing areas is changed, the sewing machine 10 updates the contents displayed on the LCD 15, which are the relative position of the sewing areas and the arrangement of patterns corresponding to the sewing areas by moving a target area of the sewing areas relative to the reference area (S17 after S12 or S15). The sewing machine 10 can display a relative position of sewing areas and an arrangement of a pattern relative to the sewing areas. This enables the user to check a changed relative position of the sewing areas by looking at the LCD 15.
The sewing machine 10 displays a first object indicating a relative position of each of the sewing areas on the LCD 15 (S4, S17). The sewing machine 10 receives a move instruction to move a first object corresponding to one of the sewing areas (S10, S13). In accordance with the received move instruction, the sewing machine 10 moves sewing areas corresponding to the first object relative to the reference area, and thus changes a relative position of the sewing areas (S12, S15). The sewing machine 10 can change a relative position of sewing areas in accordance with an instruction to move a first object corresponding to any of the sewing areas in an adjacent direction. The user can move a desired one of the sewing areas by a desired amount by inputting a move instruction to move a first object corresponding to the desired one.
If one or more of the sewing areas is located downstream of a particular sewing area corresponding to the first object in a moving direction to move the particular sewing area, the sewing machine 10 moves a target area including the particular sewing area in the moving direction while maintaining intervals between the sewing areas in the moving direction, and thereby changing the relative position of the sewing areas (S12, S15). The CPU 61 specifies, as a target area, the particular sewing area corresponding to the first object and at least one of the sewing areas located opposite, in the moving direction, to the reference area relative to the particular sewing area corresponding to the first object. The sewing machine 10 can move the target area while maintaining intervals between the sewing areas in the adjacent direction. The sewing machine 10 saves the user from having to move a sewing area in accordance with movement of another sewing area.
The sewing machine 10 outputs information indicating a relative position of the sewing areas. Specifically, the sewing machine 10 generates print data for printing a second object indicating a relative position of the sewing areas (S73), and outputs the generated print data (S74). The sewing machine 10 can generate and output print data for printing a second object. The user can use the second object printed by the printer 17 in accordance with the print data to adjust the position of the second object to the relative position of the sewing areas, as a guide for positioning a work piece C to be held by the embroidery hoop 45. The sewing machine 10 can enhance convenience for the user setting the position of the embroidery hoop 45 relative to a workpiece C in association with the relative position of the sewing areas.
While a non-transitory computer-readable medium and an embroidery data generation method according to aspects of the disclosure are described in detail with reference to the specific embodiment thereof, these are merely examples, and various changes, arrangements and modifications may be made therein without departing from the spirit and scope of the disclosure. For example, the following modifications (A) to (C) may be made to the above embodiment.
(A) A non-transitory computer-readable medium may be a removable medium which is readable and writable, such as a magnetic disc, a magneto-optical disc, an optical disc, or a semiconductor memory. A non-transitory computer-readable medium may be a memory not intended to be portable, such as a hard disk drive or solid state drive (SSD) fixedly built in a computer that executes processing. The configuration of the apparatus that executes instructions stored in a non-transitory computer-readable medium may be modified as appropriate. Examples of the sewing machine 10 include an industrial sewing machine and a multi-needle sewing machine, which are capable of embroidering. A part or all of the main process except for sewing process may be executed in the apparatus 20. Configuration of the apparatus 20 may be modified as appropriate. The apparatus 20 may be a dedicated apparatus, or a portable terminal apparatus such as a smartphone or a tablet PC. The apparatus 20 may generate embroidery data based on which the sewing machine 10 may sew a pattern. The sewing machine 10 may eliminate the image sensor 35 and the detector 36.
(B) A program including instructions for the main process (refer to
(C) The steps in the main process (
(C-1) The sewing areas may be identical or different in size and shape. Sewing areas may be virtually arranged relative to a workpiece C as illustrated in
As an example of a virtual arrangement of sewing areas relative to a workpiece C, as illustrated in
(C-2) A pattern may be sewn with a single color thread and embroidery data may eliminate thread data. Embroidery data may be intended for a cross stitch pattern, for example. A method of splitting a sub pattern in an overlap area may be changed as appropriate. Patterns split in an overlap area may not be blurredly connected with stitches and may not overlap each other. At least one of the position of the overlap range and the overlap amount relative to the overlap area may be set with a specified value, set by the user, or rendered unchangeable. A pattern falling within a sewing area may be split in an overlap area. The reference area may be movable. Details of the positioning seams such as shape and position may be changed as necessary. An overlap range and an overlap amount between sewing areas may be changed in response to stitches for blurredly connecting sewing areas which are located along a line orthogonal to a moving direction. More specifically, the overlap range and the overlap amount may be set such that patterns are to be blurredly connected with a minimum amount. At least one of the overlap range and the overlap amount may be set in each of overlap areas on an individual basis.
(C-3) Details of the first and second objects, such as shape, size, color, and position, may be changed as appropriate. A virtual arrangement of sewing areas relative to the workpiece C may be set after a virtual arrangement of a pattern relative to the workpiece C is set. In this case, the CPU 61 may execute the optimization process after setting the virtual arrangement of the pattern relative to the workpiece C, thereby automatically setting a virtual relative position of the sewing areas relative to the workpiece C in accordance with the optimization condition. As the optimization condition, any of the first condition and second condition may be selectable, or another condition may be provided. Example of the other condition may include a minimum number of sewing areas, a minimum sized overlap range in a specified area (e.g., for specific example 3, a portion of the girl's face in
(C-4) A method of inputting a move instruction may be changed as appropriate. For example, the user may drag to select a target area to be moved by a specified amount. Alternatively, the user may input a numeral value to specify a width of an overlap area. The CPU 61 may accept a movement in a specified direction only, such as the X direction or the Y direction. If a pattern is located beyond sewing areas after a target area is moved in accordance with the move instruction, the CPU 61 may display an error message, or add a new sewing area in accordance with a specified condition such that the pattern is in the sewing areas. The movable range of a particular sewing area may be set such that an overlap amount with its adjacent sewing area becomes equal to or greater than a minimum value and the particular sewing area does not overlap a sewing area which located two sewing areas away from the particular sewing area in a specified direction.
(C-5) At S17, setting results at S16 may not be displayed. The split process at S16 may be executed while embroidery data is generated. The display contents may be renewed after the split process (S16) and the embroidery data generation process (S19) are executed (S17). Steps S20 and S21 may be eliminated as necessary. For example, in a case where the main process is executed at the sewing machine 10, the sewing machine 10 may generate and store embroidery data in the flash memory 64 without sewing based on the embroidery data.
Number | Date | Country | Kind |
---|---|---|---|
2018-049673 | Mar 2018 | JP | national |
This is a continuation application of International Application No. PCT/JP2019/008558 filed on Mar. 5, 2019 which claims priority from Japanese Patent Application No. 2018-049673 filed on Mar. 16, 2018. The entire contents of the earlier applications are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2019/008558 | Mar 2019 | US |
Child | 17021270 | US |