Skip to content
tatarize edited this page Nov 13, 2017 · 26 revisions

The first 12 bytes of the header section are common to all versions. PES versions 1 through 4 have a fixed predefined PEC thread palette of 64 threads. PES versions 5 and 6 replace this with configurable threads.

Type Bytes Value Description
char 4 "#PES" Identification
char 4 "0001" | "0020" | "0025" | "0030" | "0040" | "0050" |"0055" | "0056" |"0060" Version 1, 2, 2.5, 3, 4, 5, 5.5, 5.6 or 6
u32 4 Absolute PEC section byte offset

Version 1 header section

Type Bytes Value Description
char 4 "#PES" Identification
char 4 "0001" Version 1
u32 4 Absolute PEC section byte offset
u16 2 0 | 1 Hoop size where 0 is 100×100 mm², else 130×180 mm²
u16 2 0 | 1 Use Existing Design Area
u16 2 CSewSeg segment block count The number of objects. In version 1 this is the same as the number of CSewSeg blocks, as distinct from the number of segments within that block. In PE-Design objects are the things you can select.

Version 2 header section

Type Bytes Value Description
char 4 "#PES" Identification
char 4 "0020" Version 2
u32 4 Absolute PEC section byte offset
hoop_size 4 Hoop size
u16 2 Hoop Rotation, 90° 1 = rotate.
u16 2 Unknown, design page background color?
u16 2 Unknown, design page foreground color?
u16 2 Unknown, show grid?
u16 2 Unknown, with axes?
u16 2 Unknown, snap to grid?
u16 2 Unknown, grid interval?
u16 2 Unknown, P9 curves?
u16 2 Unknown, optimize entry-exit points?

Version 2.5 header section

Type Bytes Value Description
char 4 "#PES" Identification
char 4 "0025" Version 2.5
u32 4 Absolute PEC section byte offset
u16 2 1 (typical) Unknown
u16 2 0 (typical) Unknown
hoop_size 4 Hoop size
u16 2 Hoop Rotation, 90° 1 = rotate.
u16 2 Unknown, design page background color?
u16 2 Unknown, design page foreground color?
u16 2 Unknown, show grid?
u16 2 Unknown, with axes?
u16 2 Unknown, snap to grid?
u16 2 Unknown, grid interval?
u16 2 Unknown, P9 curves?
u16 2 Unknown, optimize entry-exit points?
u16 2 1 (typical) The number of Objects, this is the number of objects within the PES document and is not limited to the number of CSewSeg blocks. If there are two SewSeg objects and 2 Rectangle objects, this will be 4.

Version 3 header section

Type Bytes Value Description
char 4 "#PES" Identification
char 4 "0030" Version 3
u32 4 Absolute PEC section byte offset
u16 2 1 (typical) Unknown
char 2 01 | 02 | 10 Subversion?
hoop_size 4 Hoop size
u16 2 Hoop Rotation, 90° 1 = rotate.
u16 2 Unknown, design page background color?
u16 2 Unknown, design page foreground color?
u16 2 Unknown, show grid?
u16 2 Unknown, with axes?
u16 2 Unknown, snap to grid?
u16 2 Unknown, grid interval?
u16 2 Unknown, P9 curves?
u16 2 Unknown, optimize entry-exit points?

Version 4 header section

Type Bytes Value Description
char 4 "#PES" Identification
char 4 "0040" Version 4
u32 4 Absolute PEC section byte offset
u16 2 1 (typical) Unknown
char 2 01 | 02 | 10 Subversion?
description_strings Description strings
u8 2 0 (typical) Unknown
hoop_size 4 Hoop size
u16 2 Hoop Rotation, 90° 1 = rotate.
u16 2 7 (typical) Unknown, design page background color?
u16 2 19 (typical) Unknown, design page foreground color?
u16 2 0 | 1 | ? Unknown, show grid?
u16 2 1 (typical) Unknown, with axes?
u16 2 0 | 1 | ? Unknown, snap to grid?
u16 2 100 (typical) Unknown, grid interval?
u8 1 1 (typical) Unknown
u8 7 0 (typical) Unknown
u16 2 1 (typical) Unknown

Version 5 header section

