PMV
Status
| Field | Value |
|---|---|
| Extension(s) | .pmv |
| Common ecosystem | Brother sewing-machine stitch patterns |
| Format family | Decorative stitch pattern, not hoop embroidery |
| Satin Studio status | Reference only |
| Open / import | No |
| Export | No |
| Confidence | Medium as a format lead. |
What it is
PMV is different from hoop embroidery machine files. It describes decorative stitch patterns for sewing-machine stitch programs, where movement is constrained by the presser foot and feed direction rather than a full embroidery hoop.
Satin Studio behavior
Satin Studio documents this format for identification and inspection. It does not open or export the file.
Versions and variants
Brother PMV files are reported with #PMV0001-style signatures. Other related Brother stitch-pattern files may exist.
File identification notes
Reported structure includes:
- A 100-byte header.
- A seven-byte signature such as
#PMV0001. - Stitch settings such as length/width offsets and left/right shift.
- A stitch block using a hybrid encoding: one dimension behaves like movement within the presser foot while another tracks feed direction.
- Length and width lookup/control tables after the stitch block.
Observed structure notes
- Observed PMV readers seek to offset
0x64before reading decorative stitch blocks. - Each block begins with little-endian
stitch_countandblock_length. Block lengths>= 256terminate observed reading. Each stitch point uses one X byte and one Y byte. - Observed coordinate rules: X is a six-bit signed value, Y is a five-bit signed value, both scaled by
2.5. The X position behaves as hybrid relative/absolute feed progression rather than hoop movement. - Observed PMV writers start with
#PMV0001, write a 36-byte placeholder text area, then a fixed header block before the first stitch-program block. - Observed PMV writers cap a single exported pattern at 100 points, scale X and Y into small signed pattern units, and append length/width lookup tables after stitch points.
Structure sketch
PMV stores decorative stitch-program blocks, not hoop embroidery commands:
struct PmvFile<'a> {
header: [u8; 0x64],
blocks: &'a [PmvBlock<'a>],
}
struct PmvBlock<'a> {
stitch_count: u16, // little-endian
block_length: u16, // little-endian; observed >= 256 terminates
points: &'a [PmvPoint],
}
struct PmvPoint {
x_6bit_signed: u8,
y_5bit_signed: u8,
}
Compatibility evidence
The notes above help identify and inspect the format; they do not imply import or export support. Keep the original file and record the machine and software that produced it.