WO2005061774A1 - Turning complex fill stitching in embroidery designs - Google Patents

Turning complex fill stitching in embroidery designs Download PDF

Info

Publication number
WO2005061774A1
WO2005061774A1 PCT/AU2004/001804 AU2004001804W WO2005061774A1 WO 2005061774 A1 WO2005061774 A1 WO 2005061774A1 AU 2004001804 W AU2004001804 W AU 2004001804W WO 2005061774 A1 WO2005061774 A1 WO 2005061774A1
Authority
WO
WIPO (PCT)
Prior art keywords
shape
lines
sub
stitch
fill
Prior art date
Application number
PCT/AU2004/001804
Other languages
French (fr)
Inventor
Alexander John Polden
Original Assignee
Wilcom International Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2003907052A external-priority patent/AU2003907052A0/en
Application filed by Wilcom International Pty Ltd filed Critical Wilcom International Pty Ltd
Publication of WO2005061774A1 publication Critical patent/WO2005061774A1/en

Links

Classifications

    • DTEXTILES; PAPER
    • D05SEWING; EMBROIDERING; TUFTING
    • D05BSEWING
    • D05B19/00Programme-controlled sewing machines
    • D05B19/02Sewing machines having electronic memory or microprocessor control unit
    • D05B19/04Sewing machines having electronic memory or microprocessor control unit characterised by memory aspects
    • D05B19/08Arrangements for inputting stitch or pattern data to memory ; Editing stitch or pattern data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36206Embroidery
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36248Generate automatically machining, stitching points from scanned contour

