Difference between revisions of "Projects/Liberty/File Formats/Viking Pfaff"

Jump to: navigation, search
Line 15: Line 15:
 
Thread = Thread-header Colours Thread-text Thread-detail Stitches Thread-end
 
Thread = Thread-header Colours Thread-text Thread-detail Stitches Thread-end
  
Colours = {Colour}
+
Colours = {Colour-detail}
  
 
Stitches = Stitches-header {Stitch}
 
Stitches = Stitches-header {Stitch}
Line 102: Line 102:
 
| 2
 
| 2
 
| Count
 
| Count
| unknown = 1
+
| unknown = 1 may be hoop-count
 
|}
 
|}
  
===Hoop===
+
===Hoop-header===
 
{| class="wikitable"
 
{| class="wikitable"
 
| Offset
 
| Offset
Line 166: Line 166:
 
| MicroM
 
| MicroM
 
| Hoop-height
 
| Hoop-height
+
|-
 +
| 42
 +
| N3
 +
| N-WStr
 +
| Settings-2 second copy of Settings
 +
|-
 +
| 42+N3
 +
| 1
 +
| Byte
 +
| unknown = 100
 +
|-
 +
| 43+N3
 +
| 1
 +
| Byte
 +
| unknown = 100
 +
|-
 +
| 44+N3
 +
| 4
 +
| int
 +
| unknown = 4096
 +
|-
 +
| 48+N3
 +
| 4
 +
| int
 +
| unknown = 0
 +
|-
 +
| 52+N3
 +
| 4
 +
| int
 +
| unknown = 0
 +
|-
 +
| 56+N3
 +
| 4
 +
| int
 +
| unknown = 4096
 +
|}
 +
 
 +
===Threads-header===
 +
{| class="wikitable"
 +
| Offset
 +
| Length
 +
| Type
 +
| Description
 +
|-
 +
| 0
 +
| 6
 +
| Bytes
 +
| Threads-sig = 120 120 80 80 1 0
 +
|-
 +
| 6
 +
| N4
 +
| N-WStr
 +
| Producer-2 copy of producer text
 +
|-
 +
| 6+N4
 +
| 2
 +
| Count
 +
| Thread-count
 +
|}
 +
 
 +
===Thread-header===
 +
{| class="wikitable"
 +
| Offset
 +
| Length
 +
| Type
 +
| Description
 +
|-
 +
| 0
 +
| 3
 +
| Tag
 +
| Thread-tag = 00 05 00
 +
|-
 +
| 3
 +
| 4
 +
| Length
 +
| Thread-len bytes to next thread
 +
|-
 +
| 7
 +
| 4
 +
| MicroM
 +
| Start-X
 +
|-
 +
| 11
 +
| 4
 +
| MicroM
 +
| Start-Y
 +
|-
 +
| 15
 +
| 1
 +
| Count
 +
| Colours-per-thread
 +
|-
 +
| 16
 +
| 1
 +
| Byte
 +
| unknown = 0
 +
|-
 +
| 17
 +
| N5
 +
| Table
 +
| Colours
 +
|-
 +
| 17+N5
 +
| 1
 +
| Code
 +
| Thread-type-tension
 +
|-
 +
| 18+N5
 +
| 1
 +
| Byte
 +
| Thread-weight
 +
|-
 +
| 19+N5
 +
| N6
 +
| Record
 +
| Thread-text human readable thread description
 +
|-
 +
| 19+N5+N6
 +
| 4
 +
| MicroM
 +
| unknown-X
 +
|-
 +
| 23+N5+N6
 +
| 4
 +
| MicroM
 +
| unknown-Y
 +
|-
 +
| 27+N5+N6
 +
| N7
 +
| Record
 +
| Stitches
 +
- 27+N5+N6+N7
 +
| 1
 +
| Byte
 +
| unknown = 0
 +
|}
 +
 
 +
===Colour-detail===
 +
{| class="wikitable"
 +
| Offset
 +
| Length
 +
| Type
 +
| Description
 +
|-
 +
| 0
 +
| 3
 +
| RRGGBB
 +
| Colour-RGB
 +
|-
 +
| 3
 +
| 1
 +
| Byte
 +
| unknown = 0 or 10
 +
|-
 +
| 4
 +
| 1
 +
| Byte
 +
| unknown = 0
 +
|
 +
| 5
 +
| 1
 +
| Byte
 +
| unknown = 0, 20, or 10
 +
|}
 +
 
 +
===Thread-text===
 +
{| class="wikitable"
 +
| Offset
 +
| Length
 +
| Type
 +
| Description
 +
|-
 +
| 0
 +
| N6a
 +
| N-Str
 +
| Thread-code 16 bit length followed by ASCII characters part-number
 +
|-
 +
| 0+N6a
 +
| N6b
 +
| N-Str
 +
| Thread-name human readable name of thread
 +
|-
 +
| 0+N6a+N6b
 +
| N6c
 +
| N-Str
 +
| Thread-manu maker, material and weight
 +
|}
 +
 
 +
===Thread-text===
 +
{| class="wikitable"
 +
| Offset
 +
| Length
 +
| Type
 +
| Description
 +
|-
 +
| 0
 +
| N6a
 +
| N-Str
 +
| Thread-code 16 bit length followed by ASCII characters part-number
 +
|-
 +
| 0+N6a
 +
| N6b
 +
| N-Str
 +
| Thread-name human readable name of thread
 +
|-
 +
| 0+N6a+N6b
 +
| N6c
 +
| N-Str
 +
| Thread-manu maker, material and weight
 
|}
 
|}
  
