The present disclosure relates to a sewing machine and a non-transitory computer-readable medium.
With respect to a sewing machine capable of sewing embroidery patterns, in order to allow a user to select an embroidery pattern to be sewn, technology is disclosed in which a plurality of images showing the embroidery patterns (hereinafter referred to as “pattern images”) are displayed in rows on a display portion. Hereinafter, the displaying of the plurality of pattern images in rows is also referred to as “thumbnail display of the plurality of pattern images.” Further, a method is known that generates the pattern image on the basis of stitch data for sewing the embroidery pattern.
When a pattern image is generated on the basis of stitch data, the larger a number of coordinates of needle drop points represented by the stitch data, the longer the amount of time required to generate the pattern image. Thus, when performing thumbnail display of a plurality of the generated pattern images, there is a possibility that the thumbnail display is not smoothly performed, due to the long amount of time required to generate the plurality of pattern images. As a result, there is a problem that a long time is required before a user can verify an embroidery pattern that is a sewing object.
It is an object of the present disclosure to provide a sewing machine and a non-transitory computer-readable medium that allow a user to verify an embroidery pattern in a short amount of time.
An aspect of the present disclosure provides a sewing machine including a sewing portion, a first storage portion, a display portion, a processor, and a memory. The sewing portion is configured to sew an embroidery pattern on a cloth, on the basis of stitch data. The stitch data includes a position of each of a plurality of stitches that represents the embroidery pattern. The first storage portion is configured to store the stitch data and pattern data. The pattern data is data of a pattern image that represents the embroidery pattern corresponding to the stitch data. The display portion is configured to display the pattern image. The memory is configured to store computer-readable instructions. The computer-readable instructions, when executed by the processor, instruct the processor to perform processes comprising first acquiring, first displaying, first generating, and second displaying. The first acquiring acquires the stitch data and the pattern data from the first storage portion. The first displaying displays the pattern image on the display portion on the basis of the pattern data acquired by the first acquiring. The first generating generates a plurality of partial images representing a number of stitches corresponding to a first predetermined number, on the basis of the stitch data acquired by the first acquiring, after the first displaying of the pattern image on the display portion. The second displaying displays, each time each of the plurality of partial images is generated by the first generating, the generated partial image on a portion of the pattern image displayed by the first displaying that corresponds to the generated partial image.
Another aspect of the present disclosure provides a non-transitory computer-readable medium storing computer-readable instructions that are executed by a processor provided in a sewing machine. The sewing machine comprises a sewing portion, a first storage portion, and a display portion. The sewing portion sews an embroidery pattern on a cloth, on the basis of stitch data specifying a position of each of a plurality of stitches representing the embroidery pattern. The first storage portion stores the stitch data and pattern data. The pattern data is data of a pattern image that represents the embroidery pattern corresponding to the stitch data. The display portion displays the pattern image. The computer-readable instructions, when executed, instructs the processor to perform processes comprising first acquiring, first displaying, first generating, and second displaying. The first acquiring acquires the stitch data and the pattern data from the first storage portion. The first displaying displays the pattern image on the display portion on the basis of the pattern data acquired by the first acquiring. The first generating generates a plurality of partial images representing a number of stitches corresponding to a first predetermined number, on the basis of the stitch data acquired by the first acquiring, after the first displaying of the pattern image on the display portion. The second displaying displays, each time each of the plurality of partial images is generated by the first generating, the generated partial image on a portion of the pattern image displayed by the first displaying that corresponds to the generated partial image.
Embodiments of the disclosure will be described below in detail with reference to the accompanying drawings in which:
Physical Configuration of Sewing Machine 1
Below, an embodiment of the present disclosure will be explained with reference to the drawings. Note that the drawings are used to illustrate technological features that can be adopted by the present disclosure, and are not intended to limit the content of the present disclosure. A physical configuration of the sewing machine 1 will be explained with reference to
The sewing machine 1 is provided with the bed portion 11, the pillar 12, the arm portion 13, a head portion 14, and a movement mechanism 40. The bed portion 11 is a base portion of the sewing machine 1, and extends in the left-right direction. The pillar 12 is provided in an upward standing condition from the right end portion of the bed portion 11. The arm portion 13 extends to the left from the upper end of the pillar 12, facing the bed portion 11. The head portion 14 is a portion that is connected to the left leading end portion of the arm portion 13.
The movement mechanism 40 is provided with a main body portion 41 and a carriage 42. The carriage 42 is provided with a frame holder (not shown in the drawings), a Y-axis movement mechanism (not shown in the drawings), and a Y-axis motor 84 (refer to
The display 15 is provided on the front surface of the pillar 12. A touch panel 26, which can detect a position that is depressed, is provided on the front surface side of the display 15. A user uses a finger or a stylus pen (not shown in the drawings) to perform a touch operation on the touch panel 26, and the touched position is detected by the touch panel 26. Via the touch panel 26, the user can select an embroidery pattern that the user wishes to sew, and select a command to be executed or the like. The pillar 12 is internally provided with a sewing machine motor 81 (refer to
A cover 16 that can be opened and closed is provided on the upper portion of the arm portion 13. In
The head portion 14 is provided with a needle bar 6, a presser bar 8, a needle bar up-and-down movement mechanism (not shown in the drawings) and the like. The needle bar 6 and the presser bar 8 extend downward from the lower end portion of the head portion 14. A sewing needle (not shown in the drawings) is removably mounted on the lower end of the needle bar 6. The needle bar up-and-down movement mechanism drives the needle bar 6 in the up-down direction as a result of the rotation of the drive shaft.
Electrical Configuration of Sewing Machine 1
The electrical configuration of the sewing machine 1 will be explained with reference to
The CPU 61 performs overall control of the sewing machine 1, and executes various arithmetic calculations and processing relating to the sewing, in accordance with various programs stored in the ROM 62. The ROM 62 stores the various programs used to operate the sewing machine 1. The RAM 63 is provided with storage areas as necessary, in order to store calculation results etc. of arithmetic calculation processing by the CPU 61. Specifically, the RAM 63 is provided with a file table area 631 (refer to
Note that the flash memory 64 may store the programs to operate the sewing machine 1. In this case, the programs may be rewritable from outside. For example, the programs may be read out from a storage medium by a drive device (not shown in the drawings) provided in the sewing machine 1, and the flash memory 64 may store the programs.
The drive circuit 71 is connected to the sewing machine motor 81. The drive circuit 71 drives the sewing machine motor 81 in accordance with a control signal from the CPU 61. The needle bar up-and-down movement mechanism (not shown in the drawings) is driven via the drive shaft (not shown in the drawings) of the sewing machine 1 in accordance with the driving of the sewing machine motor 81, and the needle bar 6 thus moves up and down. The drive circuit 72 is connected to the X-axis motor 83. The drive circuit 73 is connected to the Y-axis motor 84. The drive circuits 72 and 73 drive the X-axis motor 83 and the Y-axis motor 84, respectively, in accordance with a control signal from the CPU 61. The embroidery frame 50 is moved in the left-right direction (the X-axis direction) and in the front-rear direction (the Y-axis direction) in accordance with the driving of the X-axis motor 83 and the Y-axis motor 84, by a movement amount that corresponds to the control signal. The drive circuit 74 causes an image to be displayed on the display 15 by driving the display 15 in accordance with a control signal from the CPU 61.
Embroidery Data
The embroidery data includes at least stitch data. The stitch data is data used by the sewing machine 1 to perform the sewing of the embroidery pattern. The stitch data identifies respective positions of a plurality of stitches representing the embroidery pattern. Specifically, the stitch data includes a sewing order, coordinate data, and thread color information. The coordinate data uses relative coordinates to represent positions, of an embroidery coordinate system, of needle drop points used to sew the embroidery pattern. The relative coordinates are shown by a difference between respective coordinates of two continuous needle drop points. In other words, the coordinate data shows a movement amount in the X-axis direction and the Y-axis direction, respectively, when the embroidery frame 50 is moved in order to form a single stitch. The thread color information is information showing a color of the upper thread used in the sewing of the embroidery pattern. The CPU 61 sews the embroidery pattern on the sewing workpiece 3 by moving the embroidery frame 50 in the X-axis direction and the Y-axis direction and driving the needle bar 6 on the basis of the stitch data.
The embroidery data sometimes further includes pattern data that is associated with the stitch data. The pattern data is data used to generate an image (hereinafter also referred to as a “pattern image”) showing the embroidery pattern sewn on the basis of the corresponding stitch data. More specifically, the pattern data includes block data respectively representing a plurality of block images forming the pattern image. The format of the block data includes the BMP format, the JPEG format and the like. In other words, the pattern image is generated by combining the plurality of block images represented by the plurality of block data.
There is a case in which at least one of the embroidery data and the stitch data is encoded. When the embroidery data is encoded, the CPU 61 can refer to the stitch data and the embroidery data by decoding the embroidery data using predetermined first key information. Further, when the stitch data is encoded, the CPU 61 can refer to data included in the stitch data by using predetermined second key information to decode the stitch data. In addition, there is a case in which at least one of the stitch data and the block data included in the embroidery data is damaged. When the stitch data is damaged, the CPU 61 cannot perform the sewing of the embroidery pattern on the basis of that stitch data. When the block data is damaged, the CPU 61 cannot generate the pattern image on the basis of the pattern data including that block data.
Selection Screen 151
A selection screen 151 (selection screens 151A and 151B) that is displayed on the display 15 (refer to
The selection screen 151A will be explained. The folder name 51 indicates a folder name of one of a plurality of folders stored in the flash memory 64. On the selection screen 151, “bPocket” corresponds to the folder name. Hereinafter, the folder of the folder name indicated by the folder name 51 is referred to as a “target folder.”
The thumbnail image 52 shows, in a thumbnail format, an image corresponding to a subfolder stored directly below the target folder stored in the flash memory 64, or images corresponding to the embroidery data. The thumbnail image 52 includes nine frames 521. The shape of each of the nine frames 521 is a rectangle. The nine frames 521 correspond, respectively, to nine folders stored directly below the target folder, or to the embroidery data. The nine frames 521 are aligned in threes in both the vertical direction and the horizontal direction. Hereinafter, the horizontal lines of the nine frames 521 are referred to as “rows” and the vertical lines as “columns.” Of the nine frames 521, a position of the frame 521 that is an m-th row from the top, and an M-th column from the left is referred to as an “m-th row M-th column position.”
The images displayed inside each of the plurality of frames 521 are one of the following four types. The first type is a folder image 52A that is displayed inside the frame 521 in the first row first column position. The folder image 52A corresponds to a folder stored in the target folder. The folder image 52A is a standard image having a folder shape. The folder image 52A is displayed on the basis of data of a folder image stored in the flash memory 64.
The second type is a pattern image 521B, which is displayed inside the six frames 521 in the first row second column position, the first row third column position, the second row first column position, the second row second column position, the second row third column position, and the third row second column position, respectively. Of the embroidery data stored in the target folder, the pattern image 521B is the embroidery data that can be sewn by the sewing machine 1 and corresponds to the embroidery data from which the pattern image can be generated. More specifically, the pattern image 521B is the embroidery data whose stitch data can be analyzed, and corresponds to the embroidery data from which the pattern image can be generated. The embroidery data whose stitch data can be analyzed refers to data to which (1) below applies, and which includes the stitch data to which (2) below applies.
(1) Embroidery data that is not encoded, or that can be decoded even if encoded
(2) Stitch data that is not encoded, or that can be decoded even if encoded, and that is not damaged.
Further, the embroidery data from which the pattern image can be generated is (3) embroidery data including the pattern data from which the pattern image can be generated. Thus, when the embroidery data does not include the pattern data, or when the embroidery data includes the pattern data from which the pattern image cannot be generated, this is the embroidery data from which the pattern image cannot be generated. Note that the embroidery data from which the pattern image cannot be generated indicates that at least some of the plurality of block data corresponding to the pattern data are damaged.
The pattern image 521B is a pattern image generated on the basis of the pattern data. Note that, in the present embodiment, a data amount of the pattern data stored in the flash memory 64 is restricted in order to suppress the capacity of the flash memory 64. Thus, the resolution of the pattern image 521B generated on the basis of the pattern data is relatively low, and jaggies are evident.
The third type is a first standard image 521C that is displayed inside the frame 521 in the third row first column position. Of the embroidery data stored in the target folder, the first standard image 521C is the embroidery data that can be sewn by the sewing machine 1, and corresponds to the embroidery data from which the pattern image cannot be generated. More specifically, the first standard image 521C is the embroidery data whose stitch data cannot be analyzed, and that corresponds to the embroidery data including the pattern data from which the pattern image cannot be generated. The first standard image 521C is a standard image indicating an hourglass. The first standard image 521C is displayed on the basis of first standard image data stored in the flash memory 64.
The fourth type is a second standard image 52D that is displayed inside the frame 521 in the third row third column position. Of the embroidery data stored in the target folder, the second standard image 52D corresponds to the embroidery data that cannot be sewn by the sewing machine 1. The second standard image 52D is a standard image showing a face. The second standard image 52D is displayed on the basis of second standard image data stored in the flash memory 64.
The CPU 61 changes the pattern image 521B (refer to the selection screen 151A) displayed as the thumbnail image 52 to a stitch image 522B (refer to the selection screen 151B), and further changes the first standard image 521C (refer to the selection screen 151A) to a stitch image 522C (refer to the selection screen 151B). The stitch images 522B and 522C are different to the pattern image 521B and the first standard image 521C, and are generated on the basis of the stitch data included in the embroidery data. More specifically, the CPU 61 generates the stitch images 522B and 522C by representing each of the plurality of stitches specified by the stitch data as images. Note that in the stitch image 522B, the image is formed in units of stitches, and thus the resolution is higher than the resolution of the pattern image 521B. Thus, the stitch image 522B is smooth and the jaggies are not evident, and the appearance thereof is better than that of the pattern image 521B.
The CPU 61 changes the pattern image 521B to the stitch image 522B a little at a time, in the manner described below. The CPU 61 extracts, from among the plurality of stitches specified by the stitch data, a number of stitches corresponding to the first predetermined number. The CPU 61 generates an image expressing, as an image, each of the extracted number of stitches corresponding to the first predetermined number, namely, generates an image (hereinafter referred to as a partial image) 5211 of a part of the stitch image. The CPU 61 displays the partial image 5211 in place of a part of the pattern image 521B corresponding to the generated partial image 5211. In other words, the CPU 61 replaces the part of the pattern image 521B with the partial image 5211. A pattern image 5211A, in which the part of the pattern image 521B is replaced by the partial image 5211, is displayed in the frame 521.
Next, of the plurality of stitches specified by the stitch data, the CPU 61 further extracts the number of stitches corresponding to the first predetermined number, from the plurality of stitches that have not been extracted when generating the partial image 5211, and generates a partial image 5212. The CPU 61 displays the partial image 5212 in place of a part of the pattern image 5211A corresponding to the generated partial image 5212. A pattern image 5212A, in which the part of the pattern image 521B is replaced by the partial images 5211 and 5212, is displayed in the frame 521.
The above processing is repeated until all of the plurality of stitches specified by the stitch data are extracted, by the number of stitches corresponding to the first predetermined number each time. The whole of the pattern image 521B is replaced by the plurality of partial images 5211, 5212, and 5213 generated by extracting all of the plurality of stitches. The image in which the plurality of partial images 5211, 5212, and 5213 are combined corresponds to the stitch image 522B. In the above-described manner, the stitch image 522B is eventually displayed in place of the pattern image 521B.
Although not explained in detail here, it should be noted that also when the first standard image 521C is changed to the stitch image 522C, similarly to the above-described case, partial images that are images of a part of the stitch image 522C are sequentially generated. The generated partial image is displayed in place of the part of the first standard image 521C. In other words, the part of the first standard image 521C is replaced by the generated partial image. Eventually, the whole of the first standard image 521C is replaced by the stitch image 522C in which the plurality of partial images are combined. In the above-described manner, the stitch image 522C is eventually displayed in place of the first standard image 521C.
There is a case in which an orientation of the partial image and the stitch image generated on the basis of the stitch data does not match an orientation of the pattern image generated on the basis of the pattern data. In the present embodiment, a case is assumed in which the partial image and the stitch image are in a state of being rotated by 90 degrees in the clockwise direction with respect to the pattern image. In this case, if, in place of the part of the pattern image, the partial image is displayed as it is, the pattern image and the partial image become displaced with respect to each other, and the user is unable to recognize the embroidery pattern.
With respect to the above-described case, the CPU 61 performs the following processing. First, the CPU 61 identifies the stitch data from which are generated the partial image and the stitch image rotated by 90 degrees in the clockwise direction with respect to the pattern image. An identification method will be described in detail later. Next, when the partial image 5201 has been generated on the basis of the identified stitch data, the CPU 61 rotates the generated partial image 5201 by 90 degrees in the counterclockwise direction. The CPU 61 displays the partial image 5201 that has been rotated by 90 degrees in the counterclockwise direction in place of the part of the pattern image 521B corresponding to the partial image 5201. Thus, the pattern image 5201A is displayed in which the part of the pattern image 521B has been replaced by the rotated partial image 5201. Through the above-described processing, the CPU 61 aligns the orientation of the partial image and the stitch image and the orientation of the pattern image in this manner.
On the selection screen 151, a maximum number of the frames 521 included in the thumbnail image 52 is “9,” which is set as the second predetermined number. When the number of folders or the number of pieces of embroidery data stored directly under the target folder is equal to or less than the second predetermined number, the same number of frames 521 as the number of folders or pieces of embroidery data are included in the thumbnail image 52 such that the frames 521 are arranged in order of the first row first column, the first row second column, the first row third column, the second row first column and so on.
On the other hand, when the number of folders or the number of pieces of embroidery data stored directly under the target folder is greater than the second predetermined number, the folders or the pieces of embroidery data are divided into groups each of a maximum number of the second predetermined number. Then, images corresponding to the folders or the pieces of embroidery data included in each of the divided plurality of groups are displayed on the single selection screen 151. Further, in order to display the images corresponding to the folders or the pieces of embroidery data included in each of the plurality of groups, a plurality of the selection screens 151 corresponding to each of the plurality of groups are switched and displayed one screen at a time on the display 15. Hereinafter, each of an n (n=1, 2, . . . ) number of the selection screens 151 corresponding to an n number of the groups is referred to as an “n-th page selection screen 151.”
The page switching button 53 is a button used to switch between the pages of the selection screen 151. As described above, when the number of folders or the number of pieces of embroidery data stored directly under the target folder is greater than the second predetermined number, the user can switch between the pages of the selection screen 151 by selecting the page switching button 53. By the above-described processing, the user can verify all of the images corresponding to each of the folders or the pieces of embroidery data that are greater than the second predetermined number stored in the target folder, while switching the pages of the selection screen 151. Hereinafter, the page of the selection screen 151 displayed on the display 15 is referred to as a “target page.”
The hierarchy switching button 54 is a button used to switch the target folder to another folder. For example, when the hierarchy switching button 54 of the selection screen 151 is selected, the target folder is switched from the folder of the folder name “bPocket” to a folder one level above. Note that when the folder image 52A of the thumbnail image 52 is selected also, the target folder is switched in the same manner. In this case, the target folder is switched from the folder of the folder name “bPocket” to a folder corresponding to the folder image 52A.
The user performs an operation to select the embroidery pattern to be a sewing target in the following manner, via the selection screen 151. The user selects the hierarchy switching button 54 or the folder image 52A of the thumbnail image 52 and thus switches the target folder, then selects the page switching button 53 and switches the target page. Thus, the user causes the page of the selection screen 151 that includes the pattern image 521B representing the embroidery pattern of the sewing object, the pattern images 5211A and 5212A that replace the partial images 5211 and 5212 of the parts of the pattern image 521B, and one of the stitch images 522B as the thumbnail image 52, to be displayed on the display 15.
In the above-described state, the user performs an operation to select the frame 521 includes the image corresponding to the embroidery pattern of the sewing object. The CPU 61 identifies the embroidery data corresponding to the image included in the selected frame 521, and further identifies the stitch data included in the identified embroidery data. On the basis of the identified stitch data, the CPU 61 moves the embroidery frame 50 in the left-right direction (the X-axis direction) and the front-rear direction (the Y-axis direction) using the movement mechanism 40. At the same time, the CPU 61 drives the needle bar up-and-down movement mechanism (not shown in the drawings). By this processing, the embroidery pattern corresponding to the image selected via the selection screen 151 is sewn on the sewing workpiece 3 held by the embroidery frame 50.
File Table 60
A file table 60 stored in a file table area 631 of the RAM 63 will be explained with reference to
In the first file table 60A, an index of the subfolder or the embroidery data stored directly under one of the folders is managed per page. In the first file table 60A, the page and the index are associated with each other. The page corresponds to the page of the selection screen 151. The index is sequentially allocated to the folder or the embroidery data. In the case of
In the second file table 60B, information relating to the folder or the embroidery data to which the indices of the first file table 60A are allocated is managed. The second file table 60B includes left end coordinates, upper end coordinates, a file/folder ID, a title, and image information per each of the indices. The left end coordinates indicate, using horizontal (X-axis direction) coordinates, a position of the left end of the frame 521 (refer to
The image information includes a status flag, a rotation flag, a first horizontal size, a first vertical size, a second horizontal size, a second vertical size, a delete flag, and display image data. The status flag shows one of “0” (no image), “1” (pattern image generation complete), “2” (stitch image being generated), “3” (stitch image generation complete), and “4” (generation failure). The rotation flag will be described in detail later. The first horizontal size indicates a maximum length of the stitch image in the horizontal direction. The first vertical size indicates a maximum length of the stitch image in the vertical direction. The second horizontal size indicates a maximum length of the pattern image in the horizontal direction. The second vertical size indicates a maximum length of the pattern image in the vertical direction. The delete flag is flag information indicating whether the display image data is to be deleted. The display image data represents the data of the image displayed inside the frame 521. As the display image data, one of the following pieces of data is stored: the data of the pattern image 521B (refer to
Main Processing
Processing (main processing) performed by the CPU 61 of the sewing machine 1 will be explained with reference to
As shown in
Details of the method of generating the first file table 60A are as follows. The method of generating the first file table 60A will be specifically explained with reference to
Details of the method of generating the second file table 60B are as follows. The CPU 61 stores, as the left end coordinates and the upper end coordinates corresponding to the indices “1,” “10,” and “19,” the X coordinates and the Y coordinates of an upper left corner of the frame 521 in the first row first column position of the thumbnail image 52 (refer to
When the flag information indicating the folder is stored as the file/folder ID, the CPU 61 reads out, from the flash memory 64, the data of the folder image 52A (refer to
On the other hand, when the flag information indicating the embroidery data is stored as the file/folder ID, the CPU 61 stores the file name of the embroidery data as the title. The CPU 61 stores “0” (no image) in the status flag. Note that the rotation flag, the first horizontal size, the first vertical size, the second horizontal size, the second vertical size, the delete flag, and the display image data are not stored.
As shown in
After activating the polling processing, the CPU 61 identifies, in the first file table 60A (refer to
The display processing will be explained with reference to
On the other hand, when “0” is stored as the status flag of the selected file information, the display image data of the selected file information is not stored. In this case, it is necessary to store the data of the image to be displayed as the thumbnail image 52 of the selection screen 151 in the display image data of the selected file information. When the CPU 61 determines that the value equal to or greater than “1” is not stored as the status flag (no at step S33), the CPU 61 performs first expansion processing (refer to
The first expansion processing will be explained with reference to
The CPU 61 generates the pattern image on the basis of the pattern data included in the embroidery data (step S65). Specifically, the CPU 61 generates the embroidery pattern by combining the plurality of block images represented by each of the block data. The CPU 61 stores the data of the generated pattern image as the display image data of the selected file information (step S67). The CPU 61 specifies a bounding rectangle of the generated pattern image (step S69). The CPU 61 stores the length in the horizontal direction of the specified bounding rectangle as the second horizontal size of the selected file information. The CPU 61 stores the length in the vertical direction of the specified bounding rectangle as the second vertical size of the selected file information (step S69). The CPU 61 stores “1” as the status flag of the selected file information (step S71). The CPU 61 ends the first expansion processing and returns the processing to the display processing (refer to
When, in the processing at step S63, the CPU 61 determines that the embroidery data of the file name identified by the title of the selected file information is the embroidery data from which the pattern image cannot be generated, namely, is the embroidery data that does not contain the pattern data, or is the embroidery data including the pattern data from which the pattern image cannot be generated (no at step S63), the CPU 61 advances the processing to step S73. The CPU 61 reads out the data of the first standard image from the flash memory 64. The CPU 61 stores the read out data of the first standard image as the display image data of the selected file information (step S73). The CPU 61 reads out data of the bounding rectangle of the first standard image from the flash memory 64. On the basis of the read out data of the bounding rectangle, the CPU 61 identifies the length in the horizontal direction of the bounding rectangle, and stores the identified length as the second horizontal size of the selected file information. On the basis of the read out data of the bounding rectangle, the CPU 61 identifies the length in the vertical direction of the bounding rectangle, and stores the identified length as the second vertical size of the selected file information (step S75). The CPU 61 stores “1” as the status flag of the selected file information (step S77). The CPU 61 ends the first expansion processing and returns the processing to the display processing (refer to
When, in the processing at step S61, the CPU 61 determines that the embroidery data of the file name identified by the title of the selected file information does not correspond to (1), namely, that it is the embroidery data that is encoded and cannot be decoded (no at step S61), the CPU 61 advances the processing to step S79. The CPU 61 reads out the data of the second standard image from the flash memory 64. The CPU 61 stores the read out data of the second standard image as the display image data of the selected file information (step S79). The CPU 61 reads out data of the bounding rectangle of the second standard image from the flash memory 64. On the basis of the read out data of the bounding rectangle, the CPU 61 identifies the length in the horizontal direction of the bounding rectangle, and stores the identified length as the second horizontal size of the selected file information. On the basis of the read out data of the bounding rectangle, the CPU 61 identifies the length in the vertical direction of the bounding rectangle, and stores the identified length as the second vertical size of the selected file information (step S81). The CPU 61 stores “4” as the status flag of the selected file information (step S83). The CPU 61 ends the first expansion processing and returns the processing to the display processing (refer to
As shown in
The CPU 61 determines whether the file information acquired by the processing at step S7 (refer to
When the CPU 61 determines that all the file information acquired by the processing at step S7 (refer to
The CPU 61 selects, sequentially, one of the pieces of file information selected by the processing at step S7, in order of index (refer to
Meanwhile, when the value of “1” (pattern image generation complete) or the value of “2” (stitch image being generated) is stored as the status flag of the selected file information, it is necessary to newly generate the stitch data by repeating the processing to generate the partial image. When the CPU 61 determines that the value of “3” or above is not stored as the status flag (no at step S45), the CPU 61 performs second expansion processing (refer to
The second expansion processing will be explained with reference to
When the CPU 61 determines that the acquired stitch data can be analyzed (yes at step S110), the CPU 61 advances the processing to step S111. On the basis of the coordinate data included in the acquired stitch data, the CPU 61 identifies the bounding rectangle that is the minimum rectangle surrounding the stitch image (step S111). The CPU 61 determines whether a direction in which the longer side of the identified bounding rectangle extends (hereinafter referred to as a “stitch lengthwise direction”) and the direction of the longer of the second horizontal size and the second vertical size of the selected file information (hereinafter referred to as the “pattern lengthwise direction”) are aligned with each other in the horizontal direction or in the vertical direction. When the CPU 61 determines that the stitch lengthwise direction and the pattern lengthwise direction are not aligned with each other, the CPU 61 determines that it is necessary to rotate the partial image generated by partial expansion processing (refer to
On the other hand, when the CPU 61 determines that the stitch lengthwise direction and the pattern lengthwise direction are aligned with each other, the CPU 61 determines that it is not necessary to rotate the partial image generated by the partial expansion processing to be described later (no at step S113). The CPU 61 stores “0” as the rotation flag of the selected file information (step S119). The CPU 61 stores the length in the horizontal direction of the identified bounding rectangle as the first horizontal size of the selected file information. The CPU 61 stores the length in the vertical direction of the identified bounding rectangle as the first vertical size of the selected file information (step S121). The CPU 61 advances the processing to step S123.
The CPU 61 calculates a reduction ratio when causing the first horizontal size and the first vertical size of the selected file information to be the length of the second horizontal size and the second vertical size, respectively (step S123). The formula for calculating the reduction ratio is either “second horizontal size/first horizontal size” or “second vertical size/first vertical size.” Note that, in the present embodiment, ratios of each of the length of the horizontal direction and the length of the vertical direction are assumed to match when the orientations of the bounding rectangle of the stitch image and the bounding rectangle of the pattern image are aligned with each other. Thus, calculation results of the above two formulas match each other. The CPU 61 ends the calculation processing and returns the processing to the second expansion processing (refer to
As shown in
On the other hand, when the CPU 61 determines, in the processing at step S133, that the stitch data is the stitch data that is not encoded, or that can be decoded even if it is encoded, and is the stitch data that is not damaged (yes at step S133), the CPU 61 advances the processing to step S135. The CPU 61 calculates, as a number of stitches, a number of needle drop points specified by the coordinate data included in the acquired stitch data (step S135). The CPU 61 determines whether the calculated number of stitches is less than the third predetermined number (step S137). When the CPU 61 determines that the number of stitches is less than the third predetermined number (yes at step S137), the CPU 61 stores “1” as the delete flag (step S139). The CPU 61 advances the processing to step S143. When the CPU 61 determines that the number of stitches is equal to or greater than the third predetermined number (no at step S137), the CPU 61 stores “0” as the delete flag (step S141). The CPU 61 advances the processing to step S143.
The CPU 61 acquires, in order of the sewing order, one piece of the coordinate data included in the acquired stitch data (step S143). Note that the one piece of coordinate data indicates a movement amount in the X-axis direction and the Y-axis direction, respectively, when the embroidery frame 50 moves in order to form a single stitch. The CPU 61 multiplies each of the X coordinate and the Y coordinate acquired by the processing at step S143 by the reduction ratio calculated by the processing at step S123 (refer to
The CPU 61 determines whether the coordinate data corresponding to the first predetermined number has been acquired by the processing at step S143, or whether all of the coordinate data included in the stitch data has been acquired by the processing at step S143 (step S147). When the CPU 61 determines that the coordinate data corresponding to the first predetermined number has not been acquired, and that all of the coordinate data included in the stitch data has not been acquired (no at step S147), the CPU 61 returns the processing to step S143. The CPU 61 acquires the one piece of coordinate data that is next in the sewing order (step S143) and repeats the processing at step S145.
When the CPU 61 determines, by the processing at step S147, that the coordinate data corresponding to the first predetermined number has been acquired, or determines that all of the coordinate data included in the stitch data has been acquired (yes at step S147), the CPU 61 advances the processing to step S149. The CPU 61 determines whether “0” is stored as the rotation flag in the selected file information (step S149). When the CPU 61 determines that “0” is stored as the rotation flag (yes at step S149), on the basis of the reduced coordinate data stored in the RAM 63, the CPU 61 represents each of the reduced stitches using a line segment of a one dot width. The CPU 61 generates the partial image by combining the plurality of line segments (step S151). The CPU 61 advances the processing to step S155.
When the CPU 61 determines that “1” is stored as the rotation flag of the selected file information (no at step S149), on the basis of the reduced coordinate data stored in the RAM 63, the CPU 61 represents each of the reduced stitches using the line segment of the one dot width. The CPU 61 rotates each of the plurality of line segments by 90 degrees in the counterclockwise direction. The CPU 61 generates the partial image by combining the plurality of rotated line segments (step S153). The CPU 61 advances the processing to step S155.
At step S155, the CPU 61 stores the data of the generated partial image as the display image data of the selected file information. Here, when the image is already stored as the display image data of the selected file information, the generated partial image is stored in place of the part of the already stored image corresponding to the generated partial image. In other words, the part of the already stored image is replaced by the generated partial image. Here, when it is determined by the processing at step S147 that all of the coordinate data included in the stitch data has not been acquired, in the processing at step S155, the data of the pattern image that has been partially replaced by the partial image or the data of the first standard image is stored as the display image data of the selected file information. On the other hand, when it is determined by the processing at step S147 that all of the coordinate data included in the stitch data has been acquired, in the processing at step S155, the data of the pattern image or the data of the stitch image in which all of the first standard image has been replaced by the plurality of partial images is stored as the display image data of the selected file information.
The CPU 61 stores the data of the image stored as the display image data of the selected file information in the display buffer of the RAM 63 (step S157). Specifically, the CPU 61 calculates the position of the frame 521 identified on the basis of the left end coordinates and the upper end coordinates of the selected file information. On the basis of the data of the image stored as the display image data of the selected file information, the CPU 61 arranges the image inside the calculated frame 521. Note that, when the image is already stored in the display buffer, the image is newly added to the already stored image by the processing at step S157.
On the basis of the data of the image stored in the display buffer, the CPU 61 displays the selection screen 151 on the display 15 (step S159). The selection screen 151 includes the image stored in the display buffer by the processing at step S157, as the thumbnail image 52. The CPU 61 ends the partial expansion processing and returns the processing to the second expansion processing (refer to
As shown in
When, in the processing at step S147, the CPU 61 determines that all of the coordinate data included in the stitch data has been acquired, the CPU 61 determines that the processing with respect to the stitch data is complete (yes at step S97). The CPU 61 stores “3” as the status flag of the selected file information (step S99). The CPU 61 ends the second expansion processing and returns the processing to the display processing (refer to
As shown in
In the third expansion processing, the image displayed as the thumbnail image 52 on the selection screen 151 of the page other than the target page is generated, before an operation is performed to update the target page to the other page. This is described in detail as follows. Of the pages of the first file table 60A (refer to
The polling processing will be explained with reference to
When the CPU 61 determines that the operation to select the hierarchy switching button 54 has not been performed (no at step S171), the CPU 61 determines whether an operation to select the page switching button 53 has been performed (step S181). When the CPU 61 determines that the operation to select the page switching button 53 has been performed (yes at step S181), the CPU 61 selects one of the pieces of file information corresponding to the folder or the embroidery data acquired by the processing at step S7 (step S185). The CPU 61 determines whether “1” is stored as the delete flag of the file information that has been selected (step S187). When the CPU 61 determines that “1” is stored as the delete flag (yes at step S187), the CPU 61 deletes the display image data of the file information selected by the processing at step S185 (step S189). The CPU 61 stores “0” as the status flag of the file information selected by the processing at step S185 (step S190). The CPU 61 advances the processing to step S191. Meanwhile, when the CPU 61 determines that “0” is stored as the delete flag (no at step S187), the CPU 61 advances the processing to step S191.
The CPU 61 determines whether all of the file information corresponding to the folders or the embroidery data acquired by the processing at step S7 has been selected by the processing at step S185 (step S191). When the CPU 61 determines that the unselected folder or embroidery data is remaining (no at step S191), the CPU 61 returns the processing to step S185. The CPU 61 selects one of the folders or pieces of embroidery data that has not been selected (step S185) and repeats the processing at steps S187 and S189. When the CPU 61 determines that all of the folders or the embroidery data acquired by the processing at step S7 have been selected (yes at step S191), the CPU 61 updates the target page number in accordance with the operation detected by the processing at step S181 (step S193). The CPU 61 interrupts the main processing that is being performed in parallel. On the basis of the updated target page number, the CPU 61 causes the main processing to be started once again from step S7 (refer to
Main Operations and Effects of Present Disclosure
As described above, the CPU 61 of the sewing machine 1 acquires the embroidery data stored in the flash memory 64 (step S1). On the basis of the pattern data included in the acquired embroidery data, the CPU 61 displays the selection screen 151 including the pattern image 521B as the thumbnail image 52 on the display 15 (step S41). After displaying the pattern image 521B, the CPU 61 generates the partial images 5211, 5212, and 5213 on the basis of the stitch data included in the acquired embroidery data (steps S151 and S153). The CPU 61 displays each of the generated partial images 5211, 5212, and 5213 in the corresponding portions of the pattern image 521B (step S159). As a result, the pattern image 521B based on the pattern data included in the embroidery data is displayed before generating the partial images 5211, 5212, and 5213 on the basis of the stitch data. Thus, the user can verify in a short period of time the embroidery pattern that can be sewn by the sewing machine 1, without waiting for the partial images 5211, 5212, and 5213 to be displayed. Note that, in the partial images 5211, 5212, and 5213, each of the plurality of stitches representing the embroidery pattern is shown as an image, and thus the resolution can be made higher than that of the pattern image 521B. Thus, by displaying the partial images 5211, 5212, and 5213, and the stitch image 522B as the thumbnail image 52 in place of the pattern image 521B, the CPU 61 can make the appearance of the thumbnail image 52 favorable and, at the same time, the user can verify the details of the embroidery pattern.
Since the CPU 61 causes the selection screen 151 including the plurality of pattern images 521B as the thumbnail image 52 to be displayed on the display 15, the user can be prompted to select, from among the plurality of pattern images, the pattern image corresponding to the embroidery pattern that is the sewing target. In addition, the generation of the partial images 5211, 5212, and 5213 corresponding to each of the pattern images is started after the plurality of pattern images 521B are displayed. Thus, the user can verify the plurality of embroidery patterns that can be sewn by the sewing machine 1 in a shorter period of time than when the processing to display the pattern images and generate the partial images is repeated for each of the embroidery patterns. Further, the CPU 61 causes the images corresponding to the folders or the embroidery data stored directly below the target folder to be displayed in groups of the second predetermined number on the one page of the selection screen 151. Therefore, the user can easily search for the embroidery pattern that is the sewing target, by searching the pattern images while switching the page of the selection screen 151.
When the CPU 61 determines that all of the partial images corresponding to the stitch data have been generated and displayed (yes at step S97), the CPU 61 performs the third expansion processing (step S11). In the third expansion processing, the partial images included as the thumbnail image 52 of the selection screen 151 of a different page to the target page are generated (steps S151 and S153). The generated partial images are stored as the display image data of the file information (step S155). In this way, the CPU 61 can generate and store the pattern images and the partial images before the target page of the selection screen 151 is switched in accordance with the operation being performed to select the page switching button 53. Thus, when the target page of the selection screen 151 is switched, when the data of the already generated partial images is stored as the display image data, the CPU 61 can display the partial images as the thumbnail image 52 of the selection screen 151 of the switched target page, on the basis of this data of the partial images. Thus, the CPU 61 can shorten the period of time required up to displaying the stitch images on the selection screen 151 of the target page after switching. Further, since it is possible to suppress the re-generation of the partial images that have once been generated, the CPU 61 can reduce a processing load required to generate the partial images.
The CPU 61 calculates the number of stitches on the basis of the coordinate data included in the stitch data (step S135). When the CPU 61 determines that the calculated number of stitches is less than the third predetermined number (yes at step S137), the CPU 61 stores “1” as the delete flag (step S139), and when the CPU 61 determines that the number of stitches is equal to or greater than the third predetermined number (no at step S137), the CPU 61 stores “0” as the delete flag (step S141). When the CPU 61 determines that “1” is stored as the delete flag (yes at step S187), the CPU 61 deletes the display image data of the file information (step S189). In other words, the CPU 61 maintains the state in which the partial images are stored as the display image data only when the number of stitches is equal to or greater than the third predetermined number. Note that, the larger the number of stitches of the stitch data, the longer the period of time required when generating the partial images on the basis of this stitch data. In this respect, when the number of stitches is equal to or greater than the third predetermined number, the CPU 61 stores the data of the partial images as the display image data, and when the number of stitches is less than the third predetermined number, the CPU 61 does not store the data of the partial images as the display image data. Thus, the CPU 61 can inhibit a situation in which the user cannot smoothly perform the selection operation of the embroidery pattern due to the long amount of time required to generate the partial images. Further, by suppressing the amount of data of the partial images stored, the CPU 61 can suppress the capacity of the flash memory 64.
When the CPU 61 determines that the stitch lengthwise direction and the pattern lengthwise direction are not aligned with each other (yes at step S113), the CPU 61 generates the partial image that has been rotated by 90 degrees in the counterclockwise direction (step S153), and displays the partial image (step S159). In this case, the CPU 61 can align the orientations of the pattern image and the partial image that replaces the part of the pattern image. Thus, the CPU 61 can make favorable the appearance of the pattern image of which the part is replaced by the partial image. In addition, the CPU 61 generates the partial image after the rotation and stores the rotated partial image in the display buffer, thus causing the rotated partial image to be displayed on the display 15. In this case, the CPU 61 can easily perform the display of the partial image after the rotation.
When the CPU 61 determines that the pattern data from which the pattern image can be generated is not included in the embroidery data (no at step S63), the CPU 61 causes the first standard image 521C to be displayed as the thumbnail image 52 (step S41). Thus, the CPU 61 can notify the user, by the first standard image, that the pattern image cannot be displayed. Further, the CPU 61 generates the partial image on the basis of the stitch data, and displays the partial image in the part of the first standard image 521C corresponding to the partial image (step S159). Therefore, even when the pattern image cannot be displayed, the CPU 61 can allow the user to recognize the embroidery pattern of the sewing target and can prompt the user to perform the selection operation of the embroidery pattern.
The present disclosure is not limited to the above-described embodiment, and various modifications are possible. The embroidery data may be stored in an external storage medium other than the flash memory 64. Specific examples of the external storage medium are a USB memory, an SD card (registered trademark), and the like. For example, the sewing machine 1 may be provided with a drive device that is connected to the external storage medium. The CPU 61 may read out the embroidery data from the external storage medium connected to the drive device. Further, the selection screen 151 may additionally display a button allowing selection of the flash memory 64 or the external storage medium. The CPU 61 may read out the embroidery data from the flash memory 64 or the external storage medium selected via this button. The size of the frame 521 of the folder image 52A displayed as the thumbnail image 52 and the size of the frames 521 of the other images may be caused be different on the selection screen 151. For example, the frame 521 of the folder image 52A may be smaller than the frames 521 of the other images.
The pattern data includes the plurality of block data representing each of the plurality of blocks forming the pattern image. The CPU 61 generates the pattern image by combining the plurality of images represented by the plurality of block data (step S65). In contrast to this, the pattern data may be data directly representing the pattern image. In this case, the CPU 61 can store the pattern data as the display image data of the selected file information without performing the generation processing of the pattern image by the processing at step S65 (step S67).
The maximum number of the frames 521 included in the thumbnail image 52 of the selection screen 151 is specified by the second predetermined number, and in the case of the above-described embodiment, the second predetermined number is “9.” The value stored as the second predetermined number is not limited to “9,” and may be another value. Further, the second predetermined number may be settable by the user. In addition, a default value of the second predetermined number may be, for example, a number of the folders or the pieces of embroidery data stored directly under the target folder. In this case, the images corresponding to the folders or the pieces of embroidery data stored directly under the target folder are all displayed on the one page of the selection screen 151. In this state, for example, the user may change the second predetermined number and thus adjust the number of images displayed on the one page of the selection screen 151.
The CPU 61 stores the data of the generated partial images as the display image data of the selected file information (step S155). When the CPU 61 determines that the stitch image has been generated by generating the partial images on the basis of all of the stitch data included in the embroidery data (yes at step S97), the CPU 61 stores “3” as the status flag of the selected file information (step S99). The CPU 61 performs the second expansion processing (step S47) and generates the partial images only when the value of “3” or greater is not stored as the status flag of the selected file information (no at step S45). In other words, the CPU 61 inhibits the partial images from being repeatedly created only when the stitch image has been generated on the basis of all of the stitch data. In contrast to this, even when the stitch image has not been generated, when the partial image that is a part of the stitch image has already been generated, the CPU 61 may inhibit these partial images from being repeatedly generated.
The CPU 61 calculates the number of stitches on the basis of the stitch data (step S135). When the CPU 61 determines that the calculated number of stitches is less than the third predetermined number (yes at step S137), the CPU 61 stores “1” as the delete flag (step S139). In contrast to this, the CPU 61 may change the third predetermined number in accordance with the capacity of the flash memory 64. More specifically, the larger the available capacity of the flash memory 64, the larger the CPU 61 may make the value of the third predetermined number. Thus, the CPU 61 can suppress the capacity of the flash memory 64 from being insufficient due to the generated partial images. Further, the CPU 61 may always store the data of the partial images as the display image data of the selected file information, irrespective of the number of stitches.
The CPU 61 rotates the partial image by 90 degrees in the counterclockwise direction and stores the rotated partial image as the display image data of the selected file information (step S155). In contrast to this, the CPU 61 may store the partial image before the rotation as the display image data of the selected file information. The CPU 61 may rotate the image stored as the display image data by 90 degrees in the counterclockwise direction and store the rotated image in the display buffer. The rotation direction of the partial image may be 90 degrees in the clockwise direction. Further, rotation conditions of the partial image may be selectable by the user.
When the CPU 61 determines that the pattern data from which the pattern image can be generated is not included in the embroidery data (no at step S63), the CPU 61 stores the data of the first standard image as the display image data of the selected file information (step S73) and displays the first standard image on the display 15 (step S41). The CPU 61 generates the partial images on the basis of the stitch data (steps S151 and S153) and displays the generated partial images on the display 15 in place of the first standard image (step S159). In contrast to this, when the CPU 61 determines that the pattern data from which the pattern image can be generated is not included in the embroidery data (no at step S63), the CPU 61 may display only the generated partial images without displaying the first standard image on the display 15. In this case, the CPU 61 may generate the partial images on the basis of the coordinate data corresponding to a predetermined number that is larger than the first predetermined number.
In the third expansion processing, the CPU 61 selects the one page other than the page represented by the target page number, from among the pages in the first file table 60A (refer to
The above-described main processing need not necessarily be performed by the CPU 61 of the sewing machine 1. For example, the main processing may be performed by a CPU of a device (a PC or the like, for example) connected to the sewing machine 1. The selection screen 151 may be displayed on a display portion provided in the device.
Number | Date | Country | Kind |
---|---|---|---|
2015-151932 | Jul 2015 | JP | national |
This application is a Continuing Application of International Application No. PCT/JP2016/068517, filed Jun. 22, 2016, which claims priority from Japanese Patent Application No. 2015-151932, filed on Jul. 31, 2015. This disclosure of the foregoing application is hereby incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5794552 | Owaki | Aug 1998 | A |
6237516 | Wakayama | May 2001 | B1 |
20120209417 | Tokura | Aug 2012 | A1 |
20120245727 | Naka et al. | Sep 2012 | A1 |
20160032508 | Tokura | Feb 2016 | A1 |
Number | Date | Country |
---|---|---|
H02-05991 | Jan 1990 | JP |
H09-95855 | Apr 1997 | JP |
H11-345242 | Dec 1999 | JP |
2004-242979 | Sep 2004 | JP |
2004-361814 | Dec 2004 | JP |
2012-200265 | Oct 2012 | JP |
Entry |
---|
Feb. 6, 2018 International Preliminary Report on Patentability issued in International Patent Application No. PCT/JP2016/068517. |
Sep. 13, 2016 International Search Report issued in International Patent Application No. PCT/JP2016/068517. |
Number | Date | Country | |
---|---|---|---|
20180010273 A1 | Jan 2018 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2016/068517 | Jun 2016 | US |
Child | 15714683 | US |