diff --git a/docs/superpowers/specs/2026-05-27-panel-assembly-model-design.md b/docs/superpowers/specs/2026-05-27-panel-assembly-model-design.md new file mode 100644 index 0000000..b901e96 --- /dev/null +++ b/docs/superpowers/specs/2026-05-27-panel-assembly-model-design.md @@ -0,0 +1,97 @@ +# 电气箱体组件模型资产设计 + +## 目标 + +根据参考视频生成一套完整电气箱体组件模型,用作后续 FreeCAD/QET 3D 场景中的示例设备资产。 + +交付物保持上一轮资产约定: + +- `.FCStd`:FreeCAD 原生资产,保留对象层级、颜色和后续可编辑结构。 +- `.step`:纯几何交换文件,方便外部 CAD 预览或复用。 + +## 输出位置 + +生成文件放在: + +```text +data/examples/qet_panel_assembly/ +``` + +计划文件: + +- `qet_panel_assembly.FCStd` +- `qet_panel_assembly.step` +- `create_qet_panel_assembly.py` +- `qet_panel_assembly_report.json` +- `README.md` + +## 外观与组成 + +第一版做中等细节整套组件,不追求视频中品牌级完全复刻,但保留主要视觉结构: + +- 左侧浅灰箱体/门板。 +- 箱体外缘厚边框。 +- 门板内凹面板。 +- 两个圆形铰链/螺钉点。 +- 右侧深灰安装背板。 +- 两条竖向白色多孔连接器/端子模块。 +- 多孔模块上的圆形孔阵列和黑色接线/螺钉点。 +- 底部/侧边的小白色附属接插件。 +- 黄色细线框,模拟视频中的高亮连接线范围。 + +## 尺寸与坐标 + +使用便于柜内摆放的近似比例: + +- 总高:180 mm。 +- 左侧箱体宽:110 mm。 +- 箱体深:55 mm。 +- 右侧端子模块区高:约 120 mm。 +- 右侧安装板宽:约 45 mm。 + +坐标约定: + +- X 轴:整体左右方向。 +- Y 轴:深度方向。 +- Z 轴:高度方向。 +- 模型原点位于箱体底部附近,便于放入柜体场景。 + +## 语义约束 + +这次模型作为整套机械/电气组件资产: + +- 不创建模板端子 LCS。 +- 不写入工程绑定字段: + - `QetProjectUuid` + - `QetElementUuid` + - `QetTerminalUuid` + - `QetInstanceId` + +后续如果要把右侧连接器的每个孔位升级为可接线端子,应另开一版模板端子设计,并明确哪些孔位需要 LCS。 + +## 生成方式 + +使用 FreeCAD Python API 参数化生成: + +- 用盒体表示箱体、门板、边框、安装板和模块主体。 +- 用圆柱薄片表示螺钉点和孔位视觉特征。 +- 用细盒体表示黄色高亮连接线框。 +- 保存 `.FCStd`。 +- 导出 `.step`。 +- 写出 JSON report,记录尺寸、输出路径和对象名。 +- Windows 下复用本机 `C:\Users\ng123\AppData\Local\QETDeps\runtime.json` 中登记的 FreeCAD Python runtime。 + +## 验收标准 + +1. `.FCStd` 和 `.step` 文件均存在且非空。 +2. `.FCStd` 能被 FreeCAD Python 打开。 +3. 文档中存在箱体、安装板、连接器模块、孔阵列、小接插件和黄色线框对象。 +4. `.step` 文件包含 `ISO-10303-21` 头部。 +5. 模型不包含模板端子 LCS。 +6. 模型不包含工程绑定字段。 + +## 自检 + +- 本设计只新增模型资产,不改 QET/FreeCAD 协同代码。 +- 资产交付格式符合用户确认的 `.FCStd + .step`。 +- 当前第一版是可视化/摆放资产,不承担 2D/3D 端子绑定职责。