一.绣花机花样文件
绣花机花样文件指的驱动透花机绣出指定图案的文件定义文件,
不同产家有不同格式,其中用得较多是
.dst 日本田岛格式 (Tajima Embroidery Forma)
.dsb 百灵达格式 (Barudan Embroidery Format)
.dsz (ZSK USA Embroidery Format)
两者大同小异,以下统一分析,花样文件包含是一系列的绣花机动作的的集合(比如位移,换色,剪线)等,最终形成一个图案.因此我们可以把花样文件看是一个特殊图像文件,可以在屏幕上进行预览.
参考文档
https://en.wikipedia.org/wiki/Embroidermodder
http://www.docin.com/p-1394310460.html
http://wiki.inkscape.org/wiki/index.php/Embroidery_file_formats
这里基于Qt有一个开源绣花机文件处理库
https://github.com/Embroidermodder/libembroidery
Qt实现
https://github.com/Embroidermodder/Embroidermodder
iOS版实现
https://github.com/Embroidermodder/iMobileViewer
Android实现
https://github.com/Embroidermodder/MobileViewer
二.文件格式
一个完整的花样分为三大块,文件头,文件内容,结尾符号(0x1a)
2.1 文件头
文件头固定为512大小,但是有可变内容,因此不一定用完这么多字节,因此以0x1a之前的字符前才是有效内容,后面为填充字符
文件头2.2 DSB文件体
每三字节为一条命令,格式为 c x y
c为控制代码, x,y为水平和垂直方向位移量.
控制码如下定义
DSB控制码
代码 | 名称 | 含义 |
---|---|---|
0x80 | 向右上方运动 | Y+,X+ ,即第一象限 |
0xA0 | 向左上方运动 | Y-,X+ ,即第二象限 |
0xC0 | 向左下方运动 | Y-,X- ,即第三象限 |
0xE0 | 向右下方运动 | Y+,X- ,即第四象限 |
0x81 | 向右上方跳针 | Y+,X+ ,即第一象限 |
0xA1 | 向左上方跳针 | Y-,X+ ,即第二象限 |
0xC1 | 向左下方跳针 | Y-,X- ,即第三象限 |
0xE1 | 向右下方跳针 | Y+,X- ,即第四象限 |
0xE9 | 换色 | 注意指定颜色在运行指定 |
0xEA | 换色 | 注意指定颜色在运行指定 |
0xEB | 换色 | 注意指定颜色在运行指定 |
0xEC | 换色 | 注意指定颜色在运行指定 |
0xED | 换色 | 注意指定颜色在运行指定 |
0xEE | 换色 | 注意指定颜色在运行指定 |
0xEF | 换色 | 注意指定颜色在运行指定 |
0xC8 | 停针 | |
0xE7 | 剪线 | |
0xF8 | 结束针 | 固定为 F8 00 00 |
注意换色的颜色并没有在dst/dsb文件中定义,而是运行时设定,因此需要额外工作才能指定颜色,在dst/dsb中,换色动作是由如下三条指令指定的.
跳针代码 00 00
换色代码 00 00
跳针代码 00 00
2.3 DST控制码
代码 | 名称 | 含义 |
---|---|---|
0x1A | Y向为长针 | |
0x1B | X向为长针 | |
0x1C | XY向是长针 | |
0x1D | Y向是长跳针 | |
0x1E | X向是长跳 | |
0x1F | XY向是长跳针 | |
0x81 | 跳针 | |
0x89 | 换色 | 注意指定颜色在运行指定 |
0x8A | 换色 | 注意指定颜色在运行指定 |
0x8B | 换色 | 注意指定颜色在运行指定 |
0x8C | 换色 | 注意指定颜色在运行指定 |
0x8D | 换色 | 注意指定颜色在运行指定 |
0x8E | 换色 | 注意指定颜色在运行指定 |
0x8F | 换色 | 注意指定颜色在运行指定 |
0x90 | 换色 | 注意指定颜色在运行指定 |
0x91 | 换色 | 注意指定颜色在运行指定 |
0x92 | 换色 | 注意指定颜色在运行指定 |
0x06 | 金片开始 | |
0x07 | 金片结束 | |
0x98 | 结束针 |
2.4 文件结束符
一个 0x1A 表示结束
三. 花样文件分析
这是两个花样文件打开.可以看到文件头都是ascii形式,比较好读
每个字段是以固定3-4字符开始,并且位置固定,以0x0D 为结束符,
而且看内容长度也是固定,不足补空格(字符类型补在后面,数字类型补在前面)
image.png
具体分析文件头
image.png- LA:花样文件名称: Sample
- ST:总针数: 14618
- CO:换色次数:4
- +X:最大宽度:614
- -X:最小宽度:575
- +Y:最大高度:513
- -Y:最小高度:304
- AX:+尾针X坐标 0
- AY: +尾针Y坐标 0
- MX:+
- MY:+
- PD:******
网友评论