Files
OnebotCatalog/onebot-data/catalog/csv/ULM.csv
wangruiguo 3c4f236cba v2.0: 4 分类真实数据替换 + 手册彩色重做 + 网页版改版
数据 (定位销/勾销缸/翻转缸/电缸 → Univer 真实数模)
- 新增 19 系列 1124 型号 (PIN 303 / HOK 73 / ROT 741 / ELEC 9)
- 命名规则取自官方图册 CODIFICATION KEY (pdftotext 提取), 非推测
- 解析用「官方值域校验 + 左对齐 DFS 填空」, 可处理省略空位的型号
- 参数组合唯一性门禁: 1124 型号全部通过 (避免选型静默错配)
- 占位/测试文件 (如 USP50J_0___K0 销径为空) 在解析阶段丢弃
- catalog.json 分类系列表同步; crossref 失效引用清理

手册页
- 全部 42 系列改为彩色 (此前脚本误写死 csGRAY 转灰度), 346 页
- 修复 UCBT 附图只有 1 页 (筛选条件写死 UCBT40 且漏 CLAMPING ARMS)
- gen-pending-series.py 改为扫描 manual 目录自动生成附件清单,
  避免重跑脚本把多页附件覆盖回单页

网页版
- 首页改为系列缩略图网格 (40 张: 27 张真实产品图 + 13 张占位图),
  按大类分组; 图放 web/series/<系列码>.webp, 覆盖同名文件即可替换
- 左侧树改手风琴 (默认收起, 一次展开一个), 父级带 SVG 图标,
  悬停放大动画, 按钮间距随高度均匀分布; 可收起为图标窄条
- 修复分隔条被拖出容器后无法找回 (上限改为容器感知 + resize 重夹取
  + 双击复位); 同时阻止图片原生拖拽
- 购物车打包改取 .step.gz 副档 (传输量降至约 1/4.5), 无副档自动回退
- 修复搜索到型号后点结果内容区空白 (switchTab('dim') 已失效)
- OpcPackage 超大包 (>1.5GB) 改走临时文件, 绕过 MemoryStream 2GB 上限

工具
- gen-pending-series/manual, copy-pending-step, gen-step-gz,
  gen-series-thumbs, scan-pending-series 等 11 个脚本

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-15 01:05:41 +08:00

3.0 KiB

1model_codesizestrokerodorientsensorstep_file
2ULM50015AEK05015AEKULM50015AEK0.step
3ULM50015ANK05015ANKULM50015ANK0.step
4ULM50015AOK05015AOKULM50015AOK0.step
5ULM50015ASK05015ASKULM50015ASK0.step
6ULM50015BXK05015BXKULM50015BXK0.step
7ULM50015CXK05015CXKULM50015CXK0.step
8ULM50015DEK05015DEKULM50015DEK0.step
9ULM50015DNK05015DNKULM50015DNK0.step
10ULM50015DOK05015DOKULM50015DOK0.step
11ULM50015DSK05015DSKULM50015DSK0.step
12ULM50015EXK05015EXKULM50015EXK0.step
13ULM50015FXK05015FXKULM50015FXK0.step
14ULM50015HXK05015HXKULM50015HXK0.step
15ULM50015IXK05015IXKULM50015IXK0.step
16ULM50025AEK05025AEKULM50025AEK0.step
17ULM50025ANK05025ANKULM50025ANK0.step
18ULM50025AOK05025AOKULM50025AOK0.step
19ULM50025ASK05025ASKULM50025ASK0.step
20ULM50025BXK05025BXKULM50025BXK0.step
21ULM50025CXK05025CXKULM50025CXK0.step
22ULM50025DEK05025DEKULM50025DEK0.step
23ULM50025DNK05025DNKULM50025DNK0.step
24ULM50025DOK05025DOKULM50025DOK0.step
25ULM50025DSK05025DSKULM50025DSK0.step
26ULM50025EXK05025EXKULM50025EXK0.step
27ULM50025FXK05025FXKULM50025FXK0.step
28ULM50025HXK05025HXKULM50025HXK0.step
29ULM50025IXK05025IXKULM50025IXK0.step
30ULM50040AEK05040AEKULM50040AEK0.step
31ULM50040ANK05040ANKULM50040ANK0.step
32ULM50040AOK05040AOKULM50040AOK0.step
33ULM50040ASK05040ASKULM50040ASK0.step
34ULM50040BXK05040BXKULM50040BXK0.step
35ULM50040CXK05040CXKULM50040CXK0.step
36ULM50040DEK05040DEKULM50040DEK0.step
37ULM50040DNK05040DNKULM50040DNK0.step
38ULM50040DOK05040DOKULM50040DOK0.step
39ULM50040DSK05040DSKULM50040DSK0.step
40ULM50040EXK05040EXKULM50040EXK0.step
41ULM50040FXK05040FXKULM50040FXK0.step
42ULM50040HXK05040HXKULM50040HXK0.step
43ULM50040IXK05040IXKULM50040IXK0.step
44ULM50050AEK05050AEKULM50050AEK0.step
45ULM50050ANK05050ANKULM50050ANK0.step
46ULM50050AOK05050AOKULM50050AOK0.step
47ULM50050ASK05050ASKULM50050ASK0.step
48ULM50050BXK05050BXKULM50050BXK0.step
49ULM50050CXK05050CXKULM50050CXK0.step
50ULM50050DEK05050DEKULM50050DEK0.step
51ULM50050DNK05050DNKULM50050DNK0.step
52ULM50050DOK05050DOKULM50050DOK0.step
53ULM50050DSK05050DSKULM50050DSK0.step
54ULM50050EXK05050EXKULM50050EXK0.step
55ULM50050FXK05050FXKULM50050FXK0.step
56ULM50050HXK05050HXKULM50050HXK0.step
57ULM50050IXK05050IXKULM50050IXK0.step
58ULM50060AEK05060AEKULM50060AEK0.step
59ULM50060ANK05060ANKULM50060ANK0.step
60ULM50060AOK05060AOKULM50060AOK0.step
61ULM50060ASK05060ASKULM50060ASK0.step
62ULM50060BXK05060BXKULM50060BXK0.step
63ULM50060CXK05060CXKULM50060CXK0.step
64ULM50060DEK05060DEKULM50060DEK0.step
65ULM50060DNK05060DNKULM50060DNK0.step
66ULM50060DOK05060DOKULM50060DOK0.step
67ULM50060DSK05060DSKULM50060DSK0.step
68ULM50060EXK05060EXKULM50060EXK0.step
69ULM50060FXK05060FXKULM50060FXK0.step
70ULM50060HXK05060HXKULM50060HXK0.step
71ULM50060IXK05060IXKULM50060IXK0.step