Line 173: Line 381:
  
 
{{Prevnext2
 
{{Prevnext2
| prevpage= Projects/Liberty/File_Formats/Janome_Embroidery_Format|| nextpage= Next Format
+
| prevpage= Projects/Liberty/File_Formats/Janome_Embroidery_Format|| nextpage=Projects/Liberty/File_Formats/Next Format
 
| prevtext=JEF Format | nexttext=Next format
 
| prevtext=JEF Format | nexttext=Next format
 
| index= Projects/Liberty/File_Formats | indextext=Index of Formats
 
| index= Projects/Liberty/File_Formats | indextext=Index of Formats
 
}}
 
}}

Revision as of 15:39, 8 August 2012

Viking/Husqvarna Pfaff/Singer 3 VP3

The VP3 file format appears to be series of nested sections. Most sections contain tagged records.

In the style of Backus–Naur Form,

File = File-header Extent

Extent = Extent-header {Hoop}

Hoop = Hoop-header Canvas Threads

Threads = Threads-header {Thread}

Thread = Thread-header Colours Thread-text Thread-detail Stitches Thread-end

Colours = {Colour-detail}

Stitches = Stitches-header {Stitch}

File-header

Offset Length Type Description
0 6 ASCIIZ Signature = "%vsn%"
6 N1 N-WStr Producer 16 bit big-endian length in bytes followed by 16 bit characters
6+N1

Extent-header

Offset Length Type Description
0 3 Tag Extent-tag 00 02 00 three bytes
3 4 Length Extent-len remaining bytes in file
3 N2 N-WStr Settings human readable debugging notes
7+N2 4 MicroM Extent-top top edge of stitching in um
11+N2 4 MicroM Extent-right
15+N2 4 MicroM Extent-bottom
19+N2 4 MicroM Extent-left
23+N2 4 Count Total-stitch-count
27+N2 2 Count Total-thread-count
29+N2 1 Byte unknown = 12
30+N2 2 Count unknown = 1 may be hoop-count

Hoop-header

Offset Length Type Description
0 3 Tag Hoop-tag = 00 03 00
3 4 Length Hoop-len
7 4 MicroM Centre-X
11 4 MicroM Centre-Y
15 3 Tag Canvas-tag = 00 00 00
18 4 MicroM Hoop-left
22 4 MicroM Hoop-right
26 4 MicroM Hoop-bottom
30 4 MicroM Hoop-top
34 4 MicroM Hoop-width
38 4 MicroM Hoop-height
42 N3 N-WStr Settings-2 second copy of Settings
42+N3 1 Byte unknown = 100
43+N3 1 Byte unknown = 100
44+N3 4 int unknown = 4096
48+N3 4 int unknown = 0
52+N3 4 int unknown = 0
56+N3 4 int unknown = 4096

Threads-header

Offset Length Type Description
0 6 Bytes Threads-sig = 120 120 80 80 1 0
6 N4 N-WStr Producer-2 copy of producer text
6+N4 2 Count Thread-count

Thread-header

Offset Length Type Description
0 3 Tag Thread-tag = 00 05 00
3 4 Length Thread-len bytes to next thread
7 4 MicroM Start-X
11 4 MicroM Start-Y
15 1 Count Colours-per-thread
16 1 Byte unknown = 0
17 N5 Table Colours
17+N5 1 Code Thread-type-tension
18+N5 1 Byte Thread-weight
19+N5 N6 Record Thread-text human readable thread description
19+N5+N6 4 MicroM unknown-X
23+N5+N6 4 MicroM unknown-Y
27+N5+N6 N7 Record Stitches

- 27+N5+N6+N7

1 Byte unknown = 0

Colour-detail

Offset Length Type Description
0 3 RRGGBB Colour-RGB
3 1 Byte unknown = 0 or 10
4 1 Byte unknown = 0 5 1 Byte unknown = 0, 20, or 10

Thread-text

Offset Length Type Description
0 N6a N-Str Thread-code 16 bit length followed by ASCII characters part-number
0+N6a N6b N-Str Thread-name human readable name of thread
0+N6a+N6b N6c N-Str Thread-manu maker, material and weight

Thread-text

Offset Length Type Description
0 N6a N-Str Thread-code 16 bit length followed by ASCII characters part-number
0+N6a N6b N-Str Thread-name human readable name of thread
0+N6a+N6b N6c N-Str Thread-manu maker, material and weight

This file format appears to describe a stitch out similar to that used in JEF files.



Content is available under Creative Commons License SA 4.0 unless otherwise noted.