Definitions

  • the present invention relates generally to the generation of an embroidery design in a computer aided design system.
  • Such designs comprise a list of stitching instructions that are used by automatic embroidery machines to embroider designs.
  • the invention concerns a method for generating an embroidery design.
  • the invention is a computer aided embroidery design system for generating a ⁇ embroidery design.
  • the invention is a series of stitch commands for controlling an automatic embroidery machine so that it is able to perform the method- Advances in this field generally require skills in embroidery to determine the quality of the generated designs, and skills in mathematics to determine the algorithms to be used by a computer to create the designs.
  • Automatic embroidery machines are very well known in the embroidery industry. The primary characteristics of automatic embroidery machines, and the basic manner in which embroidery designs are defined for these prior art machines is described in the book; "Embroidery: Schiffli & Multihead” by Coleman Schneider, 1978, International Standard Book Number 0-9601662-1-1.
  • An automatic embroidery machine typically operates by moving iece of fabric or garment to be embroidered in the X and Y directions, defined according to a standard XY Cartesian coordinate system, under an embroidery needle. As the fabric is moved, the needle reciprocates up and down to penetrate the fabric at pre-defined XY locations on the fabric, forming stitches of thread in a sequence to form the embroidery design.
  • an automatic embroidery machine is given a series of stitch commands that define the sequence of XY movements required to form that design.
  • the series of stitch commands used by automatic embroidery machines are generally referred to as "stitch data format", since every individual stitch location is explicitly defined.
  • Design Systems are typically referred to in industry as embroidery CAD (Computer Aided , Design) systems, 'Tunching Systems” or “Digitizing Systems”.
  • Embroidery Design Systems in common use, typically output designs in “Stitch Data Format” for use on automatic embroidery machines.
  • Most commercial Design Systems also work with "Outline Data Format”, also known as “Condensed Data Format”. This refers to a means of defining an embroidery design in terms of a sequence of geometric shapes to be filled with stitches, where for each shape, the stitching parameters required to calculate stitches of the desired stitch type are defined and stored with the shapes.
  • the geometric shapes are typically formed by straight line segments, curved line segments, or a mixture.
  • Shapes are sometimes stitched along their outline, as in the case of 'fannin stitch” shown in Figure lb. In other cases, shapes are "filled” with stitches inside the outlines of a closed shape or polygon. If the shape is small enough (typically less than 12 mm across), it is typically filled using a back and forth motion across the shapes with a single stitch, referred to as "satin stitch” as shown in Figure lc; note the alternate vertical and sloping stitches.
  • the pattern of intermediate needle penetrations in the finished embroidery is visible to the human eye in all cases, whether it is the designers intention to minimize their visibility, or to maximize the visibility.
  • a typical complication for filling shapes with straight line fills is illustrated with reference to the "complex fill shape" 10 of Figure 2a.
  • the area has an internal and external boundary, and it is required to fill the area between the two boundaries, leaving the diamond shaped "hole” 11 unstitched.
  • the technique for doing this is referred to in the industry as "complex fill”.
  • a "complex fill shape” is characterized by the fact that straight stitch lines which cross the area intersect the boundary more than twice in some places, for instance when they cross the hole.
  • the shape 10 is a complex fill shape because it is not possible to fill it with an uninterrupted series of straight lines of stitching.
  • the method breaks the whole complex fill shape 10 into several simple fill sub-shapes which axe bounded by the intersection of stitch lines with the holes or with the outside boundaries.
  • the horizontal 5 lines 12, 13 and 14 indicate the boundaries between different sub-shapes 15, 16, 17, 18, 1 and 20 of the complex fill shape. Then it is necessary to calculate stitching for each sub-shape, and to sequence the sub-shapes carefully. When ixavelling between the sub- shapes, or segments made up of several contiguous sub-shapes, it is necessary to ensure they all join together properly. If intermediate stitch points are required along the 0 straight lines, these must be calculated so that the visual pattern created by the intermediate stitch points is consistent across the entire shape. That is, the pattern of needle penetrations inside the shape must match between sub-shapes, so no discontinuities are visible. If not, the visual artistic effect of the embroidery stitching is poor and customers will reject the design.
  • Figure 2b shows the shape partly filled, in
  • Curved lines of stitching can give very good artistic effects to the look of the embroidery, creating a 3-dimensional like effect, or giving a more life-like feel to the embroidery. For example, when stitching a shape
  • WO 00/14319 (Wilcom) provided a partial solution which required the definition of two straight "stitch definition lines", at different angles to produce stitches that turned smoothly from one stitch direction to the other across the shape, as shown in Figure 3c.
  • This method provides a new way of generating embroidery designs for complex fill shapes, and is able to provide turning complex fill stitches without the limitations of the prior art. It is also able to provide varying curved lines of fill across complex fill shapes.
  • the lines of fill stitching may be a single (satin) stitch, a single row of stitch points, or a line of motifs.
  • the invention enjoys a particular advantage in being able to generate embroidery designs using satin stitch for complex fill shapes where satin stitch has not previously been able to be used in many cases.
  • the method is also able to generate designs where different stitch types are used in different segments of the complex fill shape.
  • the designer may be human, but it is also conceivable for the design to be generated by a computer system which then supplies data to the invention without huihan operator input.
  • the stitch definition lines need not be straight lines but could be curved, even in complicated ways. In this case the calculating step will generate curved lines of fill which will transition between the directions and curved shapes of the stitch definition lines. It should be appreciated that there need be no structural link between the complex fill shape, or the simple fill sub-shapes, and the stitch definition lines.
  • the determination of the additional cut lines may involve the use of heuristic methods to select techniques appropriate to different classes of complex sub-shapes. Each complex sub-shape may be separately considered to determine its class and therefore the appropriate technique. The techniques may be ordered and searched in order to identify the first suitable technique for a sub-shape. This technique may then be applied to that sub-shape and the next sub-shape may then be considered.
  • One characteristic of such a heuristic method is that it is extensible, and it will always be possible to add new techniques as they are developed.
  • O important new technique for the determination of suitable cut-lines involves the use of the mathematical concept of the level sets of a continuous function.
  • the technique constructs a function defined on a complex fill sub-shape, the value of which is a constant on each of the stitch definition lines ih.at belong to the boundary of the sub-shape. This implies that each such stitch definition line lies inside a single level set of this function and that the intervening level set lines sweep out the sub-shape with a family of non-intersecting curves.
  • the level sets of this function corresponding to particular function values may be used as cut-lines to divide the complex sub-shape into simple pieces. The distinguished values are precisely the local rmnimum and local maximum values taken by the level-set generating function on any of the boundaries of the complex sub-shape.
  • Identification of the distinguished function values may be simplified by polygonalising the outlines and stitch-definition lines. Similarly, the calculation may be simplified by constructing the level-set generating function in the class of piecewise linear functions.
  • Another technique which is complementary to the level-set technique, is concerned with "branched 1 complex sub-shapes, which are sub-shapes bounded by the outline and three or more straight stitch definition lines. If the lines of fill in such a sub-shape are straight lines (for instance, for stitching with satin stitch type), then it is impossible to find suitable cut-lines using the level-set technique; but we may proceed instead by: constructing a sample of possible straight-line cuts through the complex sub- shape by identifying concave vertices of the sub-shape outline, and by splitting the angles at these vertices into equal divisions of predetermined angular separation; then selecting a single cut line from the sample evaluated according to a number of inbuilt or user-specified criteria.
  • the additional cut lines may be determined by:. constructing a sample of the straight cut lines through each of the branching vertices by splitting the angle at each vertex into equal divisions of predetermined angular separation; classifying the samples into two different "separation classes" and selecting only one cut from each separation class; excluding pairs of lines that cross each other; then, selecting the pair of cut lines according to a number of inbuilt or user specified criteria.
  • the additional straight cut lines may be determined by: constructing a sample of the straight cut lines through each of the branching vertices by splitting the angle at each vertex into equal divisions of predetermined angular separation; classifying the samples into "separation classes" and selecting only one cut from each separation class; classifying the possible straight cut lines at every vertex into different separation classes; computing the compatibility of the separation classes. Perhaps by capturing information about compatibility between classes in a graph structure and analysing it using Graph Theory to find cliques identifying candidate sets of cut lines, one from each class of each clique, in which all the cut lines of each set are compatible with each other. This may be done by first ranking each cut in each class according to an evaluation function.
  • Further steps in the calculating step may involve sequencing the simple shapes, travel run construction, dealmg with overlaps and generating the positions of stitch points in each simple shape separately,
  • a preview and editing function may be provided to the user so that the calculated stitch points and lines of fill can be viewed, together with the stitch definition lines. In this way it is possible for the user to move the stitch definition lines if the resulting embroidery design is not to their liking, and to preview the recalculated result until a pleasing design is generated.
  • the invention is a computer aided embroidery design system for generating the positions of stitch points for use by automatic embroidery machines to embroider complex fill shapes in embroidery designs, the system including: data input means to receive specifications for the outline or outlines of a complex fill shape in the design, and two or more stitch definition lines to divide the shape into sub-shapes bounded by one or more parts of the outlines and one or more stitch definition lines, and wherein the stitch definition lines do not meet each other within or on the boundaries of a sub-shape which they bound; computing means to specify the stitch definition lines to be "cut lines", to deterrnine additional cut lines to divide the entire complex fill shape into only simple fill sub-shapes, and to calculate the positions of stitch points to embroider each simple fill sub-shape of the complex fill shape, such that the stitch points extend along each of the stitch definition lines and along lines of fill which extend parallel to the stitch definition line in a sub-shape where there is only one stitch definition line bounding that sub-shape, but
  • the invention is a series of stitch commands for controlling an automatic embroidery machine to embroider a complex fill shape in an embroidery design, the series including: a series of sequenced positions of stitch points to embroider the area, such that the stitch points extend along stitch definition lines which divide the complex fill shape up into sub-shapes bounded by one or more parts of the outline or outlines of the complex fill shape and one or more stitch definition lines, and where stitch definition lines do not meet each other within or on the boundaries of a sub-shape which they bound; such that the stitch points extend along lines of fill which extend parallel to the stitch definition line in a sub-shape where there is only one stitch definition line bounding that sub-shape, but where the stitch points are offset from each other across each sub-shape bounded by two or more stitch definition lines to give a smooth transition of the lines of fill between the directions and shapes of the stitch definition lines bounding that sub-shape.
  • Figure 1 illustrates examples of known stitch types within a first shape 3.
  • Figure l is an outline of the first vector shape 3 having a mixture of curved and straight edges.
  • Figure lb is the shape 3, stitched along its outline, with "Running” stitch.
  • Figure lo is the shape 3, stitched inside (filled) with "Satin” stitch type.
  • Figure 1 d is the shape 3, filled with "Tatami” stitch type having a regular staggered offset pattern of stitch points extending diagonally across the lines of stitches.
  • Figure le is the shape 3, filled with "Program Split” type stitching using small circles as the pattern for intermediate stitch points along the stitch lines.
  • Figure 2 illustrates the principle of complex fill.
  • Figure 2a is a complex shape containing a diamond shaped hole and divided into simple sub-areas to be filled using "Complex Fill" with Tatami stitch type
  • Figure 2b is the complex shape of Figure 2b with some sub-areas filled
  • Figure 2c is the complex shape of Figure 2b with all sub-areas filled.
  • Figure 3 illustrates practical examples of complex fill.
  • Figure 3 a is a complex fill snail shape.
  • Figure 3b is the complex fill snail shape filled with tatami stitch.
  • Figure 3 c is the complex fill snail shape filled with -Urning stitches.
  • Figure 3d is the complex fill snail shape filled with parallel complex fill satin titches.
  • Figure 4 illustrates a complex fill snail shape embroidered using the invention.
  • Figure 4a is a line drawing of a complex fill snail shape and user stitch definition lines.
  • Figure 4a is a line drawing of the complex fill snail shape filled with tatami stitches.
  • Figure 4a is a line drawing of the complex fill snail shape filled with satin stitches
  • Figure 5 is a flowchart illustrating the steps in the creation of an embroidery design.
  • Figure 6 is a line drawing of the external and internal outlines of a complex fill bird shape together with user defined stitch definition lines.
  • Figure 7 is a flowchart illustrating the steps in shape segmentation.
  • Figure 8 is a line drawing of the complex fill bird shape of Figure 5 divided into simple fill sub-shapes.
  • Figure 9 illustrates the mathematical concept of level sets.
  • Figure 9a is a graph showing a set of straight line level sets.
  • Figure 9b is a graph showing an arbitrarily curved level set.
  • Figure 9c is a graph of the level set of Figure 10a applied to a complex fill shape.
  • Figure 1 is a line drawing of a simple fill sub-shape.
  • Figure 11 is a flowchart illustrating the steps in a technique of shape segmentation applied to branched complex fill shapes with straight stitch definition lines.
  • Figure 12 is a line drawing of a complex fill sub-shape with the tangential cut register marked on it.
  • Figure 13 is a line drawing of a complex fill shape having four branches with the tangential cut register marked on it.
  • Figure 14 is a flowchart illustrating the steps in shape segmenting a multi- branched complex fill shape.
  • Figure 15 is a line drawing of a multi-branched complex fill shape with the tangential cut register marked on it and the separation classes.
  • Figure 16 is a compatibility graph for Figure 15.
  • Figure 17 is a line drawing of the complex fill bird shape of Figure 8 showing the segments in which it is stitched.
  • Figur.e 18 is a line drawing complex fill bird shape of Figure 17 showing the travel runs and entry and exit points.
  • Figures 4a, 4b and 4c show a snail design having an complex fill shape specified by outlines 40 and 41, and eight stitch definition lines 50 to 57 crossing the design.
  • Figure 4b shows the shape filled with tatami type stitehing
  • Figure 4c shows the shape filled with satin stitch.
  • the lines of fill can be seen to He along the stitch definition lines 50 to 57, and they are offset from each other to give a smooth transition of the lines of fill throughout the shape.
  • Step 1 Data input, requires digitising a complex fill shape and stitch definition lines, or importing equivalent data from an alternative source.
  • Step 2 Shape segmentation to automatically segment the complex fill shape into simple fill sub-shapes according to the stitch definition lines specified and additional cut lines which are calculated to reduce the complex shape into a series of simpler sub-shapes. If this is not possible then the shape is unstitchable.
  • Step 3 Sequencing the simple fill sub-shapes into the correct stitching sequence to match the specified start point and end point for the shape.
  • Step 4 Overlap creation to extend the segments in order to prevent gaps appearing during stitching
  • Step 5 Travel run construction to connect a segment to a non adjacent segment which is to be stitched next. This uses run stitches which pass through unstitched areas.
  • Step 6 Stitch generation for each simple fill shape.
  • Data input The data supplied by the user are: The start point 60 and the end point 61.
  • the external 65 and internal 66 outlines of a complex fill bird shape 67, that are approximated by piece-wise linear functions.
  • Six stitch definition lines 70 to 75 defined by specifying two end points outside of the fill shape. These lines do not need to extend across the entire shape, but they could stop inside holes or other gaps inside the shape. In subsequent processing the computing engine takes account of the lines from one point on the outline to another point on the outline.
  • Shape segmentation is approached by generating a rule based, or heuristic, approach which leads the computer through an ordered series of different techniques to automatically segment the shape. New techniques can be added as they become available, but there, may be cases where automatic shape segmentation fails and in this case the stitch definition lines may be adjusted to resolve segmentation failure. Alternatively, the shape may need to be adjusted by the user so that automatic shape segmentation can be achieved.
  • Step 1 the six user provided stitch definition lines 70 to 75 are used to divide the complex fill shape 67 into seven sub-shapes 80 to 86. Should this result in only simple fill shapes the shape segmentation process is complete.
  • Step 2 one of the complex fill sub-shapes is selected, in this case sub-shape 81.
  • Step 3 each of the techniques is applied to that sub-shape in turn. If the sub-shape can be successfully divided then the next sub-shape is selected and so on until either the entire complex fill shape has been successfully divided into simple fill areas, or user input is required, In this example it is possible to divide the complex fill sub-shapes by generating six additional cut lines 90 to 95 to form fourteen more simple fill shapes 100 to 113. The entire complex fill shape, as a result is divided into sixteen simple fill shapes, as shown in Figure 8.
  • Division of complex fill sub-shapes is achieved by inserting one or more additional cut- lines tangential to points of the sub-shape's boundary.
  • cut line 94 is tangential to a concave point 119 of the boundary of sub-shape 85, seen in Figure 6. Insertion of cut line 94 divides sub-shape 85 further to create sub-shapes 110 and 111 of Figure 8.
  • the mathematical concept of the level sets of a function can be used to create and apply cut lines like 94,
  • Figure 9a illustrates a simple example of a family of parallel lines arising as the level sets of a function/
  • the level sets of a function form a family of curves, and they provide a convenient way of representing fill-lines in embroidery.
  • the complex fill shape can be divided into simple fill sub-shapes by inserting cut lines along the level sets corresponding to particular function values. These function values are precisely the local maximum and local m imurn values on the outlines of the complex fill shape.
  • the minimum value level-set line that intersects internal outline 220 is identified at 230.
  • the level set line 240 corresponds to the maximum function value of the internal outline 220.
  • the particular level sets that divide a complex fill shape into simple fill sub-shapes are characterised by various other properties. They are precisely those level sets that intersect the fill-shape boundaries without crossing Cnon-transversally', in precise mathematical language) at one or more points.
  • Level-sets can also be used to decompose complex fill sub-shapes of a complex fill- shape bounded by stitch definition lines and sections of the outlines of the complete shape.
  • Figure 10 illustrates complex sub-shape 85 of Figure 6. To do this, we construct a function whose value is constant on each of the stitch definition lines 74 and 75. This means that each of the stitch definition lines lies inside a single level set, and that the sub-shape they bound is swept out by the level sets corresponding to the mtervening values.
  • the complex sub-shape 85 is divided into simple pieces by the level-set whose value is a local minima or maxima for this function.
  • sub-shape 82 is branched and is bounded by the outline and by three straight stitch definition lines. If the stitch definition lines were curvy it would be possible to introduce a curvy cut line across the concave vertex 1 0 to create a smooth transition of curves across the sub-shape, and the user would be able to assess whether the result was acceptable or whether the stitch definition lines needed to be respecified. However, when the stitch definition lines bounding the branched shape are straight and the lines of fill are to be straight the situation is more difficult. It is clear that a straight cut line must cross the concave vertex 160 but it is not clear what is the best angle for that cut line. A solution to this problem will be explained with reference to the flowchart of Figure 11, and Figure 12 which shows sub-shape 82 alone.
  • Step 1 is to construct a sample of the straight cut lines by splitting the angle at the vertex 160 into equal divisions of predetermined angular separation. Then some additional cut lines are added to the sample, such as a horizontal and vertical line passing through the vertex, and lines parallel to the already cut boundaries of the sub- shape 71, 72 and 74. Together this entire sample of cut lines is called the "tangential cut register" and it is illustrated in Figure 12.
  • Step 2 tests that the branching is simple, as shown in the example of Figure 12. If there were multiple branching more complex processing is necessary and will be discussed later.
  • Step 3 involves selecting a single cut line from the sample. This will be the best candidate evaluated according to a number of inbuilt or user specified criteria. An evaluation function is used to assign a numerical score according to the criteria and the candidate with the highest score will be selected.
  • the most important criterion is to minimise stitch shortening.
  • stitch shortening In areas of high stitch density it is common practice to reduce the density by shortening the length of a proportion of the stitches, so that not all the stitches go all the way across the shape into the area of high density. This practice is undesirable when it results in the short stiches being visible in the finished embroidery.
  • Other criteria include the length of the cut, its proximity to favoured or disfavoured directions and whether or not it coincides with a long boundary of the shape.
  • Figure 13 shows a complex sub-shape 300 having four branches 301 to 303 and two concave vertices 310 and 320. Note that there are four edges (ie from the outline of the original complex shape) to this sub-shape 330 to 333, and four cut boundaries 341 to
  • Step 1 classifies classes 305 and 306 into two different "separation classes". Only one cut is required from each of these separation classes in order to divide the complex fill shape into simple fill shapes.
  • Separation classes are stringently defined, and two cut lines belong to the same separation class if they intersect the same edges of the sub-shape in the same order.
  • the Set of allowable lines excludes pairs of lines (one from each class) that cross each other. This reduces the number of candidate ' pairs from which to make a selection.
  • N-2 cut lines required to divide the shape into simple fill sub-shapes.
  • An exotic case occurs where one cut line passes through two vertices and such a cut line is alone able to divide a shape into more than three sub-shapes, and if such a cut line exists fewer cut lines are required to divide the complex fill shape into simple fill shapes.
  • Step 1 Classifies the cut lines at every vertex into different separation classes.
  • Reference to the definition of separation classes indicates that the number of separation classes does not increase linearly in step with the number of branching vertices, but may increase more quickly depending on the shape.
  • ia Figure 15 there is a complex fill shape bounded by five edges and five cuts, and it has seven separation classes 400 to 406. Only two or three cut lines are required to divide this complex fill shape into simple fill shapes (two cut lines can be used if 406 is one of them since goes through two vertices and is able to cut the shape into four sub-shapes) a set of candidate cut lines need only come from two or three of the separation classes.
  • Step 2 involves computing the compatibility of the separation classes. Two classes are completely incompatible if every cut line of one class intersects every cut line of the other. Two classes are completely compatible if no cut lines of one class intersect any of the cut lines of the other. Most pairs of classes are partially compatible with some cut lines of one class not intersecting some cut lines of the other. It is necessary to find a subset of the classes in which every class is at least partially compatible with every other class. In order to do this information about compatibility between classes can be captured in a graph structure and analysed using Graph Theory to find cliques. Should no cliques be found then another technique is required.
  • Figure 16 illustrates the graph structure for Figure 1 and shows that there are two third order cliques (400, 401, 402) and (400, 403, 404), there is also a second order clique (400, 406).
  • Step 3 selects the best candidate set as before.
  • the next stage of the process is sequencing, that is deter ⁇ iinmg the order and direction in which the simple fill sub-shapes should be filled with stitches.
  • the final stage of processing involves known stitch generation algorithms that produce ttoning stitching in the simple areas which are stitched, in their numerical order. It pays particular attention to inter-stitch spacing, the vital factor in ensuring high-quality stitching.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Textile Engineering (AREA)
  • Sewing Machines And Sewing (AREA)

