PS:(内容并未全部完成,以下解析内容为个人推测的可能性,仅供学习交流参考,不对准确性和完整性负责)
对内容有异议的欢迎指正
更新时间:2023年7月17日
(目前saw有两个版本的文件,这里的是结尾仅有CHK1,****简单验证码的版本
还有一个新的版本是在CHK1前一行还有一串例如:
FwQOxPlXh4ak1DsvJMl5XSas/8S94fUx7q5LB0uXJhozDVo4blJUg4DkvXHYRv5anpCaEWMolHh3+nJprxz8FsF0GEhIJcs5Yub7bITHYpepOZ8Pkgv2Gw9vuRL5HQgkx7AmtBs1H+281wV1rOd+ISNrL2kKVZ8PpFkEMOi88nw=
的验证码的,目前这个复杂验证码的计算方式尚未知晓)
SAW文件样例
样例文件内容,以此样例文件作为解析
1,0
BRD1,订单A
BRD2,多层板A级12mm,2440,1220,999999,0,12,多层板A级12mm,,
PNL1,订单A
PNL2,床头中背板,多层板A级12mm,1326,436,10,1,0,0,0,0,1,0,0,
PNL2,床头中前板,多层板A级12mm,1304,414,10,1,0,0,0,0,1,0,0,
PNL2,床头底板,多层板A级12mm,1326,122,10,1,0,0,0,0,1,0,0,
MAT2,多层板A级12mm,,12.0,1,0,5.0,5.0,5.0,0,0,0,10.0,10.0,10.0,10.0,5,0,0,0,9999,9999,1,0,80,9999,0,0,0,0,0,1,1,0,0,0,2,0,0,0,1,0,1,0,8,SVJYZ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0
PTN2,1,,5,1,
PTNR,(((1<1,1,1,1>),(1<1,1,1,1>)))
PTN2,1,,3,1,
PTNR,(((3<3,3>),(3<3,3>),(3<3,3>),(2<2,2>),(2<2,2>)))
PTN2,1,,1,1,
PTNR,(((3),(2),(2)))
PTN2,1,,1,1,
PTNR,(((2),(2)))
CHK1,A65A
文件格式结构
1,0
换行
BRD1(材料清单开头,单个)
BRD2(材料,多个)
换行
PNL1(部件清单开头,单个)
PNL2(部件,多个)
换行
换行
MAT2(材料锯切参数,多个但和BRD2对照)
换行
PTN2
PTNR(锯切图,PTN2下跟PTNR为一组,有多组)
换行
换行
换行
CHK1(校验码,单个)
格式解析
固定起始头
此段开头应该是固定文件开头,对比大量文件未发现改变
1,0
材料清单
此段应该是物料清单
BRD1,订单A
BRD2,多层板A级12mm,2440,1220,999999,0,12,多层板A级12mm,,
以下将用表格表示一段中每个逗号分隔的字段的可能含义
位置 | 内容 | 解析 |
---|---|---|
0 | BRD1 | 固定 |
1 | 订单A | 订单名 |
位置 | 内容 | 解析 |
---|---|---|
0 | BRD2 | 固定 |
1 | 多层板A级12mm | 材料名 |
2 | 2440 | 板件长度X |
3 | 1220 | 板件宽度Y |
4 | 999999 | 库存数量? |
5 | 0 | 未知 |
6 | 12 | 板件厚度Z |
7 | 多层板A级12mm | 材料名 |
8 | 空 | |
9 | 空 |
部件清单
PNL1,订单A
PNL2,床头中背板,多层板A级12mm,1326,436,10,1,0,0,0,0,1,0,0,
PNL2,床头中前板,多层板A级12mm,1304,414,10,1,0,0,0,0,1,0,0,
PNL2,床头底板,多层板A级12mm,1326,122,10,1,0,0,0,0,1,0,0,
位置 | 内容 | 解析 |
---|---|---|
0 | PNL1 | 固定 |
1 | 订单A | 订单名 |
位置 | 内容 | 解析 |
---|---|---|
0 | PNL2 | 固定 |
1 | 床头中背板 | 部件名 |
2 | 多层板A级12mm | 原料名 |
3 | 1326 | 部件长度X |
4 | 436 | 部件宽度Y |
5 | 10 | 数量 |
6 | 1 | 未知 |
7 | 0 | 未知 |
8 | 0 | 未知 |
9 | 0 | 未知 |
10 | 0 | 未知 |
11 | 1 | 未知 |
12 | 0 | 未知 |
13 | 0 | 未知 |
14 | 空 |
锯切图
早期版本的锯切图一般由两行组成,新版本的cutrite有不同的格式
PTN2,2,!,4,1,
PTNR,((((1!<2!,3!,4!>),9!<10!,11!,12!>),((13!<14!,15!,16!>),5!<6!,7!,8!>),((17!<18!,19!,20!>),(21!<22!,23!,24!>),25!<26!,27!,28!>)))
位置 | 内容 | 解析 |
---|---|---|
0 | PTN2 | 固定 |
1 | 2 | 材料清单中的第几项材料 |
2 | ! | 进料方向,!和空分别代表竖向和横向进料 |
3 | 4 | 叠板层数 |
4 | 1 | 未知 |
PTNR的规则比较特殊
简单而言是每个括号()代表着一个块
里面的数字编号代表这块里面要切割出的部件的序号
部件的序号后的!代表部件的x和y交换,也就是部件方向发生90度变化
<>内的多个数字编号是叠板情况下,其他层的部件编号
验证码
CHK1,****
后面是根据前面全文的4位数摘要算法