Select machine type in design dialog and save importable machine GLB
This commit is contained in:
@@ -54,3 +54,5 @@
|
||||
16. MGR-17:每个节点可配置一个 XYZABC 自由度、父坐标轴方向和正负向。配置以 `linuxcnc.joint-model/1` JSON 写入原 userData,包含层级、零姿态、轴索引、物理零点和 RTCP 标定。管理器实时跟随与正式机床共用驱动逻辑;详见 [07-单自由度JSON与实时驱动](07-单自由度JSON与实时驱动.md)。
|
||||
|
||||
17. 工程工作台:独立滚动的结构/运动/标定页签,固定预览与底部操作区;层级搜索、轴定位、相机预设;30 步草稿撤销/重做;单轴步进;无效输入保持上一个有效值并禁止应用/导出。
|
||||
|
||||
18. MGR-19:对话框第一步独立选择设计机床类型 XYZAC/XYZBC;控制面板切换不覆盖设计草稿。机型限制轴绑定、运动验证和标定。保存完整机床 GLB,供控制面板“导入机床模型”自动识别机型并使用。
|
||||
|
||||
@@ -19,3 +19,5 @@
|
||||
14. `MGR-17`:定义单自由度 JSON/Schema;收敛 UI 输入;增加单文件层级应用和 GLB 恢复;接入实际 WASM 关节位置;验证每轴、反向、物理零点、导出往返和锁定行为。
|
||||
|
||||
15. `MGR-18`:工作区布局与层级导航;草稿历史/资源生命周期;数值错误状态和机型标定校验;重复选中输入回归;桌面/窄屏/矮屏及 AC/BC 实时驱动验收。
|
||||
|
||||
16. `MGR-19`:把机型纳入草稿/撤销历史;添加首步机型选择;切换清理不适用倾转绑定;完整模型打开恢复机型;下载前调用控制面板读取器校验;验证从 AC 工作区导入 BC GLB 自动切换及 MILL700 两机型保存/运动闭环。
|
||||
|
||||
@@ -103,3 +103,11 @@
|
||||
- E14 工作台浏览器验收通过:搜索、总览定位、撤销/重做、错误输入、标定校验、视图、删除恢复、导入失败保护、实时锁定和 1440/1154/720 视口无溢出。
|
||||
|
||||
- 最终 AC/BC 完整回归分别通过,各 8 个动态 tick;线上 E14 工作台回归通过。已发布 `a7233bc`,资源 `index-nddrUCCV.js`。
|
||||
|
||||
## R13 / 2026-09-21 / 对话框选择机床类型与保存整机
|
||||
|
||||
- 设计机型从外部控制面板属性改为草稿字段,标题、轴总览、绑定选项、标定与运动输入统一使用所选设计类型。顶部按选择类型→配置结构→验证标定→保存 GLB 引导。
|
||||
- AC/BC 切换只清理不适用的 A/B 轴绑定,保留模型层级、XYZ/C 和标定,并提示重新配置、核对;整个切换可撤销/重做。外部工作区切换不再改写草稿。
|
||||
- 打开已保存完整机床作为单一文档事务,自动恢复文件中的机型、关节、层级、物理零点、RTCP 参数;原草稿可撤销恢复。普通 GLB 部件导入仍为追加。
|
||||
- 保存入口改为“保存机床模型 GLB”,使用 `inspectMachineGlb` 和 32 MiB 限制校验结果,确保标准导入器可读取;成功消息提示去控制面板“导入机床模型”加载。
|
||||
- E15 针对跨机型闭环测试通过:在 AC 控制器下设计 BC、切换撤销、保存、重新打开、控制面板标准导入自动识别 BC。MILL700 两机型实测通过,分别 8 个同时五轴运动 tick、浏览器 warning/error=0。保存两份完整 GLB 验收示例;MGR-19 verified。
|
||||
|
||||
@@ -21,3 +21,4 @@
|
||||
|
||||
|MGR-17 单自由度与运行轴映射|verified|MGR-16|每节点固定或唯一 XYZABC 自由度;单值编辑;JSON 保存到场景/底座;单 GLB 完整应用;导出往返与 AC/BC 实时轴映射验收|
|
||||
|MGR-18 工程化工作台体验|verified|MGR-17|层级搜索与定位、绑定总览、撤销/重做、输入校验、步骤页签、视图预设、单轴步进、实时跟随锁定、响应式布局和失败导入保护通过|
|
||||
|MGR-19 对话框机型与保存整机|verified|MGR-18|先在对话框选择设计机型;绑定/标定受机型约束;草稿独立/可撤销;保存完整 GLB 可由控制面板导入并自动切换机型|
|
||||
|
||||
@@ -139,3 +139,19 @@
|
||||
|
||||
- 最终回归:`workbench/xyzac-regression.report.json`、`xyzbc-regression.report.json` 均 verified,各 8 个运动 tick,含模型 JSON/GLB 往返、轴符号、零点、实时跟随和五轴运动。输入框选中切换使用绘制前同步,重复填值不会拼接。
|
||||
- 线上 `https://49.232.250.35:58015/` 已发布功能代码 `a7233bc`,资源 `assets/index-nddrUCCV.js`;E14 工作台完整回归 verified,浏览器错误 0。发布证据:`workbench/cloud.report.json`、`workbench/deployment.report.json`。
|
||||
|
||||
## E15 / R13 / 对话框机型与保存整机
|
||||
|
||||
- `node scripts/test_machine_manager_type.mjs`:GLB-MGR-E15 verified;在 AC 控制面板下设计 BC、机型切换/撤销/重做、工作区不覆盖草稿、完整机床打开恢复、直接应用及标准 GLB 导入自动切换为 BC。
|
||||
- `JOINT_TEST_OUTPUT=.../coverage/glb-machine-manager/machine-type/mill700 SAVE_MACHINE_MODELS=.../coverage/glb-machine-manager/machine-type/saved-models node scripts/test_machine_joint_dof_browser.mjs`:MILL700 AC/BC 各 8 个动态 tick,验证 GLB 保存/重开/导入、标定、轴映射、单自由度及实时跟随,浏览器错误 0。
|
||||
- 八部件生产回归、工作台布局/撤销/搜索回归、类型检查、构建、机型历史、控件契约 134 项和双画布检查通过。
|
||||
- 保存入口下载前用 `inspectMachineGlb` 校验完整 GLB;所有测试机型通过标准“导入机床模型”。
|
||||
|
||||
|文件(相对 coverage/glb-machine-manager/machine-type)|SHA-256|
|
||||
|---|---|
|
||||
|`browser.report.json`|`222c43f2ef36d28f31171773efe2cbe49eff383e766c5086f18bac5bae62047a`|
|
||||
|`dialog-type.png`|`c24f8b3fd445cf5e886b8189e13e0830e6fecf341e57499e7cf73528fd803b9d`|
|
||||
|`controller-import.png`|`071f8d9a9ac4ac85fe64bfcd51f1fb605112515eb4aaa0e00ceacd539347d67b`|
|
||||
|`mill700/browser.report.json`|`05fb403ef854aba37c1ab64e0334a843d4839a6c2ce559031d25589a68346f3a`|
|
||||
|`saved-models/MILL700-xyzac.glb`|`25ba366a6550c3a613a63623b8e25216d5a3a6dd2781b69481d80d0bb87033e4`|
|
||||
|`saved-models/MILL700-xyzbc.glb`|`3b87cb8504815c13127608c513eacb3536e1be1c10f9a58fcd59920939fbe0c1`|
|
||||
|
||||
@@ -63,3 +63,7 @@ GLB 树节点 ID 使用导入时的子节点索引路径,不使用可能重复
|
||||
## D16 / 草稿可撤销、错误输入不执行
|
||||
|
||||
草稿历史只保存配置快照并共享源模型资源,上限 30 步;只有已脱离当前草稿和历史的资产才释放。关闭窗口保留会话草稿,完整持久保存使用导出 GLB,界面明确显示未应用/已应用/已导出状态。非法或空数值只存在于输入框,不驱动模型,不隐式归零;校验状态独立于操作消息显示。实时跟随时配置只读,数据不可用时保持最后姿态且允许退出。
|
||||
|
||||
## D17 / 设计类型属于机床文档
|
||||
|
||||
机型保存在 MachineDraft,控制面板当前类型只用于首次创建时的默认值和实时数据匹配。后续面板切换不得覆盖草稿。切换设计类型不自动把 A 轴重新命名为 B:保留通用轴及模型,清除不兼容绑定,提示重新配置,并允许撤销。标定保留并按新机型验证,不静默丢弃。完整机床 GLB 打开为一次替换事务,自动恢复文件机型,原草稿可撤销。保存 GLB 必须先通过标准导入器格式/机型校验;JSON 是辅助参数文件,完整可导入交付物为 GLB。
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
|
||||
## 对话框
|
||||
|
||||
1. 选中层级节点,设置“唯一自由度”:X/Y/Z 是平移,A/B/C 是旋转;固定零件选择“固定(无自由度)”。每个运动节点只有一个自由度,每个数控轴只能绑定一个节点。
|
||||
1. 首先在对话框顶部选择设计机床类型 XYZAC/XYZBC(独立于当前控制面板),然后导入模型。选中层级节点,设置“唯一自由度”:X/Y/Z 是平移,A/B/C 是旋转;固定零件选择“固定(无自由度)”。每个运动节点只有一个自由度,每个数控轴只能绑定一个节点。
|
||||
2. 设置父级坐标系中的 X/Y/Z 运动方向和正负向。AC 模型可用 XYZAC,BC 模型可用 XYZBC;另一倾转轴禁用。
|
||||
3. 当前节点只有一个“位移/转角”可编辑数值,单位 mm/deg。固定节点不能编辑;已导入的局部位置、姿态作为零姿态保留。旧版六分量自由编辑和自由操纵器已被单自由度输入替代(MGR-17)。
|
||||
4. 层级运动测试与节点输入共用对应轴值,所有输入均为相对物理零点的运动量,不写数控系统。配置 JSON 和 GLB 保存零姿态、自由度和标定,不将临时测试姿态烘焙进去。
|
||||
5. “跟随数控系统实时关节位置”使用当前机型的有效 WASM 快照,锁定手动关节输入。控制面板正式模型始终由 WASM 实际关节位置驱动。
|
||||
6. 绑定齐五个轴后可应用机床、导出 GLB;单个已有层级的 GLB 也可应用。可单独导出 JSON。未完成绑定的 JSON 是草稿,控制器读取时必须通过完整性校验。
|
||||
7. 重新导入本工具导出的 GLB 到管理器,可恢复层级、自由度、正负向、C 原点、倾转轴偏置和物理零点。GLB 机型必须与当前工作区相同。
|
||||
7. 重新导入本工具导出的 GLB 到管理器,可恢复层级、自由度、正负向、C 原点、倾转轴偏置和物理零点。完整机床 GLB 单独打开时,自动恢复文件机型,原设计草稿可撤销恢复;控制面板“导入机床模型”自动切换到 GLB 指定机型。
|
||||
|
||||
## 字段契约
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
现有整机 GLB + 内嵌 URDF 导入能力继续保留。新管理器生成与现有 `linuxcnc.machine/1` 相同的严格结构,再通过已有配置、Worker、WASM 和 Three.js 投影链运行。
|
||||
|
||||
当前状态:MGR-17、MGR-18 已 verified;MGR-01 至 MGR-16 已完成历史验收,MILL700 实测覆盖照明、Z-up、132 节点树、拖放、节点原点、关节局部坐标系、节点相对父级平移旋转、模型删除、轴绑定、XYZ/AC 层级运动和 WebGL 资源降级。最新台账 R12,证据 `GLB-MGR-E01/E02/E05/E07/E08/E09/E10/E12/E13/E14` 位于 `coverage/glb-machine-manager/`。
|
||||
当前状态:MGR-19 对话框选择机型/整机保存已 verified;MGR-17、MGR-18 已 verified;MGR-01 至 MGR-16 已完成历史验收,MILL700 实测覆盖照明、Z-up、132 节点树、拖放、节点原点、关节局部坐标系、节点相对父级平移旋转、模型删除、轴绑定、XYZ/AC 层级运动和 WebGL 资源降级。最新台账 R13,证据 `GLB-MGR-E01/E02/E05/E07/E08/E09/E10/E12/E13/E14/E15` 位于 `coverage/glb-machine-manager/`。
|
||||
|
||||
文档:
|
||||
|
||||
|
||||
@@ -1079,3 +1079,7 @@ silently reproduced in the browser.
|
||||
### MGR-18 machine manager workbench controls
|
||||
|
||||
`machine-manager-undo`, `machine-manager-redo`, `machine-manager-draft-state`, `machine-tree-search`, `machine-tree-expand`, `machine-tree-collapse`, `machine-manager-validation`, `machine-manager-tab-structure`, `machine-manager-tab-motion`, `machine-manager-tab-calibration`, `machine-view-fit`, `machine-view-selected`, `machine-view-front`, `machine-view-top`, `machine-joint-step-minus`, `machine-joint-step-plus`, `machine-joint-reset`: bounded draft history, searchable hierarchy, axis binding overview, explicit validation, view presets, single-joint step jog and responsive workbench layout.
|
||||
|
||||
### MGR-19 document machine type
|
||||
|
||||
`machine-manager-type`, `machine-manager-type-note`: select XYZAC/XYZBC inside the design dialog before configuring structure. Design type belongs to undoable draft state and is independent of the live controller. Saving validates the GLB through the standard importer; loading a full machine restores type, bindings and calibration, and the control panel switches workspace to match the imported model.
|
||||
|
||||
Reference in New Issue
Block a user