Abstract

Embroidery design using: a) complex shape outline (65) b) stitch definition lines (70 to 75); c) sub-shapes (80 to 85); d) cut-lines (90 to 95); e) simple fill shapes (110 to 113); and f) stitch points. The stitch points extend along stitch definition lines and along the lines of fill stitching which extend parallel to the stitch definition lines in a sub-shape.

Description

Title TURNING COMPLEX FILL STITCHING IN EMBROIDERY DESIGNS
Field of the Invention
The present invention relates generally to the generation of an embroidery design in a computer aided design system. Such designs comprise a list of stitching instructions that are used by automatic embroidery machines to embroider designs. In particular the invention concerns a method for generating an embroidery design. In a second aspect the invention is a computer aided embroidery design system for generating aα embroidery design. In a third aspect the invention is a series of stitch commands for controlling an automatic embroidery machine so that it is able to perform the method- Advances in this field generally require skills in embroidery to determine the quality of the generated designs, and skills in mathematics to determine the algorithms to be used by a computer to create the designs.
Description of Prior Art
Automatic embroidery machines are very well known in the embroidery industry. The primary characteristics of automatic embroidery machines, and the basic manner in which embroidery designs are defined for these prior art machines is described in the book; "Embroidery: Schiffli & Multihead" by Coleman Schneider, 1978, International Standard Book Number 0-9601662-1-1.
An automatic embroidery machine typically operates by moving iece of fabric or garment to be embroidered in the X and Y directions, defined according to a standard XY Cartesian coordinate system, under an embroidery needle. As the fabric is moved, the needle reciprocates up and down to penetrate the fabric at pre-defined XY locations on the fabric, forming stitches of thread in a sequence to form the embroidery design. To embroider a particular design, an automatic embroidery machine is given a series of stitch commands that define the sequence of XY movements required to form that design. The series of stitch commands used by automatic embroidery machines are generally referred to as "stitch data format", since every individual stitch location is explicitly defined. There are many commercial systems on the market in widespread use for creating and modifying stitch designs for use by automatic embroidery machines. These "Design Systems" are typically referred to in industry as embroidery CAD (Computer Aided , Design) systems, 'Tunching Systems" or "Digitizing Systems". Embroidery Design Systems in common use, typically output designs in "Stitch Data Format" for use on automatic embroidery machines. Most commercial Design Systems also work with "Outline Data Format", also known as "Condensed Data Format". This refers to a means of defining an embroidery design in terms of a sequence of geometric shapes to be filled with stitches, where for each shape, the stitching parameters required to calculate stitches of the desired stitch type are defined and stored with the shapes. The geometric shapes are typically formed by straight line segments, curved line segments, or a mixture. Various forms of mathematical curves are used in industry to define shapes to be stitched, including Bezier curves, various types of spline curves, circular arcs, and the like. The stitching parameters stored with the shapes include the "stitch type", the stitching calculation method to use, the stitch density or spacing, the stitch lengths, stitch angles and so on. There are many different methods to fill a shape with stitches, and each has its own specific set of parameters.
Shapes which from parts of embroidery designs are typically defined as geometric outlines 3, as shown for example in Figure la. Prior art embroidery design systems already have well known and well refined methods whereby shapes to be filled with stitches can be described graphically by operators, or from pre-defined artwork such as clipart. There are existing methods for calculating curves and straight lines for these shapes, displaying them graphically or numerically, editing the shape, calculating the various stitch types, and displaying stitches and shapes together or separately.
Shapes are sometimes stitched along their outline, as in the case of 'fannin stitch" shown in Figure lb. In other cases, shapes are "filled" with stitches inside the outlines of a closed shape or polygon. If the shape is small enough (typically less than 12 mm across), it is typically filled using a back and forth motion across the shapes with a single stitch, referred to as "satin stitch" as shown in Figure lc; note the alternate vertical and sloping stitches.
When the shapes are larger, such that it is not possible or practical for a single stitch movement to cover the distance from one side of the shape to the other, or when certain artistic effects are desired inside the shape, various techniques are used to calculate multiple intermediate stitch points, across the shape. The most common method of this is referred to as "tatami" stitching, or "geflecht" or "step stitch" and this is illustrated in Figure I . Using this technique, the intermediate stitch points going across a shape axe carefully calculated relative to each other so that the needle points axe staggered, or offset from those on adjacent lines of stitching going across the shape, to minimize the visibility of the intermediate stitch points. In this case the stitch points extend in diagonals, indicated at 4, across the lines of stitches.
Another common practice is to have the intermediate stitch points form desired visible shapes or patterns inside the sbape, usually for artistic reasons, see for example Figure le. This example shows stitch points arranged in circular patterns 5 which are repeated across the shape. The intermediate needle penetrations across the shape form very visible lines, because the penetrations on adjacent lines of stitching are close together. This effect is often referred to in industry as "program split" stitch type.
The pattern of intermediate needle penetrations in the finished embroidery is visible to the human eye in all cases, whether it is the designers intention to minimize their visibility, or to maximize the visibility.
In the examples of Figure lc, Id and le the shape to be filled with stitching is a "simple fill shape" and can be filled by calculating a series of straight lines which go back and forth across the area, and then using these straight lines as either individual stitches (eg satin stitch), or to calculate intermediate stitch points along these straight lines. In all cases, careful control of the placement of the stitch lines is needed to ensure consistent density of stitch lines in the shape, and consistent visual effect of the intermediate stitches.
A typical complication for filling shapes with straight line fills is illustrated with reference to the "complex fill shape" 10 of Figure 2a. In this situation, the area has an internal and external boundary, and it is required to fill the area between the two boundaries, leaving the diamond shaped "hole" 11 unstitched. The technique for doing this is referred to in the industry as "complex fill". In general a "complex fill shape" is characterized by the fact that straight stitch lines which cross the area intersect the boundary more than twice in some places, for instance when they cross the hole. The shape 10 is a complex fill shape because it is not possible to fill it with an uninterrupted series of straight lines of stitching. The method breaks the whole complex fill shape 10 into several simple fill sub-shapes which axe bounded by the intersection of stitch lines with the holes or with the outside boundaries. The horizontal 5 lines 12, 13 and 14 indicate the boundaries between different sub-shapes 15, 16, 17, 18, 1 and 20 of the complex fill shape. Then it is necessary to calculate stitching for each sub-shape, and to sequence the sub-shapes carefully. When ixavelling between the sub- shapes, or segments made up of several contiguous sub-shapes, it is necessary to ensure they all join together properly. If intermediate stitch points are required along the 0 straight lines, these must be calculated so that the visual pattern created by the intermediate stitch points is consistent across the entire shape. That is, the pattern of needle penetrations inside the shape must match between sub-shapes, so no discontinuities are visible. If not, the visual artistic effect of the embroidery stitching is poor and customers will reject the design. Figure 2b shows the shape partly filled, in
15 this condition sub-shapes 15, 16, 17 and 19 have been filled. Figure 2c shows the shape after it has been completely filled.
Embroidery design systems have had the capability to perform automatic complex fill with straight line stitching techniques as early as 1989,
20 Embroidery designers often would like to fill some shapes with curved lines of stitching instead of straight lines of stitching. Curved lines of stitching can give very good artistic effects to the look of the embroidery, creating a 3-dimensional like effect, or giving a more life-like feel to the embroidery. For example, when stitching a shape
25 which represents a real 3-dimensional object.
To embroider a shape like the snail shown in Figure 3 a past practice has been to use complex fill stitch calculation methods with tatami stitch type, as illustrated in Figure 3b, All stitches are calculated as parallel stitch lines, in this case at a vertical angle. This 30 figure shows the boundary definition points, and the nominated stitch direction line being vertical.
However, parallel stitching produces a very plain artistic look. Embroiderers prefer to turn the stitches through varying angles across or through the shape, to give more 35. interesting effects. However, it has not been possible to automatically fill a complex fill shape like this with stitches that turn at different angles according to the designers wishes. Only simple fill shapes could be filled automatically. Complex fill shapes had to be manually divided into a series of simple fill sub-shapes, and each filled separately. But this was much more time consuming, and it was error prone to get all the sub- shapes aligned accurately so that joins were not visible.
WO 00/14319 (Wilcom) provided a partial solution which required the definition of two straight "stitch definition lines", at different angles to produce stitches that turned smoothly from one stitch direction to the other across the shape, as shown in Figure 3c.
However, this solution has some serious limitations and problems when used for straight stitching. Principally only one or two stitch angles could be specified, not more. While the stitching progressed smoothly across the shape from the one angle to the other, it was still not possible to get different variations of stitch angles in different parts of the shape. For example having the stitching in the spiral snail shell at different stitch angles to those in the body of the snail, has not been possible without manually splitting the snail into separate parts and stitching the part separately. And the stitch density near the top. of the shape in this example (where the stitch angle lines diverge) is significantly different from that at the bottom (where the two angle lines converge). In addition, this "Curve Fill" technique does not work at all with satin stitch type.
Satin stitching (a single stitch from one boundary of the shape to another), has only been possible with parallel complex fill, as shown in Figure 3d. But this has several problems too. Firstly, there were frequently parts of the shape where it was too long a distance to cover in a single satin stitch, as illustrated by the dotted lines. Secondly, the parallel satin stitching did not give the desired aesthetic look that designers wanted, that is it did not turn with the shape. Having the ability to choose various angles if it were possible would give the designer a lot of control over the resulting aesthetic look.
Summary of the Invention
In a first aspect this invention is a method for generating an embroidery design for a complex fill shape in a computer aided design system, including the following steps: (a) specifying the outline or outlines of the complex fill shape in the design; (b) specifying two or more stitch definition lines which divide the shape into sub-shapes (which may be simple fill or complex fill sub-shapes) bounded by one or more parts of the outlines and one or more stitch definition lines, and where stitch definition lines do not meet each other within or on the boundaries of a sub-shape which they bound; (c) specifying the stitch definition lines to be "cut lines" and determining additional cut lines such that the entire complex fill shape is divided by all the cut lines to form only simple fill sub-shapes; (d) calculating the positions of stitch points to embroider each simple fill sub- shape of the complex fill shape, such that the stitch points extend along the stitch definition lines and along lines of fill stitching which extend parallel to the stitch definition line in a sub-shape where there is only one stitch definition line bounding that sub-shape, but where the stitch points are offset from each other across each sub- shape bounded by two or more stitch definition lines to give a smooth transition of the iines of fill between the directions and shapes of the stitch definition lines bounding that sub-shape; (e) recording the positions of the stitch points,
This method provides a new way of generating embroidery designs for complex fill shapes, and is able to provide turning complex fill stitches without the limitations of the prior art. It is also able to provide varying curved lines of fill across complex fill shapes. The lines of fill stitching may be a single (satin) stitch, a single row of stitch points, or a line of motifs. The invention enjoys a particular advantage in being able to generate embroidery designs using satin stitch for complex fill shapes where satin stitch has not previously been able to be used in many cases. The method is also able to generate designs where different stitch types are used in different segments of the complex fill shape.
It should be realized that the designer may be human, but it is also conceivable for the design to be generated by a computer system which then supplies data to the invention without huihan operator input.
The stitch definition lines need not be straight lines but could be curved, even in complicated ways. In this case the calculating step will generate curved lines of fill which will transition between the directions and curved shapes of the stitch definition lines. It should be appreciated that there need be no structural link between the complex fill shape, or the simple fill sub-shapes, and the stitch definition lines. The determination of the additional cut lines may involve the use of heuristic methods to select techniques appropriate to different classes of complex sub-shapes. Each complex sub-shape may be separately considered to determine its class and therefore the appropriate technique. The techniques may be ordered and searched in order to identify the first suitable technique for a sub-shape. This technique may then be applied to that sub-shape and the next sub-shape may then be considered. One characteristic of such a heuristic method is that it is extensible, and it will always be possible to add new techniques as they are developed.
O important new technique for the determination of suitable cut-lines involves the use of the mathematical concept of the level sets of a continuous function. The technique constructs a function defined on a complex fill sub-shape, the value of which is a constant on each of the stitch definition lines ih.at belong to the boundary of the sub-shape. This implies that each such stitch definition line lies inside a single level set of this function and that the intervening level set lines sweep out the sub-shape with a family of non-intersecting curves. The level sets of this function corresponding to particular function values may be used as cut-lines to divide the complex sub-shape into simple pieces. The distinguished values are precisely the local rmnimum and local maximum values taken by the level-set generating function on any of the boundaries of the complex sub-shape.
Identification of the distinguished function values may be simplified by polygonalising the outlines and stitch-definition lines. Similarly, the calculation may be simplified by constructing the level-set generating function in the class of piecewise linear functions.
When dividing the complex fill shape into the simple fill sub-shapes using the cut lines it may be useful to consider the cut lines to have a finite width. Ibis enables very small local variations in the shape, which can be common in some polygonalized computer graphic shapes, to be effectively hidden when searching for significant local minima and maxima, and also compensates for round off error in calculations.
Another technique, which is complementary to the level-set technique, is concerned with "branched1 complex sub-shapes, which are sub-shapes bounded by the outline and three or more straight stitch definition lines. If the lines of fill in such a sub-shape are straight lines (for instance, for stitching with satin stitch type), then it is impossible to find suitable cut-lines using the level-set technique; but we may proceed instead by: constructing a sample of possible straight-line cuts through the complex sub- shape by identifying concave vertices of the sub-shape outline, and by splitting the angles at these vertices into equal divisions of predetermined angular separation; then selecting a single cut line from the sample evaluated according to a number of inbuilt or user-specified criteria.
Where there are four branches and the sub-shape is bounded by the outline and by four straight stitch definition lines, the additional cut lines may be determined by:. constructing a sample of the straight cut lines through each of the branching vertices by splitting the angle at each vertex into equal divisions of predetermined angular separation; classifying the samples into two different "separation classes" and selecting only one cut from each separation class; excluding pairs of lines that cross each other; then, selecting the pair of cut lines according to a number of inbuilt or user specified criteria.
Where there are more than four branches, the additional straight cut lines may be determined by: constructing a sample of the straight cut lines through each of the branching vertices by splitting the angle at each vertex into equal divisions of predetermined angular separation; classifying the samples into "separation classes" and selecting only one cut from each separation class; classifying the possible straight cut lines at every vertex into different separation classes; computing the compatibility of the separation classes. Perhaps by capturing information about compatibility between classes in a graph structure and analysing it using Graph Theory to find cliques identifying candidate sets of cut lines, one from each class of each clique, in which all the cut lines of each set are compatible with each other. This may be done by first ranking each cut in each class according to an evaluation function. Systematically searching for conflicts between pairs of cut lines. And; eliminating the lower scoring cut line from each conflict until only compatible sets remain; and selecting the set of cut lines according to a number of inbuilt or user specified criteria. The most important criterion may be to minimise stitch shortening.
Further steps in the calculating step may involve sequencing the simple shapes, travel run construction, dealmg with overlaps and generating the positions of stitch points in each simple shape separately,
A preview and editing function may be provided to the user so that the calculated stitch points and lines of fill can be viewed, together with the stitch definition lines. In this way it is possible for the user to move the stitch definition lines if the resulting embroidery design is not to their liking, and to preview the recalculated result until a pleasing design is generated.
In a further aspect, the invention is a computer aided embroidery design system for generating the positions of stitch points for use by automatic embroidery machines to embroider complex fill shapes in embroidery designs, the system including: data input means to receive specifications for the outline or outlines of a complex fill shape in the design, and two or more stitch definition lines to divide the shape into sub-shapes bounded by one or more parts of the outlines and one or more stitch definition lines, and wherein the stitch definition lines do not meet each other within or on the boundaries of a sub-shape which they bound; computing means to specify the stitch definition lines to be "cut lines", to deterrnine additional cut lines to divide the entire complex fill shape into only simple fill sub-shapes, and to calculate the positions of stitch points to embroider each simple fill sub-shape of the complex fill shape, such that the stitch points extend along each of the stitch definition lines and along lines of fill which extend parallel to the stitch definition line in a sub-shape where there is only one stitch definition line bounding that sub-shape, but where the stitch points are offset from each other across each sub- shape bounded by two or more stitch definition lines to give a smooth transition of the lines of fill between the directions and shapes of the stitch definition lines bounding that sub-shape; and, memory means to record the positions of the stitch points.
In another aspect, the invention is a series of stitch commands for controlling an automatic embroidery machine to embroider a complex fill shape in an embroidery design, the series including: a series of sequenced positions of stitch points to embroider the area, such that the stitch points extend along stitch definition lines which divide the complex fill shape up into sub-shapes bounded by one or more parts of the outline or outlines of the complex fill shape and one or more stitch definition lines, and where stitch definition lines do not meet each other within or on the boundaries of a sub-shape which they bound; such that the stitch points extend along lines of fill which extend parallel to the stitch definition line in a sub-shape where there is only one stitch definition line bounding that sub-shape, but where the stitch points are offset from each other across each sub-shape bounded by two or more stitch definition lines to give a smooth transition of the lines of fill between the directions and shapes of the stitch definition lines bounding that sub-shape.
Brief Description of the Drawings
In the drawings that follow, a convention has been adopted to represent needle penetration points as dots 1, and stitches as lines 2 that interconnect the dots.
The prior art has been described with reference to Figures 1, 2 and 3, in which: Figure 1 illustrates examples of known stitch types within a first shape 3. Figure l is an outline of the first vector shape 3 having a mixture of curved and straight edges. Figure lb is the shape 3, stitched along its outline, with "Running" stitch. Figure lo is the shape 3, stitched inside (filled) with "Satin" stitch type. Figure 1 d is the shape 3, filled with "Tatami" stitch type having a regular staggered offset pattern of stitch points extending diagonally across the lines of stitches. Figure le is the shape 3, filled with "Program Split" type stitching using small circles as the pattern for intermediate stitch points along the stitch lines. Figure 2 illustrates the principle of complex fill. Figure 2a is a complex shape containing a diamond shaped hole and divided into simple sub-areas to be filled using "Complex Fill" with Tatami stitch type, Figure 2b is the complex shape of Figure 2b with some sub-areas filled. Figure 2c is the complex shape of Figure 2b with all sub-areas filled. Figure 3 illustrates practical examples of complex fill. Figure 3 a is a complex fill snail shape. Figure 3b is the complex fill snail shape filled with tatami stitch. • Figure 3 c is the complex fill snail shape filled with -Urning stitches. Figure 3d is the complex fill snail shape filled with parallel complex fill satin titches.
An example of the invention will now be described with reference to the following drawings, in which:
Figure 4 illustrates a complex fill snail shape embroidered using the invention. Figure 4a is a line drawing of a complex fill snail shape and user stitch definition lines. Figure 4a is a line drawing of the complex fill snail shape filled with tatami stitches. Figure 4a is a line drawing of the complex fill snail shape filled with satin stitches, Figure 5 is a flowchart illustrating the steps in the creation of an embroidery design. Figure 6 is a line drawing of the external and internal outlines of a complex fill bird shape together with user defined stitch definition lines. Figure 7 is a flowchart illustrating the steps in shape segmentation. Figure 8 is a line drawing of the complex fill bird shape of Figure 5 divided into simple fill sub-shapes. Figure 9 illustrates the mathematical concept of level sets. Figure 9a is a graph showing a set of straight line level sets. Figure 9b is a graph showing an arbitrarily curved level set. Figure 9c is a graph of the level set of Figure 10a applied to a complex fill shape. Figure 1 is a line drawing of a simple fill sub-shape. Figure 11 is a flowchart illustrating the steps in a technique of shape segmentation applied to branched complex fill shapes with straight stitch definition lines. Figure 12 is a line drawing of a complex fill sub-shape with the tangential cut register marked on it. Figure 13 is a line drawing of a complex fill shape having four branches with the tangential cut register marked on it. Figure 14 is a flowchart illustrating the steps in shape segmenting a multi- branched complex fill shape. Figure 15 is a line drawing of a multi-branched complex fill shape with the tangential cut register marked on it and the separation classes. Figure 16 is a compatibility graph for Figure 15. Figure 17 is a line drawing of the complex fill bird shape of Figure 8 showing the segments in which it is stitched. Figur.e 18 is a line drawing complex fill bird shape of Figure 17 showing the travel runs and entry and exit points.
Detailed Description of the Invention
In general the design effect provided by the invention is exemplified in Figures 4a, 4b and 4c. Figure 4a shows a snail design having an complex fill shape specified by outlines 40 and 41, and eight stitch definition lines 50 to 57 crossing the design. Figure 4b shows the shape filled with tatami type stitehing, whereas Figure 4c shows the shape filled with satin stitch. In both cases the lines of fill can be seen to He along the stitch definition lines 50 to 57, and they are offset from each other to give a smooth transition of the lines of fill throughout the shape. There are a number of steps in the creation of such a design, and these will now be described with reference to the flow chart of Figure 5: Step 1 - Data input, requires digitising a complex fill shape and stitch definition lines, or importing equivalent data from an alternative source. Step 2 - Shape segmentation to automatically segment the complex fill shape into simple fill sub-shapes according to the stitch definition lines specified and additional cut lines which are calculated to reduce the complex shape into a series of simpler sub-shapes. If this is not possible then the shape is unstitchable. Step 3 - Sequencing the simple fill sub-shapes into the correct stitching sequence to match the specified start point and end point for the shape. Step 4 - Overlap creation to extend the segments in order to prevent gaps appearing during stitching, Step 5 - Travel run construction to connect a segment to a non adjacent segment which is to be stitched next. This uses run stitches which pass through unstitched areas. Step 6 - Stitch generation for each simple fill shape. Each of the steps will now be described in detail with reference to the complex fill bird shape of Figures 6.
Data input The data supplied by the user are: The start point 60 and the end point 61.
The external 65 and internal 66 outlines of a complex fill bird shape 67, that are approximated by piece-wise linear functions.
Six stitch definition lines 70 to 75 defined by specifying two end points outside of the fill shape. These lines do not need to extend across the entire shape, but they could stop inside holes or other gaps inside the shape. In subsequent processing the computing engine takes account of the lines from one point on the outline to another point on the outline.
And optionally, other parameters which regulate certain aspects of the processing.
Shape segmentation
This process is explained with reference to the flow chart of Figure 7. Shape segmentation is approached by generating a rule based, or heuristic, approach which leads the computer through an ordered series of different techniques to automatically segment the shape. New techniques can be added as they become available, but there, may be cases where automatic shape segmentation fails and in this case the stitch definition lines may be adjusted to resolve segmentation failure. Alternatively, the shape may need to be adjusted by the user so that automatic shape segmentation can be achieved.
In Step 1 the six user provided stitch definition lines 70 to 75 are used to divide the complex fill shape 67 into seven sub-shapes 80 to 86. Should this result in only simple fill shapes the shape segmentation process is complete.
Usually, and in the example shown in Figure 6, some of the sub-shapes 80 and 83 are simple fill shapes, but the other sub-shapes are complex fill shapes. In Step 2 one of the complex fill sub-shapes is selected, in this case sub-shape 81.
In Step 3 each of the techniques is applied to that sub-shape in turn. If the sub-shape can be successfully divided then the next sub-shape is selected and so on until either the entire complex fill shape has been successfully divided into simple fill areas, or user input is required, In this example it is possible to divide the complex fill sub-shapes by generating six additional cut lines 90 to 95 to form fourteen more simple fill shapes 100 to 113. The entire complex fill shape, as a result is divided into sixteen simple fill shapes, as shown in Figure 8.
We will now look in more detail at the techniques used for shape segmentation.
Level Set Segmentation
Division of complex fill sub-shapes is achieved by inserting one or more additional cut- lines tangential to points of the sub-shape's boundary.
For instance, in Figure 8, cut line 94 is tangential to a concave point 119 of the boundary of sub-shape 85, seen in Figure 6. Insertion of cut line 94 divides sub-shape 85 further to create sub-shapes 110 and 111 of Figure 8. The mathematical concept of the level sets of a function can be used to create and apply cut lines like 94,
Figure 9a illustrates a simple example of a family of parallel lines arising as the level sets of a function/ The level-sets corresponding to the values f=-l, 0, 1, 2, 3, 4, 5 have been drawn; and the spaces between them are swept out by level sets corresponding to the intervening fractional values. In general, the level sets of a function form a family of curves, and they provide a convenient way of representing fill-lines in embroidery.
A pattern of fill-lines represented as the level sets of a function, as shown in a generalised form in Figure 9b, can be superimposed over a complex fill shape 200 as shown in Figure 9c.
The complex fill shape can be divided into simple fill sub-shapes by inserting cut lines along the level sets corresponding to particular function values. These function values are precisely the local maximum and local m imurn values on the outlines of the complex fill shape. In Figure 9c, the minimum value level-set line that intersects internal outline 220 is identified at 230. Similarly, the level set line 240 corresponds to the maximum function value of the internal outline 220. In more complicated examples such as the external outline 210, there may be more than one local minimum or local maximum on a single outline. The particular level sets that divide a complex fill shape into simple fill sub-shapes are characterised by various other properties. They are precisely those level sets that intersect the fill-shape boundaries without crossing Cnon-transversally', in precise mathematical language) at one or more points.
In order to find the particular level-sets, we have only to compute all local maxima and minima for the function on the boundaries of the complex shape. The task may often be simplified by approximating some or all of the functions, the boundaries of the fill shape, and the stitch definition lines, by piecewise linear functions,
Level-sets can also be used to decompose complex fill sub-shapes of a complex fill- shape bounded by stitch definition lines and sections of the outlines of the complete shape. Figure 10 illustrates complex sub-shape 85 of Figure 6. To do this, we construct a function whose value is constant on each of the stitch definition lines 74 and 75. This means that each of the stitch definition lines lies inside a single level set, and that the sub-shape they bound is swept out by the level sets corresponding to the mtervening values. In the important special case in which the lines of fill are all straight and the sub-shape is bounded by two straight stitch-definition lines, see Figure 10, the function that generates the ruining stitch lines 250 is given by the formula: Let LI and L2 be the two infinite lines formed by extending the stitch definition lines, then the level-sets are generated by the following function.' f )=distane&(p,L1)/(distance(p,Lι)+dist ncs(p,LJ).
The complex sub-shape 85 is divided into simple pieces by the level-set whose value is a local minima or maxima for this function.
When dividing the complex fill shape into the simple fill sub-shapes using the cut lines it is useful to consider the cut lines to have a finite width. It is possible to define points of intersection where the outlines of the complex fill shape enter or exit the area covered by the cut line from the higher or lower side of the level, set.
If such division of the complex fill shape is able to produce only simple fill sub-shapes then shape segmentation is almost complete. In this case it remains only to determine whether any of the simple fill shapes can be combined to form larger segments that are still simple fill shapes. For instance in Figure 10c the shapes 260 and 2 1 can be combined.
When not all sub-shapes are simple fill sub-shapes another technique must be employed, and a number of instances will now be described.
Branched complex fill shapes with straight stitch definition lines
Returning to Figure ό it can be seen that sub-shape 82 is branched and is bounded by the outline and by three straight stitch definition lines. If the stitch definition lines were curvy it would be possible to introduce a curvy cut line across the concave vertex 1 0 to create a smooth transition of curves across the sub-shape, and the user would be able to assess whether the result was acceptable or whether the stitch definition lines needed to be respecified. However, when the stitch definition lines bounding the branched shape are straight and the lines of fill are to be straight the situation is more difficult. It is clear that a straight cut line must cross the concave vertex 160 but it is not clear what is the best angle for that cut line. A solution to this problem will be explained with reference to the flowchart of Figure 11, and Figure 12 which shows sub-shape 82 alone.
In the example of Figure 12 it will be appreciated that there are an infinite number of straight cut lines that pass tangentially through vertex 1 0 to divide the shape 82 into three sub-shapes, but do not cross any of the already cut boundaries of the shape 71, 72 and 74. Sometimes this is not possible.
Step 1 is to construct a sample of the straight cut lines by splitting the angle at the vertex 160 into equal divisions of predetermined angular separation. Then some additional cut lines are added to the sample, such as a horizontal and vertical line passing through the vertex, and lines parallel to the already cut boundaries of the sub- shape 71, 72 and 74. Together this entire sample of cut lines is called the "tangential cut register" and it is illustrated in Figure 12.
Some additional lines are added to the sample because some fabrics may need to be stitched, or not stitched, in particular directions. The horizontal and vertical directions are added since they are often visually important. Then lines parallel to existing cut boundaries are added since they are very useful when they are close to the cut boundaries. It may then be beneficial to fill the mtervening shape with stitches parallel to those boundaries as it reduces the number of sub-shape boundaries and accordingly any discontinuities in the stitching at the sub-shape boundaries.
Some sub-shapes have more complicated boundaries, and not all of their tangential cuts pass through a single vertex.
Step 2 tests that the branching is simple, as shown in the example of Figure 12. If there were multiple branching more complex processing is necessary and will be discussed later.
Step 3 involves selecting a single cut line from the sample. This will be the best candidate evaluated according to a number of inbuilt or user specified criteria. An evaluation function is used to assign a numerical score according to the criteria and the candidate with the highest score will be selected.
The most important criterion is to minimise stitch shortening. In areas of high stitch density it is common practice to reduce the density by shortening the length of a proportion of the stitches, so that not all the stitches go all the way across the shape into the area of high density. This practice is undesirable when it results in the short stiches being visible in the finished embroidery. Examples of other criteria include the length of the cut, its proximity to favoured or disfavoured directions and whether or not it coincides with a long boundary of the shape.
Four Branches
Figure 13 shows a complex sub-shape 300 having four branches 301 to 303 and two concave vertices 310 and 320. Note that there are four edges (ie from the outline of the original complex shape) to this sub-shape 330 to 333, and four cut boundaries 341 to
344.
In this case there are two distinctly visible classes of straight line cuts, those 305 passing tangentially through vertex 310 and those 306 passing tangentially through vertex 320. The more compUcated technique for dealing with this situation will now be described with reference to the flowchart of Figure 14. Step 1 classifies classes 305 and 306 into two different "separation classes". Only one cut is required from each of these separation classes in order to divide the complex fill shape into simple fill shapes.
Separation classes are stringently defined, and two cut lines belong to the same separation class if they intersect the same edges of the sub-shape in the same order.
The Set of allowable lines excludes pairs of lines (one from each class) that cross each other. This reduces the number of candidate'pairs from which to make a selection.
Multiple Branches in General
In general if there are N cut boundaries to a complex fill shape there will be N-2 cut lines required to divide the shape into simple fill sub-shapes. An exotic case occurs where one cut line passes through two vertices and such a cut line is alone able to divide a shape into more than three sub-shapes, and if such a cut line exists fewer cut lines are required to divide the complex fill shape into simple fill shapes.
Step 1. Classifies the cut lines at every vertex into different separation classes. Reference to the definition of separation classes indicates that the number of separation classes does not increase linearly in step with the number of branching vertices, but may increase more quickly depending on the shape. For example, ia Figure 15 there is a complex fill shape bounded by five edges and five cuts, and it has seven separation classes 400 to 406. Only two or three cut lines are required to divide this complex fill shape into simple fill shapes (two cut lines can be used if 406 is one of them since goes through two vertices and is able to cut the shape into four sub-shapes) a set of candidate cut lines need only come from two or three of the separation classes.
Step 2 involves computing the compatibility of the separation classes. Two classes are completely incompatible if every cut line of one class intersects every cut line of the other. Two classes are completely compatible if no cut lines of one class intersect any of the cut lines of the other. Most pairs of classes are partially compatible with some cut lines of one class not intersecting some cut lines of the other. It is necessary to find a subset of the classes in which every class is at least partially compatible with every other class. In order to do this information about compatibility between classes can be captured in a graph structure and analysed using Graph Theory to find cliques. Should no cliques be found then another technique is required. Figure 16 illustrates the graph structure for Figure 1 and shows that there are two third order cliques (400, 401, 402) and (400, 403, 404), there is also a second order clique (400, 406).
Next it is necessary to identify candidate sets of cut lines, one from each class of each clique, in which all the cut lines of each set are compatible with each other. This is done by first ranking each cut in each class according to the evaluation function. Then systematically searching for conflicts between pairs of cut lines. This search starts with the most plausible sets to be most efficient, Finally; the lower scoring cut line from each conflict is eliminated until only compatible sets remain. If none remain then this technique fails,
Step 3 selects the best candidate set as before.
Sequencing
The next stage of the process is sequencing, that is deterαiinmg the order and direction in which the simple fill sub-shapes should be filled with stitches.
The important point to note is that for most designs the entire complex fill shape will be stitched without cutting the thread at any point. In general, it is not possible to fill the shape as a single, uninterrupted column. Instead, a simple fill sub-shape is covered and then it is necessary to travel to another point, by stitching along a connecting curve through the unfilled portion of the shape, and then resume filling with another column. And so on, until the entire shape is covered. For most designs, the travel stitches are not visible in' the final result, because they axe covered by subsequent fill stitches. Alternatively, a complex fill shape maybe stitched by travelling exclusively along the edges of the shape.
Clearly, it is always possible to produce a sequence that respects all of the rules. One simple strategy would be to fill each simple fill sub-shape independently, always picking off the remaining simple fill sub-shape that lies furthest from the exit point. However, it is desirable to construct a sequence with greater continuity. In general, adjacent simple fill sub-shapes are combined to form longer columns of stitching, which are called segments. There are several reasons for this: travel runs are costly and, where two segments meet, there is likely to be a slight visible discontinuity or, worse still, a gap in the stitching. The fewer segments, therefore, the better. Figure 17 illustrates the segments 500 to 504 into which the bird design 67 may be divided and filled with satin stitch.
Travel run construction
It is always possible to connect non adjacent consecutive segments with a travel run. Some of the factors we take into account are, most important first: the length of the travel to ensure that the travel stitches of the final design is not visible, its smoothness, the distance it stays away from the fill-shape boundary (further is better), and the angle between the travel run and the cover stitches (larger is better). Naturally, it is not always possible to perform well on all counts. Figure 18 illustrates suitable travel runs for the sequencing of Figure 17.
Overlaps
We have already alluded to the problem of gaps appearing between segments. Gaps arise because the fabric shifts and stretches during the course of stitching. To hide their effect, we insert overlaps between the segments. Overlap construction involves prolonging each segment by extrapolation across its end; then, we clip the resulting extension against the fill-shape.
Stitch generation
The final stage of processing involves known stitch generation algorithms that produce ttoning stitching in the simple areas which are stitched, in their numerical order. It pays particular attention to inter-stitch spacing, the vital factor in ensuring high-quality stitching.
It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the invention as shown in the specific embodiments without departing from the spirit or scope of the invention as broadly described. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive.

