# Face 一级关系专项测试说明 这份文档用于模型工程师专项测试当前 Face 阶段能力。当前版本还不能说是完整 CAD 级 Face 参数化,但已经可以围绕 STEP/B-Rep 的一级关系做集中验证。 ## 当前目标 当前阶段只处理 Face 的一级拓扑关系: - 当前选中 Face 或同域共面/同圆柱面区域。 - 当前 Face 边界上的 Edge / Vertex。 - 与当前 Face 共享边的一级相邻 Face。 二级、三级关系暂不自动递归传播。也就是说,相邻 Face 再连接出去的孔壁、槽底、台阶、其它特征,目前只记录为后续能力目标,不会强行一起修改。 ## 建议重点测试 1. 简单平面 Face - 测试 `面积`、`U向尺寸`、`V向尺寸`、`中心`、`偏移曲面`。 - 分别测试 `局部重建`、`移动特征`、`缩放特征`、`拉伸/切除`。 - 简单正方体/长方体应优先通过。 2. 共面碎面 - 如果一个大平面被 STEP 拆成多个共面 Face,`拉伸/切除` 应尽量按同一片平面区域处理。 - 修改后要观察是否仍是单 Solid,边界是否明显丢失。 3. 圆柱端盖 / 空心圆柱环形端面 - 可重点测试 `偏移曲面` 的 `拉伸/切除`。 - 简单圆柱上底面、下底面和同轴空心圆柱环形端面应能改变高度。 - 如果完整圆柱侧面被 STEP 拆成多个同域圆柱 Face,属性表仍应按完整圆柱显示 `高度`、`直径/半径`,不能误显示成槽/半孔参数。 4. 默认模型里的 Face 594 - 当前已补充回归:Face 594 的 `偏移曲面(拉伸/切除)` 从 `57.5` 改到 `90` 应能成功。 - 该操作会重建目标端盖,旧拓扑 Face ID 可能变成新 Face,例如测试中会定位到新目标面 `Face 1805`。 - 这是正常现象。判断是否成功应看目标偏移曲面是否达到 `90`、内边界是否保留、逻辑选中对象是否继续指向修改后的新面,而不是死盯旧 Face ID。 - 这次修复过一个 UI 回归:属性表显示的方向和按钮执行时的快速计划方向必须一致,不能把 `normal` 和反向的 `oriented_normal` 混用。 5. 壳体厚度 - 识别到相对平面时,可以测试 `壳体厚度`。 - 当前有 `拉伸/切除` 和 `缩放特征` 两种语义,测试时要区分它们。 ## 暂时不要当作失败的情况 - 修改后 Face ID 变化:STEP/B-Rep 重建后拓扑编号变化是正常的,应看逻辑 Face 是否跟到新面。 - 复杂多内孔端盖向内切除被阻止:如果会涉及孔壁、槽底、台阶背后的二级/三级关系,当前版本可能会快速阻止,这是预期保护。 - 自由曲面、B-spline 面、复杂壳体局部区域不能改:这些暂时不是 Face 一级稳定能力。 - STEP 原 CAD 历史无法恢复:当前参数是 B-Rep 几何语义,不等于原 CAD 软件里的草图尺寸或建模历史参数。 ## 测试时重点观察 - 软件是否卡死、闪退、长时间无法关闭。 - 操作失败后原模型是否保持不变。 - 修改成功后是否仍是有效 B-Rep,是否保持单 Solid。 - 当前选中对象是否继续指向被修改后的新 Face。 - 属性表里的当前值是否能回读到新几何。 - 失败提示是否能说明原因,而不是只报无效 shape。 ## 当前判断 Face 一级关系可以继续交给模型工程师做专项测试,但还不能宣布完全完成。若简单平面、共面碎面、简单圆柱端盖、Face 594 这类基线场景仍失败,应优先修复;若是二级/三级关系、复杂自由曲面或复杂内孔向内切除,暂时可以记录为后续能力。