feat: classify fillet ordered pair row
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled

This commit is contained in:
2026-08-16 01:02:00 -04:00
parent 372861e015
commit 03339a6360
8 changed files with 6011 additions and 116 deletions

View File

@@ -1919,4 +1919,186 @@ git diff --check
- `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 下均返回与输入同摘要的 Shape6 个主面的 `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 已锁定相交融合、变异、恢复和持久化证据。
后续任务必须从机器队列的最新 `nextTask` 继续,不在本文手工维护任务名称。