Claims

Claims A method for generating an embroidery design for a complex fill shape in a computer aided design system, including the following steps: (a) specifying the outline or outlines of the complex fill shape in the design; (b) specifying two or more stitch definition tines to divide the shape into sub- shapes (which may be simple fill or complex fill sub-shapes) bounded by one or more parts of the outlines and one or more stitch definition lines, and where stitch definition lines do not meet each other within or on the boundaries of a sub-shape which they bound; (c) specifying the stitch definition lines to be "cut lines" and determining additional cut lines such that the entire complex fill shape is divided by all the cut lines to form only simple fill sub-shapes; (d) calculating the positions of stitch points to embroider each simple fill sub- shape of the complex fill shape, such mat the stitch points extend along each of the stitch definition lines and along lines of fill stitching which extend parallel to the stitch definition line in a sub-shape where there is only one stitch definition line bounding that sub-shape, but where the stitch points are offset from each other across each sub- shape bounded by two or more stitch definition lines to give a smooth transition of the lines of fill between the directions and shapes of the stitch definition lines bounding that sub-shape; and (e) recording the positions of the stitch points.
2. , A method according to claim 1, wherein the design is generated by a computer system which then specifies the outline or outlines of the complex fill shape without human operator input.
3. A method according to claim 1 or 2, wherein the stitch definition lines are curved, and the calculatin step generates curved tines of fill which will transition between the directions and curved shapes of the stitch definition lines.
4. A method according to any preceding claim, wherein determination of the additional cut lines involves the use of heuristic methods to select techniques appropriate to different classes of complex sub-shapes.
5. A method according to claim 4, wherein each complex sub-shape is separately considered to determine its class and therefore the appropriate technique.
6. A method according to claim 5, wherein the techniques are ordered and searched in order to identify the first suitable technique for a sub-shape, and that technique is then applied to that sub-shape and the next sub-shape is then considered.
7. A method according to any one of claims 4 to 6, wherein one technique for the determination of cut lines involves use of the mathematical concept of 'level sets' to construct a function defined on the complex fill sub-shape, the value of which is a constant on each of the stitch definition lines that belong to the boundary of the sub- shape.
8. A method according to claim 7, wherein determination of the locations of intersections of candidate cut lines with the outlines of a complex fill shape to produce simple fill sub-shapes, is achieved by the local minimu and local maximum level-set generating function values on any of the boundaries of the complex sub-shape.
9. A method according to claims 7 or 8, wherein the outlines and level set lines are polygonalised.
10. A method according to any one of claims 7, 8 or 9, wherein the piecewise linear functions are defined in the domain of triangulated polygons.
11. A method according to any one of claims 7 to 10, wherein the cut lines are considered to have finite width when dividing the complex fill shape into the simple fill sub-shapes using them.
12, A method according to any one of claims 4 to 6, wherein a sub-shape is branched and is bounded by the outline and by three straight stitch definition lines, and additional straight cut lines are determined by constructing a sample of the straight-line cuts through the complex sub-shape by identifying concave vertices of the sub-shape outline, and by splitting the angles at the vertex into equal divisions of predetermined angular separation; then selecting a single cut line from the sample evaluated according to a number of inbuilt of user specified criteria.
13. A method according to any one of claims 4 to 6, wherein there are four branches in a sub-shape bounded by the outline and by four straight stitch definition lines, and additional cut lines are determined by; constructing a sample of the straight cut lines through each of the branching vertices by splitting the angle at each vertex into equal divisions of predetermined angular separation; classifying the samples into two different "separation classes" and selecting only one cut from each separation class; excluding pairs of lines that cross each other; then ' selecting the pair of cut lines according to a number of inbuilt or user specified criteria.
14. A method according to any one of claims 4 to 6, wherein ere are more than four branches in a sub shape, and additional straight cut lines are determined by; constructing a sample of straight cut lines through each of the branching vertices by splitting the angle at each vertex into equal divisions of predetermined angular separation; classifying the samples into "separation classes" and selecting only one cut from each separation class; classifying the possible straight cut lines at every vertex into different separation classes; computing the compatibility of the separation classes; identifying candidate sets of cut lines, one from each class of each clique, in which all the cut lines of each set are compatible with each other; then selecting the set of cut lines according to a number of inbuilt or user specified criteria.
15. A method according to claim 14, wherein the step of computing the compatibility is done by capturing information about compatibility between classes in a graph structure and analysing it using Graph Theory to find cliques.
16. A method according to claim 14 or 15, wherein identifying candidate sets is done by: ranking each cut in each class according to the evaluation function; systematically searching for conflicts between pairs of cut lines; and eliminating the lower scoring cut line from each conflict until only compatible sets remain.
17. A method according to any one of claims 12 to 16, wherein the most important criteria is minimising stitch shortening.
18. A method according to any preceding claim, wherein further steps in the calculating step involve sequencing the simple shapes, travel run construction, dealing with overlaps and generating the positions of stitch points in each simple shape separately. . .
19. A method according to any preceding claim, wherein a preview facility is provided to the user so that the calculated stitch points and lines of fill can be viewed, together with the stitch definition lines, so that the user is able to move the stitch definition lines if the resulting embroidery design is not to their liking, and to preview the recalculated result until a pleasing design is generated,
20. A computer aided embroidery design system for generating the positions of stitch points according to the method of any preceding claim, the system including: data input means to receive specifications for the outline or outlines of a complex fill shape in the design, and two or more stitch definition lines to divide the shape into sub-shapes bounded by one or more parts of the outlines and one or more stitch definition lines, and wherein the stitch definition lines do not meet each other within or on the boundaries of a sub-shape which they bound; computing means to specify the stitch definition lines to be "cut lines", to determine additional cut lines to divide the entire complex fill shape into only simple fill sub-shapes, and to calculate the positions of. stitch points to embroider each simple fill sub-shape of the complex fill shape, such that the stitch points extend along each of the stitch definition lines and along lines of fill which extend parallel to the .stitch definition line in a sub-shape where there is only one stitch definition line bounding that sub-shape, but where the stitch points are offset from each other across each sub- shape bounded by two or more stitch definition lines to give a smooth transition of the lines of fill between the directions and shapes of the stitch definition lines bounding that sub-shape; and memory means to record the positions of the stitch points.
21. A series of stitch commands for controlling an automatic embroidery machine according to any one of claims 1 to 20, the series including: a series of sequenced positions of stitch points to embroider the area, such that the stitch points extend along stitch definition lines which divide the complex fill shape up into sub-shapes bounded by one or more parts of the outline or outlines of the complex fill shape and one or more stitch definition lines, and where stitch definition lines do not meet each other within or on the boundaries of a sub-shape which they bound; such that the stitch points extend along lines of fill which extend parallel to the stitch definition line in a sub-shape where there is only one stitch definition line bounding that sub-shape, but where the stitch points are offset from each other across each sub-shape bounded by two or more stitch definition lines to give a smooth transition of the lines of fill between the directions and shapes of the stitch definition lines bounding that sub-shape.
PCT/AU2004/001804 2003-12-22 2004-12-22 Turning complex fill stitching in embroidery designs WO2005061774A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2003907052A AU2003907052A0 (en) 2003-12-22 Turning complex fill stitching in embroidery designs
AU2003907052 2003-12-22

