美文网首页
DST/DSB 绣花机花样文件分析

DST/DSB 绣花机花样文件分析

作者: 蓝点工坊 | 来源:发表于2017-10-26 17:18 被阅读189次

一.绣花机花样文件

绣花机花样文件指的驱动透花机绣出指定图案的文件定义文件,
不同产家有不同格式,其中用得较多是
.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:******

相关文章

  • DST/DSB 绣花机花样文件分析

    一.绣花机花样文件 绣花机花样文件指的驱动透花机绣出指定图案的文件定义文件,不同产家有不同格式,其中用得较多是.d...

  • shutil 模块中 shutil.copy()、shutil.

    shutil.copyfile(src,dst) src(str),文件路径; dst(str),文件路径; 将文...

  • shutil模块

    move()移动文件或文件夹 copy(src,dst)复制文件src到文件或目录dst rmtree(dstdi...

  • shutil模块

    一.shutil.copyfile( src, dst) 从源src复制到dst中去,只能复制文件。 二.shut...

  • 取样

    DSb11,DSb12 DBb11,DBb12

  • os.rename()函数

    概述: os.rename() 方法用于重命名文件或目录,从 src 到 dst,如果dst是一个存在的目录, 将...

  • python_对文件的操作/读取配置文件

    使用shutil来实现文件的拷贝 shutil.copyfile(src, dst) #文件到文件的拷贝,其中ds...

  • Python对文件进行操作

    删除文件 os.remove(文件的路径) 文件重命名 os.rename(src, dst)参数src – 要修...

  • 16位汇编

    Logic Instructions AND DST, SRC ; (DST)<--(DST) & (SRC) O...

  • Linux常用命令

    复制文件夹中前N个文件ls | head -n N | xargs -i cp {} /dst_dir

网友评论

      本文标题:DST/DSB 绣花机花样文件分析

      本文链接:https://www.haomeiwen.com/subject/epwqpxtx.html