OPTIMAL PRINTING OF TEMPLATE COMPONENTS ON A FABRIC SUBSTRATE
20240365901 ยท 2024-11-07
Assignee
Inventors
- Lawrence Lenihan (New York, NY, US)
- Kiegan Lenihan (New York, NY, US)
- Christian Gheorghe (New York, NY, US)
- Robert Hall (New York, NY, US)
- Saoirse Amarteifio (New York, NY, US)
Cpc classification
H04N2201/3225
ELECTRICITY
H04N1/2323
ELECTRICITY
H04N1/2384
ELECTRICITY
H04N1/32133
ELECTRICITY
A41H3/007
HUMAN NECESSITIES
H04N1/32667
ELECTRICITY
H04N1/32635
ELECTRICITY
International classification
Abstract
Optimal template component printing includes reading from a pool, a set of printable pieces, each corresponding to a pattern for a respective garment, and each having known dimensions. A starting point is located on a section of a fabric substrate onto which the pieces are to be printed. Different piece combinations are then computed for different subsets of the pieces in the set for which a sum of the known dimensions of the pieces of the subset is less than or equal to a constraining dimension of the fabric substrate as measured from the starting point. A combination is selected which minimizes a difference between the constraining dimension and the sum and a printer is directed to print the pieces of the selected combination onto the fabric substrate. Finally, the pieces of the selected combination are removed from the pool and the process repeats for remaining pieces in the pool.
Claims
1. A method for optimally printing template components on a fabric substrate comprising: reading from a pool of printable pieces a set of the printable pieces each having a corresponding one of a multiplicity of different patterns for respectively different garments, each of the printable pieces having known dimensions; locating on a section of a fabric substrate a starting point from which different ones of the pieces in the set are to be printed; computing for each different one of a multiplicity of subsets of the pieces in the set, different combinations of the pieces for which a sum of the known dimensions for the pieces of a corresponding one of the combinations is less than or equal to a constraining dimension of the fabric substrate measured from the starting point; selecting one of the different combinations which minimizes a difference between the constraining dimension of the fabric substrate and the sum; directing a printer to print the pieces of the selected one of the different combinations onto the fabric substrate; removing the pieces of the selected one of the different combinations from the pool; and, repeating the reading, locating, computing, selecting, directing and removing for remaining ones of the printable pieces of the patterns.
2. The method of claim 1, wherein the set of printable pieces derives from multiple different patterns, each including a defined arrangement of selected ones of the pieces which when combined form a different one of the garments.
3. The method of claim 2, further comprising directing the printer to print at an edge of each one of the pieces of the selected one of the different combinations, a marker identifying a corresponding one the different garments.
4. The method of claim 2, further comprising: detecting a printing error in respect to printing of one of the pieces; and, responsive to the detection, re-inserting the one of the pieces associated with the printing error into the pool.
5. The method of claim 1, wherein the selection of the one of the different combinations which minimizes the difference between the constraining dimension of the fabric substrate and the sum comprises filtering the set to pieces associated with a threshold customer priority and performing the selection of the one of the different combinations from amongst the pieces of the filtered set.
6. The method of claim 1, wherein the selection of the one of the different combinations which minimizes the difference between the constraining dimension of the fabric substrate and the sum comprises filtering the set to pieces to include only ones of the pieces in the set having a length within a common range of lengths and performing the selection of the one of the different combinations from amongst the pieces of the filtered set.
7. A data processing system adapted for optimally printing template components on a fabric substrate, the system comprising: a host computing platform comprising one or more computers, each with memory and one or processing units including one or more processing cores; a template printer coupled to the host computing platform and loaded with a roll of fabric substrate of fixed width and length; and, a template print optimization module comprising computer program instructions enabled while executing in the memory of at least one of the processing units of the host computing platform to perform: reading from a pool of printable pieces a set of the printable pieces each having a corresponding one of a multiplicity of different patterns for respectively different garments, each of the printable pieces having known dimensions; locating on a section of a fabric substrate a starting point from which different ones of the pieces in the set are to be printed; computing for each different one of a multiplicity of subsets of the pieces in the set, different combinations of the pieces for which a sum of the known dimensions for the pieces of a corresponding one of the combinations is less than or equal to a constraining dimension of the fabric substrate measured from the starting point; selecting one of the different combinations which minimizes a difference between the constraining dimension of the fabric substrate and the sum; directing a printer to print the pieces of the selected one of the different combinations onto the fabric substrate; removing the pieces of the selected one of the different combinations from the pool; and, repeating the reading, locating, computing, selecting, directing and removing for remaining ones of the printable pieces of the patterns.
8. The system of claim 7, wherein the set of printable pieces derives from multiple different patterns, each including a defined arrangement of selected ones of the pieces which when combined form a different one of the garments.
9. The system of claim 8, wherein the program instructions further direct the printer to print at an edge of each one of the pieces of the selected one of the different combinations, a marker identifying a corresponding one the different garments.
10. The system of claim 8, wherein the program instructions further: detect a printing error in respect to printing of one of the pieces; and, respond to the detection by re-inserting the one of the pieces associated with the printing error into the pool.
11. The system of claim 7, wherein the selection of the one of the different combinations which minimizes the difference between the constraining dimension of the fabric substrate and the sum comprises filtering the set to pieces associated with a threshold customer priority and performing the selection of the one of the different combinations from amongst the pieces of the filtered set.
12. The system of claim 7, wherein the selection of the one of the different combinations which minimizes the difference between the width of the fabric substrate and the sum comprises filtering the set to patterns to include only ones of the patterns in the set having a length within a common range of lengths and performing the selection of the one of the different combinations from amongst the patterns of the filtered set.
13. A computing device comprising a non-transitory computer readable storage medium having program instructions stored therein, the instructions being executable by at least one processing core of a processing unit to cause the processing unit to optimally print template components on a fabric substrate by: reading from a pool of printable pieces a set of the printable pieces each having a corresponding one of a multiplicity of different patterns for respectively different garments, each of the printable pieces having known dimensions; locating on a section of a fabric substrate a starting point from which different ones of the pieces in the set are to be printed; computing for each different one of a multiplicity of subsets of the pieces in the set, different combinations of the pieces for which a sum of the known dimensions for the pieces of a corresponding one of the combinations is less than or equal to a constraining dimension of the fabric substrate measured from the starting point; selecting one of the different combinations which minimizes a difference between the constraining dimension of the fabric substrate and the sum; directing a printer to print the pieces of the selected one of the different combinations onto the fabric substrate; removing the pieces of the selected one of the different combinations from the pool; and, repeating the reading, locating, computing, selecting, directing and removing for remaining ones of the printable pieces of the patterns.
14. The device of claim 13, wherein the set of printable pieces derives from multiple different patterns, each including a defined arrangement of selected ones of the pieces which when combined form a different one of the garments.
15. The device of claim 14, wherein the instructions are additionally executable to direct the printer to print at an edge of each one of the pieces of the selected one of the different combinations, a marker identifying a corresponding one the different garments.
16. The device of claim 14, wherein the instructions are additionally executable to: detect a printing error in respect to printing of one of the pieces; and, respond to the detection by re-inserting the one of the pieces associated with the printing error into the pool.
17. The device of claim 13, wherein the selection of the one of the different combinations which minimizes the difference between the constraining dimension of the fabric substrate and the sum comprises filtering the set to pieces associated with a threshold customer priority and performing the selection of the one of the different combinations from amongst the pieces of the filtered set.
18. The device of claim 13, wherein the selection of the one of the different combinations which minimizes the difference between the constraining dimension of the fabric substrate and the sum comprises filtering the set to pieces to include only ones of the pieces in the set having a length within a common range of lengths and performing the selection of the one of the different combinations from amongst the pieces of the filtered set.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0020] The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. The embodiments illustrated herein are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown, wherein:
[0021]
[0022]
[0023]
DETAILED DESCRIPTION OF THE INVENTION
[0024] Embodiments of the invention provide for optimally printing template components on a fabric substrate. In accordance with an embodiment of the invention, a set of different patterns from different templates resident in a printing queue are selected for printing onto a fabric substrate. Thereafter, the printing dimensions of different permutated combinations of the different patterns in the set are computed. Then, a subset of the patterns in one of the permutated combinations is selected for printing which has the combined printing dimensions of length and width that is closest to but not exceeding the constraining printing dimensions of length, width or both of a portion of a roll of loaded fabric substrate. Thereafter, absent an error condition in printing, the patterns of the subset are removed from the queue. However, in the event an error condition is detected to have occurred with respect to a corresponding one of the patterns in the subset, the corresponding one of the patterns remains in the queue so that the corresponding one of the patterns may be reprinted at a later time.
[0025] In illustration of one aspect of the embodiment,
[0026] Each of the dimensional metrics 180 for corresponding ones of the permutations 130A, 130B, 130n are then compared to the dimensions 190 of a dimensionally constrained printing region of the fabric substrate set forth at a printing starting point on the fabric substrate 150. One of the permutations 130A, 130B, 130n is then selected for printing by the printer 140 having the dimensional metrics 180 closest to, but not exceeding the dimensions 190 of the dimensionally constrained printing region of the fabric substrate 150. As such, those of the pieces 110a, 110b, 110c, 110n included in the selected one of the permutations 130A, 130B, 130n are removed from the print queue 120.
[0027] However, the printed set of the pieces 110a, 110b, 110c, 110n can be monitored for printing errors, such as faded ink, or imperfect impression upon the fabric substrate 150. In the event that one of the pieces 110a, 110b, 110c, 110n in the selected one of the permutations 130A, 130B, 130n is associated with a printing error, the one of the pieces 110a, 110b, 110c, 110n is subject to an error return 170 to the print queue 120 for subsequent print queuing. In any event, once the pieces 110a, 110b, 110c, 110n of the selected one of the permutations 130A, 130B, 130n has been successfully printed onto the fabric substrate 150, the process repeats for a next set of the pieces 110a, 110b, 110c, 110n in the print queue 120.
[0028] Aspects of the process described in connection with
[0029] Notably, a computing device 250 including a non-transitory computer readable storage medium can be included with the data processing system 200 and accessed by the processing units 230 of one or more of the computers 210. The computing device stores 250 thereon or retains therein a program module 300 that includes computer program instructions which when executed by one or more of the processing units 230, performs a programmatically executable process for optimally printing template components on a fabric substrate. Specifically, the program instructions during execution retrieve a set of pieces 275 for respective ones of the templates 265 placed in a print queue 255 for printing by the printer 280. The program instructions then generate different permutations of the pieces 275 to produce different unique subsets of one or more of the pieces 275.
[0030] The program instructions compute for a two-dimensional arrangement of each of the subsets of the pieces 275, different dimensions, such as a composite length and width for the entirety of the pieces 275 in the subset. For each one of the subsets amongst the permutations, the dimensions are compared to the constraining dimensions of a portion of the fabric substrate 255, measured from a starting print position of a printable area of the fabric substrate 255. The difference between measurements for each of the subsets are written to an optimization table 290 and one of the subsets with a minimized difference to the constraining dimensions is then selected for printing on the fabric substrate 255. To that end, the program instructions transmit a print directive over the data communications network 240 to the remote print server to print the arrangement of the pieces 275 of the one of the subsets selected in the optimization table 290. Those pieces of the one of the subsets are then removed from the print queue 255 and the program instructions repeat the process for a next set of the pieces 275 in the print queue 255.
[0031] In further illustration of an exemplary operation of the module,
[0032] In block 325, different permutations of combinations of the different pieces selected from the pool are generated ranging from individual ones of the pieces to multiple two-dimensionally arranged collections of the pieces. In block 330, a first one of the permutations is selected for processing and in block 335, the length and width dimensions of the first one of the permutations is determinednamely the composite width of the arrangement of the pieces in the first one of the permutations, and the composite length of the arrangement of the pieces in the first one of the permutations. In block 340, then, the determined dimensions of the first one of the permutations is compared to the constraining print dimensions and the different is written in connection with the first one of the permutations in block 345 to an optimization table.
[0033] In decision block 350, it is determined if additional ones of the permutations has yet to be processed. If so, the process returns to block 330 with the selection of a next one of the permutations. Once again, in block 335 the length and width dimensions of the next one of the permutations is determinednamely the composite width of the arrangement of the pieces in the next one of the permutations, and the composite length of the arrangement of the pieces in the next one of the permutations. In block 340, then, the determined dimensions of the next one of the permutations is compared to the constraining print dimensions and the different is written in connection with the next one of the permutations in block 345 to the optimization table. The process repeats for each remaining one of the permutations in the subset.
[0034] In decision block 350, when no further permutations remain to be considered in the subset, in block 355, the optimization table is processed to identify one of the permutations associated with a minimal dimensional difference relative to the constraining print dimensions. In block 360, the pieces of the identified one of the permutations is then retrieved from the pool and in block 365 a print directive is transmitted to the printer to print the pieces of the identified one of the permutations onto the fabric substrate at the starting position. Finally, at bloc 370 the pieces of the identified one of the permutations are removed from queuing in the pool and the process returns to block 310 with the selection in the pool of additional different pieces associated with one or more different garment templates for optimized printing.
[0035] Of import, the foregoing flowchart and block diagram referred to herein illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computing devices according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which includes one or more executable instructions for implementing the specified logical function or functions. In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
[0036] More specifically, the present invention may be embodied as a programmatically executable process. As well, the present invention may be embodied within a computing device upon which programmatic instructions are stored and from which the programmatic instructions are enabled to be loaded into memory of a data processing system and executed therefrom in order to perform the foregoing programmatically executable process. Even further, the present invention may be embodied within a data processing system adapted to load the programmatic instructions from a computing device and to then execute the programmatic instructions in order to perform the foregoing programmatically executable process.
[0037] To that end, the computing device is a non-transitory computer readable storage medium or media retaining therein or storing thereon computer readable program instructions. These instructions, when executed from memory by one or more processing units of a data processing system, cause the processing units to perform different programmatic processes exemplary of different aspects of the programmatically executable process. In this regard, the processing units each include an instruction execution device such as a central processing unit or CPU of a computer. One or more computers may be included within the data processing system. Of note, while the CPU can be a single core CPU, it will be understood that multiple CPU cores can operate within the CPU and in either instance, the instructions are directly loaded from memory into one or more of the cores of one or more of the CPUs for execution.
[0038] Aside from the direct loading of the instructions from memory for execution by one or more cores of a CPU or multiple CPUs, the computer readable program instructions described herein alternatively can be retrieved from over a computer communications network into the memory of a computer of the data processing system for execution therein. As well, only a portion of the program instructions may be retrieved into the memory from over the computer communications network, while other portions may be loaded from persistent storage of the computer. Even further, only a portion of the program instructions may execute by one or more processing cores of one or more CPUs of one of the computers of the data processing system, while other portions may cooperatively execute within a different computer of the data processing system that is either co-located with the computer or positioned remotely from the computer over the computer communications network with results of the computing by both computers shared therebetween.
[0039] The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
[0040] Having thus described the invention of the present application in detail and by reference to embodiments thereof, it will be apparent that modifications and variations are possible without departing from the scope of the invention defined in the appended claims as follows: