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>
This commit is contained in:
@@ -1 +1,592 @@
|
||||
{"series": {"code": "UAGP", "nameZh": "UAGP 系列气动翻转缸", "nameEn": "UAGP Series Pneumatic Flip Cylinder", "keywords": "uagp fanzhuan flip rotary", "parameters": [{"code": "size", "nameZh": "规格", "nameEn": "Size", "keywords": "size guige", "unit": "", "type": "number", "values": [80, 120, 150, 155, 170, 210, 215, 300, 350, 355, 605], "display": {}}, {"code": "type", "nameZh": "型式", "nameEn": "Type", "keywords": "type xingshi", "unit": "", "type": "enum", "values": ["W", "B"], "display": {"W": "标准型", "B": "带制动"}}], "rules": [], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/UAGP/p01.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/UAGP/UAGP_manual.pdf", "model": null}]}
|
||||
{
|
||||
"series": {
|
||||
"code": "UAGP",
|
||||
"nameZh": "UAGP 气动翻转缸",
|
||||
"nameEn": "UAGP Pneumatic Power Pivot",
|
||||
"keywords": "uagp fanzhuan power pivot",
|
||||
"parameters": [
|
||||
{
|
||||
"code": "size",
|
||||
"nameZh": "规格",
|
||||
"nameEn": "Size",
|
||||
"keywords": "guige size",
|
||||
"unit": "mm",
|
||||
"type": "number",
|
||||
"values": [
|
||||
75,
|
||||
80,
|
||||
120,
|
||||
150,
|
||||
155,
|
||||
170,
|
||||
210,
|
||||
215,
|
||||
300,
|
||||
350,
|
||||
355,
|
||||
600,
|
||||
605
|
||||
],
|
||||
"display": {}
|
||||
},
|
||||
{
|
||||
"code": "table_pos",
|
||||
"nameZh": "工作台位置",
|
||||
"nameEn": "Table Position",
|
||||
"keywords": "gongzuotai table pos",
|
||||
"unit": "",
|
||||
"type": "enum",
|
||||
"values": [
|
||||
"",
|
||||
"O",
|
||||
"P",
|
||||
"V",
|
||||
"Z"
|
||||
],
|
||||
"display": {
|
||||
"": "不适用",
|
||||
"O": "水平 90°",
|
||||
"P": "水平 O 镜像",
|
||||
"V": "垂直 180°",
|
||||
"Z": "垂直 V 镜像"
|
||||
}
|
||||
},
|
||||
{
|
||||
"code": "rotation",
|
||||
"nameZh": "翻转角度",
|
||||
"nameEn": "Pivot Rotation",
|
||||
"keywords": "fanzhuanjiaodu rotation",
|
||||
"unit": "°",
|
||||
"type": "number",
|
||||
"values": [
|
||||
30,
|
||||
45,
|
||||
60,
|
||||
75,
|
||||
90,
|
||||
105,
|
||||
120
|
||||
],
|
||||
"display": {}
|
||||
},
|
||||
{
|
||||
"code": "brake",
|
||||
"nameZh": "制动系统",
|
||||
"nameEn": "Brake System",
|
||||
"keywords": "zhidong brake",
|
||||
"unit": "",
|
||||
"type": "enum",
|
||||
"values": [
|
||||
"B",
|
||||
"W"
|
||||
],
|
||||
"display": {
|
||||
"B": "带制动",
|
||||
"W": "无制动"
|
||||
}
|
||||
},
|
||||
{
|
||||
"code": "conn",
|
||||
"nameZh": "接口方向",
|
||||
"nameEn": "Connections",
|
||||
"keywords": "jiekou connections",
|
||||
"unit": "",
|
||||
"type": "enum",
|
||||
"values": [
|
||||
"D",
|
||||
"F",
|
||||
"P",
|
||||
"S"
|
||||
],
|
||||
"display": {
|
||||
"D": "右侧",
|
||||
"F": "前侧",
|
||||
"P": "后侧",
|
||||
"S": "左侧(标准)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"code": "sensor",
|
||||
"nameZh": "传感器",
|
||||
"nameEn": "Sensor",
|
||||
"keywords": "chuanganqi sensor",
|
||||
"unit": "",
|
||||
"type": "enum",
|
||||
"values": [
|
||||
"",
|
||||
"A",
|
||||
"K"
|
||||
],
|
||||
"display": {
|
||||
"": "不适用",
|
||||
"A": "电子 PNP 光学 M12 + 制动传感器",
|
||||
"K": "电子 PNP M12 (DF-K)"
|
||||
}
|
||||
}
|
||||
],
|
||||
"rules": [],
|
||||
"naming": {
|
||||
"stepNameTemplate": "{model}.step"
|
||||
},
|
||||
"attachments": [],
|
||||
"variants": []
|
||||
},
|
||||
"attachments": [
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p01.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p02.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p03.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p04.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p05.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p06.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p07.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p08.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p09.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p10.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p11.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p12.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p13.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p14.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p15.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p16.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p17.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p18.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p19.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p20.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p21.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p22.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p23.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p24.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p25.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p26.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p27.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p28.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p29.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p30.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p31.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p32.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p33.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p34.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p35.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p36.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p37.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p38.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p39.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p40.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p41.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p42.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p43.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p44.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p45.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p46.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p47.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p48.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p49.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p50.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p51.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p52.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p53.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p54.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p55.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p56.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p57.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p58.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p59.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p60.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p61.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p62.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p63.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p64.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p65.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p66.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p67.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p68.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p69.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p70.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p71.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p72.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p73.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p74.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "manual",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/p75.png",
|
||||
"model": null
|
||||
},
|
||||
{
|
||||
"kind": "datasheet",
|
||||
"lang": "",
|
||||
"source": "manual/UAGP/UAGP_manual.pdf",
|
||||
"model": null
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user