Publications (1)

Publication Number Publication Date
WO2005061774A1 true WO2005061774A1 (en) 2005-07-07

Family

ID=34705556

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2004/001804 WO2005061774A1 (en) 2003-12-22 2004-12-22 Turning complex fill stitching in embroidery designs

Country Status (1)

Country Link
WO (1) WO2005061774A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109505068A (en) * 2019-01-28 2019-03-22 浙江坤腾智能科技股份有限公司 A kind of suture device for knitting machine
CN109505071A (en) * 2019-01-28 2019-03-22 浙江坤腾智能科技股份有限公司 A kind of knitting machine and its processing method
CN119762019A (en) * 2025-03-05 2025-04-04 杭州杭丝时装集团有限公司 RFID technology-based garment sewing management system and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4964352A (en) * 1988-11-11 1990-10-23 Brother Kogyo Kabushiki Kaisha Embroidery data processing system for automatic sewing machine
US5054408A (en) * 1989-05-30 1991-10-08 Brother Kogyo Kabushiki Kaisha Method of and apparatus for preparing sewing data for a multi-needle embroidery sewing machine
US6587745B1 (en) * 1998-09-07 2003-07-01 Wilcom Pty Ltd Curved line fill stitching in embroidery designs

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4964352A (en) * 1988-11-11 1990-10-23 Brother Kogyo Kabushiki Kaisha Embroidery data processing system for automatic sewing machine
US5054408A (en) * 1989-05-30 1991-10-08 Brother Kogyo Kabushiki Kaisha Method of and apparatus for preparing sewing data for a multi-needle embroidery sewing machine
US6587745B1 (en) * 1998-09-07 2003-07-01 Wilcom Pty Ltd Curved line fill stitching in embroidery designs

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109505068A (en) * 2019-01-28 2019-03-22 浙江坤腾智能科技股份有限公司 A kind of suture device for knitting machine
CN109505071A (en) * 2019-01-28 2019-03-22 浙江坤腾智能科技股份有限公司 A kind of knitting machine and its processing method
CN109505068B (en) * 2019-01-28 2023-11-10 浙江坤腾智能科技股份有限公司 Stitch device for knitting machine
CN119762019A (en) * 2025-03-05 2025-04-04 杭州杭丝时装集团有限公司 RFID technology-based garment sewing management system and method

