网页版选型改版 (仅网页版, 桌面版待同步)
- 新增零件号实时条: 边选边拼, 已确定片段实心高亮, 未定片段虚化, 进度条随选推进;
浅色配色 (初版深色块与页面不协调, 已改); 选满且唯一命中时整块转青色实心
- 技术方案: 40 系列中仅 KC 有编码模板 → 改用「当前候选型号的最长公共前缀」,
已验证 40/40 系列前缀单调增长(不回退)
- 参数选择由下拉菜单改为可视化选项块: 悬停抬升+青色投影, 选中青色填充+✓,
不可选取值置灰(虚线+划线, 不消失, 让用户看到选项存在但当前组合不适用),
再点一次取消; 有说明的显示代号+说明, 纯数值用紧凑文字块
- 参数联动仍复用 allowedOptions 规则引擎, 语义未变, 只改渲染
参数组合补全
- 原逻辑: 必须有真实数模才能生成型号 → 库里没有的组合选不出来也出不了号
- infer-sku-template.py 从已有型号反推编码模板, 得 23 个系列 100% 可复现
- verify-templates.py 作为门禁: 用模板重渲染每个已有型号必须逐字一致 ——
该检查抓出 ULM/ULP 行程补零位数写错(2位写3位), 否则会生成 3000 个不存在的零件号
- gen-missing-combos.py 补全 8 个系列共 3157 个型号 (全库 54136 → 57293)
- 占位数模: 3157 个型号共用 1 个 PLACEHOLDER.step(4.5KB), 构建器按路径打包只存一份,
数据包仅 2.10GB → 2.14GB (中途用硬链接方案踩坑: NTFS 上限 1024, 超出退化为拷贝白占 500MB)
- _pending_models.csv 输出待补数模清单, 供 AI 补完后替换 step_file
新增脚本: infer-sku-template / verify-templates / quantify-combo-gap /
gen-missing-combos / gen-placeholder-step / check-combo-unique
新增文档: docs/更改说明-v2.1.md
发现未处理 (已记录在更改说明):
- 夹紧缸 9 系列一组参数对应多型号 (310 个型号, 编码含参数外尾缀, 旧码/新码混用)
- UAGP/LAGP 参数顺序与官方编码结构不符 (传感器应在转角之前)
- 17 个系列因模板不干净未补全 (宁可少补, 不生成可能不存在的零件号)
Co-Authored-By: Claude Code <noreply@anthropic.com>
7.8 KiB
7.8 KiB
| 1 | model_code | size | stroke | rod | mount | sensor | step_file |
|---|---|---|---|---|---|---|---|
| 2 | ULA40020ASD0 | 40 | 20 | A | S | D | ULA40020ASD0.step |
| 3 | ULA40020ASK0 | 40 | 20 | A | S | K | ULA40020ASK0.step |
| 4 | ULA40020GSK0 | 40 | 20 | G | S | K | ULA40020GSK0.step |
| 5 | ULA40020NSK0 | 40 | 20 | N | S | K | ULA40020NSK0.step |
| 6 | ULA40020PSK0 | 40 | 20 | P | S | K | ULA40020PSK0.step |
| 7 | ULA40040ASD0 | 40 | 40 | A | S | D | ULA40040ASD0.step |
| 8 | ULA40040ASK0 | 40 | 40 | A | S | K | ULA40040ASK0.step |
| 9 | ULA40040GSD0 | 40 | 40 | G | S | D | ULA40040GSD0.step |
| 10 | ULA40040GSK0 | 40 | 40 | G | S | K | ULA40040GSK0.step |
| 11 | ULA40040NSD0 | 40 | 40 | N | S | D | ULA40040NSD0.step |
| 12 | ULA40040NSK0 | 40 | 40 | N | S | K | ULA40040NSK0.step |
| 13 | ULA40040PSD0 | 40 | 40 | P | S | D | ULA40040PSD0.step |
| 14 | ULA40040PSK0 | 40 | 40 | P | S | K | ULA40040PSK0.step |
| 15 | ULA63015AK0 | 63 | 15 | A | K | ULA63015AK0.step | |
| 16 | ULA63025AK0 | 63 | 25 | A | K | ULA63025AK0.step | |
| 17 | ULA63040AD0 | 63 | 40 | A | D | ULA63040AD0.step | |
| 18 | ULA63040AK0 | 63 | 40 | A | K | ULA63040AK0.step | |
| 19 | ULA63050AK0 | 63 | 50 | A | K | ULA63050AK0.step | |
| 20 | ULA63060AK0 | 63 | 60 | A | K | ULA63060AK0.step | |
| 21 | ULA40020AD0 | 40 | 20 | A | D | PLACEHOLDER.step | |
| 22 | ULA40020AK0 | 40 | 20 | A | K | PLACEHOLDER.step | |
| 23 | ULA40020GSD0 | 40 | 20 | G | S | D | PLACEHOLDER.step |
| 24 | ULA40020GD0 | 40 | 20 | G | D | PLACEHOLDER.step | |
| 25 | ULA40020GK0 | 40 | 20 | G | K | PLACEHOLDER.step | |
| 26 | ULA40020NSD0 | 40 | 20 | N | S | D | PLACEHOLDER.step |
| 27 | ULA40020ND0 | 40 | 20 | N | D | PLACEHOLDER.step | |
| 28 | ULA40020NK0 | 40 | 20 | N | K | PLACEHOLDER.step | |
| 29 | ULA40020PSD0 | 40 | 20 | P | S | D | PLACEHOLDER.step |
| 30 | ULA40020PD0 | 40 | 20 | P | D | PLACEHOLDER.step | |
| 31 | ULA40020PK0 | 40 | 20 | P | K | PLACEHOLDER.step | |
| 32 | ULA40040AD0 | 40 | 40 | A | D | PLACEHOLDER.step | |
| 33 | ULA40040AK0 | 40 | 40 | A | K | PLACEHOLDER.step | |
| 34 | ULA40040GD0 | 40 | 40 | G | D | PLACEHOLDER.step | |
| 35 | ULA40040GK0 | 40 | 40 | G | K | PLACEHOLDER.step | |
| 36 | ULA40040ND0 | 40 | 40 | N | D | PLACEHOLDER.step | |
| 37 | ULA40040NK0 | 40 | 40 | N | K | PLACEHOLDER.step | |
| 38 | ULA40040PD0 | 40 | 40 | P | D | PLACEHOLDER.step | |
| 39 | ULA40040PK0 | 40 | 40 | P | K | PLACEHOLDER.step | |
| 40 | ULA40015ASD0 | 40 | 15 | A | S | D | PLACEHOLDER.step |
| 41 | ULA40015ASK0 | 40 | 15 | A | S | K | PLACEHOLDER.step |
| 42 | ULA40015AD0 | 40 | 15 | A | D | PLACEHOLDER.step | |
| 43 | ULA40015AK0 | 40 | 15 | A | K | PLACEHOLDER.step | |
| 44 | ULA40015GSD0 | 40 | 15 | G | S | D | PLACEHOLDER.step |
| 45 | ULA40015GSK0 | 40 | 15 | G | S | K | PLACEHOLDER.step |
| 46 | ULA40015GD0 | 40 | 15 | G | D | PLACEHOLDER.step | |
| 47 | ULA40015GK0 | 40 | 15 | G | K | PLACEHOLDER.step | |
| 48 | ULA40015NSD0 | 40 | 15 | N | S | D | PLACEHOLDER.step |
| 49 | ULA40015NSK0 | 40 | 15 | N | S | K | PLACEHOLDER.step |
| 50 | ULA40015ND0 | 40 | 15 | N | D | PLACEHOLDER.step | |
| 51 | ULA40015NK0 | 40 | 15 | N | K | PLACEHOLDER.step | |
| 52 | ULA40015PSD0 | 40 | 15 | P | S | D | PLACEHOLDER.step |
| 53 | ULA40015PSK0 | 40 | 15 | P | S | K | PLACEHOLDER.step |
| 54 | ULA40015PD0 | 40 | 15 | P | D | PLACEHOLDER.step | |
| 55 | ULA40015PK0 | 40 | 15 | P | K | PLACEHOLDER.step | |
| 56 | ULA40025ASD0 | 40 | 25 | A | S | D | PLACEHOLDER.step |
| 57 | ULA40025ASK0 | 40 | 25 | A | S | K | PLACEHOLDER.step |
| 58 | ULA40025AD0 | 40 | 25 | A | D | PLACEHOLDER.step | |
| 59 | ULA40025AK0 | 40 | 25 | A | K | PLACEHOLDER.step | |
| 60 | ULA40025GSD0 | 40 | 25 | G | S | D | PLACEHOLDER.step |
| 61 | ULA40025GSK0 | 40 | 25 | G | S | K | PLACEHOLDER.step |
| 62 | ULA40025GD0 | 40 | 25 | G | D | PLACEHOLDER.step | |
| 63 | ULA40025GK0 | 40 | 25 | G | K | PLACEHOLDER.step | |
| 64 | ULA40025NSD0 | 40 | 25 | N | S | D | PLACEHOLDER.step |
| 65 | ULA40025NSK0 | 40 | 25 | N | S | K | PLACEHOLDER.step |
| 66 | ULA40025ND0 | 40 | 25 | N | D | PLACEHOLDER.step | |
| 67 | ULA40025NK0 | 40 | 25 | N | K | PLACEHOLDER.step | |
| 68 | ULA40025PSD0 | 40 | 25 | P | S | D | PLACEHOLDER.step |
| 69 | ULA40025PSK0 | 40 | 25 | P | S | K | PLACEHOLDER.step |
| 70 | ULA40025PD0 | 40 | 25 | P | D | PLACEHOLDER.step | |
| 71 | ULA40025PK0 | 40 | 25 | P | K | PLACEHOLDER.step | |
| 72 | ULA40050ASD0 | 40 | 50 | A | S | D | PLACEHOLDER.step |
| 73 | ULA40050ASK0 | 40 | 50 | A | S | K | PLACEHOLDER.step |
| 74 | ULA40050AD0 | 40 | 50 | A | D | PLACEHOLDER.step | |
| 75 | ULA40050AK0 | 40 | 50 | A | K | PLACEHOLDER.step | |
| 76 | ULA40050GSD0 | 40 | 50 | G | S | D | PLACEHOLDER.step |
| 77 | ULA40050GSK0 | 40 | 50 | G | S | K | PLACEHOLDER.step |
| 78 | ULA40050GD0 | 40 | 50 | G | D | PLACEHOLDER.step | |
| 79 | ULA40050GK0 | 40 | 50 | G | K | PLACEHOLDER.step | |
| 80 | ULA40050NSD0 | 40 | 50 | N | S | D | PLACEHOLDER.step |
| 81 | ULA40050NSK0 | 40 | 50 | N | S | K | PLACEHOLDER.step |
| 82 | ULA40050ND0 | 40 | 50 | N | D | PLACEHOLDER.step | |
| 83 | ULA40050NK0 | 40 | 50 | N | K | PLACEHOLDER.step | |
| 84 | ULA40050PSD0 | 40 | 50 | P | S | D | PLACEHOLDER.step |
| 85 | ULA40050PSK0 | 40 | 50 | P | S | K | PLACEHOLDER.step |
| 86 | ULA40050PD0 | 40 | 50 | P | D | PLACEHOLDER.step | |
| 87 | ULA40050PK0 | 40 | 50 | P | K | PLACEHOLDER.step | |
| 88 | ULA40060ASD0 | 40 | 60 | A | S | D | PLACEHOLDER.step |
| 89 | ULA40060ASK0 | 40 | 60 | A | S | K | PLACEHOLDER.step |
| 90 | ULA40060AD0 | 40 | 60 | A | D | PLACEHOLDER.step | |
| 91 | ULA40060AK0 | 40 | 60 | A | K | PLACEHOLDER.step | |
| 92 | ULA40060GSD0 | 40 | 60 | G | S | D | PLACEHOLDER.step |
| 93 | ULA40060GSK0 | 40 | 60 | G | S | K | PLACEHOLDER.step |
| 94 | ULA40060GD0 | 40 | 60 | G | D | PLACEHOLDER.step | |
| 95 | ULA40060GK0 | 40 | 60 | G | K | PLACEHOLDER.step | |
| 96 | ULA40060NSD0 | 40 | 60 | N | S | D | PLACEHOLDER.step |
| 97 | ULA40060NSK0 | 40 | 60 | N | S | K | PLACEHOLDER.step |
| 98 | ULA40060ND0 | 40 | 60 | N | D | PLACEHOLDER.step | |
| 99 | ULA40060NK0 | 40 | 60 | N | K | PLACEHOLDER.step | |
| 100 | ULA40060PSD0 | 40 | 60 | P | S | D | PLACEHOLDER.step |
| 101 | ULA40060PSK0 | 40 | 60 | P | S | K | PLACEHOLDER.step |
| 102 | ULA40060PD0 | 40 | 60 | P | D | PLACEHOLDER.step | |
| 103 | ULA40060PK0 | 40 | 60 | P | K | PLACEHOLDER.step | |
| 104 | ULA63020ASD0 | 63 | 20 | A | S | D | PLACEHOLDER.step |
| 105 | ULA63020ASK0 | 63 | 20 | A | S | K | PLACEHOLDER.step |
| 106 | ULA63020AD0 | 63 | 20 | A | D | PLACEHOLDER.step | |
| 107 | ULA63020AK0 | 63 | 20 | A | K | PLACEHOLDER.step | |
| 108 | ULA63020GSD0 | 63 | 20 | G | S | D | PLACEHOLDER.step |
| 109 | ULA63020GSK0 | 63 | 20 | G | S | K | PLACEHOLDER.step |
| 110 | ULA63020GD0 | 63 | 20 | G | D | PLACEHOLDER.step | |
| 111 | ULA63020GK0 | 63 | 20 | G | K | PLACEHOLDER.step | |
| 112 | ULA63020NSD0 | 63 | 20 | N | S | D | PLACEHOLDER.step |
| 113 | ULA63020NSK0 | 63 | 20 | N | S | K | PLACEHOLDER.step |
| 114 | ULA63020ND0 | 63 | 20 | N | D | PLACEHOLDER.step | |
| 115 | ULA63020NK0 | 63 | 20 | N | K | PLACEHOLDER.step | |
| 116 | ULA63020PSD0 | 63 | 20 | P | S | D | PLACEHOLDER.step |
| 117 | ULA63020PSK0 | 63 | 20 | P | S | K | PLACEHOLDER.step |
| 118 | ULA63020PD0 | 63 | 20 | P | D | PLACEHOLDER.step | |
| 119 | ULA63020PK0 | 63 | 20 | P | K | PLACEHOLDER.step | |
| 120 | ULA63040ASD0 | 63 | 40 | A | S | D | PLACEHOLDER.step |
| 121 | ULA63040ASK0 | 63 | 40 | A | S | K | PLACEHOLDER.step |
| 122 | ULA63040GSD0 | 63 | 40 | G | S | D | PLACEHOLDER.step |
| 123 | ULA63040GSK0 | 63 | 40 | G | S | K | PLACEHOLDER.step |
| 124 | ULA63040GD0 | 63 | 40 | G | D | PLACEHOLDER.step | |
| 125 | ULA63040GK0 | 63 | 40 | G | K | PLACEHOLDER.step | |
| 126 | ULA63040NSD0 | 63 | 40 | N | S | D | PLACEHOLDER.step |
| 127 | ULA63040NSK0 | 63 | 40 | N | S | K | PLACEHOLDER.step |
| 128 | ULA63040ND0 | 63 | 40 | N | D | PLACEHOLDER.step | |
| 129 | ULA63040NK0 | 63 | 40 | N | K | PLACEHOLDER.step | |
| 130 | ULA63040PSD0 | 63 | 40 | P | S | D | PLACEHOLDER.step |
| 131 | ULA63040PSK0 | 63 | 40 | P | S | K | PLACEHOLDER.step |
| 132 | ULA63040PD0 | 63 | 40 | P | D | PLACEHOLDER.step | |
| 133 | ULA63040PK0 | 63 | 40 | P | K | PLACEHOLDER.step | |
| 134 | ULA63015ASD0 | 63 | 15 | A | S | D | PLACEHOLDER.step |
| 135 | ULA63015ASK0 | 63 | 15 | A | S | K | PLACEHOLDER.step |
| 136 | ULA63015AD0 | 63 | 15 | A | D | PLACEHOLDER.step | |
| 137 | ULA63015GSD0 | 63 | 15 | G | S | D | PLACEHOLDER.step |
| 138 | ULA63015GSK0 | 63 | 15 | G | S | K | PLACEHOLDER.step |
| 139 | ULA63015GD0 | 63 | 15 | G | D | PLACEHOLDER.step | |
| 140 | ULA63015GK0 | 63 | 15 | G | K | PLACEHOLDER.step | |
| 141 | ULA63015NSD0 | 63 | 15 | N | S | D | PLACEHOLDER.step |
| 142 | ULA63015NSK0 | 63 | 15 | N | S | K | PLACEHOLDER.step |
| 143 | ULA63015ND0 | 63 | 15 | N | D | PLACEHOLDER.step | |
| 144 | ULA63015NK0 | 63 | 15 | N | K | PLACEHOLDER.step | |
| 145 | ULA63015PSD0 | 63 | 15 | P | S | D | PLACEHOLDER.step |
| 146 | ULA63015PSK0 | 63 | 15 | P | S | K | PLACEHOLDER.step |
| 147 | ULA63015PD0 | 63 | 15 | P | D | PLACEHOLDER.step | |
| 148 | ULA63015PK0 | 63 | 15 | P | K | PLACEHOLDER.step | |
| 149 | ULA63025ASD0 | 63 | 25 | A | S | D | PLACEHOLDER.step |
| 150 | ULA63025ASK0 | 63 | 25 | A | S | K | PLACEHOLDER.step |
| 151 | ULA63025AD0 | 63 | 25 | A | D | PLACEHOLDER.step | |
| 152 | ULA63025GSD0 | 63 | 25 | G | S | D | PLACEHOLDER.step |
| 153 | ULA63025GSK0 | 63 | 25 | G | S | K | PLACEHOLDER.step |
| 154 | ULA63025GD0 | 63 | 25 | G | D | PLACEHOLDER.step | |
| 155 | ULA63025GK0 | 63 | 25 | G | K | PLACEHOLDER.step | |
| 156 | ULA63025NSD0 | 63 | 25 | N | S | D | PLACEHOLDER.step |
| 157 | ULA63025NSK0 | 63 | 25 | N | S | K | PLACEHOLDER.step |
| 158 | ULA63025ND0 | 63 | 25 | N | D | PLACEHOLDER.step | |
| 159 | ULA63025NK0 | 63 | 25 | N | K | PLACEHOLDER.step | |
| 160 | ULA63025PSD0 | 63 | 25 | P | S | D | PLACEHOLDER.step |
| 161 | ULA63025PSK0 | 63 | 25 | P | S | K | PLACEHOLDER.step |
| 162 | ULA63025PD0 | 63 | 25 | P | D | PLACEHOLDER.step | |
| 163 | ULA63025PK0 | 63 | 25 | P | K | PLACEHOLDER.step | |
| 164 | ULA63050ASD0 | 63 | 50 | A | S | D | PLACEHOLDER.step |
| 165 | ULA63050ASK0 | 63 | 50 | A | S | K | PLACEHOLDER.step |
| 166 | ULA63050AD0 | 63 | 50 | A | D | PLACEHOLDER.step | |
| 167 | ULA63050GSD0 | 63 | 50 | G | S | D | PLACEHOLDER.step |
| 168 | ULA63050GSK0 | 63 | 50 | G | S | K | PLACEHOLDER.step |
| 169 | ULA63050GD0 | 63 | 50 | G | D | PLACEHOLDER.step | |
| 170 | ULA63050GK0 | 63 | 50 | G | K | PLACEHOLDER.step | |
| 171 | ULA63050NSD0 | 63 | 50 | N | S | D | PLACEHOLDER.step |
| 172 | ULA63050NSK0 | 63 | 50 | N | S | K | PLACEHOLDER.step |
| 173 | ULA63050ND0 | 63 | 50 | N | D | PLACEHOLDER.step | |
| 174 | ULA63050NK0 | 63 | 50 | N | K | PLACEHOLDER.step | |
| 175 | ULA63050PSD0 | 63 | 50 | P | S | D | PLACEHOLDER.step |
| 176 | ULA63050PSK0 | 63 | 50 | P | S | K | PLACEHOLDER.step |
| 177 | ULA63050PD0 | 63 | 50 | P | D | PLACEHOLDER.step | |
| 178 | ULA63050PK0 | 63 | 50 | P | K | PLACEHOLDER.step | |
| 179 | ULA63060ASD0 | 63 | 60 | A | S | D | PLACEHOLDER.step |
| 180 | ULA63060ASK0 | 63 | 60 | A | S | K | PLACEHOLDER.step |
| 181 | ULA63060AD0 | 63 | 60 | A | D | PLACEHOLDER.step | |
| 182 | ULA63060GSD0 | 63 | 60 | G | S | D | PLACEHOLDER.step |
| 183 | ULA63060GSK0 | 63 | 60 | G | S | K | PLACEHOLDER.step |
| 184 | ULA63060GD0 | 63 | 60 | G | D | PLACEHOLDER.step | |
| 185 | ULA63060GK0 | 63 | 60 | G | K | PLACEHOLDER.step | |
| 186 | ULA63060NSD0 | 63 | 60 | N | S | D | PLACEHOLDER.step |
| 187 | ULA63060NSK0 | 63 | 60 | N | S | K | PLACEHOLDER.step |
| 188 | ULA63060ND0 | 63 | 60 | N | D | PLACEHOLDER.step | |
| 189 | ULA63060NK0 | 63 | 60 | N | K | PLACEHOLDER.step | |
| 190 | ULA63060PSD0 | 63 | 60 | P | S | D | PLACEHOLDER.step |
| 191 | ULA63060PSK0 | 63 | 60 | P | S | K | PLACEHOLDER.step |
| 192 | ULA63060PD0 | 63 | 60 | P | D | PLACEHOLDER.step | |
| 193 | ULA63060PK0 | 63 | 60 | P | K | PLACEHOLDER.step |