Files
linuxcncWebWASM/docs/glb-machine-manager/model-selection.md
wangdequan db29ae625f 按关节槽位驱动 13 个五轴案例的三维模型
关节契约扩为槽位制:以 LinuxCNC 联合号标识关节,轴字母降为槽位属性,
重复轴(bridge-mill 的两个 Y)、并联杆长(hexapod/pentapod)和被动槽位
(max5 第 6 关节)都能表达。v1 规则保持不变并合成 jointOrder,已保存
GLB 与既有测试不受影响。

13 个结构 GLB 由 scripts/generate_physical_case_glbs.mjs 统一重建,
可动关节均为按槽位命名的 Group 并写 userData.linuxcncJoint,共 71 个
关节,槽位数与运行目录的 joint_count 逐条一致。

新增 machine-visual-bindings.json 与纯函数模块,以 machine id 为键:
坐标字母不能作键,因为三个案例共用 XYZAB、三个共用 XYZABC。主界面切换
案例时自动装载对应模型,失败时保留内置模型并显式提示。

消除前端五关节截断:visual 适配器的 joints 改为数组并新增
jointsAuthoritative;allHomed 按 joint_count 判断;面板按 worker 断言的
machine id 查找机型。

管理器解锁:坐标与案例下拉以"存在完整视觉绑定"为启用条件,13 案例全部
可选;machine-urdf.ts 新增 generic-wasm/1 profile,AC/BC 严格校验路径
不变;新增 machine-kinematics-specs.json 保存逐关节限位,INI 未声明的
限位保持 null 而不编造。

修复三个真实缺陷:构建漏发 woodpecker/gmoccapy/qtdragon 配置目录(
DEFECT-02 根因);案例切换沿用"装载需要已上电"的门控,导致关机状态下
第二次切换被静默拒绝;重复轴机型上 React 列表键冲突。

验收:13 案例逐个切换装载成功、槽位键与绑定定义逐一一致、浏览器错误 0;
typecheck 与生产构建通过;视觉绑定、GLB 命名、关节契约、投影、store、
双画布、运动学规格漂移、11 案例 Worker 闭环、管理器浏览器回归全部通过。
证据在 coverage/glb-machine-manager/physical-drive/。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-30 06:09:12 +08:00

23 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 导入模型的选择与删除
在“三维机床管理”中导入 GLB 后,右侧“已导入 GLB 模型”列表按导入实例显示文件名、角色和关节数量。同名文件也可以独立选择、删除。
- 点击模型列表中的文件名,或者在三维预览中单击模型,选择整份导入模型;黄色包围框标出选中对象。拖动仍用于旋转视角,不会更换选中模型。
- 点击结构树中的节点,继续编辑内部关节;所属导入模型在列表中保持选中。
- 点击工具栏“删除选中模型”,或模型行右侧“删除”,移除该份导入模型及其内部节点。另行导入并挂载到它的模型保留,解除父级关系。
- 删除后自动选中相邻模型;删除最后一个模型后显示空白导入界面。
- “撤销”恢复模型、关节绑定及父级关系,并选中恢复的模型;“重做”再次执行删除。
- 实时跟随或文件操作进行中禁用删除。删除仅修改管理器草稿,不删除磁盘 GLB,也不会立即替换控制面板正在使用的模型。
模型列表固定在右侧编辑区域顶部,可独立滚动;层级树或分析结果滚动不会隐藏模型选择入口。
回归验证(先启动 `web/react` 的 Vite 服务):
```bash
PLAYWRIGHT_MODULE=/absolute/path/to/playwright/index.js \
MACHINE_MANAGER_URL=http://127.0.0.1:5173/ \
node scripts/test_machine_model_selection.mjs
```
该测试覆盖同名模型、预览点击与拖动区分、定向删除、撤销/重做、父级解除、清空恢复、真实 m1.glb 的五轴绑定恢复和窄屏操作。