Similar Documents

Publication Publication Date Title
US6836695B1 (en) Automatically generating embroidery designs from a scanned image
US9200397B2 (en) Automatically generating embroidery designs
US6587745B1 (en) Curved line fill stitching in embroidery designs
US8271123B2 (en) Embroidery data generating apparatus and non-transitory computer-readable medium storing embroidery data generating program
JP2626091B2 (en) Embroidery sewing machine data processor
US6356648B1 (en) Embroidery data processor
US6968255B1 (en) Method and system for automatically deriving stippling stitch designs in embroidery patterns
KR20060125532A (en) Automatic recognition method of geometric shape in virtual three-dimensional coordinate space, its three-dimensional CAD system and three-dimensional CAD program
US6510360B1 (en) Producing an object-based design description file for an embroidery pattern from a vector-based stitch file
US5510994A (en) Method for automatically generating chain stitches
US5852442A (en) Method of drawing a three-dimensional object
WO2005061774A1 (en) Turning complex fill stitching in embroidery designs
US5668730A (en) Method for automatically generating chain stitches
US5506784A (en) Method for automatically generating a chenille filled embroidery stitch pattern
US20030212470A1 (en) Providing character data for use by an embroidery machine
JPH08235230A (en) Method for automatic generation of filling embroidery stitchpattern
JPH11126219A (en) Device and method for drawing generation
JP3145462B2 (en) Embroidery data creation device
JP3074053B2 (en) Embroidery data creation device for edge-mounted embroidery patterns
JP4085205B2 (en) Embroidery data creation device and embroidery data creation program
JP2734129B2 (en) Embroidery sewing machine data processor
JPH03251287A (en) Sewing machine input device
JPH03267093A (en) Embroidering data-processing apparatus
JPH07108091A (en) Embroidery data creation device
JPH05140855A (en) Embroidery data creation device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase