This application claims priority to Japanese Patent Application No. 2013-246883 filed Nov. 29, 2013, the content of which is hereby incorporated herein by reference.
The present disclosure relates to a sewing machine that is configured to sew stitches that represent an embroidery pattern.
Sewing machines are known that can easily set positions at which stitches that represent an embroidery pattern are to be sewn on a sewing workpiece that is held by an embroidery frame. For example, a known sewing machine can focus a spot light on a work cloth. The sewing machine can set a position of the spot light (an image focus position) as a position at which stitches that represent an embroidery pattern are to be sewn. More specifically, this sewing machine computes coordinates of the positions of the stitches that represent the embroidery pattern such that a position of a center point matches the image focus position of the spot light. The center point is a point that is computed based on embroidery data that is used to sew the stitches that represent the embroidery pattern.
With the above-described sewing machine, the position of the center point with respect to the embroidery pattern is computed and set based on the embroidery data. Accordingly, the position of the center point cannot be changed to a position that is desired by a user. Therefore, even if the user specifies the image focus position of the spot light on the work cloth, there is a case in which the positions at which the stitches that represent the embroidery pattern are to be sewn are not set to positions desired by the user. In this case, the user needs to adjust the image focus position of the spot light as necessary, such that the stitches that represent the embroidery pattern are set to the desired positions.
Embodiments of the broad principles derived herein provide a sewing machine that can accurately set positions at which stitches that represent an embroidery pattern are to be sewn to positions desired by a user.
Embodiments provide a sewing machine that includes a sewing portion, a display, a processor, and a memory. The sewing portion is configured to perform sewing on a sewing workpiece. The display is configured to display information. The information includes an image. The memory is configured to store computer-readable instruction. The computer-readable instructions, when executed by the processor, cause the sewing machine to perform processes that includes determining a plurality of first positions based on embroidery data, the plurality of first positions indicating a plurality of positions with respect to an embroidery pattern, and the embroidery data identifying positions of a plurality of stitches that represent the embroidery pattern, causing the display to display an image showing the embroidery pattern and a plurality of feature points superimposed on the image, and the plurality of feature points being marks that respectively indicate the determined plurality of first positions, identifying one of the plurality of first positions indicated by one of the plurality of feature points displayed on the display, identifying, as a second position, an arbitrary position on the sewing workpiece, changing the positions of the plurality of stitches identified by the embroidery data, by aligning the identified one of the plurality of first positions with the identified second position, and causing the sewing portion to sew on the sewing workpiece the plurality of stitches that represent the embroidery pattern, based on the changed positions of the plurality of stitches.
Embodiments will be described below in detail with reference to the accompanying drawings in which:
An embodiment will be explained with reference to the drawings.
A configuration of a sewing machine 1 will be explained with reference to
A needle plate (not shown in the drawings) is disposed on the top surface of the bed 11. A feed dog (not shown in the drawings), a feed mechanism 85 (refer to
A known embroidery unit 2 can be mounted on and removed from the bed 11. The embroidery unit 2 is used to sew the embroidery pattern. When the embroidery unit 2 is mounted on the sewing machine 1, the embroidery unit 2 and the sewing machine 1 are electrically connected. The embroidery unit 2 is configured to move a sewing workpiece 5 that is held by an embroidery frame 53. The embroidery unit 2 includes a main body portion 51 and carriage 52.
The carriage 52 is provided above the main body portion 51. The carriage 52 has a substantially rectangular parallelepiped shape that is long in the front-rear direction. The carriage 52 includes a frame holder (not shown in the drawings), a Y axis moving mechanism 88 (refer to
The main body portion 51 internally includes an X axis moving mechanism 87 (refer to
The liquid crystal display (LCD) 15 is provided on the front surface of the pillar 12. An image including various items, such as a command, an illustration, a setting value, a message, etc., may be displayed on the LCD 15. A touch panel 26 is provided on the front surface side of the LCD 15. The touch panel 26 is configured to detect a pressed position. When the user performs a pressing operation on the touch panel 26 using the user's finger or a stylus pen (not shown in the drawings), the pressed position may be detected by the touch panel 26. An item selected on the image may be recognized based on the detected pressed position. Hereinafter, the pressing operation on the touch panel 26 by the user is referred to as a panel operation. By the panel operation, the user may select a pattern that the user desires to sew or may select a command to be executed.
A connector (not shown in the drawings) is provided on a right side surface of the pillar 12. The sewing machine 1 can be connected to an external device via the connector. Examples of the external device include a personal computer (PC), an imaging device, and a mobile terminal.
A cover 16 that can be opened and closed is provided on an upper portion of the arm 13.
A presser mechanism 90 (refer to
In the sewing machine 1, when a stitch is sewn using the embroidery unit 2, the embroidery frame 53 is moved to a needle drop point, which is indicated by an embroidery coordinate system, by the Y axis moving mechanism 88 and the X axis moving mechanism 87. The embroidery coordinate system is a coordinate system that is unique to the sewing machine 1. The embroidery coordinate system is a coordinate system of the X axis motor 82 and the Y axis motor 83, which move the carriage 52. In the present embodiment, the embroidery coordinate system is defined as follows. The left-right direction of the sewing machine 1 is the X direction. The direction from the left to the right is the X axis plus direction. The front-rear direction of the sewing machine 1 is the Y direction. The direction from the front to the rear is the Y axis plus direction. The needle drop point is a point at which the sewing needle 28 that is disposed vertically above a needle hole (not shown in the drawings) pierces the sewing workpiece 5 when the needle bar 29 is moved downward from above the sewing workpiece 5. In conjunction with the movement of the embroidery frame 53, the shuttle mechanism (not shown in the drawings) and the needle bar 29 to which the sewing needle 28 is attached are driven. Thus, stitches that represent a pattern may be sewn on the sewing workpiece 5. The X axis motor 82, the Y axis motor 83, the sewing machine motor 79, and the like are controlled by the CPU 61 (which will be described below), which is built into the sewing machine 1, based on embroidery data, which will be described below. When a normal utility stitch, which is not an embroidery pattern, is sewn, the embroidery unit 2 may be removed from the bed 11. In this state, the sewing may be performed while a sewing workpiece is fed by the feed dog (not shown in the drawings).
A physical configuration of the embroidery frame 53 will be explained with reference to
An electrical configuration of the sewing machine 1 will be explained with reference to
The operation switches 21, the touch panel 26, a detection portion 27, and drive circuits 70 to 76 are electrically connected to the input/output interface 66. The detection portion 27 may detect whether or not the embroidery frame 53 is mounted on the embroidery unit 2. Further, the detection portion 27 may detect the type of the embroidery frame 53 mounted on the embroidery unit 2. The detection portion 27 outputs a detection result to the CPU 61 via the input/output interface 66. The drive circuits 70 to 76 drive the presser motor 89, the sewing machine motor 79, the feed motor 80, the swinging motor 81, the X axis motor 82, the Y axis motor 83, and the LCD 15, respectively.
The embroidery data will be explained taking an embroidery pattern 200 shown in
Hereinafter, the stitch data, the feed data, the suspension data and the end data are collectively referred to as control data. The movement amount that is indicated by the movement amount data included in the stitch data is simply referred to as a movement amount of the stitch data. The movement amount that is indicated by the movement amount data included in the feed data is simply referred to as a movement amount of the feed data.
The position that is used as a reference for the movement amount of the stitch data and the movement amount of the feed data is a position of a center of gravity of a minimum rectangle 201 (refer to
The CPU 61 acquires the plurality of sets of control data included in the embroidery data from the flash ROM 64 in the index order, and performs processing corresponding to the type of each set of the control data. In this manner, the sewing machine 1 can sew the stitches of the pattern 200 on the sewing workpiece 5. For example, when the stitch data is acquired, the CPU 61 drives the X axis motor 82 and the Y axis motor 83 based on the movement amount data included in the stitch data, and moves the embroidery frame 53 using the embroidery unit 2. At the same time, the CPU 61 uses the sewing machine motor 79 to drive the needle bar up-and-down moving mechanism 84, and causes the needle bar 29 to which the sewing needle 28 has been attached to move up and down. In this manner, the sewing machine 1 sews the stitches on the sewing workpiece 5. When the feed data is acquired, the CPU 61 drives the X axis motor 82 and the Y axis motor 83 based on the movement amount data included in the feed data, and moves the embroidery frame 53 using the embroidery unit 2. In the case of the feed data, as described above, the stitches are not sewn on the sewing workpiece 5. Therefore, the CPU 61 stops the driving of the sewing machine motor 79. When the suspension data is acquired, the CPU 61 stops the acquisition of the next control data. In this manner, the CPU 61 stops the driving of the sewing machine motor 79, and also stops the movement of the embroidery frame 53 by the embroidery unit 2. After that, if necessary, the CPU 61 causes the LCD 15 to display a screen that prompts the user to replace the thread spool 20 with the thread spool 20 around which a specified color of sewing thread is wound. The user may replace the thread spool 20, if necessary. The user may perform a panel operation to command the restart of the sewing. When the panel operation is detected, the CPU 61 acquires the next control data and restarts the processing. When the end data is acquired, the CPU 61 ends the sewing.
When the above-described processing is performed based on the embroidery data, the stitches of the pattern 200 are sewn such that the center point 202 (refer to
The main processing will be explained with reference to
As described above, the plurality of sets of embroidery data are stored in the flash ROM 64. The CPU 61 causes the LCD 15 to display a screen on which one of a plurality of embroidery patterns that respectively correspond to the plurality of sets of embroidery data can be selected. The user may perform a panel operation to select a desired one of the embroidery patterns. The CPU 61 detects the panel operation and identifies the selected embroidery pattern (step S3). Hereinafter, a specific explanation will be given using an example in which the pattern 200 (refer to
The extraction processing will be explained with reference to
From among the plurality of sets of control data included in the acquired embroidery data, the CPU 61 selects the control data one set at a time in ascending order of the index (step S25). Based on the type of the selected control data, the CPU 61 determines whether or not the selected control data is the end data (step S27). When it is determined that the selected control data is not the end data (no at step S27), the CPU 61 determines whether or not the selected control data is the suspension data (step S29). When it is determined that the selected control data is the suspension data (yes at step S29), the CPU 61 returns the processing to step S25.
When the CPU 61 determines that the selected control data is not the suspension data (no at step S29), the selected control data is the stitch data or the feed data. Therefore, the selected control data includes the movement amount data. The CPU 61 adds the movement amount in the X direction of the movement amount data included in the selected control data to the variable X, and adds the movement amount in the Y direction to the variable Y. In this manner, the CPU 61 updates the variables X and Y (step S31). The CPU 61 determines whether or not the selected control data is the stitch data (step S33). When it is determined that the selected control data is not the stitch data (no at step S33), the CPU 61 returns the processing to step S25.
When it is determined that the selected control data is the stitch data (yes at step S33), the CPU 61 adds 1 to the variable N and updates the variable N (step S35). The CPU 61 determines whether or not the variable N is 100 (step S37). When it is determined that the variable N is not 100 (no at step S37), the CPU 61 returns the processing to step S25. When it is determined that the variable N is 100 (yes at step S37), the CPU 61 stores, in the table, the coordinates (X, Y) that are indicated by the variables X and Y, as one of the plurality of first positions, and thus updates the table (step S39). In other words, the coordinates (X, Y) that are stored in the table are each an accumulated value of movement amounts of the stitch data for which the variable N is 1 to 100 and movement amounts of the feed data up to the data immediately preceding the stitch data for which the variable N is 100. Next, the CPU 61 sets the variable N to 0 and thus initializes the variable N (step S41), and returns the processing to step S25. When it is determined that the selected control data is the end data (yes at step S27), the CPU 61 ends the extraction processing and returns the processing to the main processing (refer to
In the above description, the explanation is given using the example in which the extraction processing is performed based on the embroidery data that includes the stitch data and the feed data. In contrast to this, for example, when the extraction processing is performed based on the embroidery data that includes the stitch data and does not include the feed data, the coordinates (X, Y) that are stored in the table at step S39 are each an accumulated value of the movement amounts of the stitch data for which the variable N is 1 to 100.
As shown in
Using the embroidery coordinate system, the CPU 61 identifies positions of a plurality of pixels that form the image that shows the pattern 200 displayed on the LCD 15, based on the embroidery data corresponding to the pattern 200. The CPU 61 identifies the plurality of first positions based on the table stored in the RAM 63. The CPU 61 superimposes a plurality of feature points 206 (refer to
The image that shows the pattern 200 and the plurality of feature points 206 will be explained with reference to
The design of each of the plurality of feature points 206 is not limited to the above-described example, and may be another design that can be distinguished from the image that shows the pattern 200. For example, each of the plurality of feature points 206 may include a first line segment that is inclined at 45 degrees with respect to the X direction, and a second line segment that is orthogonal to the first line segment. Further, for example, each of the plurality of feature points 206 may be a design of a circle or a polygon.
As shown in
The operation to select one of the plurality of feature points 206 displayed on the LCD 15 is not limited to the above-described method. For example, a cursor may be superimposed on one of the plurality of feature points 206 and displayed on the LCD 15. Further, direction keys to change the position of the cursor and a decision key may be displayed on the LCD 15. In this case, the user may use the direction keys to move the cursor and to superimpose the cursor on one of the plurality of feature points 206. Then, the user may select one of the plurality of feature points 206 by touching a position that corresponds to the decision key on the touch panel 26.
When the panel operation to select one of the plurality of feature points 206 is detected, next, the CPU 61 causes the LCD 15 to display direction keys to move the embroidery frame 53 and a decision key. By using the direction keys and the decision key, the user may specify, for the sewing machine 1, a position on the sewing workpiece 5 at which the stitches of the pattern 200 are to be sewn. Specifically, this is performed as follows. The user may move the embroidery frame 53 by touching a position that corresponds to the direction key on the touch panel 26. Thus, the user may arrange the position on the sewing workpiece 5 at which the stitches of the pattern 200 are to be sewn, at a position that is vertically below the sewing needle 28 attached to the lower end of the needle bar 29. By touching the position that corresponds to the decision key on the touch panel 26, the user may ascertain the position on the sewing workpiece 5 at which the stitches of the pattern 200 are to be sewn.
When the panel operation on the direction keys is detected, the CPU 61 drives the X axis motor 82 and the Y axis motor 83 in accordance with the detected panel operation, and moves the embroidery frame 53 using the embroidery unit 2. The CPU 61 determines whether or not the panel operation on the decision key is detected (step S11). When it is determined that the panel operation on the decision key is not detected (no at step S11), the CPU 61 returns the processing to step S11. When it is determined that the panel operation on the decision key is detected (yes at step S11), the CPU 61 identifies the movement amount in the X direction and the movement amount in the Y direction from the initial position of the embroidery frame 53, based on drive amounts of the X axis motor 82 and the Y axis motor 83 that are driven in accordance with the panel operation on the direction keys. The CPU 61 identifies the identified movement amount in the X direction and the identified movement amount in the Y direction, as the coordinates that indicate the position of the sewing workpiece 5 specified by the user, namely, as the coordinates that indicate the second position, and stores the coordinates in the RAM 63 (step S12). The CPU 61 advances the processing to step S13.
The operation to specify, for the sewing machine 1, the position on the sewing workpiece 5 at which the stitches of the pattern 200 are to be sewn is not limited to the above-described method. For example, the user may use a known laser pointer to irradiate a laser beam onto the position on the sewing workpiece 5 at which the stitches of the pattern 200 are to be sewn. In this case, for example, the CPU 61 may perform image processing based on an image of the sewing workpiece 5 captured by a camera (not shown in the drawings), and thus may identify the position of the sewing workpiece 5 onto which the laser beam has been irradiated. The CPU 61 may identify, as the origin, the position vertically below the sewing needle 28 attached to the lower end of the needle bar 29, in other words, the position of the center point 46 of the sewing workpiece 5 held by the embroidery frame 53 arranged at the initial position. The CPU 61 may identify, as the second position, the position onto which the laser beam is irradiated with respect to the origin.
For example, the user may attach a predetermined marker to the position of the sewing workpiece 5 at which the stitches of the pattern 200 are to be sewn. In this case, for example, the CPU 61 may perform image processing based on the image of the sewing workpiece 5 captured by the camera. The CPU 61 may use the image processing to identify the position of the sewing workpiece 5 to which the predetermined marker has been attached. The CPU 61 may identify, as the second position, the position to which the predetermined marker has been attached with respect to the origin.
For example, the user may use an ultrasonic pen that can output an ultrasonic wave. Specifically, this is performed as follows. The ultrasonic pen is configured to output an ultrasonic wave when its leading end is pressed. The user may use the leading end of the ultrasonic pen to press the position on the sewing workpiece 5 at which the stitches of the pattern 200 are to be sewn. The ultrasonic pen outputs an ultrasonic wave. Ultrasonic sensors (not shown in the drawings) can detect the ultrasonic wave. The CPU 61 acquires, from each of the ultrasonic sensors, a timing at which the ultrasonic wave is detected. Based on the timing at which the ultrasonic wave is acquired from each of the ultrasonic sensors, the CPU 61 identifies the position on the sewing workpiece 5 pressed by the leading end of the ultrasonic pen. The CPU 61 may identify, as the second position, the position pressed by the leading end of the ultrasonic pen with respect to the origin.
Based on the first position identified at step S10 and the second position identified at step S12, the CPU 61 changes the embroidery data that corresponds to the pattern 200 selected at step S3, and creates second changed data (step S13). Specifically, this is performed as follows. The embroidery data corresponding to the pattern 200 selected at step S3 is data to sew the stitches of the pattern 200 such that the center point 202 of the pattern 200 matches the center point 46 of the sewing workpiece 5. First, the CPU 61 subtracts the X coordinate of the first position from the movement amount in the X direction of the stitch data or the feed data for which the index is smallest among the plurality of sets of control data included in the embroidery data. Further, the CPU 61 subtracts the Y coordinate of the first position from the movement amount in the Y direction of the stitch data or the feed data for which the index is smallest. Thus, the embroidery data is changed to data to sew the stitches of the pattern 200 such that the first position matches the center point 46 of the sewing workpiece 5. Hereinafter, the data to sew the stitches of the pattern 200 such that the first position matches the center point 46 of the sewing workpiece 5 is referred to as first changed data.
Next, the CPU 61 subtracts the X coordinate of the second position from the movement amount in the X direction of the stitch data or the feed data for which the index is smallest among the plurality of sets of control data included in the first changed data. Further, the CPU 61 subtracts the Y coordinate of the second position from the movement amount in the Y direction of the stitch data or the feed data for which the index is smallest. Thus, the first changed data is changed to data to sew the stitches of the pattern 200 such that the first position matches the second position. Hereinafter, the data to sew the stitches of the pattern 200 such that the first position matches the second position is referred to as the second changed data. The CPU 61 stores the created second changed data in the RAM 63.
The CPU 61 acquires the plurality of sets of control data included in the second changed data stored in the RAM 63, in the index order, and performs processing corresponding to the type of each set of the control data. Thus, the stitches of the pattern 200 are sewn on the sewing workpiece 5 (step S15). When the CPU 61 acquires the end data, all the stitches that represent the embroidery pattern have been sewn. Therefore, the CPU 61 ends the main processing.
As explained above, the CPU 61 of the sewing machine 1 extracts the plurality of first positions that are a plurality of positions with respect to the pattern 200, based on the embroidery data (step S5). From among the plurality of feature points 206, which are marks arranged at the extracted plurality of first positions, the CPU 61 detects the feature point 206 selected by the user (yes at step S9). The CPU 61 identifies the first position that corresponds to the feature point 206 (step S10). When the panel operation to move the embroidery frame 53 is performed by the user (yes at step S11), the CPU 61 identifies the second position based on the movement amount in the X direction and the movement amount in the Y direction with respect to the initial position of the embroidery frame 53 (step S12). By changing the embroidery data, the CPU 61 creates the second changed data to sew the stitches of the pattern 200 such that the first position matches the second position (step S13). The CPU 61 performs the processing based on the created second changed data, and thus sews the stitches of the pattern 200 on the sewing workpiece 5 (step S15).
In this manner, the user may specify, for the sewing machine 1, one of the plurality of feature points 206 and a desired position on the sewing workpiece 5. It is thus possible to cause the sewing machine 1 to sew the stitches of the pattern 200 such that the position of the selected feature point 206 matches the desired position on the sewing workpiece 5. In addition to the desired position (the second position) on the sewing workpiece 5, the user may specify a particular position (the first position) with respect to the pattern 200. Thus, the positions of the stitches of the pattern 200 to be sewn on the sewing workpiece 5 can be specified in detail for the sewing machine 1. The sewing machine 1 can accurately set the positions of the stitches of the pattern 200 to the positions on the sewing workpiece 5 desired by the user, and can sew the stitches.
The CPU 61 identifies positions of the stitches to be sewn based on 100n-th stitch data (where n is an integer greater than 1), among the plurality of sets of control data that are arranged in the sewing order. The CPU 61 stores the identified positions in the table as the plurality of first positions (step S39). The CPU 61 superimposes, on the pattern 200, marks that are respectively arranged at the plurality of first positions stored in the table, and displays the marks on the LCD 15 as the plurality of feature points 206 (step S7). The user may select one of the plurality of feature points 206. The CPU 61 can set, as the plurality of first positions, the positions of the stitches to be sewn based on a plurality of sets the stitch data that are selected for each predetermined number of stitches in the sewing order, from among all the stitch data. Therefore, the CPU 61 can uniformly disperse and arrange the plurality of first positions with respect to the pattern 200.
The CPU 61 causes the LCD 15 to display the image that shows the pattern 200 and the plurality of feature points 206, and allows the user to select one of the plurality of feature points 206. The user may select one of the plurality of feature points 206, and thus may specify a particular position with respect to the pattern 200 for the sewing machine 1. Therefore, the CPU 61 can improve convenience when the user specifies the particular position with respect to the pattern 200 for the sewing machine 1.
When the CPU 61 performs the extraction processing (step S5), the CPU 61 extracts the plurality of first positions based on the plurality of sets of control data included in the embroidery data. When the CPU 61 extracts the plurality of first positions, the CPU 61 does not need to use data other than the plurality of sets of control data. Therefore, the CPU 61 can easily extract the plurality of first positions.
The CPU 61 can cause the LCD 15 to display the plurality of feature points 206 in a form in which the plurality of feature points 206 can be distinguished from the image that shows the pattern 200 (step S7). Therefore, the user can appropriately recognize the plurality of feature points 206 displayed on the LCD 15 by distinguishing the plurality of feature points 206 from the image that shows the pattern 200. Thus, the user can appropriately select a desired one of the feature points 206. The CPU 61 represents each of the plurality of feature points 206 using the first line segment 206A and the second line segment 206B, which are arranged orthogonally to each other. The coordinates indicating each of the plurality of first positions that correspond to the plurality of feature points 206 are shown by the intersection point between the first line segment 206A and the second line segment 206B. Therefore, the user can accurately recognize the positions of the plurality of feature points 206 displayed on the LCD 15.
Various modifications can be made to the above-described embodiment. The structure of the sewing machine 1 may be changed as appropriate. A multi-needle sewing machine may be used. A sewing machine that is structured integrally with an embroidery unit may be used. Any sewing workpiece may be used as long as a stitch can be sewn thereon. The format of the embroidery data is not limited to that of the above-described embodiment. For example, the stitch data may include an absolute position of a needle drop position in the embroidery coordinate system. For example, the feed data may include an absolute position, in the embroidery coordinate system, of the position to which the embroidery frame 53 is to be moved. The threshold value that is compared with the value of the variable N at step S37 of the above-described extraction processing (refer to
When the absolute position of the needle drop position in the embroidery coordinate system is included in the stitch data, the CPU 61 may extract the plurality of first positions based only on the stitch data in the extraction processing.
The extraction processing (refer to
The first modified example of the extraction processing will be explained with reference to
First, the CPU 61 initializes the variables X, Y, Xb, and Yb (step S51). Specifically, the CPU 61 sets the variable X to the X coordinate Xi (=0) of the origin, sets the variable Y to the Y coordinate Yi (=0) of the origin, and sets the variables Xb and Yb to 0. Next, the CPU 61 reads and acquires the embroidery data from the flash ROM 64 (step S53). From among the plurality of sets of control data included in the acquired embroidery data, the CPU 61 selects the control data one set at a time in ascending order of the index (step S55). The CPU 61 determines whether or not the selected control data is the end data (step S57). When it is determined that the selected control data is not the end data (no at step S57), the CPU 61 determines whether or not the selected control data is the suspension data (step S59). When it is determined that the selected control data is the suspension data (yes at step S59), the CPU 61 returns the processing to step S55.
When the CPU 61 determines that the selected control data is not the suspension data (no at step S59), the selected control data is the stitch data or the feed data. Therefore, the selected control data includes the movement amount data. The CPU 61 adds the movement amount in the X direction of the movement amount data included in the selected control data to the variable X, and adds the movement amount in the Y direction to the variable Y. Further, the CPU 61 sets the movement amount in the X direction as the variable Xb, and sets the movement amount in the Y direction as the variable Yb. In this manner, the CPU 61 updates the variables X, Y, Xb, and Yb (step S61). The CPU 61 determines whether or not the selected control data is the stitch data (step S63). When the CPU 61 determines that the selected control data is the stitch data (yes at step S63), the CPU 61 returns the processing to step S55.
When the CPU 61 determines that the selected control data is not the stitch data (no at step S63), the selected control data is the feed data. The CPU 61 determines whether or not at least one of the variable Xb and the variable Yb is more than 5 cm (step S65). In other words, the CPU 61 determines whether or not the movement amount of the embroidery frame 53 moved based on the feed data is more than 5 cm. When it is determined that at least one of the variable Xb and the variable Yb is larger than 5 cm (yes at step S65), the CPU 61 stores, in the table, the coordinates (X, Y) that are indicated by the variables X and Y, as one of the plurality of first positions, and thus updates the table (step S67). In other words, the coordinates (X, Y) that are stored in the table are each an accumulated value of movement amounts of the plurality of sets of stitch data up to the data immediately preceding the selected feed data, a movement amount of the selected feed data, and movement amounts of the feed data up to the data immediately preceding the selected feed data. Next, the CPU 61 sets each of the variables Xb and Yb to 0 and thus initializes the variables Xb and Yb (step S69). The CPU 61 returns the processing to step S55. When it is determined that the variable Xb is equal to or less than 5 cm and the variable Yb is equal to or less than 5 cm (no at step S65), the CPU 61 sets each of the variables Xb and Yb to 0 and thus initializes the variables Xb and Yb (step S69), and returns the processing to step S55. When the processing returns to step S55 from the processing at one of step S59 and step S69, the CPU 61 selects the control data of the next index and performs the processing in the same manner as described above.
When it is determined that the selected control data is the end data (yes at step S57), the CPU 61 ends the extraction processing and returns the processing to the main processing (refer to
The processing at step S65 of the above-described extraction processing can be changed. For example, the CPU 61 may add the square of the variable Xb and the square of the variable Yb, and may calculate the square root of the added result. When the calculated square root is more than a predetermined value (5 cm, for example), the CPU 61 may update the table by storing, in the table, the coordinates (X, Y) that are indicated by the variables X and Y, as one of the plurality of first positions.
The threshold value that is compared with the values of the variables Xb and Yb in the processing at step S65 maybe a value other than 5 cm. The CPU 61 may use a length that is input by a panel operation by the user, as the threshold value that is compared with the values of the variables Xb and Yb.
In the above-described extraction processing, the CPU 61 extracts the positions of the stitches for the stitch data that immediately follow the feed data, as the plurality of first positions. However, the CPU 61 may extract the positions of the stitches for the stitch data immediately preceding (immediately preceding positions of) the feed data, as the plurality of first positions.
When the absolute position of the needle drop position in the embroidery coordinate system is included in the feed data, the CPU 61 may extract the plurality of first positions based only on the feed data in the extraction processing.
The second modified example of the extraction processing will be explained with reference to
First, the CPU 61 initializes the variables X and Y (step S81). Specifically, the CPU 61 sets the variable X to the X coordinate Xi (=0) of the origin, and sets the variable Y to the Y coordinate Yi (=0) of the origin. Next, the CPU 61 reads and acquires the embroidery data from the flash ROM 64 (step S83). From among the plurality of sets of control data included in the acquired embroidery data, the CPU 61 selects the control data one set at a time in ascending order of the index (step S85). The CPU 61 determines whether or not the selected control data is the end data (step S87). When it is determined that the selected control data is not the end data (no at step S87), the CPU 61 determines whether or not the selected control data is the suspension data (step S89). When it is determined that the selected control data is the suspension data (yes at step S89), the CPU 61 stores, in the table, the coordinates (X, Y) that are indicated by the variables X and Y, as one of the plurality of first positions, and thus updates the table (step S91). The CPU 61 returns the processing to step S85. On the other hand, when the selected control data is not the suspension data, the selected control data is the stitch data or the feed data. In this case, the selected control data includes the movement amount data. When it is determined that the selected control data is not the suspension data (no at step S89), the CPU 61 adds the movement amount in the X direction to the variable X and adds the movement amount in the Y direction to the variable Y, based on the movement amount data included in the selected control data. In this manner, the CPU 61 updates the variables X and Y (step S93). The CPU 61 returns the processing to step S85.
When it is determined that the selected control data is the end data (yes at step S87), the CPU 61 stores, in the table, the coordinates (X, Y) that are indicated by the variables X and Y, as one of the plurality of first positions, and thus updates the table (step S88). The CPU 61 ends the extraction processing and returns the processing to the main processing (refer to
As described above, in the second modified example, the CPU 61 stores, in the table, the coordinates that are respectively indicated by the accumulated value of the movement amounts in the X direction and the accumulated value of the movement amounts in the Y direction, up to the suspension data among the plurality of sets of control data arranged in the sewing order, as one of the plurality of first positions (step S91). The suspension data is data to prompt the user to change the sewing thread used to sew stitches. Therefore, the CPU 61 can extract the plurality of first positions for each of colors of sewing threads that are used to sew the stitches of the pattern 200. The CPU 61 can set, as the plurality of first positions, end positions when the stitches are sewn using each of the plurality of sewing threads.
When it is determined that the selected control data is the end data (yes at step S87), the CPU 61 stores, in the table, the coordinates (X, Y) that are indicated by the variables X and Y, as one of the plurality of first positions, and thus updates the table (step S88). In this manner, the CPU 61 can appropriately store, in the table, the first position that corresponds to the color of the sewing thread that is used when the last stitch is sewn. Therefore, the CPU 61 can appropriately extract the plurality of first positions that correspond to the respective colors of the plurality of sewing threads, without omission.
The third modified example of the extraction processing will be explained with reference to
An example of the embroidery data to sew stitches that represent the pattern 210 will be explained with reference to
The CPU 61 acquires the plurality of sets of control data included in the embroidery data from the flash ROM 64 in the index order, and performs processing corresponding to the type of each set of the control data. In this manner, the sewing machine 1 sews the stitches of the pattern 210 on the sewing workpiece 5. For example, when the block data is acquired, the CPU 61 identifies the shape of the quadrilateral-shaped block, based on the coordinate data of the four vertices included in the block data. The CPU 61 drives the X axis motor 82 and the Y axis motor 83, and moves the embroidery frame 53 using the embroidery unit 2. At the same time, the CPU 61 uses the sewing machine motor 79 to drive the needle bar up-and-down moving mechanism 84, and causes the needle bar 29 to which the sewing needle 28 is attached to move up and down. Thus, the sewing machine 1 performs sewing on the sewing workpiece 5 clamped in the embroidery frame 53, such that the inside of the block is filled with stitches. The processing that performs sewing such that the inside of the block is filled with stitches is a known technique, and a detailed explanation thereof is therefore omitted here.
When the above-described processing is performed based on the embroidery data, the stitches of the pattern 210 are sewn such that the center point 215 (refer to
The extraction processing in the third modified example will be explained with reference to
First, the CPU 61 reads and acquires the embroidery data from the flash ROM 64 (step S71). From among the plurality of sets of control data included in the acquired embroidery data, the CPU 61 selects the control data one set at a time in ascending order of the index (step S73). The CPU 61 determines whether or not the selected control data is the end data (step S75). When it is determined that the selected control data is not the end data (no at step S75), the CPU 61 determines whether or not the selected control data is the suspension data (step S77). When it is determined that the selected control data is the suspension data (yes at step S77), the CPU 61 returns the processing to step S73. When the selected control data is not the suspension data, the selected control data is the block data. Therefore, the selected control data includes the four sets of vertex data. When it is determined that the selected control data is not the suspension data (no at step S77), the CPU 61 stores, in the table, the coordinates that are indicated by each of the four sets of vertex data included in the block data, as the plurality of first positions, and thus updates the table (step S79). The CPU 61 returns the processing to step S73. When it is determined that the selected control data is the end data (yes at step S75), the CPU 61 ends the extraction processing and returns the processing to the main processing (refer to
As described above, in the third modified example, the CPU 61 stores, in the table, the coordinates that are indicated by the four sets of vertex data included in the block data, as the plurality of first positions (step S79). In this case, the CPU 61 can extract four of the first positions, for each of the blocks 211, 212, and 213 that form the pattern 210.
The CPU 61 may select at least one of the four sets of vertex data. Then, the CPU 61 may store, in the table, the coordinates that are indicated by the selected vertex data, as one of the plurality of first positions.
The modified example of the main processing will be explained with reference to
The CPU 61 determines whether or not a panel operation that is performed for the first time to select one of the plurality of feature points 206 displayed on the LCD 15 has been detected (step S101). When the CPU 61 determines that the panel operation to select one of the plurality of feature points 206 is not detected (no at step S101), the CPU 61 returns the processing to step S101. When the CPU 61 determines that the panel operation that is performed for the first time to select one of the plurality of feature points 206 is detected (yes at step S101), the CPU 61 identifies the coordinates indicating the first position that corresponds to the selected feature point 206, and stores the coordinates in the RAM 63 (step S102). The CPU 61 determines whether or not the panel operation that is performed for the second time to select one of the plurality of feature points 206 displayed on the LCD 15 is detected (step S103). When the CPU 61 determines that the panel operation to select one of the plurality of feature points 206 is not detected (no at step S103), the CPU 61 returns the processing to step S103. When the CPU 61 determines that the panel operation that is performed for the second time to select one of the plurality of feature points 206 is detected (yes at step S103), the CPU 61 identifies the coordinates indicating the first position that corresponds to the selected feature point 206, and stores the coordinates in the RAM 63 (step S104).
The CPU 61 causes the LCD 15 to display the direction keys and the decision key that are used to move the embroidery frame 53. The user may move the embroidery frame 53 by touching a position that corresponds to the direction key on the touch panel 26. Thus, the user may arrange the position on the sewing workpiece 5 at which the stitches of the pattern 200 are to be sewn, at a position that is vertically below the sewing needle 28 attached to the lower end of the needle bar 29. By touching the position that corresponds to the decision key on the touch panel 26, the user may ascertain the position on the sewing workpiece 5 at which the stitches of the pattern 200 are to be sewn.
When the panel operation on the direction keys is detected, the CPU 61 drives the X axis motor 82 and the Y axis motor 83 in accordance with the detected panel operation, and moves the embroidery frame 53 using the embroidery unit 2. The CPU 61 determines whether or not a panel operation that is performed for the first time on the decision key has been detected via the touch panel 26 (step S105). When it is determined that the panel operation on the decision key is not detected (no at step S105), the CPU 61 returns the processing to step S105. When it is determined that the panel operation that is performed for the first time on the decision key is detected (yes at step S105), the CPU 61 identifies the movement amount in the X direction and the movement amount in the Y direction from the initial position of the embroidery frame 53, based on drive amounts of the X axis motor 82 and the Y axis motor 83 that are driven in accordance with the panel operation on the direction key. The CPU 61 identifies the identified movement amount in the X direction and the identified movement amount in the Y direction, as the coordinates that indicate the second position, and stores the coordinates in the RAM 63 (step S106).
When the CPU 61 detects a panel operation on the direction key after it is determined that the panel operation that is performed for the first time on the decision key is detected, the CPU 61 drives the X axis motor 82 and the Y axis motor 83 in accordance with the panel operation, and continues to move the embroidery frame 53 using the embroidery unit 2. The CPU 61 determines whether or not a panel operation that is performed for the second time on the decision key is detected (step S107). When it is determined that the panel operation on the decision key is not detected (no at step S107), the CPU 61 returns the processing to step S107. When the CPU 61 determines that the panel operation that is performed for the second time on the decision key is detected (yes at step S107), the CPU 61 identifies the movement amount in the X direction and the movement amount in the Y direction from the initial position of the embroidery frame 53, based on drive amounts of the X axis motor 82 and the Y axis motor 83 that are driven in accordance with the panel operation on the direction key. The CPU 61 identifies the identified movement amount in the X direction and the identified movement amount in the Y direction, as the coordinates that indicate the second position, and stores the coordinates in the RAM 63 (step S108). Hereinafter, the first position that is identified for the first time is referred to as a first starting position. The first position that is identified for the second time is referred to as a first ending position. The second position that is identified for the first time is referred to as a second starting position. The second position that is identified for the second time is referred to as a second ending position.
The CPU 61 changes the embroidery data that corresponds to the pattern 200 identified at step S3, based on the first starting position, the first ending position, the second starting position, and the second ending position that are stored in the RAM 63, and creates sixth changed data, which will be described below (step S13). The CPU 61 stores the created sixth changed data in the RAM 63.
Specifically, this is performed as follows. First, the CPU 61 divides the length of a line segment that connects the second starting position and the second ending position by the length of a line segment that connects the first starting position and the first ending position. Thus, the CPU 61 calculates a ratio of the length of the line segment that connects the second starting position and the second ending position with respect to the length of the line segment that connects the first starting position and the first ending position. Next, the CPU 61 calculates an angle when the direction from the first starting position toward the first ending position is rotated to be aligned with the direction from the second starting position toward the second ending position.
Next, the CPU 61 changes the embroidery data to sew the stitches of the pattern 200 to data to sew stitches that represent a pattern obtained by enlarging or contracting the pattern 200 at the calculated ratio. Hereinafter, the pattern 200 that has been enlarged or contracted by the calculated ratio is referred to as a first changed pattern. The data to sew the first changed pattern is referred to as third changed data. Next, the CPU 61 changes the third changed data to data to sew stitches that represent a pattern obtained by rotating the first changed pattern by the calculated angle. Note that the center at the time of rotation is a center point of the first changed pattern. Hereinafter, the first changed pattern that has been rotated by the calculated angle is referred to as a second changed pattern. The data to sew the second changed pattern is referred to as fourth changed data. The fourth changed data is data to sew the second changed pattern such that the center point of the second changed pattern matches the center point 46 of the sewing workpiece 5.
Next, the CPU 61 subtracts the X coordinate of the first starting position from the movement amount in the X direction of the stitch data or the feed data for which the index is smallest among the plurality of sets of control data included in the fourth changed data. Further, the CPU 61 subtracts the Y coordinate of the first starting position from the movement amount in the Y direction of the stitch data or the feed data for which the index is smallest among the plurality of sets of control data included in the fourth changed data. Thus, the fourth changed data is changed to data to sew the second changed pattern such that the first starting position matches the center point 46 of the sewing workpiece 5. Hereinafter, the data to sew the second changed pattern such that the first starting position matches the center point 46 of the sewing workpiece 5 is referred to as fifth changed data.
Next, the CPU 61 subtracts the X coordinate of the second starting position from the movement amount in the X direction of the stitch data or the feed data for which the index is smallest among the plurality of sets of control data included in the fifth changed data. Further, the CPU 61 subtracts the Y coordinate of the second starting position from the movement amount in the Y direction of the stitch data or the feed data for which the index is smallest among the plurality of sets of control data included in the fifth changed data. Thus, the fifth changed data is changed to data to sew stitches that represent the second changed pattern such that the first starting position matches the second starting position. Hereinafter, the data to sew the stitches that represent the second changed pattern such that the first starting position matches the second starting position is referred to as the sixth changed data. The CPU 61 stores the created sixth changed data in the RAM 63.
The second changed pattern is a pattern obtained by enlarging or contracting the pattern 200 at the ratio of the length of the line segment that connects the second starting position and the second ending position with respect to the length of the line segment that connects the first starting position and the first ending position. Further, the second changed pattern is a pattern obtained by rotating the pattern 200 by the angle when the direction from the first starting position toward the first ending position is rotated to be aligned with the direction from the second starting position toward the second ending position. Therefore, when the stitches that represent the second changed pattern are sewn such that the first starting position matches the second starting position, the first ending position corresponding to the changed second changed pattern matches the second ending position. As described above, in order to match the first starting position with the second starting position and to match the first ending position with the second ending position, at step S13, the CPU 61 changes the length between the first starting position and the first ending position that correspond to the pattern 200, and the direction from the first starting position toward the first ending position, and thus creates the sixth changed data.
The CPU 61 acquires the plurality of sets of control data included in the sixth changed data stored in the RAM 63, in the index order, and performs processing corresponding to the type of each set of the control data. Thus, the stitches representing the second changed pattern are sewn on the sewing workpiece 5 (step S15). When the CPU 61 acquires the end data, the stitches representing the embroidery pattern have all been sewn. Therefore, the CPU 61 ends the main processing.
As explained above, the CPU 61 identifies, as the first starting position and the first ending position, the positions of the two feature points selected by the user from among the plurality of feature points 206 (step S102, step S104). The CPU 61 identifies, as the second starting position and the second ending position, different two points on the sewing workpiece 5 selected by the user (step S106, step S108). In order to match the first starting position with the second starting position and to match the first ending position with the second ending position, the CPU 61 changes the length between the first starting position and the first ending position, and the direction from the first starting position toward the first ending position. The CPU 61 creates the sixth changed data by changing the embroidery data to sew the stitches of the pattern 200 in this manner (step S13). When the CPU 61 performs processing based on the sixth changed data, the stitches that represent the pattern obtained by enlarging or contracting and rotating the pattern 200 are sewn on the sewing workpiece 5. Therefore, the user can cause the sewing machine 1 to sew the stitches of the pattern 200 that has been enlarged or contracted and rotated, at desired positions of the sewing workpiece 5. Further, the user can easily perform an operation that causes the sewing machine 1 to sew the stitches of the pattern 200 that has been enlarged or contracted and rotated.
In the above-described embodiment, when the first starting position, the first ending position, the second starting position, and the second ending position are acquired, the CPU 61 may create, based on the embroidery data, changed data to sew the stitches of the pattern 200 that has not been enlarged or contracted and has not been rotated. When the first starting position, the first ending position, the second starting position, and the second ending position are acquired, the CPU 61 may create, based on the embroidery data, changed data to sew the stitches of the pattern 200 that has been rotated but has not been enlarged or contracted.
The method for extracting the plurality of first positions may be set on the sewing machine 1 by a panel operation by the user. The CPU 61 may detect the panel operation and identify the method for extracting the plurality of first positions. The CPU 61 may perform one of the above-described extraction processings (
Although a detailed explanation is omitted, the embroidery data may include data that indicates a sewing start position, which is a position at which the sewing is started. In this case, the plurality of first positions can include the sewing start position.
The apparatus and methods described above with reference to the various embodiments are merely examples. It goes without saying that they are not confined to the depicted embodiments. While various features have been described in conjunction with the examples outlined above, various alternatives, modifications, variations, and/or improvements of those features and/or examples may be possible. Accordingly, the examples, as set forth above, are intended to be illustrative. Various changes may be made without departing from the broad spirit and scope of the underlying principles.
Number | Date | Country | Kind |
---|---|---|---|
2013-246883 | Nov 2013 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
3966331 | Inuiya | Jun 1976 | A |
4998489 | Hisatake | Mar 1991 | A |
5072680 | Nakashima | Dec 1991 | A |
5195451 | Nakashima | Mar 1993 | A |
6000350 | Koike | Dec 1999 | A |
6883446 | Koerner | Apr 2005 | B2 |
7079917 | Taguchi | Jul 2006 | B2 |
7373891 | Koerner | May 2008 | B2 |
8061286 | Hirata | Nov 2011 | B2 |
8074590 | Bentley | Dec 2011 | B2 |
8567329 | Kishi | Oct 2013 | B2 |
8763542 | Abe | Jul 2014 | B2 |
20040182295 | Pfeifer | Sep 2004 | A1 |
20060096510 | Kuki et al. | May 2006 | A1 |
20110226170 | Tokura | Sep 2011 | A1 |
20120111249 | Sekine | May 2012 | A1 |
20120210925 | Koga | Aug 2012 | A1 |
20130233217 | Shimizu | Sep 2013 | A1 |
20130233218 | Nishimura et al. | Sep 2013 | A1 |
20130233219 | Nakamura | Sep 2013 | A1 |
20130233220 | Nomura | Sep 2013 | A1 |
20130233221 | Abe | Sep 2013 | A1 |
20130233222 | Nishimura | Sep 2013 | A1 |
20140000498 | Yamanashi | Jan 2014 | A1 |
Number | Date | Country |
---|---|---|
A-2-228997 | Sep 1990 | JP |
A-8-294590 | Nov 1996 | JP |
A-2006-6977 | Jan 2006 | JP |
A-2006-130124 | May 2006 | JP |
A-2013-188266 | Sep 2013 | JP |
Number | Date | Country | |
---|---|---|---|
20150152581 A1 | Jun 2015 | US |