Embroidery format VP3
VP3 format is a Pfaff format. Unlike most other embroidery formats. It's divided into stitchblocks. Conceptually it's typical to think of embroidery rather than the set of low level commands which control the machine but as sets of unbroken stitches in a particular color. While this is quite common at the level of embroidery software, most formats typically consist of large dumps of direct embroidery commands with some various cruft for the machines in question. For example, PEC blocks (in PEC files and PES files) contain 1 bit graphics files.
Header
VP3 consists of: a magic code, some hoop and design information, a number for the number of stitch blocks and stitch blocks.
Type | Bytes | Value | Description |
---|---|---|---|
`string` | 5 | %vsm% | Magic String. |
`s8` | 1 | '\0' | maybe null terminator for the string. |
`16be` | 2 | byte_length | Production String Bytes (N0) |
`UTF-16BE` | N0 | "Produced by ...." | Production String |
`s8` | 3 | \x00\x02\x00 | Tag indicates the following is a location. |
`32be` | 2 | Bytes_To_EOF | bytes the the end of the file. |
`16be` | 2 | byte_length | unknown string, always 00 (N1) |
`UTF-16BE` | N1 | "" | Rumor has it this is a string. |
Extends Section
VP3 like most embroidery is y-flipped from common programming languages. Most models put the origin point in the upper-left point programming in quadrant III whereas embroidery is almost always Quadrant I with the origin point in the lower-left. Consequently most overt numbers within embroidery have to be y-flipped.
Type | Bytes | Description |
---|---|---|
`s16be` | 2 | Right |
`s16be` | 2 | -Top |
`s16be` | 2 | Left |
`s16be` | 2 | -Bottom |
Body
Each vp3 stitchblock contains: Thread information. (Brand, Catalog Number, and Description) The position of the end of the block. And stitches.
Also See
https://community.kde.org/Projects/Liberty/File_Formats/Viking_Pfaff http://www.jasonweiler.com/VP3FileFormatInfo.html