Type Bytes Value Description
char 4 "#PES" Identification
char 4 "0050" Version 5
u32 4 Absolute PEC section byte offset
u16 2 1 (typical) "Hoop Size Indicator"
char 2 01 | 02 | 10 Subversion?
description_strings Description strings
u16 2 0 (typical) "Optimize Hoop Change"
hoop_size 4 Hoop size
u16 2 Hoop Rotation, 90° 1 = rotate.
u16 2 7 (typical) Design Page Background Color?
u16 2 19 (typical) Design Page Foreground Color
u16 2 0 | 1 | ? "Show Grid"
u16 2 1 (typical) "With Axes"
u16 2 0 | 1 | ? "Snap To Grid"
u16 2 100 (typical) "Grid Interval"
u16 2 1 (typical) Unknown
u16 2 0 (typical) "OptimizeEntryExitPoints"
u8 1 S0 0 (typical) "fromImageStringLength"
char S0 Path string
affine_transform 24 Affine transform of image
u16 2 S1 0 (typical) Number of programmable fill patterns
fill patterns S1 * ? Programmable fill patterns
u16 2 S2 0 (typical) Number of programmable Motif
motif S2 * ? Motif
u16 2 S3 0 (typical) Number of feather patterns
feather patterns S3 * ? Feather Patterns
color_list Color list subsection
u16 2 1 (typical) The number of Objects, this is the number of objects within the PES document and is not limited to the number of CSewSeg blocks. If there are two SewSeg objects and 2 Rectangle objects, this will be 4.

Version 6 header section

Type Bytes Value Description
char 4 "#PES" PES Identification
char 4 "0060" Version 6
u32 4 Absolute PEC section byte offset
u16 2 1 (typical) Hoop Size Indicator
char 2 01 | 02 | 10 Subversion?
description_strings Description strings
u16 2 0 (typical) Optimize Hoop Change
u16 2 0 (typical) Design Page Is Custom
hoop_size 4 Hoop size
u16 2 Hoop Rotation, 90° 1 = rotate.
u16 2 200 (typical) DesignWidth
u16 2 200 (typical) DesignHeight
u16 2 100 (typical) DesignPageWidth
u16 2 100 (typical) DesignPageHeight
u16 2 100 (typical) Undisplayed Unknown Design Property, must fall within same range as designPageWidth and Height. Makes no difference other than validation check.
u16 2 7 (typical) "Design Page Background Color"
u16 2 19 (typical) "Design Page Foreground Color"
u16 2 0 | 1 | ? "Show Grid"
u16 2 1 (typical) "With Axes"
u16 2 0 (typical) "Snap To Grid"
u16 2 15 | 100 | ? "Grid Interval"
u16 2 1 Unknown
u16 2 0 (typical) "OptimizeEntryExitPoints"
u8 1 S0 0 (typical) "fromImageStringLength"
char S0 Path string
affine_transform 24 Affine transform of image
u16 2 S1 0 (typical) Number of programmable fill patterns
fill patterns S1 * ? Programmable fill patterns
u16 2 S2 0 (typical) Number of programmable Motif
motif S2 * ? Motif
u16 2 S3 0 (typical) Number of feather patterns
feather patterns S3 * ? Feather Patterns
color_list Color list subsection
u16 2 1 (typical) The number of Objects, this is the number of objects within the PES document and is not limited to the number of CSewSeg blocks. If there are two SewSeg objects and 2 Rectangle objects, this will be 4.

Programmable fill subsection

Motif subsection

Feather Pattern Subsection

Hoop size subsection

Type Bytes Value Description
u16 2 Hoop width [mm]
u16 2 Hoop height [mm]

Description strings subsection

Type Bytes Value Description
u8 1 S1 Length of following string
char S1 Design string
u8 1 S2 Length of following string
char S2 Category string
u8 1 S3 Length of following string
char S3 Author string
u8 1 S4 Length of following string
char S4 Keywords string
u8 1 S5 Length of following string
char S5 Comments string

Color list subsection

Type Bytes Value Description
u16 2 Number of following color subsections
color Color subsections

Color subsection

Type Bytes Value Description
u8 1 S1 Length of following string
char S1 "336" | "575" | etc. Color code, numeric 0-6 digit number.
u8 1 0 255 Red component of RGB color model
u8 1 0 255 Green component of RGB color model
u8 1 0 255 Blue component of RGB color model
u8 1 0 (typical) Unknown (likely padding, writes color as 32 bit rather than 24 bit)
u32 4 0x0 | 0x1 | 0x2 | 0xA | 0xB Color Type. 0 is custom list color. 1 is list color (Eg. 1615 MA Polyneon). 2 is an applique, description is either 100, 101, 102 (APPLIQUE MATERIAL, APPLIQUE POSITION, APPLIQUE respectively). A is custom color, not from a list eg (Red, Wilcom). B is Version 4 special list brother specific color.
u8 1 S2 Length of following string
char S2 "Magenta" | "Orange" | etc. Description.
u8 1 S3 Length of following string
char S3 "ISACORD" | "RA Polyester" | etc. Brand
u8 1 S4 Length of following string
char S4 "My thread Chart" | "Stock" | etc. Color chart name (Usually S4 is 0, and this is absent)