2211 lines
177 KiB
Plaintext
2211 lines
177 KiB
Plaintext
# 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。
|
||
|
||
详细拆分和依赖关系只在机器队列与执行计划中维护。
|
||
|
||
## 3A. 全功能对标拆分总表(静态路线图)
|
||
|
||
本节只定义长期范围、阶段边界和可重复的验收粒度,不记录实时完成数、活动任务名或下一任务名。每个阶段由机器队列展开为“一个原生 artifact、一个聚焦检查器、一个明确退出条件”的微任务;队列推进时不得跨越阶段依赖。
|
||
|
||
### 3A.1 统一工作单元
|
||
|
||
每一个功能、对象、属性、命令、格式和 UI 状态都按下列最小单元拆解:
|
||
|
||
| 编号 | 最小任务 | 必须产出 | 单项退出条件 |
|
||
| --- | --- | --- | --- |
|
||
| U1 | 原生清册 | TypeId/命令名、输入、默认值、适用性、失败前置 | 清册可机器读取,未知项显式登记 |
|
||
| U2 | 名义成功 | FreeCAD/OCCT Shape、对象集、属性、诊断、拓扑摘要 | 名义输入重复运行结果稳定 |
|
||
| U3 | 边界成功 | 最小值、最大值、空集合、单元素、多元素和单位边界 | 每个边界都有接受或拒绝证据 |
|
||
| U4 | 原生拒绝 | 失败阶段、异常/诊断、空或无效 Shape、对象集 | 不以 Web fallback 替代原生拒绝 |
|
||
| U5 | 取消与中断 | cancel、abort、超时、Worker 终止时的资源和状态 | 文档、事务、Worker、OPFS 无污染 |
|
||
| U6 | 参数变异 | 一次只改一个参数的 before/edit/restore 轨迹 | 编辑改变的字段可解释,恢复逐字段一致 |
|
||
| U7 | 历史与命名 | Generated/Modified/Deleted、ElementMap2、MappedNameRef、hash | 无私有 token、无错误绑定、歧义保持歧义 |
|
||
| U8 | 持久化 | save、reopen、resave、版本迁移和资源引用 | Shape、属性、命名、对象图无未解释漂移 |
|
||
| U9 | Facade | 生产 API、类型校验、错误映射、能力级别 | UI 不直连内核,禁止隐藏 fallback |
|
||
| U10 | 浏览器回放 | Worker、OPFS、UI、选择、进度、释放证据 | 真实 Chrome 流程与原生合同一致 |
|
||
| U11 | 回归封存 | focused check、变更摘要、哈希、证据索引 | 证据可独立复跑,队列只推进一项 |
|
||
|
||
### 3A.2 阶段与微里程碑
|
||
|
||
| 阶段 | 目标 | 细分里程碑(每项可再拆为 U1-U11) | 阶段退出门槛 |
|
||
| --- | --- | --- | --- |
|
||
| P0 基线与治理 | 固定 FreeCAD/OCCT、证据格式和能力声明 | P0.1 版本/提交锁定;P0.2 TypeId/命令/格式清册;P0.3 artifact 哈希;P0.4 依赖图;P0.5 known-gap 账本;P0.6 单活动任务门禁 | 基线、生成器、检查器和 exact 声明一致,禁止未登记能力 |
|
||
| P1 原生观察层 | 建立所有差异的可重复 oracle | P1.1 空文档状态;P1.2 单对象状态;P1.3 选择/子形状态;P1.4 属性 editor 状态;P1.5 事务状态;P1.6 失败/取消状态;P1.7 GUI 命令状态;P1.8 资源与版本信息 | 原生 probe 覆盖清册;未知状态只能进入 pending |
|
||
| P2 内核几何 | 对齐 OCCT builder 和拓扑历史 | P2.1 基本几何;P2.2 布尔;P2.3 变换/阵列;P2.4 草图与约束几何;P2.5 修复/偏置/抽壳;P2.6 曲面/网格;P2.7 有效性和容差;P2.8 资源释放 | 每个 builder 有成功、边界、失败、恢复和 history 证据 |
|
||
| P3 文档与历史 | 对齐 Document/DAG/事务/扩展语义 | P3.1 对象生命周期;P3.2 属性类型和 editor;P3.3 Link/LinkSub;P3.4 recompute 顺序;P3.5 dependency cycle;P3.6 partial failure;P3.7 observer 顺序;P3.8 undo/redo/abort;P3.9 Extension/FeaturePython;P3.10 多文档/MDI | 对象图、事务事件和失败恢复在 save/reopen 后仍可解释 |
|
||
| P4 核心建模工作台 | 对齐 Sketcher、Part、PartDesign | P4.1 草图几何;P4.2 约束求解;P4.3 草图编辑器;P4.4 Part 原语;P4.5 布尔/修复/检查;P4.6 PartDesign Body/Tip;P4.7 加料/减料;P4.8 旋转/扫掠/放样;P4.9 圆角/倒角/孔/拔模/厚度;P4.10 阵列/镜像/多变换;P4.11 跨特征 mutation;P4.12 全有序操作对 | 每项都有 A-I 证据,命名和 FCStd 证据达到 exact gate |
|
||
| P5 文件与数据交换 | 对齐原生格式、导入导出和代理边界 | P5.1 FCStd 对象/属性/资源;P5.2 BREP;P5.3 STEP;P5.4 IGES;P5.5 STL/OBJ/PLY;P5.6 DXF/SVG/PDF;P5.7 IFC;P5.8 CSV/G-code;P5.9 JT/IDF/OpenSCAD;P5.10 未知对象保留;P5.11 安全解析/大小限制 | 双向 round-trip、损坏/未知输入、编码和资源引用均有明确 exact/compatible/excluded 结果 |
|
||
| P6 GUI 与交互 | 对齐 FreeCAD 桌面状态和浏览器交互 | P6.1 Shell/菜单/工具栏;P6.2 Workbench 切换;P6.3 Tree/Dock/MDI;P6.4 Task panel;P6.5 Property editor;P6.6 对话框验证;P6.7 3D 选择/预选;P6.8 快捷键/焦点;P6.9 报告/状态/进度;P6.10 cancel/long task;P6.11 截图/可访问性树;P6.12 mobile/responsive | 每个工作台的空文档、成功、失败、取消、恢复流程可真实浏览器回放 |
|
||
| P7 工程与专业工作台 | 对齐 Draft、TechDraw、Spreadsheet、Plot、Assembly、BIM、Surface、Mesh、Material | P7.1 Draft snaps/working plane;P7.2 TechDraw 页面/视图/标注;P7.3 Spreadsheet 公式/别名/样式;P7.4 Plot 数据/坐标轴/导出;P7.5 Assembly joints/solver;P7.6 BIM/IFC/数量;P7.7 Surface trim/sew/repair;P7.8 Mesh 修复/转换;P7.9 Material 继承/外观;P7.10 跨工作台引用 | 每个专业对象具有对象图、交互、持久化、导出和失败证据 |
|
||
| P8 分析、制造与扩展 | 对齐 FEM、CAM、Robot、Inspection、Points、ReverseEngineering、脚本和 addon | P8.1 FEM 对象/网格/求解/结果;P8.2 CAM Path/任务/后处理;P8.3 仿真和机床 profile;P8.4 Robot 运动学/碰撞/导出;P8.5 点云/重建;P8.6 测量/偏差/报告;P8.7 Python API/macro 沙箱;P8.8 addon 签名/权限/回滚;P8.9 代理模块显式排除 | 生产授权与浏览器能力分离;不支持项可审计、可解释、不会伪装支持 |
|
||
| P9 平台质量 | 完成跨环境和长稳验证 | P9.1 Chrome/Firefox/Safari;P9.2 Windows/Linux/macOS;P9.3 GPU/软件渲染;P9.4 desktop/tablet/mobile;P9.5 locale/单位/时区;P9.6 屏幕阅读器/键盘;P9.7 性能/内存/Worker;P9.8 fuzz/stress/长会话;P9.9 崩溃恢复/迁移;P9.10 供应链/安全 | 所有支持矩阵无未知差异,预算、漏洞、泄漏、错误绑定均为零 |
|
||
| P10 发布与 exact promotion | 形成可签名、可复核的发布物 | P10.1 证据索引;P10.2 生成物重建;P10.3 SBOM/依赖审计;P10.4 签名/验签;P10.5 release closure;P10.6 回滚演练;P10.7 exact capability matrix;P10.8 版本公告 | 所有 exact 任务闭合,必要零指标满足,签名产物和回滚包可复现 |
|
||
|
||
### 3A.3 每个阶段内的执行顺序
|
||
|
||
阶段内固定按以下细粒度顺序执行,任何一步失败都只登记当前微任务,不跳到下一步:
|
||
|
||
1. 清册:确认 TypeId、命令入口、默认参数、输入数量、依赖和适用性。
|
||
2. 名义态:用真实 FreeCAD/OCCT builder 生成结果,记录 Shape、拓扑、属性、诊断和对象集。
|
||
3. 边界态:逐个执行最小值、最大值、空、重复、越界和单位转换;原生拒绝也要记录。
|
||
4. 失败态:记录失败阶段、异常类型、精确文本、状态标志、空/无效 Shape 和对象污染。
|
||
5. 变异态:只修改一个参数,执行 before/edit/restore;检查几何、历史、命名和文档版本。
|
||
6. 事务态:覆盖 commit、abort、undo、redo、stale、cycle、cancel、timeout 和 Worker 终止。
|
||
7. 持久化态:执行 save/reopen/resave,校验对象图、属性、资源、Shape、命名和 hash。
|
||
8. Facade 态:通过生产 Facade 重放同一输入,确认错误映射、能力级别和权限边界。
|
||
9. 浏览器态:真实 Worker/OPFS/Chrome 回放,检查 UI、选择、进度、释放和离线行为。
|
||
10. 封存态:运行 focused check、相关模块 gate、`git diff --check`,生成队列和状态页,确认只推进一个任务。
|
||
|
||
### 3A.4 里程碑完成判定
|
||
|
||
- `完成`:U1-U11 全部有机器证据,检查器通过,依赖项已完成,队列生成器将该项标记为 completed。
|
||
- `兼容`:核心工作流可用,但至少一个 exact 证据类缺失;必须保留缺口、范围和下一步,不得提升 exact 声明。
|
||
- `代理`:仅保留数据/显示/导入等有限语义;必须标明不支持的原生行为和安全边界。
|
||
- `拒绝`:原生明确拒绝或 no-op;记录拒绝权威、诊断、回滚和持久化,不视为实现缺陷。
|
||
- `阻断`:证据缺失、结果不稳定、存在漂移或安全问题;任务保持 in_progress/pending,禁止用文档结论强行关闭。
|
||
|
||
### 3A.5 依赖与并行规则
|
||
|
||
- P0/P1 是所有阶段的前置;没有基线和 oracle,不接受实现“已完成”。
|
||
- P2 的几何/历史证据先于 P3 文档语义;P3 先于 P4-P8 的生产工作台。
|
||
- P5 格式往返依赖 P3 对象图和 P4/P7/P8 的真实对象;未知对象只能进入显式保留或排除路径。
|
||
- P6 浏览器 UI 依赖 Facade 合同,但 UI 回归不能反向修改原生合同。
|
||
- P9 只在 P4-P8 的工作流有稳定基线后扩大矩阵;发现漂移时回退到对应功能微任务。
|
||
- P10 是最终门禁,不能以“主要功能可用”替代任一 exact 依赖。
|
||
- 机器队列维持 `maxInProgress=1`;需要并行调查时也必须先落成独立 artifact,不能并行修改同一证据账本。
|
||
|
||
### 3A.6 每项任务的最小记录模板
|
||
|
||
```text
|
||
范围:一个 TypeId/命令/格式/交互状态或一个有序操作对
|
||
输入:原生版本、提交、参数、单位、对象图、资源哈希
|
||
原生证据:名义、边界、失败、取消、变异、历史、命名
|
||
浏览器证据:Facade、Worker、OPFS、UI、选择、进度、释放
|
||
持久化证据:save/reopen/resave、迁移、未知属性/资源
|
||
判定:accepted / rejected / no-op / compatible / proxy / blocked
|
||
退出条件:可执行检查命令、预期摘要、零指标和回滚要求
|
||
变更边界:只允许修改该任务的实现、oracle、检查器和报告
|
||
```
|
||
|
||
## 3B. 当前阶段的持续推进规则
|
||
|
||
当前项目仍处于 TSN 命名/历史与有序操作对闭合阶段,之后才按依赖进入 Property、Document、格式、GUI、专业工作台和平台质量阶段。每次完成一个微任务后必须:
|
||
|
||
1. 从 `config/freecad-active-work-queue.json` 读取新的 `nextTask`,不得从本文、聊天记录或手工列表猜测。
|
||
2. 为刚完成任务追加原生、浏览器、持久化和回滚证据;缺一项就保持当前任务未完成。
|
||
3. 重新生成队列和状态页,检查只有一个 `in_progress`,并核对连续前缀没有跳号。
|
||
4. 按任务风险运行 focused gate;达到发布点才运行完整 `./npmw run verify`。
|
||
5. 提交前检查 `git diff --check`、JSON/脚本语法、未跟踪文件和生成物哈希;提交后推送云仓库并记录提交。
|
||
6. 若原生拒绝、no-op 或代理边界是正确结果,完整保留该分类,不为了增加完成数而改变判定。
|
||
|
||
## 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 和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-fuse`
|
||
|
||
`pocket->fuse` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,对 Pocket 结果执行布尔并集。
|
||
- 默认工具 X 偏移 `12` 会产生分离实体,未被误记为接受;改用保持实体交叠的 `8 -> 7 -> 8` 专用轨迹。
|
||
- 工具偏移轨迹使体积在 `1045 -> 1020 -> 1045` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid,包含 52 条原生 history 记录。
|
||
- 上游 Pocket naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定真实 Profile、两阶段双输入 builder、专用变异轨迹、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-cut`
|
||
|
||
`pocket->cut` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,对 Pocket 结果继续执行布尔减料。
|
||
- `4 -> 3 -> 4` 工具尺寸轨迹改变体积、面积与拓扑,体积在 `906 -> 943 -> 906` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid,包含 48 条原生 history 记录。
|
||
- 上游 Pocket naming 证据向下游传播,恢复态语义摘要与名义态一致。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定真实 Profile、两阶段双输入减料、变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-common`
|
||
|
||
`pocket->common` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Common` 双输入 builder,对 Pocket 结果执行布尔交集。
|
||
- 默认工具 X 偏移 `10` 仅与 Pocket 外边界相切且没有实体交集,未被误记为接受;改用 `7 -> 6 -> 7` 专用轨迹。
|
||
- 工具偏移轨迹使交集体积在 `75 -> 100 -> 75` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid,包含 178 条原生 history 记录。
|
||
- 上游 Pocket naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定真实 Profile、专用交叠轨迹、两阶段双输入 builder、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-rotate`
|
||
|
||
`pocket->rotate` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,将 Pocket 结果绕锁定 Z 轴旋转。
|
||
- `15 -> 22.5 -> 15` 角度轨迹改变边界,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid,体积 `970`,包含 135 条原生 history 记录。
|
||
- 上游 Pocket naming 证据向下游传播,恢复态语义摘要与名义态一致。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定真实 Profile、两阶段 builder、角度变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-pad`
|
||
|
||
`pocket->pad` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。
|
||
- OCCT `BRepPrimAPI_MakePrism` 在 `5 -> 7.5 -> 5` 长度轨迹中稳定拒绝 Pocket Solid 输入,且不产生结果 Shape 或 history。
|
||
- FreeCAD `PartDesign::Pad` 使用同一 Pocket Solid 作为 Profile,返回 `FeatureExtrusion: Length: Could not extrude the sketch!`。
|
||
- FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。
|
||
- transaction abort 后对象集与 Pocket 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、异常传输、精确诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-pocket`
|
||
|
||
`pocket->pocket` 已完成原生接受分类:
|
||
|
||
- 第一、第二阶段均使用真实 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,上游 Pocket 生成体积 `970` 的有效单 Solid。
|
||
- 下游使用锁定的 `3x3` Face Profile,避免默认 `2x3` Profile 只重复切除已空区域而产生无效变异轨迹。
|
||
- `5 -> 4 -> 5` 深度轨迹使体积在 `955 -> 958 -> 955` 间变化,同时改变拓扑和 history,并精确恢复名义摘要与语义 naming。
|
||
- 名义结果为有效 1 Solid,包含 111 条原生 history 记录。
|
||
- 上游 Pocket naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段双输入 builder、非平凡 Profile、深度变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-loft`
|
||
|
||
`pocket->loft` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。
|
||
- OCCT `BRepOffsetAPI_ThruSections` 在 `false -> true -> false` ruled 轨迹中生成有效 Shape,但该结果仅记为 kernel-superset 诊断。
|
||
- FreeCAD `Part::Loft` 对 Pocket Solid section 返回 `Profile shape is not a single vertex, edge, wire nor face.`。
|
||
- FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。
|
||
- transaction abort 后对象集与 Pocket 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。
|
||
- focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 超集诊断、精确失败信息、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-pipe`
|
||
|
||
`pocket->pipe` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。
|
||
- 初始的 kernel-invalid 预期被真实 probe 否定;OCCT `BRepOffsetAPI_MakePipe` 在 `15 -> 12 -> 15` spine 长度轨迹中生成有效 Shape,但该结果仅记为 kernel-superset 诊断。
|
||
- FreeCAD `Part::Sweep` 对 Pocket Solid section 返回 `A fatal error occurred when making the sweep`。
|
||
- FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。
|
||
- transaction abort 后对象集与 Pocket 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。
|
||
- focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 超集诊断、精确失败信息、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-revolution`
|
||
|
||
`pocket->revolution` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。
|
||
- OCCT `BRepPrimAPI_MakeRevol` 在 `360 -> 270 -> 360` 角度轨迹中稳定拒绝 Pocket Solid 输入,且不产生结果 Shape 或 history。
|
||
- FreeCAD `Part::Revolution` 使用同一 Pocket Solid 作为 Source,返回 `Solids are not Processed`。
|
||
- FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。
|
||
- transaction abort 后对象集与 Pocket 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、异常传输、精确诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-groove`
|
||
|
||
`pocket->groove` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。
|
||
- 下游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 Pocket 结果执行旋转减料。
|
||
- `360 -> 180 -> 360` 角度轨迹改变体积、拓扑和 history,并精确恢复名义摘要与语义 naming。
|
||
- 名义结果为有效 1 Solid,体积 `966.8584073`,包含 40 条原生 history 记录。
|
||
- 上游 Pocket naming 证据向下游传播,恢复态语义摘要与名义态一致。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段双输入 builder、角度变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-fillet`
|
||
|
||
`pocket->fillet` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。
|
||
- 下游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 Pocket 结果的锁定原生边执行倒圆。
|
||
- `0.4 -> 0.6 -> 0.4` 半径轨迹改变体积与面积,体积在 `965.9792974 -> 961.0655284 -> 965.9792974` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid,包含 44 Face 和 261 条原生 history 记录。
|
||
- 上游 Pocket naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、原生边选择、半径变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-chamfer`
|
||
|
||
`pocket->chamfer` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。
|
||
- 下游使用真实 `BRepFilletAPI_MakeChamfer` 单输入 builder,对 Pocket 结果的锁定原生边执行倒角。
|
||
- `0.4 -> 0.6 -> 0.4` 距离轨迹改变体积与面积,体积在 `960.848 -> 949.912 -> 960.848` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid,包含 44 Face 和 261 条原生 history 记录。
|
||
- 上游 Pocket naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、原生边选择、距离变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-hole`
|
||
|
||
`pocket->hole` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。
|
||
- 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` 单输入 builder,以锁定位置和方向的圆柱刀具贯穿 Pocket 结果。
|
||
- `1 -> 1.5 -> 1` 半径轨迹改变体积与面积,体积在 `938.5840735 -> 899.3141653 -> 938.5840735` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid,包含 23 条原生 history 记录,下游 naming 状态为无歧义 `native-evidence`。
|
||
- 上游 Pocket naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、圆柱减料、半径变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-draft`
|
||
|
||
`pocket->draft` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。
|
||
- 下游使用真实 `BRepOffsetAPI_DraftAngle` 单输入 builder,对 Pocket 结果的锁定原生 Face、中性面和拉伸方向执行拔模。
|
||
- `5 -> 8 -> 5` 角度轨迹改变体积与面积,体积在 `929.5364931 -> 904.999864 -> 929.5364931` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid,包含 7 条原生 history 记录,下游 naming 状态为无歧义 `native-evidence`。
|
||
- 上游 Pocket naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、原生 Face 选择、角度变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-thickness`
|
||
|
||
`pocket->thickness` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `10x10` Box 与 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,按专用 `5x10` Profile 贯穿切除,生成体积 `500` 的有效单 Solid 和 25 条原生 history。
|
||
- 下游使用真实 `BRepOffsetAPI_MakeThickSolid` 单输入 builder,对锁定的原生 Face 执行厚壳;名义结果为有效 1 Solid、11 Face,体积 `129.056`。
|
||
- `-0.4 -> -0.6 -> -0.4` offset 轨迹使体积在 `129.056 -> 185.664 -> 129.056` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Pocket naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、原生 Face 选择、offset 变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-linear-pattern`
|
||
|
||
`pocket->linear-pattern` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder,将 Pocket 结果沿 X 方向平移复制并融合为单 Solid;名义体积 `1770`,边界覆盖 X=`[-0, 18]`。
|
||
- `8 -> 9 -> 8` 平移轨迹使体积在 `1770 -> 1855 -> 1770` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Pocket naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定真实 Profile、单 Solid 约束、平移变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pocket-polar-pattern`
|
||
|
||
`pocket->polar-pattern` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder,将 Pocket 结果绕锁定 Z 轴旋转复制并融合为单 Solid;名义体积 `1388.0087147`,边界覆盖 X=`[-5, 10]`、Y=`[0, 13.6602542]`。
|
||
- `30 -> 45 -> 30` 角度轨迹使体积在 `1388.0087147 -> 1545.7864376 -> 1388.0087147` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Pocket naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定真实 Profile、旋转实例融合、角度变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-loft-fillet`
|
||
|
||
`loft->fillet` 已完成 Web 原生 history builder 拒绝分类,并显式记录 FreeCAD profile 接受差异:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。
|
||
- 下游 `BRepFilletAPI_MakeFillet` 在 `0.4 -> 0.6 -> 0.4` 半径轨迹中稳定触发 `RuntimeError: table index is out of bounds`,三次尝试均没有产生 Shape、history 或 naming。
|
||
- FreeCAD 1.1.1 `Part::Fillet` 对同一 Loft Solid 重算成功,状态为 `Valid` / `Up-to-date`;该差异被锁定为 Web 原生 history builder 中止,没有伪造 FreeCAD 拒绝。
|
||
- transaction abort 后对象集与 Loft 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。
|
||
- focused ordered-pair gate 已锁定 WASM abort 签名、FreeCAD 接受对照、精确回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-loft-chamfer`
|
||
|
||
`loft->chamfer` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。
|
||
- 下游使用真实 `BRepFilletAPI_MakeChamfer` 单输入 builder,对 Loft 结果的原生边执行倒角。
|
||
- `0.4 -> 0.6 -> 0.4` 距离轨迹使体积在 `1489.1413333 -> 1475.952 -> 1489.1413333` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、26 Face,包含 150 条原生 history 记录。
|
||
- 上游 Loft naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、原生边选择、距离变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-loft-hole`
|
||
|
||
`loft->hole` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。
|
||
- 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` builder,以锁定位置和方向的圆柱刀具贯穿 Loft 结果。
|
||
- `1 -> 1.5 -> 1` 半径轨迹使体积在 `1462.3008882 -> 1415.1769984 -> 1462.3008882` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid,包含 13 条原生 history 记录,下游 naming 状态为无歧义 `native-evidence`。
|
||
- 上游 Loft naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、圆柱减料、半径变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-loft-draft`
|
||
|
||
`loft->draft` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。
|
||
- 下游使用真实 `BRepOffsetAPI_DraftAngle` 单输入 builder,对 Loft 结果的锁定原生 Face、中性面和拉伸方向执行拔模。
|
||
- `5 -> 8 -> 5` 角度轨迹使体积在 `1401.5752535 -> 1341.891561 -> 1401.5752535` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid,包含 5 条原生 history 记录。
|
||
- 上游 Loft naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、原生 Face 选择、角度变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-loft-thickness`
|
||
|
||
`loft->thickness` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。
|
||
- 下游使用真实 `BRepOffsetAPI_MakeThickSolid` 单输入 builder,对锁定的原生 Face 执行厚壳;名义结果为有效 1 Solid、11 Face,体积 `245.856`。
|
||
- `-0.4 -> -0.6 -> -0.4` offset 轨迹使体积在 `245.856 -> 358.464 -> 245.856` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果包含 38 条原生 history 记录,上游 Loft naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、原生 Face 选择、offset 变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-loft-linear-pattern`
|
||
|
||
`loft->linear-pattern` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder,将 Loft 结果沿 X 方向平移复制并融合为单 Solid。
|
||
- `8 -> 9 -> 8` 平移轨迹使体积在 `2700 -> 2850 -> 2700` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、14 Face,边界覆盖 X=`[0, 18]`,包含 66 条原生 history 记录。
|
||
- 上游 Loft naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、单 Solid 约束、平移变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-loft-polar-pattern`
|
||
|
||
`loft->polar-pattern` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder,将 Loft 结果绕锁定 Z 轴旋转复制并融合为单 Solid。
|
||
- `30 -> 45 -> 30` 角度轨迹使体积在 `2133.9745962 -> 2378.6796564 -> 2133.9745962` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、12 Face,边界覆盖 X=`[-5, 10]`、Y=`[0, 13.660254]`,包含 78 条原生 history 记录。
|
||
- 上游 Loft naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、旋转实例融合、角度变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-loft-mirrored`
|
||
|
||
`loft->mirrored` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder,将 Loft 结果绕锁定平面镜像复制并融合。
|
||
- 名义 X=5 镜像与 Loft 本体完全重合但仍保留 156 条原生 history;`5 -> 6 -> 5` 轨迹使体积在 `1500 -> 1800 -> 1500` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、6 Face,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。
|
||
- 上游 Loft naming 证据向下游传播;focused ordered-pair gate 已锁定重合名义对照、镜像实例融合、变异、恢复、history 和持久化证据。
|
||
|
||
### `TSN-PAIR-loft-multi-transform`
|
||
|
||
`loft->multi-transform` 已完成原生接受分类,并闭合 Loft 起始行全部 19 个有序操作对:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。
|
||
- 下游使用 ordered `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,先执行 X 平移,再镜像平移结果并保留每个实例的原生追踪关系。
|
||
- `8 -> 9 -> 8` 首步 X 平移轨迹使体积在 `3900 -> 4200 -> 3900` 间变化,名义边界覆盖 X=`[-8, 18]`,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义与编辑态均包含 355 条原生 history,结果为有效 1 Solid、22 Face。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定 ordered builder、实例追踪、变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-fuse`
|
||
|
||
`pipe->fuse` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以真实 `2x3` Face section 沿 15 长度 spine 扫掠,生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,使用与 Pipe 保持交叠的工具。
|
||
- `0 -> 0.5 -> 0` 工具 X 偏移轨迹使体积在 `185 -> 192.5 -> 185` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、14 Face,包含 66 条原生 history 记录,上游 Pipe naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定真实 Face section、双输入 builder、交叠变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-cut`
|
||
|
||
`pipe->cut` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,以贯穿交叠的工具继续减料。
|
||
- `0 -> 0.5 -> 0` 工具 X 偏移轨迹使体积在 `66 -> 72 -> 66` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、6 Face、包含 117 条原生 history 记录,上游 Pipe naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定 Face section、双输入减料 builder、偏移变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-common`
|
||
|
||
`pipe->common` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Common` 双输入 builder,使用与 Pipe 保持交叠的工具。
|
||
- `0 -> 0.5 -> 0` 工具 X 偏移轨迹使交集体积在 `24 -> 18 -> 24` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、6 Face、包含 132 条原生 history 记录,上游 Pipe naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定 Face section、交叠变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-rotate`
|
||
|
||
`pipe->rotate` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,将 Pipe 结果绕 Z 轴旋转。
|
||
- `15 -> 22.5 -> 15` 角度轨迹保持体积 `90`,改变边界并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、6 Face、包含 78 条原生 history 记录,上游 Pipe naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定旋转变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-pad`
|
||
|
||
`pipe->pad` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- OCCT `BRepPrimAPI_MakePrism` 在 `5 -> 7.5 -> 5` 长度轨迹中稳定拒绝 Pipe Solid 输入,不产生结果 Shape 或 history。
|
||
- FreeCAD `PartDesign::Pad` 使用同一 Pipe Solid 作 Profile,返回 `FeatureExtrusion: Length: Could not extrude the sketch!`;结果 Shape 为空、状态包含 `Invalid`。
|
||
- transaction abort 后对象集与 Pipe 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、异常传输、精确诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-pocket`
|
||
|
||
`pipe->pocket` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- 下游使用真实 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,以贯穿 Profile 对 Pipe 结果执行减料。
|
||
- `5 -> 4 -> 5` 深度轨迹使体积在 `60 -> 66 -> 60` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、6 Face、包含 98 条原生 history 记录,上游 Pipe naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定真实 Profile、双输入 builder、深度变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-loft`
|
||
|
||
`pipe->loft` 已完成 FreeCAD 文档前置拒绝分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- OCCT `BRepOffsetAPI_ThruSections` 在 `false -> true -> false` ruled 轨迹中均生成有效 Shape,仅记为 `kernel-superset-only` 兼容性诊断,三次结果精确恢复。
|
||
- FreeCAD `Part::Loft` 对 Pipe Solid section 返回 `Profile shape is not a single vertex, edge, wire nor face.`,结果 Shape 为空、状态包含 `Invalid`。
|
||
- transaction abort 后对象集与 Pipe 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。
|
||
- focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 超集诊断、精确失败信息、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-pipe`
|
||
|
||
`pipe->pipe` 已完成 FreeCAD 文档前置拒绝分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- OCCT 下游 `BRepOffsetAPI_MakePipe` 在 `15 -> 12 -> 15` spine 长度轨迹中均产生无效 Shape(`kernel-invalid-result`),三次诊断精确恢复。
|
||
- FreeCAD `Part::Sweep` 对 Pipe Solid section 返回 `A fatal error occurred when making the sweep`,结果 Shape 为空、状态包含 `Invalid`。
|
||
- transaction abort 后对象集与 Pipe 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。
|
||
- focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 无效结果诊断、精确失败信息、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-revolution`
|
||
|
||
`pipe->revolution` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- OCCT `BRepPrimAPI_MakeRevol` 在 `360 -> 270 -> 360` 角度轨迹中稳定拒绝 Pipe Solid 输入,不产生结果 Shape 或 history。
|
||
- FreeCAD `Part::Revolution` 使用同一 Pipe Solid 作 Source,返回 `Solids are not Processed`;结果 Shape 为空、状态包含 `Invalid`。
|
||
- transaction abort 后对象集与 Pipe 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、异常传输、精确诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-groove`
|
||
|
||
`pipe->groove` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- 下游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 Pipe 结果执行旋转减料。
|
||
- `360 -> 180 -> 360` 角度轨迹使体积在 `88.4292037 -> 90 -> 88.4292037` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、10 Face、包含 40 条原生 history 记录,上游 Pipe naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定双输入 builder、角度变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-fillet`
|
||
|
||
`pipe->fillet` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- 下游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 Pipe 结果的全部原生边执行圆角。
|
||
- `0.4 -> 0.6 -> 0.4` 半径轨迹使体积在 `87.3388075 -> 84.1087417 -> 87.3388075` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、26 Face,包含 150 条原生 history 记录,上游 Pipe naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定原生边选择、半径变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-chamfer`
|
||
|
||
`pipe->chamfer` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- 下游使用真实 `BRepFilletAPI_MakeChamfer` 单输入 builder,对 Pipe 结果的全部原生边执行倒角。
|
||
- `0.4 -> 0.6 -> 0.4` 距离轨迹使体积在 `83.9413333 -> 76.752 -> 83.9413333` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、26 Face,包含 150 条原生 history 记录,上游 Pipe naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定原生边选择、距离变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-hole`
|
||
|
||
`pipe->hole` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` builder,在截面中心 `(1, 1.5)` 以贯穿圆柱对 Pipe 结果减料。
|
||
- `0.4 -> 0.6 -> 0.4` 半径轨迹使体积在 `82.4601776 -> 73.0353997 -> 82.4601776` 间变化,保持有效单 Solid,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为 7 Face,包含 23 条原生 history 记录,上游 Pipe naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定贯穿位置、半径变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-draft`
|
||
|
||
`pipe->draft` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- 原生 Face 枚举确认端面索引 `0/5` 被 Draft builder 拒绝,侧面索引 `1/2/3/4` 可接受;下游锁定 `faceIndex: 1`、Z 向中性面和拉伸方向执行真实 `BRepOffsetAPI_DraftAngle`。
|
||
- `5 -> 8 -> 5` 角度轨迹使体积在 `70.3150507 -> 58.3783122 -> 70.3150507` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、6 Face,包含 5 条原生 history 记录,上游 Pipe naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定侧面适用性、角度变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-thickness`
|
||
|
||
`pipe->thickness` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- 下游使用真实 `BRepOffsetAPI_MakeThickSolid` 单输入 builder,对锁定的 Pipe 侧面执行厚壳。
|
||
- `-0.4 -> -0.6 -> -0.4` offset 轨迹使体积在 `45.696 -> 63.504 -> 45.696` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、11 Face,包含 38 条原生 history 记录,上游 Pipe naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定侧面选择、offset 变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-linear-pattern`
|
||
|
||
`pipe->linear-pattern` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder;针对窄 Pipe 截面锁定交叠平移,避免沿用 Box 的 X=8 参数产生分离结果。
|
||
- `1.5 -> 1 -> 1.5` X 平移轨迹使体积在 `157.5 -> 135 -> 157.5` 间变化,名义和编辑态均保持有效单 Solid,并精确恢复摘要、history 与语义 naming。
|
||
- 名义结果为 14 Face,边界覆盖 X=`[0, 3.5]`,包含 66 条原生 history 记录,上游 Pipe naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定交叠融合、平移变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-polar-pattern`
|
||
|
||
`pipe->polar-pattern` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder,绕锁定 Z 轴复制并融合 Pipe 结果。
|
||
- `30 -> 45 -> 30` 角度轨迹使体积在 `132.3686028 -> 150 -> 132.3686028` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、12 Face,边界覆盖 X=`[-1.5, 2]`、Y=`[0, 3.5980764]`,包含 78 条原生 history 记录。
|
||
- 上游 Pipe naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定,focused ordered-pair gate 已锁定旋转融合、变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-mirrored`
|
||
|
||
`pipe->mirrored` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder;名义镜像平面锁定为 `x=1`,与 Pipe 截面对称重合,编辑平面为 `x=1.5` 并保持实例交叠。
|
||
- `1 -> 1.5 -> 1` 平面轨迹使体积在 `90 -> 135 -> 90` 间变化,恢复态保留名义 1 Solid 和 156 条原生 history,并精确恢复语义 naming。
|
||
- 编辑态为有效单 Solid、14 Face;上游 Pipe naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming 稳定。
|
||
- focused ordered-pair gate 已锁定重合名义对照、交叠镜像、变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-pipe-multi-transform`
|
||
|
||
`pipe->multi-transform` 已完成原生接受分类,并闭合 Pipe 起始行全部 19 个有序操作对:
|
||
|
||
- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。
|
||
- 下游使用 ordered `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,先沿 X 平移,再绕 `x=5` 平面镜像;该实例布局原生形成有效 2 Solid 结果,没有伪装为单 Solid。
|
||
- `8 -> 7 -> 8` 首步 X 平移轨迹使体积在 `180 -> 270 -> 180` 间变化,并精确恢复名义摘要、300 条 history 与语义 naming。
|
||
- STEP 导入会同时创建 `Part::Feature`、聚合 `App::Part` 和 Origin 基准对象;FCStd harness 已改为只组合有限、有效、含 Solid 的 `Part::Feature`,消除了重复几何和 `1e100` 退化边界。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段均保持 2 Solid、12 Face、体积 `180` 与 naming evidence 一致;focused gate 已锁定多实体拓扑、导入筛选、变异、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-fuse`
|
||
|
||
`revolution->fuse` 已完成原生接受分类,并验证新的 Revolution 上游基线:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,绕锁定 Y 轴生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,工具与 Revolution 结果保持体积交叠。
|
||
- `0 -> 0.5 -> 0` 工具 X 偏移轨迹使体积在 `188.0229122 -> 192.1067282 -> 188.0229122` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义下游结果为有效 1 Solid、11 Face,包含 45 条原生 history 记录,上游 Revolution naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定 Face Profile、旋转轴、融合变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-cut`
|
||
|
||
`revolution->cut` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid和 23 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Cut` 双输入 builder;`4 -> 3 -> 4` 工具尺寸轨迹覆盖同一正象限、摘要不变,未被采用。
|
||
- 最终使用小型交叠工具的 `0 -> 0.5 -> 0` X 偏移轨迹,使体积在 `68.3585388 -> 70.3585388 -> 68.3585388` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、8 Face,包含 75 条原生 history 记录,上游 Revolution naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused gate 已锁定弱轨迹拒绝、偏移变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-common`
|
||
|
||
`revolution->common` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid和 23 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Common` 双输入 builder,以贯穿正象限的工具和 Revolution 结果求交。
|
||
- `0 -> 0.5 -> 0` 工具 X 偏移轨迹使交集体积在 `12.3753114 -> 8.2914955 -> 12.3753114` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、5 Face,包含 100 条原生 history 记录,上游 Revolution naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused gate 已锁定交叠工具、偏移变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-rotate`
|
||
|
||
`revolution->rotate` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,绕锁定 Z 轴旋转 Revolution 结果。
|
||
- `15 -> 22.5 -> 15` 角度轨迹保持体积 `75.3982237`,改变边界并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、4 Face,包含 40 条原生 history 记录,上游 Revolution naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定;focused gate 已锁定旋转变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-pad`
|
||
|
||
`revolution->pad` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid和 23 条原生 history。
|
||
- 下游 `BRepPrimAPI_MakePrism` 在 `5 -> 7.5 -> 5` 长度轨迹中稳定拒绝 Revolution Solid 输入,三次均不产生 Shape、history 或 naming。
|
||
- FreeCAD `PartDesign::Pad` 使用同一 Revolution Solid 作 Profile,返回 `FeatureExtrusion: Length: Could not extrude the sketch!`,结果 Shape 为空、状态包含 `Touched/Invalid`。
|
||
- transaction abort 后对象集与 Revolution 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致且文档无污染。
|
||
- focused ordered-pair gate 已锁定两阶段 builder、异常传输、精确诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-pocket`
|
||
|
||
`revolution->pocket` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid 和 23 条原生 history。
|
||
- 下游使用真实 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,以同一截面 Profile 沿 Z 方向执行部分减料。
|
||
- `2 -> 1 -> 2` 深度轨迹使体积在 `64.8386964 -> 69.5677847 -> 64.8386964` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、7 Face,包含 104 条原生 history 记录,上游 Revolution naming 证据向下游传播。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused gate 已锁定部分深度、变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-loft`
|
||
|
||
`revolution->loft` 已完成 FreeCAD 文档前置拒绝分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid 和 23 条原生 history。
|
||
- OCCT `BRepOffsetAPI_ThruSections` 在 `false -> true -> false` ruled 轨迹中均产生 `isValid:false`、负体积的 `kernel-invalid-result`,三次诊断精确恢复。
|
||
- FreeCAD `Part::Loft` 对 Revolution Solid section 返回 `Profile shape is not a single vertex, edge, wire nor face.`,结果 Shape 为空、状态包含 `Touched/Invalid`。
|
||
- transaction abort 后对象集与 Revolution 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。
|
||
- focused gate 已锁定 FreeCAD 决策权、OCCT 无效结果、精确失败信息、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-pipe`
|
||
|
||
`revolution->pipe` 已完成原生 builder 拒绝分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid 和 23 条原生 history。
|
||
- OCCT `BRepOffsetAPI_MakePipe` 在 `15 -> 12 -> 15` spine 长度轨迹中均于 builder 阶段抛出稳定 Emscripten C++ 异常,不产生 Shape、history 或 naming。
|
||
- FreeCAD `Part::Sweep` 对同一 Revolution Solid section 返回 `A fatal error occurred when making the sweep`,结果 Shape 为空、状态包含 `Touched/Invalid`。
|
||
- transaction abort 后对象集与 Revolution 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。
|
||
- focused gate 已锁定异常阶段、输入数、精确失败信息、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-revolution`
|
||
|
||
`revolution->revolution` 已完成原生 builder 拒绝分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。
|
||
- 下游再次使用 `BRepPrimAPI_MakeRevol`,对 Revolution Solid 在 `360 -> 270 -> 360` 角度轨迹中稳定于 builder 阶段抛出 Emscripten C++ 异常;三次均不产生 Shape、history 或 naming。
|
||
- FreeCAD `Part::Revolution` 使用同一 Revolution Solid 作为 Source,返回 `Solids are not Processed`,结果 Shape 为空、状态包含 `Touched/Invalid`。
|
||
- transaction abort 后对象集与 Revolution 源 Shape 完整恢复,源 Shape 体积、拓扑和 BREP 哈希保持一致;干净 FCStd save/reopen/resave 三阶段一致且文档无污染。
|
||
- focused ordered-pair gate 已锁定两阶段 Revolution builder、异常传输、精确诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-groove`
|
||
|
||
`revolution->groove` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。
|
||
- 下游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 Revolution 结果执行旋转减料;名义结果为有效 1 Solid、10 Face、体积 `71.0943912`,包含 43 条原生 history。
|
||
- `360 -> 180 -> 360` 角度轨迹使体积在 `71.0943912 -> 73.2463075 -> 71.0943912` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 Revolution/Groove builder、角度变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-fillet`
|
||
|
||
`revolution->fillet` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。
|
||
- 下游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 Revolution 结果的原生边执行全边圆角;名义结果为有效 1 Solid、8 Face、体积 `73.6722933`,包含 48 条原生 history。
|
||
- `0.4 -> 0.6 -> 0.4` 半径轨迹使体积在 `73.6722933 -> 71.5148803 -> 73.6722933` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 Revolution/Fillet builder、原生边选择、半径变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-chamfer`
|
||
|
||
`revolution->chamfer` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。
|
||
- 下游使用真实 `BRepFilletAPI_MakeChamfer` 单输入 builder,对 Revolution 结果的原生边执行全边倒角;名义结果为有效 1 Solid、8 Face、体积 `71.3769851`,包含 48 条原生 history。
|
||
- `0.4 -> 0.6 -> 0.4` 距离轨迹使体积在 `71.3769851 -> 66.3504368 -> 71.3769851` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 Revolution/Chamfer builder、原生边选择、距离变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-hole`
|
||
|
||
`revolution->hole` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。
|
||
- 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` builder,在锁定位置 `[0, 1.5, 0]`、方向 `+Z` 和深度 `0.1` 的局部圆柱刀具上执行减料;名义结果为有效 1 Solid、8 Face、体积 `75.3729574`,包含 19 条原生 history。
|
||
- `0.4 -> 0.6 -> 0.4` 半径轨迹使体积在 `75.3729574 -> 75.3414747 -> 75.3729574` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 Revolution/Hole builder、局部圆柱刀具、半径变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-draft`
|
||
|
||
`revolution->draft` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。
|
||
- 下游使用真实 `BRepOffsetAPI_DraftAngle` 单输入 builder,对锁定原生 Face、中性面和 +Z 拉伸方向执行拔模;名义结果为有效 1 Solid、4 Face、体积 `75.3982238`,包含 3 条原生 history。
|
||
- `5 -> 8 -> 5` 角度轨迹使 Y 方向边界在 `-0.3154312 -> -0.5067054 -> -0.3154312` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Revolution naming 证据向下游传播,下游获得无歧义 `native-evidence` naming;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 Revolution/DraftAngle builder、原生 Face 选择、角度变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-thickness`
|
||
|
||
`revolution->thickness` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。
|
||
- 下游使用真实 `BRepOffsetAPI_MakeThickSolid` 单输入 builder,对锁定原生 Face 执行厚壳;名义结果为有效 1 Solid、8 Face、体积 `26.7412367`,包含 39 条原生 history。
|
||
- `-0.4 -> -0.6 -> -0.4` offset 轨迹使体积在 `26.7412367 -> 38.9808816 -> 26.7412367` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 Revolution/Thickness builder、原生 Face 选择、offset 变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-linear-pattern`
|
||
|
||
`revolution->linear-pattern` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,将 Revolution 结果沿 X 方向复制并融合;专用 `4 -> 3 -> 4` 平移轨迹确保所有状态保持单 Solid。
|
||
- 平移轨迹使体积在 `132.2115549 -> 126.3867082 -> 132.2115549` 间变化,并精确恢复名义摘要、history 与语义 naming;名义结果为 12 Face,包含 53 条原生 history。
|
||
- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 Revolution/LinearPattern builder、单 Solid 约束、平移变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-polar-pattern`
|
||
|
||
`revolution->polar-pattern` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。
|
||
- 默认 `30°` 轨迹触发原生 WASM 越界中止,未被误记为接受;改用保持实例相交且稳定的 `10 -> 15 -> 10` 专用角度轨迹。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,将旋转实例融合为单 Solid;角度轨迹使体积在 `87.2727929 -> 92.4535717 -> 87.2727929` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 名义结果为有效 1 Solid、14 Face,包含 70 条原生 history;上游 Revolution naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定专用角度轨迹、单 Solid 约束、变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-mirrored`
|
||
|
||
`revolution->mirrored` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,将 Revolution 结果关于 X=`0` 镜像并融合为单 Solid;专用 `0 -> 0.5 -> 0` 平面轨迹避免默认分离实例。
|
||
- 平面轨迹使体积在 `120.1447575 -> 126.3867082 -> 120.1447575` 间变化,并精确恢复名义摘要、history 与语义 naming;名义结果为 14 Face,包含 92 条原生 history。
|
||
- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定专用镜像平面、单 Solid 约束、变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-revolution-multi-transform`
|
||
|
||
`revolution->multi-transform` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。
|
||
- 下游使用 ordered `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,锁定镜像平面 `X=0`,按平移和镜像顺序生成并融合四个实例;名义结果为有效 1 Solid、48 Face、体积 `190.7882692`,包含 313 条原生 history。
|
||
- `4 -> 3 -> 4` 平移轨迹使体积在 `190.7882692 -> 155.9773894 -> 190.7882692` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定 ordered builder、镜像平面、单 Solid 约束、平移变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-fuse`
|
||
|
||
`groove->fuse` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成体积 `995.287611` 的有效单 Solid、10 Face 和 18 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder;专用 `8 -> 7 -> 8` 工具 X 偏移轨迹保持实体交叠并融合为单 Solid。
|
||
- 轨迹使体积在 `1070.287611 -> 1045.287611 -> 1070.287611` 间变化,并精确恢复名义摘要、history 与语义 naming;名义结果为 17 Face,包含 52 条原生 history。
|
||
- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 Groove/Fuse builder、专用交叠轨迹、变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-cut`
|
||
|
||
`groove->cut` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成体积 `995.287611` 的有效单 Solid、10 Face 和 18 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,对 Groove 结果继续执行减料;名义结果为有效 1 Solid、14 Face、体积 `931.287611`,包含 22 条原生 history。
|
||
- `4 -> 3 -> 4` 工具尺寸轨迹使体积在 `931.287611 -> 968.287611 -> 931.287611` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 Groove/Cut builder、工具变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-common`
|
||
|
||
`groove->common` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Common` 双输入 builder,与 Groove 结果及交叠工具执行布尔交集;名义结果为有效 1 Solid、6 Face、体积 `75`,包含 197 条原生 history。
|
||
- `7 -> 6 -> 7` 工具 X 偏移轨迹使体积在 `75 -> 100 -> 75` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 Groove/Common builder、交叠轨迹、变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-rotate`
|
||
|
||
`groove->rotate` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,对 Groove 结果绕 Z 轴旋转;名义结果保持有效 1 Solid、10 Face、体积 `995.287611`,包含 154 条原生 history。
|
||
- `15 -> 22.5 -> 15` 角度轨迹改变包围盒(名义 `[-2.5881906, -1e-7, -1e-7, 9.6592584, 12.2474488, 10.0000001]`,编辑态 `[-3.8268344, -1e-7, -1e-7, 9.2387954, 13.0656297, 10.0000001]`),并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 Groove/Transform builder、角度变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-pad`
|
||
|
||
`groove->pad` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。
|
||
- OCCT `BRepPrimAPI_MakePrism` 对 Groove Solid 在 `5 -> 7.5 -> 5` 长度轨迹中稳定于 builder 阶段拒绝,三次均不产生结果 Shape 或 history。
|
||
- FreeCAD `PartDesign::Pad` 使用同一 Groove Solid 作为 Profile,返回 `FeatureExtrusion: Length: Could not extrude the sketch!`,结果 Shape 为空且状态含 `Invalid`;未伪造下游命名或变异证据。
|
||
- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定拒绝阶段、诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-pocket`
|
||
|
||
`groove->pocket` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。
|
||
- 下游使用真实 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,对 Groove 结果执行减料拉伸;名义结果为有效 1 Solid、13 Face、体积 `966.8584073`,包含 91 条原生 history。
|
||
- `5 -> 4 -> 5` 深度轨迹使体积在 `966.8584073 -> 972.8584073 -> 966.8584073` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 Groove/Pocket builder、深度变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-loft`
|
||
|
||
`groove->loft` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。
|
||
- OCCT `BRepOffsetAPI_ThruSections` 在 `false -> true -> false` ruled 轨迹中生成有效 Shape 和 24 条 history,但该结果仅作为 `kernel-superset-only` 诊断,不提升 FreeCAD 能力。
|
||
- FreeCAD `Part::Loft` 对 Groove Solid section 返回 `Profile shape is not a single vertex, edge, wire nor face.`,结果 Shape 为空且状态含 `Invalid`;未伪造下游命名或接受变异证据。
|
||
- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定 FreeCAD 决策权、kernel 诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-pipe`
|
||
|
||
`groove->pipe` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。
|
||
- OCCT `BRepOffsetAPI_MakePipe` 在 `15 -> 12 -> 15` spine 长度轨迹中均产生无效结果,仅记为 `kernel-invalid-result`,不伪造接受 Shape/history。
|
||
- FreeCAD `Part::Sweep` 对 Groove Solid section 返回 `A fatal error occurred when making the sweep`,结果 Shape 为空且状态含 `Invalid`。
|
||
- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定 FreeCAD 决策权、kernel 无效诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-revolution`
|
||
|
||
`groove->revolution` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。
|
||
- OCCT `BRepPrimAPI_MakeRevol` 对 Groove Solid 在 `360 -> 270 -> 360` 角度轨迹中稳定于 builder 阶段拒绝,三次均不产生结果 Shape 或 history。
|
||
- FreeCAD `Part::Revolution` 使用同一 Groove Solid 作为 Source,返回 `Solids are not Processed`,结果 Shape 为空且状态含 `Invalid`;未伪造下游命名或变异证据。
|
||
- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定拒绝阶段、诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-groove`
|
||
|
||
`groove->groove` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。
|
||
- 下游再次使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,并将第二阶段 profile 真实放置在 `profileX=2` 以切削不同半径区域;名义结果为有效 1 Solid、14 Face、体积 `983.5066386`,包含 18 条原生 history。
|
||
- `360 -> 180 -> 360` 角度轨迹改变拓扑(编辑态 11 Face、28 Edge)并精确恢复名义摘要、history 与语义 naming;未采用同 profile 的 no-op 轨迹。
|
||
- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
- focused ordered-pair gate 已锁定两阶段 Groove/Groove builder、专用 profile、角度变异、恢复、history、naming 和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-fillet`
|
||
|
||
`groove->fillet` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face、24 Edge 和 18 条原生 history。
|
||
- 下游按 native contract 使用 `BRepFilletAPI_MakeFillet` 对全部 24 条源边执行圆角;`0.4 -> 0.6 -> 0.4` 半径轨迹三次均稳定在 OCCT builder 阶段以 Emscripten C++ 异常拒绝,没有产生 Shape、history 或下游 naming。
|
||
- FreeCAD 1.1.1 `Part::Fillet` 对同一 Groove Solid 和全部源边返回 `BRep_API: command not done`;结果 Shape 为空、状态包含 `Invalid`,与 OCCT 拒绝结论一致。
|
||
- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定拒绝阶段、异常传输、精确诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-chamfer`
|
||
|
||
`groove->chamfer` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,生成有效 1 Solid、体积 `995.287611`、10 Face、24 Edge 和 18 条原生 history。
|
||
- 下游按 native contract 使用 `BRepFilletAPI_MakeChamfer` 对全部 24 条源边执行对称倒角;`0.4 -> 0.6 -> 0.4` 距离轨迹稳定触发原生 WASM `memory access out of bounds`,三次均不产生 Shape、history 或下游 naming。
|
||
- FreeCAD 1.1.1 `Part::Chamfer` 对同一 Groove Solid 和全部源边返回 `BRep_API: command not done`;结果 Shape 为空且状态包含 `Invalid`。
|
||
- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定 WASM 崩溃签名、FreeCAD 精确诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-hole`
|
||
|
||
`groove->hole` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。
|
||
- 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` builder,在 Groove 结果中心执行贯穿孔;名义结果为有效 1 Solid、11 Face、体积 `963.8716845`,包含 23 条原生 history。
|
||
- `1 -> 1.5 -> 1` 半径轨迹使体积在 `963.8716845 -> 924.6017763 -> 963.8716845` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 下游获得无歧义 `native-evidence` naming,上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定两阶段 builder、变异、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-draft`
|
||
|
||
`groove->draft` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。
|
||
- 下游使用真实 `BRepOffsetAPI_DraftAngle` 单输入 builder,对锁定的原生 Face、中性面和 +Z 方向执行拔模;名义结果为有效 1 Solid、10 Face、体积 `951.8050786`,包含 9 条原生 history。
|
||
- `5 -> 8 -> 5` 角度轨迹使体积在 `951.8050786 -> 925.4360727 -> 951.8050786` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 下游 9 条选定 history 均形成无歧义 `native-evidence` naming;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定 Face 选择、方向、变异、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-thickness`
|
||
|
||
`groove->thickness` 已完成原生拒绝分类,并显式保留 Web 原生与 FreeCAD profile 的能力差异:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。
|
||
- Web 原生下游使用 `BRepOffsetAPI_MakeThickSolid` 对锁定的第二个 Face 执行厚壳;`-0.4 -> -0.6 -> -0.4` offset 轨迹稳定触发 WASM `memory access out of bounds`,三次均不产生 Shape、history 或下游 naming。
|
||
- FreeCAD 1.1.1 `Part::Thickness` 对同一 Groove Solid、`Face2` 和 `Value=-0.4` 生成有效 Shape,状态为 `Valid`;该 FreeCAD 接受证据没有被用于伪造 Web 原生接受能力。
|
||
- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定崩溃签名、FreeCAD 接受诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-linear-pattern`
|
||
|
||
`groove->linear-pattern` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,沿 X 方向复制并融合 Groove 结果;名义结果为有效 1 Solid、19 Face、体积 `1795.287611`,包含 119 条原生 history。
|
||
- `8 -> 9 -> 8` 平移轨迹始终保持单 Solid,使体积在 `1795.287611 -> 1894.1260552 -> 1795.287611` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定交叠融合、变异、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-polar-pattern`
|
||
|
||
`groove->polar-pattern` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。
|
||
- 默认 `30°` 及小角度 `10°/15°` 交叠融合轨迹均触发原生 WASM 越界,未被误记为接受;最终采用稳定且仍具真实拓扑变异的 `90 -> 120 -> 90` 专用轨迹。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder;`90°` 名义态为有效 1 Solid、19 Face、体积 `1990.575222` 和 98 条 history,`120°` 编辑态真实变为 2 Solid,恢复后摘要、history 与语义 naming 精确复原。
|
||
- FreeCAD FCStd save/reopen/resave 三阶段保持名义单 Solid Shape 与 naming evidence 一致;focused gate 已锁定专用角度轨迹、真实多实体编辑态、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-mirrored`
|
||
|
||
`groove->mirrored` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder;关于 `x=5` 的名义镜像让两侧缺口互补融合,得到有效 1 Solid、10 Face、体积 `1000` 和 216 条原生 history。
|
||
- `5 -> 6 -> 5` 镜像平面轨迹使体积在 `1000 -> 1190.575222 -> 1000` 间变化,编辑态增至 22 Face,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定镜像平面、互补融合、变异、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-groove-multi-transform`
|
||
|
||
`groove->multi-transform` 已完成原生接受分类,并闭合 Groove 起始行的全部 19 个有序操作对:
|
||
|
||
- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。
|
||
- 下游使用 ordered `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,依次执行 X 平移和关于 `x=5` 的镜像并融合;名义结果为有效 1 Solid、24 Face、体积 `2600`,包含 525 条原生 history。
|
||
- `8 -> 9 -> 8` 首步 X 平移轨迹使体积在 `2600 -> 2797.6768884 -> 2600` 间变化,编辑态增至 40 Face,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定 ordered builder、变异、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-fuse`
|
||
|
||
`fillet->fuse` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,并以相交工具形成有效 1 Solid;名义结果为 33 Face、体积 `1071.3666774`,包含 79 条原生 history。
|
||
- `8 -> 7 -> 8` 工具 X 偏移轨迹使体积在 `1071.3666774 -> 1046.4010137 -> 1071.3666774` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Fillet naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定相交融合、变异、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-cut`
|
||
|
||
`fillet->cut` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,对 Fillet 结果执行减料;名义结果为有效 1 Solid、31 Face、体积 `932.1027009`,包含 42 条原生 history。
|
||
- `4 -> 3 -> 4` 工具尺寸轨迹使体积在 `932.1027009 -> 969.0683646 -> 932.1027009` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Fillet naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定减料变异、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-common`
|
||
|
||
`fillet->common` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Common` 双输入 builder,以相交工具求 Fillet 结果的布尔交集;名义结果为有效 1 Solid、10 Face、体积 `74.5643421`,包含 360 条原生 history。
|
||
- `7 -> 6 -> 7` 工具 X 偏移轨迹使体积在 `74.5643421 -> 99.5300058 -> 74.5643421` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Fillet naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定有体积交集、变异、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-rotate`
|
||
|
||
`fillet->rotate` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform` 单输入 builder 绕 Z 轴旋转 Fillet 结果;名义结果保持有效 1 Solid、26 Face 和体积 `995.9653557`,包含 338 条原生 history。
|
||
- `15 -> 22.5 -> 15` 角度轨迹改变包围盒(名义 `[-2.4982926, 0.0898978, -1e-7, 9.5693604, 12.1575509, 10.0000001]`,编辑态 `[-3.7042092, 0.1226251, -1e-7, 9.1161702, 12.9430046, 10.0000001]`),并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Fillet naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定刚体变换、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-pad`
|
||
|
||
`fillet->pad` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- OCCT `BRepPrimAPI_MakePrism` 对 Fillet Solid 在 `5 -> 7.5 -> 5` 长度轨迹中稳定于 builder 阶段拒绝,三次均不产生结果 Shape 或 history。
|
||
- FreeCAD `PartDesign::Pad` 使用同一 Fillet Solid 作为 Profile,返回 `FeatureExtrusion: Length: Could not extrude the sketch!`,结果 Shape 为空且状态含 `Invalid`;未伪造下游 naming 或接受变异证据。
|
||
- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定拒绝阶段、诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-pocket`
|
||
|
||
`fillet->pocket` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- 下游使用真实 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,对 Fillet 结果执行减料拉伸;名义结果为有效 1 Solid、28 Face、体积 `966.2980048`,包含 100 条原生 history。
|
||
- `5 -> 4 -> 5` 深度轨迹使体积在 `966.2980048 -> 972.2636685 -> 966.2980048` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Fillet naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定减料拉伸、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-loft`
|
||
|
||
`fillet->loft` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- OCCT `BRepOffsetAPI_ThruSections` 在 `false -> true -> false` ruled 轨迹中生成有效 1 Solid 和 24 条 history,但该结果仅作为 `kernel-superset-only` 诊断,不提升 FreeCAD 能力。
|
||
- FreeCAD `Part::Loft` 对 Fillet Solid section 返回 `Profile shape is not a single vertex, edge, wire nor face.`,结果 Shape 为空且状态含 `Invalid`;未伪造下游 naming 或接受变异证据。
|
||
- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定 FreeCAD 决策权、kernel 诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-pipe`
|
||
|
||
`fillet->pipe` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- OCCT `BRepOffsetAPI_MakePipe` 在 `15 -> 12 -> 15` spine 长度轨迹中均产生无效零体积 Shape 和 28 条 history,仅记为 `kernel-invalid-result`,不伪造接受 Shape。
|
||
- FreeCAD `Part::Sweep` 对 Fillet Solid section 返回 `A fatal error occurred when making the sweep`,结果 Shape 为空且状态含 `Invalid`。
|
||
- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定 FreeCAD 决策权、kernel 无效诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-revolution`
|
||
|
||
`fillet->revolution` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- OCCT `BRepPrimAPI_MakeRevol` 对 Fillet Solid 在 `360 -> 270 -> 360` 角度轨迹中稳定于 builder 阶段拒绝,三次均不产生结果 Shape 或 history。
|
||
- FreeCAD `Part::Revolution` 使用同一 Fillet Solid 作为 Source,返回 `Solids are not Processed`,结果 Shape 为空且状态含 `Invalid`;未伪造下游 naming 或接受变异证据。
|
||
- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定拒绝阶段、精确诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-groove`
|
||
|
||
`fillet->groove` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- 下游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder 对 Fillet 结果执行旋转减料;名义结果为有效 1 Solid、30 Face、体积 `991.2529668`,包含 18 条原生 history。
|
||
- `360 -> 180 -> 360` 角度轨迹使拓扑从 30 Face 变为 27 Face 后恢复,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Fillet naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定旋转减料、变异、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-fillet`
|
||
|
||
`fillet->fillet` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- 第二个 OCCT `BRepFilletAPI_MakeFillet` 对已圆角 Solid 在 `0.4 -> 0.6 -> 0.4` 半径轨迹中稳定于 builder 阶段拒绝,三次均不产生结果 Shape 或 history。
|
||
- FreeCAD `Part::Fillet` 使用同一 Fillet Solid 作为 Base,返回 `There are no suitable edges for chamfer or fillet`,结果 Shape 为空且状态含 `Invalid`;未伪造下游 naming 或接受变异证据。
|
||
- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定拒绝阶段、精确诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-chamfer`
|
||
|
||
`fillet->chamfer` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- OCCT `BRepFilletAPI_MakeChamfer` 对 Fillet Solid 在 `0.4 -> 0.6 -> 0.4` 距离轨迹中稳定于 builder 阶段拒绝,三次均不产生结果 Shape 或 history。
|
||
- FreeCAD `Part::Chamfer` 使用同一 Fillet Solid 作为 Base,返回 `There are no suitable edges for chamfer or fillet`,结果 Shape 为空且状态含 `Invalid`;未伪造下游 naming 或接受变异证据。
|
||
- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定拒绝阶段、精确诊断、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-hole`
|
||
|
||
`fillet->hole` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` builder 对 Fillet 结果执行中心贯穿孔;名义结果为有效 1 Solid、27 Face、体积 `964.5494292`,包含 23 条原生 history。
|
||
- `1 -> 1.5 -> 1` 半径轨迹使体积在 `964.5494292 -> 925.279521 -> 964.5494292` 间变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 下游获得无歧义 `native-evidence` naming,上游 Fillet 证据已传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。
|
||
|
||
### `TSN-PAIR-fillet-draft`
|
||
|
||
`fillet->draft` 已完成原生拒绝分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- 只读原生适用性扫描枚举 Fillet 结果的全部 26 个 Face,在锁定的 +Z 拉伸方向与 XY 中性面下均无有效 Draft Shape;没有用选面 fallback 伪造接受。
|
||
- OCCT `BRepOffsetAPI_DraftAngle` 在 `5 -> 8 -> 5` 角度轨迹中稳定于 builder 阶段拒绝,三次均不产生结果 Shape 或 history。
|
||
- FreeCAD `PartDesign::Draft` 通过事务内 Body、DatumPlane、DatumLine 和 `PartDesign::Feature` Base 评估同一 Fillet 几何;Base 的有效性、拓扑数、体积、面积和边界摘要精确一致,同时显式记录 FreeCAD 元素映射导致的 BREP 重序列化哈希差异。
|
||
- FreeCAD 结果合同为空状态字符串、空 Shape 和 `Touched/Invalid`;transaction abort 后 Body 及所有临时对象消失,顶层源 Shape 的 BREP 哈希精确恢复,干净 FCStd save/reopen/resave 三阶段一致。
|
||
|
||
### `TSN-PAIR-fillet-thickness`
|
||
|
||
`fillet->thickness` 已完成原生 no-op 拒绝分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- 只读原生扫描确认:全部 26 个 Face 在 `-0.4/-0.6` offset 下均返回与输入同摘要的 Shape;6 个主面的 `0.4/0.6` 正向 offset 只产生无效 Shape 或 builder 拒绝,没有可用的真实变异轨迹。
|
||
- OCCT `BRepOffsetAPI_MakeThickSolid` 在 `-0.4 -> -0.6 -> -0.4` 轨迹中每次均返回有效 Shape 和 1 条 history,但有效性、Solid/Face/Edge/Vertex、体积、面积、边界与 history 哈希全部不变,因此被显式分类为 `kernel-no-op`,不冒充接受。
|
||
- FreeCAD `Part::Thickness` 对同一 Fillet Solid 和 `Face2` 返回 `Valid/Up-to-date` 且 Shape 非空,但结果 Shape 摘要与输入逐字段相同,因此同样记为 `freecadProfileNoOp`。
|
||
- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定双 no-op、回滚和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-linear-pattern`
|
||
|
||
`fillet->linear-pattern` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder 沿 X 方向复制并融合 Fillet 结果;名义结果为有效 1 Solid、42 Face、体积 `1794.8665943`,包含 266 条原生 history。
|
||
- `8 -> 9 -> 8` 平移轨迹使体积在 `1794.8665943 -> 1894.7292492 -> 1794.8665943` 间变化,X 上界从 18 变为 19 后恢复,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Fillet naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定交叠融合、变异、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-polar-pattern`
|
||
|
||
`fillet->polar-pattern` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder 绕 Z 轴旋转复制并融合 Fillet 结果;30 度名义结果为有效 1 Solid、46 Face、体积 `1417.6209625`,包含 234 条原生 history。
|
||
- `30 -> 45 -> 30` 角度轨迹使体积在 `1417.6209625 -> 1580.485276 -> 1417.6209625` 间变化,面积和边界也同步变化,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Fillet naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定旋转融合、变异、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-fillet-multi-transform`
|
||
|
||
`fillet->multi-transform` 已完成原生接受分类,并闭合 Fillet 起始行中尚需分类的全部有序操作对:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 10x10x10 Box 的全部边执行圆角,生成有效 1 Solid、26 Face、体积 `995.9653557` 和 150 条原生 history。
|
||
- 下游使用 ordered `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,依次执行 X 平移、关于 `x=5` 的镜像并融合;名义结果为有效 1 Solid、58 Face、体积 `2593.7678329`,包含 1103 条原生 history。
|
||
- `8 -> 9 -> 8` 首步 X 平移轨迹使体积在 `2593.7678329 -> 2793.4931426 -> 2593.7678329` 间变化,边界从 `[-8, 18]` 扩展为 `[-9, 19]` 后恢复,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Fillet naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定 ordered builder、变异、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-chamfer-fuse`
|
||
|
||
`chamfer->fuse` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeChamfer` 单输入 builder,对 10x10x10 Box 的全部边执行倒角,生成有效 1 Solid、26 Face、体积 `990.7413333` 和 150 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,以相交工具融合 Chamfer 结果;名义结果为有效 1 Solid、33 Face、体积 `1066.6586667`,包含 78 条原生 history。
|
||
- `8 -> 7 -> 8` 工具 X 偏移轨迹使体积在 `1066.6586667 -> 1041.7386667 -> 1066.6586667` 间变化,X 上界从 13 变为 12 后恢复,并精确恢复名义摘要、history 与语义 naming。
|
||
- 上游 Chamfer naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定相交融合、变异、恢复和持久化证据。
|
||
|
||
### `TSN-PAIR-chamfer-cut`
|
||
|
||
`chamfer->cut` 已完成原生接受分类:
|
||
|
||
- 上游使用真实 `BRepFilletAPI_MakeChamfer` 单输入 builder,对 10x10x10 Box 的全部边执行倒角,生成有效 1 Solid、26 Face、体积 `990.7413333`、面积 `571.4001834` 和 150 条原生 history。
|
||
- 下游使用真实 `BRepAlgoAPI_Cut` 双输入 builder;名义结果为有效 1 Solid、31 Face、体积 `927.0613333`、面积 `604.1774417` 和 42 条原生 history。
|
||
- `4 -> 3 -> 4` 工具尺寸轨迹使体积在 `927.0613333 -> 963.9813333 -> 927.0613333` 间变化,编辑态面积同步变化;恢复态的几何摘要、history hash 和语义 naming 精确回到名义态。
|
||
- 上游 Chamfer naming evidence 向下游传播;下游结果因对称拓扑保持 `ambiguous`,未伪造唯一私有 token,JSON round-trip 稳定。
|
||
- FreeCAD 1.1.1 FCStd save/reopen/resave 三阶段均保持有效 1 Solid、31 Face、63 Edge、34 Vertex、体积 `927.0613333`、面积 `604.1774417` 及 naming evidence hash `fbd3e2b6...` 一致;focused ordered-pair gate 已通过。
|
||
- 机器队列已自动前移一项;新的活动任务仍以 `config/freecad-active-work-queue.json.nextTask` 为唯一来源。
|
||
|
||
后续任务必须从机器队列的最新 `nextTask` 继续,不在本文手工维护任务名称。
|