# FreeCAD 后续工作 ## 1. 文档定位 本文是后续工作的人工入口,不维护会随任务推进变化的统计数字。执行时以下列机器产物为准: 1. `config/freecad-active-work-queue.json` - 全部微任务、依赖、状态、退出条件和唯一 `nextTask` 的机器真值。 2. `docs/freecad-active-work-status.generated.zh-CN.md` - 当前完成数、剩余数、里程碑状态和唯一活动任务的生成摘要。 3. `docs/freecad-follow-up-execution-plan.zh-CN.md` - 后续里程碑顺序、A-I 九阶段完成定义和单轮执行协议。 4. `config/freecad-follow-up-task-progress.json` - A-I 后续任务的完成证据账本;完成项必须形成连续前缀。 5. `config/freecad-ordered-operation-pair-classification.json` - 19x19 有序操作对的原生接受/拒绝、builder、变异、诊断和 FCStd 证据。 禁止在本文复制实时完成数或手工指定下一任务。需要查看状态时运行: ```bash node -e "const q=require('./config/freecad-active-work-queue.json'); console.log(q.nextTask, q.summary)" ``` ## 2. 当前执行原则 - 基线固定为 FreeCAD 1.1.1 和仓库已锁定的原生提交。 - 任意时刻只能有一个 `in_progress` 任务。 - 每轮只处理 `config/freecad-active-work-queue.json` 中的 `nextTask`。 - 前一里程碑未闭合时,后一里程碑保持 `pending`。 - 原生拒绝是有效分类,不得为了 Web 侧接受而伪造通用 Shape 或隐藏 fallback。 - 原生接受必须使用真实 builder,并具备参数变异、恢复、history、naming 和 FCStd 往返证据。 - 失败路径必须锁定失败阶段、精确诊断、空/无效 Shape 状态、事务回滚和文档无污染。 - 动态状态只能由 `scripts/generate-freecad-active-work-queue.mjs` 生成。 ## 3. 后续里程碑顺序 1. 完成 `TSN-ORDERED-PAIRS` 的全部 19x19 操作对。 2. 为所有 opaque Property 类型补齐原生 codec 与往返证据。 3. 闭合 Document observer、事务、DAG、重算失败恢复、Extension、FeaturePython 和多文档语义。 4. 逐个闭合核心建模操作的 A-I 九阶段证据。 5. 闭合 FCStd、STEP、IGES、BREP 和其他格式的双向往返。 6. 完成 GUI、文档工作台、工程工作台、分析制造、脚本与代理边界。 7. 完成跨浏览器、跨 OS/GPU、无障碍、locale、fuzz、长稳、签名发布和 exact promotion。 详细拆分和依赖关系只在机器队列与执行计划中维护。 ## 4. 单轮执行流程 1. 读取唯一 `nextTask`,确认依赖、输入 artifact 和退出条件。 2. 只修改该任务所需的 oracle、实现、检查器和锁定报告。 3. 先运行真实 FreeCAD/OCCT/Chrome probe,再运行只读 focused check。 4. 验证 Shape、Worker、OPFS、事务和文档对象集回到预期状态。 5. 运行相关 Facade、FCStd、TSN 和 execution-plan 门禁。 6. 所有退出条件通过后,重新生成 active-work queue 与状态页。 7. 确认队列恰好推进一个任务,没有跳号或第二个活动任务。 8. 运行 `git diff --check`、JSON/脚本校验和与风险相称的回归。 9. 发布点运行完整 `./npmw run verify`,再提交并推送。 常用命令: ```bash ./npmw run probe:freecad-ordered-operation-pairs ./npmw run check:freecad-ordered-operation-pairs ./npmw run generate:freecad-active-work-queue ./npmw run check:execution-plan git diff --check ``` ## 5. A-I 完成定义 | 阶段 | 交付物 | 最低退出条件 | | --- | --- | --- | | A | 原生清册与前置 | TypeId、输入、默认值、依赖和适用性机器可读 | | B | 原生成功证据 | 名义值和边界值的 Shape、拓扑、状态与诊断齐全 | | C | 原生失败/取消证据 | 无效输入、禁用、取消和文档无污染可复现 | | D | 参数变异/恢复 | 编辑、重算和恢复返回已分类的原生状态 | | E | Facade 实现 | 生产路径无隐藏 fallback,UI 不直连内核 | | F | 事务恢复 | abort、undo、redo、stale、失败和资源所有权闭合 | | G | FCStd 往返 | FreeCAD-Web-FreeCAD 没有未知语义漂移 | | H | 真实浏览器 | Chrome Worker、OPFS、UI 状态和资源释放通过 | | I | 能力提升 | A-H 全过,focused gate 与 exact blocker 同步 | 缺少任一阶段时,能力最多保持 `compatible` 或既有的显式 `proxy` 等级。 ## 6. 最近完成证据 ### `TSN-PAIR-cut-thickness` `cut->thickness` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,以贯穿半体工具生成体积 `500` 的有效单 Solid 和 98 条原生 history。 - 下游使用真实 `BRepOffsetAPI_MakeThickSolid` builder,对锁定的原生 Face 执行厚壳。 - 原凹腔 Cut 的非平凡厚壳轨迹存在原生 history 内容漂移,未被误记为恢复;任务改用仍由真实 Cut 产生的稳定单 Solid。 - `-0.4 -> -0.6 -> -0.4` offset 轨迹改变体积与面积,并精确恢复名义摘要、原始 history 哈希和语义 naming。 - 名义结果为有效 1 Solid,体积 `129.056`,包含 38 条原生 history 记录。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-cut-draft` `cut->draft` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - 下游使用真实 `BRepOffsetAPI_DraftAngle` builder,对锁定的原生 Face、中性面和拉伸方向执行拔模。 - `5 -> 8 -> 5` 角度轨迹改变体积与面积,并精确恢复名义摘要和语义 naming。 - 名义结果为有效 1 Solid,体积 `892.2556682`,包含 5 条原生 history 记录。 - 下游获得唯一 `native-evidence` naming,且上游 Cut 证据在恢复态保持一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-cut-hole` `cut->hole` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` builder,对 Cut 结果执行中心贯穿孔。 - `1 -> 1.5 -> 1` 半径轨迹改变体积、拓扑和 history,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,体积 `904.5840735`,包含 34 条原生 history 记录。 - 上游 Cut naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-cut-chamfer` `cut->chamfer` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - 下游使用真实 `BRepFilletAPI_MakeChamfer` builder,对 Cut 结果执行全边倒角。 - `0.4 -> 0.6 -> 0.4` 距离轨迹改变体积与面积,并精确恢复名义摘要和语义 naming。 - 名义结果为有效 1 Solid,体积 `926.8266667`,包含 298 条原生 history 记录。 - 上游 Cut naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-cut-fillet` `cut->fillet` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - 下游使用真实 `BRepFilletAPI_MakeFillet` builder,对 Cut 结果执行全边圆角。 - `0.4 -> 0.6 -> 0.4` 半径轨迹改变体积与面积,并精确恢复名义摘要和语义 naming。 - 名义结果为有效 1 Solid,体积 `931.9696595`,包含 298 条原生 history 记录。 - 上游 Cut naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-cut-groove` `cut->groove` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - 下游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 Cut 结果执行旋转减料。 - `360 -> 180 -> 360` 角度轨迹改变拓扑和 history,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,体积 `931.287611`,包含 18 条原生 history 记录。 - 上游 Cut naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-cut-revolution` `cut->revolution` 已完成原生拒绝分类: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - OCCT `BRepPrimAPI_MakeRevol` 在 `360 -> 270 -> 360` 角度轨迹中稳定拒绝 Cut Solid 输入,且不产生结果 Shape 或 history。 - FreeCAD `Part::Revolution` 使用同一 Cut Solid 作为 Source,返回 `Solids are not Processed`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 - transaction abort 后对象集与 Cut 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定两阶段 builder、异常传输、精确诊断、回滚和持久化证据。 ### `TSN-PAIR-cut-pipe` `cut->pipe` 已完成原生拒绝分类: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - OCCT `BRepOffsetAPI_MakePipe` 在 `15 -> 12 -> 15` spine 长度轨迹中只生成无效 Shape,该结果仅记为 kernel-invalid-result 诊断。 - FreeCAD `Part::Sweep` 对 Cut Solid section 返回 `A fatal error occurred when making the sweep`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 - transaction abort 后对象集与 Cut 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 无效结果、精确失败信息、回滚和持久化证据。 ### `TSN-PAIR-cut-loft` `cut->loft` 已完成原生拒绝分类: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - OCCT `BRepOffsetAPI_ThruSections` 在 `false -> true -> false` ruled 轨迹中生成有效 Shape,但该结果仅记为 kernel-superset 诊断。 - FreeCAD `Part::Loft` 对 Cut Solid section 返回 `Profile shape is not a single vertex, edge, wire nor face.`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 - transaction abort 后对象集与 Cut 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 诊断、精确失败信息、回滚和持久化证据。 ### `TSN-PAIR-cut-pocket` `cut->pocket` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - 下游使用真实 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,对 Cut 结果执行减料拉伸。 - `5 -> 4 -> 5` 深度轨迹改变体积、拓扑和 history,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,体积 `906`,包含 70 条原生 history 记录。 - 上游 Cut naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-cut-pad` `cut->pad` 已完成原生拒绝分类: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - OCCT `BRepPrimAPI_MakePrism` 在 `5 -> 7.5 -> 5` 长度轨迹中稳定拒绝 Cut Solid 输入,且不产生结果 Shape 或 history。 - FreeCAD `PartDesign::Pad` 使用同一 Cut Solid 作为 Profile,返回 `FeatureExtrusion: Length: Could not extrude the sketch!`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 - transaction abort 后对象集与 Cut 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定两阶段 builder、异常传输、精确诊断、回滚和持久化证据。 ### `TSN-PAIR-cut-common` `cut->common` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - 下游使用真实 `BRepAlgoAPI_Common` 双输入 builder,对 Cut 结果执行布尔交集。 - `4 -> 5 -> 4` 工具 X 偏移轨迹改变体积、拓扑和 history,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,体积 `93`,包含 148 条原生 history 记录。 - 上游 Cut naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-cut-cut` `cut->cut` 已完成原生接受分类: - 第一、第二阶段均使用真实 `BRepAlgoAPI_Cut` 双输入 builder。 - 上游 Cut 结果为有效 1 Solid,体积 `936`,包含 22 条原生 history 记录。 - `3 -> 4 -> 3` 工具尺寸轨迹改变体积、拓扑和 history,并精确恢复名义摘要与语义 naming。 - 名义下游结果为有效 1 Solid,体积 `909`,包含 42 条原生 history 记录。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 锁定两阶段 builder、变异和恢复,偏移后摘要不变的弱轨迹未被采用。 ### `TSN-PAIR-cut-fuse` `cut->fuse` 已完成原生接受分类,并验证分类器可跨起始操作保持连续前缀: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - 下游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,对 Cut 结果执行布尔并集。 - `8 -> 9 -> 8` 工具 X 偏移轨迹改变几何,并精确恢复名义摘要、history 和语义 naming。 - 名义结果为有效 1 Solid,体积 `1011`,包含 52 条原生 history 记录。 - 上游 Cut naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 同时锁定第一、第二 builder,防止跨行后仍误报 Fuse 起点。 ### `TSN-PAIR-fuse-multi-transform` `fuse->multi-transform` 已完成原生接受分类,并闭合 Fuse 起始行的全部 19 个有序操作对: - 上游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,并生成有效单 Solid。 - 下游使用 ordered `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,组合平移和镜像两步生成 4 个可追踪实例。 - `8 -> 9 -> 8` 首步 X 平移轨迹改变几何、拓扑和 history,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,体积 `2750`,包含 769 条原生 history 记录。 - 上游 Fuse naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定 builder、输入数、变异、恢复、history、naming 和持久化证据。 - 机器队列已从 Fuse 行末严格推进到下一行首项,没有跳号或第二个活动任务。 ### `TSN-PAIR-fuse-mirrored` `fuse->mirrored` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,并生成有效单 Solid。 - 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder 生成内部平面镜像副本。 - `5 -> 6 -> 5` 镜像平面 X 原点轨迹改变几何、拓扑和 history,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,体积 `1150`,包含 224 条原生 history 记录。 - 上游 Fuse naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-fuse-polar-pattern` `fuse->polar-pattern` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,并生成有效单 Solid。 - 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder 生成绕 Z 轴的旋转副本阵列。 - `30 -> 45 -> 30` 角度轨迹改变几何、拓扑和 history,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,体积 `1510.7700496`,包含 178 条原生 history 记录。 - 上游 Fuse naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-fuse-linear-pattern` `fuse->linear-pattern` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,并生成有效单 Solid。 - 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder 生成重叠平移副本阵列。 - `8 -> 9 -> 8` X 平移轨迹改变几何、拓扑和 history,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,体积 `1875`,包含 141 条原生 history 记录。 - 完全分离时的 0-history 结果未被误记为接受;focused gate 强制原生 source history 非空。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-fuse-thickness` `fuse->thickness` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Fuse` 同形双输入 builder,生成有效 6 面单 Solid 和 156 条原生 history。 - 下游使用真实 `BRepOffsetAPI_MakeThickSolid` builder,对锁定的原生 Face 执行厚壳。 - `-0.4 -> -0.6 -> -0.4` offset 轨迹改变几何,并精确恢复名义摘要、history 和语义 naming。 - 名义结果为有效 1 Solid,体积 `187.456`,包含 38 条原生 history 记录。 - 原始部分重叠 Fuse 的 no-op 结果未被误记为接受;focused gate 强制变异必须改变 Shape 摘要。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-fuse-draft` `fuse->draft` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,并生成有效单 Solid。 - 下游使用真实 `BRepOffsetAPI_DraftAngle` builder,对锁定的原生 Face、中性面和拉伸方向执行拔模。 - `5 -> 8 -> 5` 角度轨迹改变几何,并精确恢复名义摘要、history 和语义 naming。 - 名义结果为有效 1 Solid,体积 `1031.2556682`,包含 5 条原生 history 记录。 - 下游获得唯一 `native-evidence` naming,且上游 Fuse 证据在恢复态保持一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-fuse-hole` `fuse->hole` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,并生成有效单 Solid。 - 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` builder 执行中心贯穿孔。 - `1 -> 1.5 -> 1` 半径轨迹改变几何,并精确恢复名义摘要、history 和语义 naming。 - 名义结果为有效 1 Solid,体积 `1043.5840735`,包含 23 条原生 history 记录。 - 下游获得唯一 `native-evidence` naming,且上游 Fuse 证据在恢复态保持一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-fuse-chamfer` `fuse->chamfer` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,并生成有效单 Solid。 - 下游使用真实 `BRepFilletAPI_MakeChamfer` builder 对 Fuse 结果执行全边倒角。 - `0.4 -> 0.6 -> 0.4` 距离轨迹改变几何,并精确恢复名义摘要、history 和语义 naming。 - 名义结果为有效 1 Solid,体积 `1489.1413333`,包含 270 条原生 history 记录。 - 上游 Fuse naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-fuse-fillet` `fuse->fillet` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,并生成有效单 Solid。 - 下游使用真实 `BRepFilletAPI_MakeFillet` builder 对 Fuse 结果执行全边圆角。 - `0.4 -> 0.6 -> 0.4` 半径轨迹改变几何,并精确恢复名义摘要、history 和语义 naming。 - 名义结果为有效 1 Solid,体积 `1495.2786299`,包含 270 条原生 history 记录。 - 上游 Fuse naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-fuse-groove` `fuse->groove` 已完成原生接受分类: - 生产路径使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder。 - `360 -> 180 -> 360` 角度轨迹改变几何与 history,并精确恢复名义摘要和语义 naming。 - 名义结果为有效 1 Solid,体积 `1070.287611`,包含 18 条原生 history 记录。 - 上游 Fuse naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-fuse-revolution` `TSN-PAIR-fuse-revolution` 已完成原生分类: - OCCT `BRepPrimAPI_MakeRevol` 在 `360 -> 270 -> 360` 参数轨迹中稳定拒绝 Fuse Solid 输入。 - FreeCAD `Part::Revolution` 返回 `Solids are not Processed`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`。 - transaction abort 后对象集与源 Shape 完整恢复。 - 干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定 builder、异常传输、诊断和回滚证据。 ### `TSN-PAIR-cut-linear-pattern` `cut->linear-pattern` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder 生成重叠平移副本阵列。 - `8 -> 9 -> 8` X 平移轨迹改变几何、拓扑和 history,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,体积 `1672`,包含 89 条原生 history 记录。 - 上游 Cut naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据,机器队列严格推进一项。 ### `TSN-PAIR-cut-polar-pattern` `cut->polar-pattern` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder 生成绕 Z 轴的旋转副本阵列。 - `30 -> 45 -> 30` 角度轨迹改变几何、拓扑和 history,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,体积 `1361.9420727`,包含 160 条原生 history 记录。 - 上游 Cut naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据,机器队列严格推进一项。 ### `TSN-PAIR-cut-mirrored` `cut->mirrored` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder 生成内部平面镜像副本。 - `5 -> 6 -> 5` 镜像平面 X 原点轨迹改变几何、拓扑和 history,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,体积 `968`,包含 230 条原生 history 记录。 - 上游 Cut naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据,机器队列严格推进一项。 ### `TSN-PAIR-cut-multi-transform` `cut->multi-transform` 已完成原生接受分类,并闭合 Cut 起始行的全部 19 个有序操作对: - 上游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,生成有效单 Solid 和 22 条原生 history。 - 下游使用 ordered `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,组合平移和镜像两步生成 4 个可追踪实例。 - `8 -> 9 -> 8` 首步 X 平移轨迹改变几何、拓扑和 history,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,体积 `2440`,包含 670 条原生 history 记录。 - 上游 Cut naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据,机器队列已从 Cut 行末严格推进到 Common 行首项。 ### `TSN-PAIR-common-fuse` `common->fuse` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,以体积交叠生成有效 1 Solid,体积 `125`,并包含 94 条原生 history。 - 下游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,重叠合并 Common 结果与工具体。 - `8 -> 7 -> 8` 工具 X 偏移轨迹改变体积与边界,并精确恢复名义摘要、history 与语义 naming。 - 名义下游结果为有效 1 Solid,体积 `225`,包含 66 条原生 history 记录。 - 上游 Common naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定 Common 上游构造、两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-common-cut` `common->cut` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - 下游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,对 Common 结果执行布尔减料。 - `4 -> 3 -> 4` 工具尺寸轨迹改变体积与 history,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,体积 `93`,包含 64 条原生 history 记录。 - 上游 Common naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-common-common` `common->common` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - 下游再次使用真实 `BRepAlgoAPI_Common` 双输入 builder,两个锁定工具位置都与上游 Solid 存在体积交叠。 - `7 -> 6 -> 7` 工具 X 偏移轨迹使体积从 `32` 变为 `48`,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 121 条原生 history 记录。 - 上游 Common naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-common-rotate` `common->rotate` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - 下游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,对 Common 结果执行绕 Z 轴旋转。 - `15 -> 22.5 -> 15` 角度轨迹在保持体积 `125` 的同时改变包围盒,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,包含 78 条原生 history 记录。 - 上游 Common naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-common-pad` `common->pad` 已完成原生拒绝分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - OCCT `BRepPrimAPI_MakePrism` 在 `5 -> 7.5 -> 5` 长度轨迹中稳定拒绝 Common Solid 输入,且不产生结果 Shape 或 history。 - FreeCAD `PartDesign::Pad` 使用同一 Common Solid 作为 Profile,返回 `FeatureExtrusion: Length: Could not extrude the sketch!`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 - transaction abort 后对象集与 Common 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定两阶段 builder、异常传输、精确诊断、回滚和持久化证据。 ### `TSN-PAIR-common-pocket` `common->pocket` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,在原点处生成体积 `125` 的有效单 Solid 和 105 条原生 history。 - 下游使用真实 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,对 Common 结果执行减料拉伸。 - `5 -> 4 -> 5` 深度轨迹改变体积、拓扑和 history,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,体积 `95`,包含 64 条原生 history 记录。 - 上游 Common naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定上游实体交叠、两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-common-loft` `common->loft` 已完成原生拒绝分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - OCCT `BRepOffsetAPI_ThruSections` 在 `false -> true -> false` ruled 轨迹中生成有效 Shape,但该结果仅记为 kernel-superset 诊断。 - FreeCAD `Part::Loft` 对 Common Solid section 返回 `Profile shape is not a single vertex, edge, wire nor face.`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 - transaction abort 后对象集与 Common 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 诊断、精确失败信息、回滚和持久化证据。 ### `TSN-PAIR-common-pipe` `common->pipe` 已完成原生拒绝分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - OCCT `BRepOffsetAPI_MakePipe` 在 `15 -> 12 -> 15` spine 长度轨迹中只生成无效 Shape,该结果仅记为 kernel-invalid-result 诊断。 - FreeCAD `Part::Sweep` 对 Common Solid section 返回 `A fatal error occurred when making the sweep`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 - transaction abort 后对象集与 Common 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 无效结果、精确失败信息、回滚和持久化证据。 ### `TSN-PAIR-common-revolution` `common->revolution` 已完成原生拒绝分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - OCCT `BRepPrimAPI_MakeRevol` 在 `360 -> 270 -> 360` 角度轨迹中稳定拒绝 Common Solid 输入,且不产生结果 Shape 或 history。 - FreeCAD `Part::Revolution` 使用同一 Common Solid 作为 Source,返回 `Solids are not Processed`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 - transaction abort 后对象集与 Common 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定两阶段 builder、异常传输、精确诊断、回滚和持久化证据。 ### `TSN-PAIR-common-groove` `common->groove` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,在原点处生成体积 `125` 的有效单 Solid 和 105 条原生 history。 - 下游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 Common 结果执行旋转减料。 - `360 -> 180 -> 360` 角度轨迹改变拓扑与 history,并精确恢复名义摘要与语义 naming。 - 名义结果为有效 1 Solid,体积 `120.287611`,包含 28 条原生 history 记录。 - 上游 Common naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定上游实体交叠、两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-common-fillet` `common->fillet` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - 下游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 Common 结果执行全边圆角。 - `0.4 -> 0.6 -> 0.4` 半径轨迹改变体积与面积,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,体积 `123.0255334`,包含 150 条原生 history 记录。 - 上游 Common naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-common-chamfer` `common->chamfer` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - 下游使用真实 `BRepFilletAPI_MakeChamfer` 单输入 builder,对 Common 结果执行全边倒角。 - `0.4 -> 0.6 -> 0.4` 距离轨迹改变体积与面积,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,体积 `120.5413333`,包含 150 条原生 history 记录。 - 上游 Common naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-common-hole` `common->hole` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` builder,对 Common 结果执行边界角贯穿孔。 - `1 -> 1.5 -> 1` 半径轨迹改变体积与面积,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,体积 `117.1460184`,包含 30 条原生 history 记录。 - 上游 Common naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-common-draft` `common->draft` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - 下游使用真实 `BRepOffsetAPI_DraftAngle` 单输入 builder,对 Common 结果的锁定原生 Face 执行拔模。 - `5 -> 8 -> 5` 角度轨迹改变体积与面积,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,体积 `119.5319585`,包含 5 条原生 history 记录。 - 上游 Common naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-common-thickness` `common->thickness` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - 下游使用真实 `BRepOffsetAPI_MakeThickSolid` 单输入 builder,对 Common 结果的锁定原生 Face 执行厚壳。 - `-0.4 -> -0.6 -> -0.4` offset 轨迹改变体积与面积,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,体积 `43.856`,包含 38 条原生 history 记录。 - 上游 Common naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-common-linear-pattern` `common->linear-pattern` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,将 Common 结果平移复制并融合为一个可追踪 Solid。 - 原 `8` 单位平移会产生两个分离 Solid 且无可用 history,未被误记为接受;改用保持实体交叠的 `4 -> 3 -> 4` 轨迹。 - 专用平移轨迹使体积在 `225 -> 200 -> 225` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 66 条原生 history 记录。 - 上游 Common naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定专用变异轨迹、两阶段 builder、输入数、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-common-polar-pattern` `common->polar-pattern` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,将 Common 结果绕锁定原生轴旋转复制并融合。 - `30 -> 45 -> 30` 角度轨迹改变体积、拓扑与边界,体积在 `220.0961894 -> 247.5 -> 220.0961894` 间变化,并精确恢复原生摘要与语义 naming。 - 名义结果为有效 1 Solid,包含 48 条原生 history 记录。 - 上游 Common naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-common-mirrored` `common->mirrored` 已完成原生接受分类: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,将 Common 结果绕锁定平面镜像复制并融合。 - `5 -> 6 -> 5` 镜像面 X 原点轨迹改变体积与边界,体积在 `200 -> 150 -> 200` 间变化,并精确恢复原生摘要与语义 naming。 - 名义结果为有效 1 Solid,包含 66 条原生 history 记录。 - 上游 Common naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-common-multi-transform` `common->multi-transform` 已完成原生接受分类,并闭合 Common 起始行的全部 19 个有序操作对: - 上游使用真实 `BRepAlgoAPI_Common` 双输入 builder,生成体积 `125` 的有效单 Solid 和 94 条原生 history。 - 下游使用 ordered `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,组合平移和镜像两步并保留每个实例的原生追踪关系。 - 默认 `8` 单位首步平移会形成 3 个分离 Solid,未被误用;改用保持全部实例连通的 `4 -> 3 -> 4` 专用轨迹。 - 首步 X 平移轨迹使体积在 `400 -> 350 -> 400` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,名义与恢复态均包含 367 条原生 history 记录。 - 上游 Common naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定 ordered builder、专用变异轨迹、输入数、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-rotate-fuse` `rotate->fuse` 已完成原生接受分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - 下游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,对 Rotate 结果执行布尔并集。 - 默认工具 X 偏移 `12` 会产生两个分离 Solid 且 history 为空,未被误记为接受;改用保持实体交叠的 `8 -> 7 -> 8` 专用轨迹。 - 工具偏移轨迹使体积在 `1107.0432067 -> 1092.0913015 -> 1107.0432067` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 39 条原生 history 记录。 - 上游 Rotate naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定跨行首阶段 builder、专用变异轨迹、输入数、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-rotate-cut` `rotate->cut` 已完成原生接受分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - 下游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,对 Rotate 结果执行布尔减料。 - `4 -> 3 -> 4` 工具尺寸轨迹改变体积与面积,体积在 `953.1487483 -> 981.4403996 -> 953.1487483` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 53 条原生 history 记录。 - 上游 Rotate naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定跨行首阶段 builder、输入数、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-rotate-common` `rotate->common` 已完成原生接受分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - 下游使用真实 `BRepAlgoAPI_Common` 双输入 builder,对 Rotate 结果执行布尔交集。 - 默认工具 X 偏移 `10` 与旋转实体无交叠并被原生 builder 拒绝,未被误记为接受;改用 `7 -> 6 -> 7` 专用轨迹。 - 工具偏移轨迹使交集体积在 `32.9086985 -> 49.2003498 -> 32.9086985` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 136 条原生 history 记录。 - 上游 Rotate naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定跨行首阶段 builder、专用变异轨迹、输入数、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-rotate-rotate` `rotate->rotate` 已完成原生接受分类: - 上下游均使用真实 `BRepBuilderAPI_Transform` 单输入 builder,两阶段均生成有效单 Solid 和 78 条原生 history。 - `15 -> 22.5 -> 15` 角度轨迹保持体积 `1000` 和拓扑不变,但明确改变世界空间边界,未因体积不变而误判为无变异。 - 恢复态精确返回名义摘要、原生 history 与语义 naming。 - 上游 Rotate naming 证据向下游传播,下游获得完整原生证据。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定两阶段 builder、边界变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-rotate-pad` `rotate->pad` 已完成原生拒绝分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - OCCT `BRepPrimAPI_MakePrism` 在 `5 -> 7.5 -> 5` 长度轨迹中稳定拒绝 Rotate Solid 输入,且不产生结果 Shape 或 history。 - FreeCAD `PartDesign::Pad` 使用同一 Rotate Solid 作为 Profile,返回 `FeatureExtrusion: Length: Could not extrude the sketch!`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 - transaction abort 后对象集与 Rotate 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定跨行首阶段 builder、异常传输、精确诊断、回滚和持久化证据。 ### `TSN-PAIR-rotate-pocket` `rotate->pocket` 已完成原生接受分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - 下游使用真实 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,对 Rotate 结果执行减料拉伸。 - `5 -> 4 -> 5` 深度轨迹改变体积与面积,体积在 `972.6794919 -> 978.1435935 -> 972.6794919` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 56 条原生 history 记录。 - 上游 Rotate naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定跨行首阶段 builder、两输入减料、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-rotate-loft` `rotate->loft` 已完成原生拒绝分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - OCCT `BRepOffsetAPI_ThruSections` 在 `false -> true -> false` ruled 轨迹中生成有效 Shape 和 24 条 history,但该结果仅记为 kernel-superset 诊断。 - FreeCAD `Part::Loft` 对 Rotate Solid section 返回 `Profile shape is not a single vertex, edge, wire nor face.`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 - transaction abort 后对象集与 Rotate 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 超集诊断、精确失败信息、回滚和持久化证据。 ### `TSN-PAIR-rotate-pipe` `rotate->pipe` 已完成原生拒绝分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - OCCT `BRepOffsetAPI_MakePipe` 在 `15 -> 12 -> 15` spine 长度轨迹中生成体积 `1500 -> 1200 -> 1500` 的有效单 Solid 和 28 条 history,但该结果仅记为 kernel-superset 诊断。 - FreeCAD `Part::Sweep` 对 Rotate Solid section 返回 `A fatal error occurred when making the sweep`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 - transaction abort 后对象集与 Rotate 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 超集诊断、精确失败信息、回滚和持久化证据。 ### `TSN-PAIR-rotate-revolution` `rotate->revolution` 已完成原生拒绝分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - OCCT `BRepPrimAPI_MakeRevol` 在 `360 -> 270 -> 360` 角度轨迹中稳定拒绝 Rotate Solid 输入,三次均在 builder 阶段传输原生 C++ 异常,且不产生结果 Shape 或 history。 - FreeCAD `Part::Revolution` 使用同一 Rotate Solid 作为 Source,返回该操作对专有诊断 `BRep_API: command not done`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 - transaction abort 后对象集与 Rotate 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定跨行首阶段 builder、异常传输、精确诊断、回滚和持久化证据。 ### `TSN-PAIR-rotate-groove` `rotate->groove` 已完成原生接受分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - 下游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 Rotate 结果执行旋转槽减料。 - `360 -> 180 -> 360` 角度轨迹改变体积与拓扑:名义态体积为 `992.0171547`、10 Face,编辑态体积为 `1000`、8 Face,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 22 条原生 history 记录。 - 上游 Rotate naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定跨行首阶段 builder、双输入减料、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-rotate-chamfer` `rotate->chamfer` 已完成原生接受分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - 下游使用真实 `BRepFilletAPI_MakeChamfer` 单输入 builder,对 Rotate 结果的锁定原生边执行倒角。 - `0.4 -> 0.6 -> 0.4` 距离轨迹改变体积、面积与边界,体积在 `990.7413333 -> 979.552 -> 990.7413333` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 150 条原生 history 记录。 - 上游 Rotate naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定跨行首阶段 builder、原生边选择、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-rotate-hole` `rotate->hole` 已完成原生接受分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` 单输入 builder,以锁定位置和方向的圆柱刀具贯穿 Rotate 结果。 - `1 -> 1.5 -> 1` 半径轨迹改变体积与面积,体积在 `968.5840735 -> 929.3141653 -> 968.5840735` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 23 条原生 history 记录。 - 上游 Rotate naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定跨行首阶段 builder、圆柱减料、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-rotate-draft` `rotate->draft` 已完成原生接受分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - 下游使用真实 `BRepOffsetAPI_DraftAngle` 单输入 builder,对 Rotate 结果的锁定原生 Face 执行拔模。 - `5 -> 8 -> 5` 角度轨迹改变体积与面积,体积在 `956.2556682 -> 929.7295826 -> 956.2556682` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 5 条原生 history 记录。 - 上游 Rotate naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定跨行首阶段 builder、原生 Face 选择、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-rotate-thickness` `rotate->thickness` 已完成原生接受分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - 下游使用真实 `BRepOffsetAPI_MakeThickSolid` 单输入 builder,对 Rotate 结果的锁定原生 Face 执行厚壳。 - `-0.4 -> -0.6 -> -0.4` offset 轨迹改变体积与面积,体积在 `187.456 -> 272.064 -> 187.456` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 38 条原生 history 记录。 - 上游 Rotate naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定跨行首阶段 builder、原生 Face 选择、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-rotate-linear-pattern` `rotate->linear-pattern` 已完成原生接受分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,将 Rotate 结果沿 X 方向平移复制并融合为一个可追踪 Solid。 - `8 -> 9 -> 8` 平移轨迹保持实例交叠,体积在 `1819.7958971 -> 1899.7703843 -> 1819.7958971` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 48 条原生 history 记录。 - 上游 Rotate naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定跨行首阶段 builder、单 Solid 约束、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-rotate-polar-pattern` `rotate->polar-pattern` 已完成原生接受分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,将 Rotate 结果绕锁定 Z 轴旋转复制并融合。 - `30 -> 45 -> 30` 角度轨迹改变体积、面积与边界,体积在 `1422.6497308 -> 1585.7864376 -> 1422.6497308` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 78 条原生 history 记录。 - 上游 Rotate naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定跨行首阶段 builder、旋转实例融合、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-rotate-mirrored` `rotate->mirrored` 已完成原生接受分类: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,将 Rotate 结果绕锁定平面镜像复制并融合。 - `5 -> 6 -> 5` 镜像面 X 原点轨迹改变体积、面积与边界,体积在 `1329.767789 -> 1517.3794222 -> 1329.767789` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 80 条原生 history 记录。 - 上游 Rotate naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定跨行首阶段 builder、镜像实例融合、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-rotate-multi-transform` `rotate->multi-transform` 已完成原生接受分类,并闭合机器队列中 Rotate 起始行的剩余有序操作对: - 上游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,生成体积 `1000` 的有效单 Solid 和 78 条原生 history。 - 下游使用 ordered `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,组合 X 平移和 X=5 镜像两步并保留每个实例的原生追踪关系。 - `8 -> 9 -> 8` 首步 X 平移轨迹保持全部实例连通,体积在 `2392.1349751 -> 2589.9081788 -> 2392.1349751` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,名义与编辑态均包含 470 条原生 history 记录。 - 上游 Rotate naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定 ordered builder、单 Solid 约束、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-pad-fuse` `pad->fuse` 已完成原生接受分类,并建立 Pad 起始行的真实 Profile 基线: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history,未复用 Solid-as-profile 拒绝输入。 - 下游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,对 Pad 结果执行布尔并集。 - 默认工具 X 偏移 `12` 会产生分离实体,未被误记为接受;改用保持实体交叠的 `8 -> 7 -> 8` 专用轨迹。 - 工具偏移轨迹使体积在 `575 -> 550 -> 575` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 57 条原生 history 记录。 - 上游 Pad naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实 Profile、两阶段 builder、专用变异轨迹、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-pad-cut` `pad->cut` 已完成原生接受分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - 下游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,对 Pad 结果执行布尔减料。 - `4 -> 3 -> 4` 工具尺寸轨迹改变体积与面积,体积在 `436 -> 473 -> 436` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 22 条原生 history 记录。 - 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实 Profile、双输入减料、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-pad-common` `pad->common` 已完成原生接受分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - 下游使用真实 `BRepAlgoAPI_Common` 双输入 builder,对 Pad 结果执行布尔交集。 - 默认工具 X 偏移 `10` 仅与 Pad 边界相切且没有实体交集,未被误记为接受;改用 `7 -> 6 -> 7` 专用轨迹。 - 工具偏移轨迹使交集体积在 `75 -> 100 -> 75` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 117 条原生 history 记录。 - 上游 Pad naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实 Profile、专用交叠轨迹、双输入 builder、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-pad-rotate` `pad->rotate` 已完成原生接受分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - 下游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,对 Pad 结果执行刚性旋转。 - `15 -> 22.5 -> 15` 角度轨迹保持体积 `500` 和拓扑不变,但明确改变世界空间边界,未因体积不变而误判为无变异。 - 名义与恢复态均包含 78 条原生 history,并精确恢复摘要和语义 naming。 - 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实 Profile、两阶段 builder、边界变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-pad-pad` `pad->pad` 已完成原生拒绝分类,并补齐 Pad STEP 聚合结构的拒绝重放规则: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - OCCT `BRepPrimAPI_MakePrism` 在 `5 -> 7.5 -> 5` 长度轨迹中稳定拒绝第一个 Pad 的 Solid 输入,三次均在 builder 阶段传输原生 C++ 异常,且不产生结果 Shape 或 history。 - FreeCAD STEP 导入保留 `App::Part` 聚合容器,并唯一选择有效单 Solid 的 `Part::Feature` 叶节点作为 Profile;零个或多个实体叶节点仍 fail-closed。 - FreeCAD `PartDesign::Pad` 返回 `FeatureExtrusion: Length: Could not extrude the sketch!`,结果 Shape 为空且状态包含 `Invalid`。 - transaction abort 后 10 个导入结构/基准对象、源实体 BREP 与对象集完整恢复;无穷参考线面只比较对象语义,实体 Shape 仍逐字段比较。 - 干净 FCStd save/reopen/resave 三阶段一致,拒绝任务没有伪造下游 naming 或变异证据。 - focused ordered-pair gate 已锁定真实 Profile 上游、异常传输、STEP 叶节点选择、精确诊断、回滚和持久化证据。 ### `TSN-PAIR-pad-pocket` `pad->pocket` 已完成原生接受分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - 下游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,对 Pad 结果执行减料拉伸。 - `5 -> 4 -> 5` 深度轨迹改变体积、面积与拓扑,体积在 `470 -> 476 -> 470` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 64 条原生 history 记录。 - 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实上游/下游 Profile、双输入减料、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-pad-loft` `pad->loft` 已完成原生拒绝分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - OCCT `BRepOffsetAPI_ThruSections` 在 `false -> true -> false` ruled 轨迹中均生成体积 `655` 的有效单 Solid 和 24 条 history,但该结果仅记为 kernel-superset 诊断。 - FreeCAD `Part::Loft` 对 Pad Solid section 返回 `Profile shape is not a single vertex, edge, wire nor face.`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 - transaction abort 后 STEP 聚合结构、对象集与 Pad 源实体 BREP 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 超集诊断、STEP 叶节点选择、精确失败信息、回滚和持久化证据。 ### `TSN-PAIR-pad-pipe` `pad->pipe` 已完成原生拒绝分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - OCCT `BRepOffsetAPI_MakePipe` 在 `15 -> 12 -> 15` spine 长度轨迹中生成体积 `1500 -> 1200 -> 1500` 的有效单 Solid 和 28 条 history,但该结果仅记为 kernel-superset 诊断。 - FreeCAD `Part::Sweep` 对 Pad Solid section 返回 `A fatal error occurred when making the sweep`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 - transaction abort 后 STEP 聚合结构、对象集与 Pad 源实体 BREP 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 超集诊断、STEP 叶节点选择、精确失败信息、回滚和持久化证据。 ### `TSN-PAIR-pad-revolution` `pad->revolution` 已完成原生拒绝分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - OCCT `BRepPrimAPI_MakeRevol` 在 `360 -> 270 -> 360` 角度轨迹中稳定拒绝 Pad Solid 输入,三次均在 builder 阶段传输原生 C++ 异常,且不产生结果 Shape 或 history。 - FreeCAD `Part::Revolution` 使用同一 Pad Solid 作为 Source,返回 `Solids are not Processed`。 - FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 - transaction abort 后 STEP 聚合结构、对象集与 Pad 源实体 BREP 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 - focused ordered-pair gate 已锁定异常传输、STEP 叶节点选择、精确诊断、回滚和持久化证据。 ### `TSN-PAIR-pad-groove` `pad->groove` 已完成原生接受分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - 下游使用真实旋转轮廓和 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 Pad 结果执行旋转槽减料。 - `360 -> 180 -> 360` 角度轨迹改变体积与拓扑:名义态体积为 `495.287611`、10 Face,编辑态体积为 `500`、7 Face,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 18 条原生 history 记录。 - 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实 Profile、双输入旋转减料、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-pad-fillet` `pad->fillet` 已完成原生接受分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - 下游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 Pad 结果的锁定原生边执行倒圆。 - `0.4 -> 0.6 -> 0.4` 半径轨迹改变体积与面积,体积在 `496.6520816 -> 492.5636085 -> 496.6520816` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 150 条原生 history 记录。 - 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实 Profile、原生边选择、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-pad-chamfer` `pad->chamfer` 已完成原生接受分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - 下游使用真实 `BRepFilletAPI_MakeChamfer` 单输入 builder,对 Pad 结果的锁定原生边执行倒角。 - `0.4 -> 0.6 -> 0.4` 距离轨迹改变体积与面积,体积在 `492.3413333 -> 483.152 -> 492.3413333` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 150 条原生 history 记录。 - 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实 Profile、原生边选择、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-pad-hole` `pad->hole` 已完成原生接受分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` 单输入 builder,以锁定位置和方向的圆柱刀具贯穿 Pad 结果。 - `1 -> 1.5 -> 1` 半径轨迹改变体积与面积,体积在 `484.2920367 -> 464.6570826 -> 484.2920367` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 23 条原生 history 记录。 - 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实 Profile、圆柱减料、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-pad-draft` `pad->draft` 已完成原生接受分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - 下游使用真实 `BRepOffsetAPI_DraftAngle` 单输入 builder,对 Pad 结果的锁定原生 Face 执行拔模。 - `5 -> 8 -> 5` 角度轨迹改变体积与面积,体积在 `489.0639171 -> 482.4323957 -> 489.0639171` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 5 条原生 history 记录。 - 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实 Profile、原生 Face 选择、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-pad-thickness` `pad->thickness` 已完成原生接受分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - 下游使用真实 `BRepOffsetAPI_MakeThickSolid` 单输入 builder,对 Pad 结果的锁定原生 Face 执行厚壳。 - `-0.4 -> -0.6 -> -0.4` offset 轨迹改变体积与面积,体积在 `129.056 -> 185.664 -> 129.056` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 38 条原生 history 记录。 - 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实 Profile、原生 Face 选择、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-pad-linear-pattern` `pad->linear-pattern` 已完成原生接受分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,将 Pad 结果沿 X 方向平移复制并融合为一个可追踪 Solid。 - `8 -> 9 -> 8` 平移轨迹保持实例交叠,体积在 `900 -> 950 -> 900` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 66 条原生 history 记录。 - 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实 Profile、单 Solid 约束、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-pad-polar-pattern` `pad->polar-pattern` 已完成原生接受分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,将 Pad 结果绕锁定 Z 轴旋转复制并融合。 - `30 -> 45 -> 30` 角度轨迹改变体积、面积与边界,体积在 `711.3248654 -> 792.8932188 -> 711.3248654` 间变化,并精确恢复名义摘要、history 与语义 naming。 - 名义结果为有效 1 Solid,包含 78 条原生 history 记录。 - 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实 Profile、旋转实例融合、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-pad-mirrored` `pad->mirrored` 已完成原生接受分类: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,将 Pad 结果绕锁定平面镜像复制并融合。 - 名义 X=5 镜像与对称 Pad 本体完全重合,但仍保留 156 条原生 history;`5 -> 6 -> 5` 轨迹在编辑态产生体积 `600`、14 Face 的单 Solid。 - 恢复态精确返回体积 `500`、6 Face 的名义摘要、history 与语义 naming。 - 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实 Profile、完全重合名义态、镜像实例融合、变异、恢复、history、naming 和持久化证据。 ### `TSN-PAIR-pad-multi-transform` `pad->multi-transform` 已完成原生接受分类,并闭合 Pad 起始行的全部 19 个有序操作对: - 上游使用真实 `10x10` Face Profile 和 `BRepPrimAPI_MakePrism` 单输入 builder,拉伸出体积 `500` 的有效单 Solid 和 25 条原生 history。 - 下游使用 ordered `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,先执行 X 平移,再镜像平移结果并保留每个实例的原生追踪关系。 - `8 -> 9 -> 8` 首步 X 平移轨迹保持全部实例连通,体积在 `1300 -> 1400 -> 1300` 间变化,名义边界覆盖 X=`[-8, 18]`。 - 名义与编辑态均包含 355 条原生 history,恢复态精确返回名义摘要、history 与语义 naming。 - 上游 Pad naming 证据向下游传播,恢复态语义摘要与名义态一致。 - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实 Profile、ordered builder、单 Solid 约束、变异、恢复、history、naming 和持久化证据。 后续任务必须从机器队列的最新 `nextTask` 继续,不在本文手工维护任务名称。