-
Notifications
You must be signed in to change notification settings - Fork 10
PES CSewSeg section
The first CSewSeg segment block's header is the data of the CEmbOne block. If the PES header declares the number of csewseg_segment_block to be 1, then this block contains only the csewseg_segment_block. If zero then this block would be omitted. But, if greater than one, then additional headers and csewseg_segment_blocks are appended within this block.
Type | Bytes | Value | Description |
---|---|---|---|
u16 |
2 | 7 |
Length of following string |
char |
7 | "CSewSeg" |
CSewSeg identification |
csewseg_segment_block |
CSewSeg segment block | ||
header |
CSewSeg header (optional) | ||
segment_block |
CSewSeg segment block (optional) | ||
... | Additional header / segment-block sequences (optional) |
Type | Bytes | Value | Description |
---|---|---|---|
csewseg_stitch_list |
CSewSeg stitch list subsection | ||
csewseg_color_list |
CSewSeg color list subsection |
The CSewSeg stitch list subsection is divided into stitch blocks. The last block does not end with the continuation code 0x8003
and so is 2 bytes shorter than the others. Some files seem to limit the number of stitches to a maximum of 1000 per block, is this required?
Type | Bytes | Value | Description |
---|---|---|---|
u16 |
2 |
0 | 1 | ? |
Stitch type where 0 means a normal stitch and 1 means a jump stitch |
u16 |
2 | Thread index for block + 1 | |
u16 |
2 | N | Number of following coordinates |
csewseg_coordinates |
4 × N | CSewSeg coordinate subsection | |
u16 |
2 |
0x8003 | ? |
Continuation code where 0x8003 means list continues with another following block, with the last block not having this field at all |
Type | Bytes | Value | Description |
---|---|---|---|
s16 |
2 | Stitch x coordinate | |
s16 |
2 | Stitch y coordinate |
Type | Bytes | Value | Description |
---|---|---|---|
u16 |
2 | N | Number of following colors |
csewseg_color |
4 × N | CSewSeg color subsection |
Type | Bytes | Value | Description |
---|---|---|---|
u16 |
2 | Block index where change of thread takes effect, starting from zero | |
u16 |
2 | In PES versions 1 through 4 this is a PEC thread palette index and in versions 5 and 6 this is a thread index defined in the PES header section |
The header for the first block is contained within the CEmbOne section. However, if the PES Header specified that there would be more than one CSewSeg object these headers will be appended along with additional stitchgroups.
Type | Bytes | Value | Description |
---|---|---|---|
u16 |
2 | 7 |
Length of following string |
char |
7 | "CEmbOne" |
CEmbOne identification |
section |
40 | Block Geometry, Extents and Affine Transformation | |
u16 |
2 |
1 (typical) |
Unknown |
s16 |
2 | CSewSeg x coordinate translation? | |
s16 |
2 | CSewSeg y coordinate translation? | |
s16 |
2 | CSewSeg width | |
s16 |
2 | CSewSeg height | |
u8 |
8 |
0 (typical) |
Unknown |
u16 |
2 | CSewSeg block count |
PES format
- PES format overview
- PES section
- PEC section
- PEC thread palette
- Write PES
- Write PEC
- Unknowns