2.0 KiB
2.0 KiB
决策记录
D01 / 继续使用 LinuxCNC WASM 作为运动权威
部件编辑器只生成模型结构和标定参数。程序执行、Jog、刀长、运动学类型和关节位置仍来自 Worker/WASM 快照。Three.js 不实现第二套 RTCP 或逆运动学。
D02 / 运行结构保持 linuxcnc.machine/1
现有严格 URDF 校验、配置写入和运行投影已经验收。部件管理器输出同一结构,可复用所有运行能力并避免引入并行格式。编辑草稿使用独立 schema,只有验证成功后才转换成运行结构。
D03 / 编辑层级自由,应用层级受求解器限制
UI 允许用户选择父级以建立层级和发现错误;应用时只接受底座→X→Y→Z→刀具及底座→A/B→C→工件。当前 WASM 只支持这两类 TRT,不能把任意树伪装成可执行机床。
D04 / 原 GLB 不原地改写
导入部件的源字节和场景保持不变。局部原点和平移/旋转存在装配配置中,应用时创建深复制运行场景。标定数据写入运行装配中底座节点及整机场景的 userData;“导出组合 GLB”将该装配序列化为新的自包含 GLB,原部件文件不被覆盖。
D05 / C 原点与 A/B 偏置的唯一映射
沿用 trtfuncs.c 和既有参数契约:C 原点 P 对应 rot-point,A/B 偏置 D 对应 offset;URDF 使用 T=P+D、U=-D、work=-P。该公式是控制模型坐标对应的唯一来源。
D06 / 物理零点是模型校准,不改控制器关节值
物理零点保存为每轴的模型零姿态标定值。渲染位移/转角使用 WASM joint - physicalZero,但不修改 Worker、INI 的回零位置或程序坐标。改变真实回零参数仍应通过机床配置完成。
D07 / 组合 GLB 只通过显式导出生成
普通编辑和“应用到 Web LinuxCNC”不触碰用户原文件。只有用户点击“导出组合 GLB”时才用 GLTFExporter 生成新文件。导出包含部件层级、URDF、底座标定 userData 和整机场景标定 userData。