完善 xyzbc-trt 刀具偏置闭环
This commit is contained in:
@@ -1,5 +1,108 @@
|
||||
# 03-推进台账
|
||||
|
||||
## 2026-07-02 Tool table 到 tool-offset 闭环实现轮次
|
||||
|
||||
### 本轮目标
|
||||
|
||||
接续 `working` 任务矩阵,完成 T-034:把 `xyzbc-trt.tbl` 的 T/P/Z/D 当前刀具偏置闭环接到 kinematics tool-offset、Web 模型刀长和 path JSON。
|
||||
|
||||
### 已做事项
|
||||
|
||||
- 修改 `app/src/runtime/tool-db-simulation.js`:
|
||||
- 新增 `createToolRuntimeState()`,统一输出当前刀具、active G43 偏置、`motion.tooloffset.z` 等效值、path tool 和 Vismach tool-offset。
|
||||
- 运行时状态记录 `xyzbc-trt-kins.tool-offset`、`xyzbc-trt-gui.tool-offset` 下游 pin 边界。
|
||||
- 修改 `app/src/runtime/vismach-model-state.js`:
|
||||
- `toolRuntimeState.vismach.toolOffset` 优先于旧的静态 `toolPreview.length`,使模型刀具长度来自 active tool offset。
|
||||
- 修改 `tools/collect-web-xyzbc-trt-evidence.mjs`:
|
||||
- 从 staged `xyzbc-trt.tbl` 解析工具表。
|
||||
- 扫描选定程序 T/M6/G43;默认程序无工具命令时,使用工具表中第一个有 Z 偏置的 T2 生成默认激活证据。
|
||||
- 新增 `toolRuntime` 和 `toolOffsetClosure`,并把 `previewPath.samples[].tool`、`executionPath.samples[].tool` 改为当前 active tool。
|
||||
- 扩展 `tests/node/verify_xyzbc_trt_web_app.mjs`:
|
||||
- 断言 `T2 P2 Z10 D8` 进入 tool DB。
|
||||
- 断言 kinematics tool offset、path tool 和 Vismach pin 均为 T2/Z10/D8 闭环结果。
|
||||
- 重新生成:
|
||||
- `working/evidence/web-xyzbc-trt-evidence.json`
|
||||
- `working/evidence/compare-xyzbc-trt-evidence.json`
|
||||
- 更新 `04-任务矩阵.md`,将 T-034 标记为完成。
|
||||
|
||||
### 验证情况
|
||||
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node` 通过。
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web` 通过。
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare` 已生成真实失败报告:当前 19/24 通过;T-034 compare 检查已通过,剩余 5 项失败均来自 native evidence 尚缺 `previewPath`/`executionPath` 样本和采样周期字段。
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run build` 通过,输出 `gmoccapy_static_build=ok`。
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:browser` 通过,输出 `xyzbc_trt_browser_smoke=ok`。
|
||||
- `web-xyzbc-trt-evidence.json` 当前摘要:
|
||||
- `toolRuntime.activeToolNumber=2`
|
||||
- `toolRuntime.activePocket=2`
|
||||
- `toolRuntime.kinematics.toolOffsetZ=10`
|
||||
- `toolRuntime.pathTool.length=10`
|
||||
- `toolRuntime.pathTool.diameter=8`
|
||||
- `toolRuntime.vismach.toolOffset=10`
|
||||
- `toolOffsetClosure.closed=true`
|
||||
- `coverage.toolTableToToolOffsetClosed=true`
|
||||
|
||||
### 下一步
|
||||
|
||||
1. 继续 T-019/T-037:在 `/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment` 下重跑 native evidence,使 native path 进入 20ms 可比状态。
|
||||
2. 继续 T-026/T-038:基于新 browser smoke 扩展 AXIS 主界面与 native 状态流复核。
|
||||
3. 继续 T-028/T-030:补 basic_sim 等效 task/HAL 细节和 Ngcgui/remap 子程序执行验收。
|
||||
|
||||
## 2026-07-02 Vismach 3D pin 驱动模型实现轮次
|
||||
|
||||
### 本轮目标
|
||||
|
||||
接续 `working` 任务矩阵,完成 T-029:让 Web 3D 机床参考模型由 `xyzbc-trt-gui.py` 对应的 Vismach HAL pin 驱动,并把 pin 值、HAL net 和模型变换写入 Web evidence。
|
||||
|
||||
### 已做事项
|
||||
|
||||
- 新增 `app/src/runtime/vismach-model-state.js`:
|
||||
- 统一生成 `table-x/saddle-y/spindle-z/tilt-b/rotate-c/tool-offset/x-offset/z-offset` pin 状态。
|
||||
- 将 pin 映射到 Web 模型变换:table X、saddle Y、spindle Z、tilt B、rotate C、tool offset。
|
||||
- 记录 9 条 native HAL net 对标关系和 `web_threejs_vismach_equivalent_driven_by_xyzbc_trt_hal_pins` 语义边界。
|
||||
- 修改 `app/src/visualization/five-axis-scene.js`:
|
||||
- 将静态参考模型拆成 `vismach-table-x`、`vismach-saddle-y`、`vismach-spindle-z`、`vismach-tilt-b`、`vismach-rotate-c`、`vismach-tool-offset` 层级。
|
||||
- 渲染时按 `buildVismachModelState()` 输出更新 Three.js group 的位移和旋转。
|
||||
- 在 canvas dataset 增加 `threeVismachPins`、`threeVismachTransforms`、`threeVismachPinDrivenModel`,供后续浏览器 smoke 直接断言。
|
||||
- 修改 `tools/collect-web-xyzbc-trt-evidence.mjs`:
|
||||
- `vismachEquivalent` 从静态 pin 清单升级为 `pins`、`pinValues`、`transforms`、`halNets` 和 `semanticBoundary`。
|
||||
- 扩展 `tests/node/verify_xyzbc_trt_web_app.mjs`:
|
||||
- 断言 profile 中 Vismach feedback/offset net。
|
||||
- 断言 pin 到模型变换的映射和 tool-offset/x-offset/z-offset 组合。
|
||||
- 新增目标浏览器 smoke:
|
||||
- `tests/browser/xyzbc_trt_browser_smoke.html`
|
||||
- `tests/browser/verify_xyzbc_trt_browser.sh`
|
||||
- `app/package.json` 增加 `smoke:browser`。
|
||||
- 浏览器断言默认 profile 为 `xyzbc-trt`,kinematics/interpreter/task-HAL 均在 worker 中 ready,canvas 非空,`threeVismachPinDrivenModel` 和 Vismach pin/transform dataset 可读。
|
||||
- 重新生成:
|
||||
- `working/evidence/web-xyzbc-trt-evidence.json`
|
||||
- `working/evidence/compare-xyzbc-trt-evidence.json`
|
||||
- 更新 `04-任务矩阵.md`,将 T-014、T-029 标记为完成,并补充 T-035 Web evidence 字段。
|
||||
|
||||
### 验证情况
|
||||
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node` 通过。
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web` 通过。
|
||||
- `web-xyzbc-trt-evidence.json` 当前摘要:
|
||||
- `status=ready-for-wasm-runtime`
|
||||
- `blockers=[]`
|
||||
- `vismachEquivalent.pinValues.table-x=43`
|
||||
- `vismachEquivalent.pinValues.saddle-y=-32.15`
|
||||
- `vismachEquivalent.pinValues.spindle-z=-11.306`
|
||||
- `vismachEquivalent.pinValues.tool-offset=84.019`
|
||||
- `vismachEquivalent.pinValues.x-offset=-20`
|
||||
- `vismachEquivalent.pinValues.z-offset=-15`
|
||||
- `vismachEquivalent.halNets.length=9`
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare` 已生成真实失败报告:仍为 5 项失败,均来自 native evidence 尚缺 `previewPath`/`executionPath` 样本和采样周期字段。
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run build` 通过,输出 `gmoccapy_static_build=ok`。
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:browser` 通过,输出 `xyzbc_trt_browser_smoke=ok`。
|
||||
|
||||
### 下一步
|
||||
|
||||
1. 继续 T-019/T-037:在 `/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment` 下重跑 native evidence,使 native path 进入 20ms 可比状态。
|
||||
2. 继续 T-034:把 tool table 当前 T/P/Z/D 的 active tool offset 闭环接到 kinematics/tool model/path JSON。
|
||||
3. 继续 T-026/T-038:基于新 browser smoke 扩展 AXIS 主界面与 native 状态流复核。
|
||||
|
||||
## 2026-07-02 Web task/HAL executionPath 采集实现轮次
|
||||
|
||||
### 本轮目标
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
| T-011 | 完整 kinematics WASM 验证 | 完成 | `SKIP_KINEMATICS_BUILD=1 wasm-port/tests/wasm/node/verify_kinematics_wasm.sh` 通过,覆盖 `xyzbc-trt` |
|
||||
| T-012 | 完整 interpreter/remap WASM 验证 | 完成 | `wasm-port/tests/wasm/node/verify_interp_wasm.sh` 通过,输出 `interp_wasm_node_smoke=ok` |
|
||||
| T-013 | 完整 task/HAL WASM 验证 | 完成 | `SKIP_TASK_HAL_BUILD=1 wasm-port/tests/wasm/node/verify_task_hal_wasm.sh` 通过 |
|
||||
| T-014 | 目标浏览器 smoke | 待前置 | 页面默认显示 `xyzbc-trt`,worker runtime ready,canvas 非空 |
|
||||
| T-014 | 目标浏览器 smoke | 完成 | `npm run smoke:browser` 通过;页面默认显示 `xyzbc-trt`,kinematics/interpreter/task-HAL worker runtime ready,canvas 非空并暴露 Vismach dataset |
|
||||
| T-015 | native 真实执行 JSON 采集 | 完成 | `native-xyzbc-trt-evidence.json` 记录真实执行事件,状态 completed |
|
||||
| T-016 | Web OPFS/WASM readiness JSON 采集 | 完成 | `web-xyzbc-trt-evidence.json` 记录 Web profile/INI/staging/WASM readiness |
|
||||
| T-017 | native/Web JSON 对比 | 部分完成 | `compare-xyzbc-trt-evidence.json` 已生成;当前 18/23 通过,剩余 5 项均为 native preview/execution path 样本缺失 |
|
||||
| T-017 | native/Web JSON 对比 | 部分完成 | `compare-xyzbc-trt-evidence.json` 已生成;当前 19/24 通过,剩余 5 项均为 native preview/execution path 样本缺失 |
|
||||
| T-018 | WASM artifact 构建前置 | 完成 | 已生成 core/kinematics/tp/task-hal 所需 `.js/.wasm`,`web-xyzbc-trt-evidence.json.wasm.missing=[]` |
|
||||
| T-019 | native 刀具预览路径 JSON 采集 | 待实现 | `native-xyzbc-trt-evidence.json.previewPath.samples` 使用 20ms 周期记录 LinuxCNC 预览刀路 |
|
||||
| T-020 | native 刀具执行路径 JSON 采集 | 部分完成 | native 脚本已从 `stat()` 执行事件重采样为 20ms `executionPath`;需用新基线重跑生成证据 |
|
||||
@@ -30,13 +30,13 @@
|
||||
| T-026 | AXIS 主界面等效功能 | 待实现 | Web 首屏包含程序、坐标、状态、MDI/switchkins、override、工具和预览/执行区域 |
|
||||
| T-027 | POSTGUI HAL/PyVCP 连接等效 | 完成 | Web evidence JSON 记录 `pyvcp.* -> halui.mdi-command-* -> M428/M429/M430` 和 multilabel 状态 |
|
||||
| T-028 | basic_sim 等效 task/HAL | 待前置 | Web task/HAL runtime 覆盖模拟回零、manual toolchange、spindle、joint feedback |
|
||||
| T-029 | Vismach 3D 模型 pin 对标 | 待实现 | Web 3D 模型由 `table-x/saddle-y/spindle-z/tilt-b/rotate-c/tool-offset/x-offset/z-offset` 驱动 |
|
||||
| T-029 | Vismach 3D 模型 pin 对标 | 完成 | Web 3D 模型由 `table-x/saddle-y/spindle-z/tilt-b/rotate-c/tool-offset/x-offset/z-offset` 驱动;`web-xyzbc-trt-evidence.json.vismachEquivalent` 记录 pin 值、HAL net 和变换 |
|
||||
| T-030 | Ngcgui/remap 子程序全集 | 部分完成 | staging 和 Web evidence 覆盖 `xyzbc_switchkins_sub.ngc`、`centering.ngc`、`helix_bc.ngc`;执行仍待 WASM |
|
||||
| T-031 | 演示程序全集 | 完成 | staging、profile samplePrograms 和 Web evidence 覆盖 `xyzbc_switchkins.ngc` 与 `boat-xyzbc.ngc` |
|
||||
| T-032 | TRAJ/AXIS/JOINT 限制对标 | 部分完成 | Web evidence 覆盖 XYZBC 单位、速度/加速度、B/C 限位、JOG_AXES、GEOMETRY;UI 全量复核仍待浏览器/WASM |
|
||||
| T-033 | kinematics HAL pins 对标 | 完成 | Web/native evidence 脚本记录 `x-offset=-20`、`z-offset=-15`、rot-point、conventional-directions、tool-offset |
|
||||
| T-034 | tool table 到 tool-offset 闭环 | 待实现 | T/P/Z/D 解析影响 kinematics tool-offset、Web 模型刀长和 path JSON |
|
||||
| T-035 | 全量 evidence JSON 字段 | 部分完成 | Web JSON 已包含 `startupSequence`、`iniDisplay`、`halNets`、`kinematicsPins`、`axisJointLimits`、`uiEquivalence`;native 脚本已补字段,需重采集 |
|
||||
| T-034 | tool table 到 tool-offset 闭环 | 完成 | `xyzbc-trt.tbl` T2/P2/Z10/D8 解析后驱动 `toolRuntime.kinematics.toolOffsetZ=10`、Web path tool length/diameter 和 Vismach `tool-offset=10` |
|
||||
| T-035 | 全量 evidence JSON 字段 | 部分完成 | Web JSON 已包含 `startupSequence`、`iniDisplay`、`halNets`、`kinematicsPins`、`axisJointLimits`、`uiEquivalence`、`vismachEquivalent.pinValues/transforms`;native 脚本已补字段,需重采集 |
|
||||
| T-036 | native 基线切换到 `/home/mes123456/cnc_wams/linuxcnc` | 完成 | `scripts/rip-environment`、`bin/axis`、`bin/xyzbc-trt-gui`、`rtlib/xyzbc-trt-kins.so` 已生成,RIP 环境可导入 `linuxcnc` Python 模块 |
|
||||
| T-037 | 基于新 native 基线重采集 JSON | 部分完成 | native 脚本默认基线已切到 `/home/mes123456/cnc_wams/linuxcnc`;需在 RIP 环境下重新运行采集命令 |
|
||||
| T-038 | Web 界面按新 native 运行结果复核 | 待实现 | UI/逻辑与 `/home/mes123456/cnc_wams/linuxcnc` 真实 `xyzbc-trt` 的状态流、按钮、路径、HAL pin 对齐 |
|
||||
|
||||
@@ -1,5 +1,99 @@
|
||||
# 05-验收证据
|
||||
|
||||
## Tool table 到 tool-offset 闭环验收
|
||||
|
||||
### 命令
|
||||
|
||||
```bash
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run build
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:browser
|
||||
```
|
||||
|
||||
### 结果
|
||||
|
||||
```text
|
||||
xyzbc_trt_web_app_smoke=ok
|
||||
web_xyzbc_trt_evidence=.../working/evidence/web-xyzbc-trt-evidence.json
|
||||
compare_xyzbc_trt_status=fail fail_count=5
|
||||
gmoccapy_static_build=ok
|
||||
xyzbc_trt_browser_smoke=ok
|
||||
```
|
||||
|
||||
### JSON 摘要
|
||||
|
||||
```text
|
||||
web.toolRuntime.ready = true
|
||||
web.toolRuntime.activeOffsetApplied = true
|
||||
web.toolRuntime.activeToolNumber = 2
|
||||
web.toolRuntime.activePocket = 2
|
||||
web.toolRuntime.kinematics.toolOffsetZ = 10
|
||||
web.toolRuntime.pathTool.length = 10
|
||||
web.toolRuntime.pathTool.diameter = 8
|
||||
web.toolRuntime.vismach.toolOffset = 10
|
||||
web.toolOffsetClosure.closed = true
|
||||
web.coverage.toolTableToToolOffsetClosed = true
|
||||
web.previewPath.samples[0].tool = { id: 2, pocket: 2, length: 10, diameter: 8 }
|
||||
web.executionPath.samples[0].tool = { id: 2, pocket: 2, length: 10, diameter: 8 }
|
||||
compare.summary.passCount = 19
|
||||
compare.summary.failCount = 5
|
||||
compare.checks["web tool table active offset drives kinematics, path, and Vismach"].status = pass
|
||||
```
|
||||
|
||||
结论:
|
||||
|
||||
- `xyzbc-trt.tbl` 中 `T2 P2 Z10 D8` 已进入 Web tool DB 运行时摘要。
|
||||
- 当前 active tool offset 已同时写入 kinematics `motion.tooloffset.z` 等效值、路径样本 tool 字段和 Vismach `tool-offset` pin。
|
||||
- 默认程序本身无 T/M6/G43,因此 Web evidence 记录 `defaultActivationUsed=true`,用于证明 tool table 偏置链路;带 T/M6/G43 的程序会使用程序扫描命令。
|
||||
- compare 仍保持失败是正确结果:剩余 5 项仍来自 native path evidence 未重采集。
|
||||
|
||||
## Vismach 3D pin 驱动模型验收
|
||||
|
||||
### 命令
|
||||
|
||||
```bash
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run build
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:browser
|
||||
```
|
||||
|
||||
### 结果
|
||||
|
||||
```text
|
||||
xyzbc_trt_web_app_smoke=ok
|
||||
web_xyzbc_trt_evidence=.../working/evidence/web-xyzbc-trt-evidence.json
|
||||
compare_xyzbc_trt_status=fail fail_count=5
|
||||
gmoccapy_static_build=ok
|
||||
xyzbc_trt_browser_smoke=ok
|
||||
```
|
||||
|
||||
### JSON 摘要
|
||||
|
||||
```text
|
||||
web.status = ready-for-wasm-runtime
|
||||
web.blockers = []
|
||||
web.vismachEquivalent.pins = table-x,saddle-y,spindle-z,tilt-b,rotate-c,tool-offset,x-offset,z-offset
|
||||
web.vismachEquivalent.pinValues.table-x = 43
|
||||
web.vismachEquivalent.pinValues.saddle-y = -32.15
|
||||
web.vismachEquivalent.pinValues.spindle-z = -11.306
|
||||
web.vismachEquivalent.pinValues.tool-offset = 84.019
|
||||
web.vismachEquivalent.pinValues.x-offset = -20
|
||||
web.vismachEquivalent.pinValues.z-offset = -15
|
||||
web.vismachEquivalent.halNets.length = 9
|
||||
web.vismachEquivalent.semanticBoundary = web_threejs_vismach_equivalent_driven_by_xyzbc_trt_hal_pins
|
||||
```
|
||||
|
||||
结论:
|
||||
|
||||
- Web 3D 参考模型已由 Vismach 等效 pin 状态驱动。
|
||||
- canvas dataset 已输出 `threeVismachPins`、`threeVismachTransforms`、`threeVismachPinDrivenModel`,后续浏览器 smoke 可直接断言。
|
||||
- `smoke:browser` 已断言默认 `xyzbc-trt`、三类 worker runtime ready、canvas 非空、Vismach pin/transform dataset。
|
||||
- compare 仍保持失败是正确结果:剩余 5 项仍来自 native path evidence 未重采集。
|
||||
|
||||
## evidence 字段与路径对比实现验收
|
||||
|
||||
### 命令
|
||||
@@ -45,6 +139,8 @@ uiEquivalence
|
||||
vismachEquivalent
|
||||
ngcguiSubroutines
|
||||
demoPrograms
|
||||
vismachEquivalent.pinValues
|
||||
vismachEquivalent.transforms
|
||||
```
|
||||
|
||||
当前 compare evidence 已包含:
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
| `.desktop` 启动 `rip-environment linuxcnc xyzbc-trt.ini` | `/home/mes123456/cnc_wams/linuxcnc/linuxcnc-rtcp-5axis-shortcuts/.../xyzbc-trt.desktop` | Web profile 一键进入 `xyzbc-trt`,自动加载同一 INI/staging 文件集 | web JSON 记录 `profile=xyzbc-trt`、`iniPath`、`startupSequence` |
|
||||
| `linuxcncsvr`、`rtapi_app`、`milltask`、`halui` | 当前进程清单 | Web runtime 用 worker/WASM/task-HAL 表示 server/task/halui 边界 | compare 检查 `runtimeComponents` 包含 `interp`、`tp`、`taskHal`、`haluiEquivalent` |
|
||||
| AXIS 主界面进程 | `bin/axis -ini xyzbc-trt.ini` | Web 首屏直接进入 CNC 操作界面,不做营销页 | 浏览器 smoke 检查坐标、程序、switchkins、3D canvas 均可见 |
|
||||
| Vismach 进程 | `loadusr -W xyzbc-trt-gui` | Web 3D 机床模型按 HAL pin 驱动 | evidence 记录 Vismach pin 等效映射 |
|
||||
| Vismach 进程 | `loadusr -W xyzbc-trt-gui` | Web 3D 机床模型按 HAL pin 驱动 | evidence 记录 Vismach pin 值、HAL net 和模型变换 |
|
||||
|
||||
## INI 与显示配置对标
|
||||
|
||||
@@ -45,10 +45,10 @@
|
||||
| `switchkins_postgui.hal` | PyVCP 到 halui MDI 的连接 | Web 需记录 `pyvcp.* -> halui.mdi-command-*` | 待 compare 检查 |
|
||||
| `basic_sim.tcl` | 基础仿真 HAL | Web task/HAL runtime 等效模拟 joint/home/spindle/toolchange | 待 task-HAL 验收 |
|
||||
| `xyzbc-trt_cmds.hal` | 运行后生成 HAL | Web evidence 需记录等效展开 HAL nets | 待实现 |
|
||||
| `xyzbc-trt-gui.py` | Vismach 模型 | Web 3D pin/模型层级对标 | 待模型验收 |
|
||||
| `xyzbc-trt-gui.py` | Vismach 模型 | Web 3D pin/模型层级对标 | 已完成 Web 端模型层级、evidence 和浏览器 smoke 验收 |
|
||||
| `axis.py` | AXIS 主界面行为 | Web 操作面板对标 AXIS 关键行为 | 待 UI 验收 |
|
||||
| `xyzbc-trt-kins.c` | 运动学真源 | WASM kinematics 使用 source-derived artifact | 待构建 artifact |
|
||||
| `xyzbc-trt.tbl` | 工具表 | Web tool DB 读取 T/P/Z/D | 已有 staging,需 UI/tool-offset 验收 |
|
||||
| `xyzbc-trt.tbl` | 工具表 | Web tool DB 读取 T/P/Z/D | Web evidence 已证明 T2/P2/Z10/D8 驱动 kinematics、path tool 和 Vismach tool-offset |
|
||||
| `xyzbc.var` | 参数文件 | OPFS 保存/恢复参数 | 已有 staging,需运行后变更验证 |
|
||||
|
||||
## HAL 与 switchkins 对标
|
||||
@@ -74,8 +74,8 @@
|
||||
| `z-offset = -15` | HALCMD sets | Web kinematics pin 默认值一致 |
|
||||
| `x/y/z-rot-point = 0` | HALCMD setp | Web kinematics pin 默认值一致 |
|
||||
| `conventional-directions = 0` | HALCMD setp | Web kinematics pin 默认值一致 |
|
||||
| `table-x/saddle-y/spindle-z/tilt-b/rotate-c` | Vismach pins | Web 模型层级按这些反馈驱动 |
|
||||
| `tool-offset/x-offset/z-offset` | Vismach/kines pins | Web 刀具和模型偏置一致 |
|
||||
| `table-x/saddle-y/spindle-z/tilt-b/rotate-c` | Vismach pins | Web 模型层级按这些反馈驱动;`vismachEquivalent.pinValues/transforms` 可验收 |
|
||||
| `tool-offset/x-offset/z-offset` | Vismach/kines pins | Web 刀具和模型偏置一致;T-034 已完成 Web tool table active offset 闭环,native 仍待重采集对比 |
|
||||
|
||||
## G-code、remap 与子程序对标
|
||||
|
||||
@@ -112,6 +112,6 @@ native evidence、Web evidence、compare evidence 必须覆盖:
|
||||
1. WASM artifact 尚未构建,`wasm-port/build/wasm` 缺少 kinematics/core/tp/task-hal `.js/.wasm`。
|
||||
2. Web evidence 还未记录完整 `startupSequence`、`halNets`、`kinematicsPins`、`axisJointLimits`。
|
||||
3. Web UI 还需按 AXIS 等效面板补齐 jog、override、tool editor、Ngcgui 子程序入口。
|
||||
4. Vismach 等效模型还需按 `xyzbc-trt-gui.py` 的 pin 和模型层级做验收。
|
||||
4. Vismach 等效模型已按 `xyzbc-trt-gui.py` 的 pin 和模型层级完成 Web 端验收;`smoke:browser` 已覆盖 canvas 非空和 dataset,后续可补截图归档。
|
||||
5. 刀具预览路径和执行路径 JSON 采集尚未实现。
|
||||
6. `boat-xyzbc.ngc` 和 Ngcgui 子程序的 Web 可执行验收尚未完成。
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"apiName": "xyzbc-trt-native-web-evidence-comparison",
|
||||
"status": "fail",
|
||||
"comparedAt": "2026-07-02T12:48:11.244Z",
|
||||
"comparedAt": "2026-07-02T13:36:36.368Z",
|
||||
"nativePath": "/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/native-xyzbc-trt-evidence.json",
|
||||
"webPath": "/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/web-xyzbc-trt-evidence.json",
|
||||
"summary": {
|
||||
"checkCount": 23,
|
||||
"passCount": 18,
|
||||
"checkCount": 24,
|
||||
"passCount": 19,
|
||||
"failCount": 5,
|
||||
"blockers": [],
|
||||
"nativeStatus": "ok",
|
||||
@@ -107,6 +107,61 @@
|
||||
"toolTable": "xyzbc-trt.tbl"
|
||||
}
|
||||
},
|
||||
{
|
||||
"category": "tool-table",
|
||||
"requirement": "web tool table active offset drives kinematics, path, and Vismach",
|
||||
"status": "pass",
|
||||
"evidence": {
|
||||
"toolRuntime": {
|
||||
"activeToolNumber": 2,
|
||||
"activePocket": 2,
|
||||
"kinematicsToolOffsetZ": 10,
|
||||
"pathTool": {
|
||||
"id": 2,
|
||||
"pocket": 2,
|
||||
"length": 10,
|
||||
"diameter": 8
|
||||
},
|
||||
"vismachToolOffset": 10,
|
||||
"defaultActivationUsed": true
|
||||
},
|
||||
"toolOffsetClosure": {
|
||||
"sourceToolTable": "configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.tbl",
|
||||
"selectedProgramSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc",
|
||||
"programToolCommands": [],
|
||||
"activeToolOffset": {
|
||||
"idx": 2,
|
||||
"toolNumber": 2,
|
||||
"pocket": 2,
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 10,
|
||||
"a": 0,
|
||||
"b": 0,
|
||||
"c": 0,
|
||||
"u": 0,
|
||||
"v": 0,
|
||||
"w": 0
|
||||
},
|
||||
"diameter": 8,
|
||||
"frontAngle": 0,
|
||||
"backAngle": 0,
|
||||
"orientation": 0
|
||||
},
|
||||
"kinematicsToolOffsetZ": 10,
|
||||
"pathTool": {
|
||||
"id": 2,
|
||||
"pocket": 2,
|
||||
"length": 10,
|
||||
"diameter": 8
|
||||
},
|
||||
"vismachToolOffset": 10,
|
||||
"closed": true,
|
||||
"semanticBoundary": "tool_table_current_t_p_z_d_drives_kinematics_path_and_vismach"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"category": "pyvcp",
|
||||
"requirement": "web PyVCP XML staged",
|
||||
@@ -317,6 +372,8 @@
|
||||
"zRotPoint": 0,
|
||||
"conventionalDirections": 0,
|
||||
"toolOffsetSource": "motion.tooloffset.z",
|
||||
"toolOffsetValue": 10,
|
||||
"toolOffsetToolNumber": 2,
|
||||
"pins": [
|
||||
"motion.switchkins-type",
|
||||
"motion.analog-out-03",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user