Here we take up in more detail some of the principles outlined above. Most modern embroidery is based on the loop lock stitch which has been a mainstay of sewing machines since their inception. Computerized embroidery formats contain three types of instructions for the embroidery machine:
Move to a new location in two different directions (embroider a stitch),
move, but block the needle bar (jump),
cut the yarn,
lower the needle,
move to the next thread (on a multi-needle machine).
This is the set of actions an embroidery machine can accept, usually in 1/10th millimeter increments. The goal of the design software is then to know how to model these points in a useful way for the person using the software. These designs are the result of many concepts behind the embroidery software. Stitches such as zigzag, satin, flat fill, forward stitch and others are simply straight stitches in particular designs, and the methods used to generate them are not self-explanatory to the medium.
Typically, modern embroidery software uses embroidery objects, i.e. vector shapes with fill definitions. This allows users to edit the objects, and thus define the fills of the objects and modify their density, direction or any other property used to generate the resulting points. The advantage of this way is that the embroidery can be done quickly. Experienced users can quickly create large numbers of stitches in recognizable patterns, achieving the results they are aiming for. The software then stores the vector object and the fill properties to generate the underlying points. When the underlying points are changed by the user, point regeneration loses those changes.
While vectors are a key aspect of this paradigm, however, one cannot go from vector design to embroidery without additional information regarding the type of fill applied to those objects. The software indeed considers that the vector answers the question where to fill, but not how to fill. Additionally, a considerable amount of stuff is technically permitted with a series of short segments (and therefore embroideries) but is not easily accomplished through the dominant “object” paradigm. Finally, there is also the problem of layering and managing distortion effects (pull/push).
This seems to be the reason why there are so many different formats for each type of embroidery, and different versions of these formats for each software. Often, software suites develop different methods to fulfill various objects or different functionalities and these are unique to each brand. This is also the reason why even when some formats contain vector information (eg PES files) these are not used by other software (eg Wilcom Trusizer) to scale beyond 10% without loss. Some software that can load a format will often only load the stitches themselves (since this is the information that is used to stitch), preventing any changes to the shapes originally used to generate the stitches. A notable consequence is that reworking a design after its initial conversion is only possible if you own a copy of all base objects. Here as elsewhere in digital, it is important to record and store all the major stages of its productions.
We can distinguish between five main types of embroidery stitches:
Manual stitches, mainly used to correct certain stitches generated from an embroidery object (eg small eyes), to manually “code” small objects, or to create repeatable patterns in fills.
Straight stitches, mainly used to sew lines or outlines (not to be confused with the term “line object”)
Satin stitches (also called damask stitch), used to sew wider rows, columns or borders. Typically, a dense “Z” zigzag stitch is used.
Fill stitches (also called tatami fill), used to fill larger areas, i.e. polygons that may have holes in them.
Programmable or special stitches. They make it possible to define all sorts of conceivable filling strategies, e.g. cross stitches, radial stitches, little stars…