# ViewDesignEngine v3.6 — Trimmed Surface + 健壮布尔 > 制定: 2026-07-24 | 状态: 执行中 ## 核心目标 对齐工业 CAD 内核,从「能用」到「可靠」。 ## 1. 🔧 TrimmedSurface 数据结构 B-Rep 的原子不是完整曲面,是裁剪曲面。 - [ ] `include/vde/brep/trimmed_surface.h` — TrimmedSurface 类 - [ ] 基曲面 + 裁剪环(p-curve 参数空间曲线列表) - [ ] `evaluate(u, v)` 需先判断 (u,v) 是否在裁剪区域内 - [ ] 重构 `BrepModel::Face` 使用 TrimmedSurface - [ ] 测试:矩形裁剪球面 → 球面片 ## 2. 🔗 Boolean 重写:SSI-based 替换 centroid 分类,成为真正的 CAD 内核布尔。 - [ ] Step 1: 对每个面对,计算曲面交线 (SSI) - [ ] Step 2: 用交线分割两个面(生成 TrimmedSurface) - [ ] Step 3: 对分割后的面片段分类 IN/OUT - [ ] Step 4: 缝合保留的面片段 - [ ] 测试:Union_DisjointBoxes → 正确合并 - [ ] 测试:Intersection_OverlappingBoxes → 精确交集 - [ ] 性能:从 1.8s → 目标 0.5s ## 3. 🩹 拓扑修复 导入 STEP 后常见问题:间隙、重叠、方向错误。 - [ ] `heal_gaps` — 合并距离 < tolerance 的顶点/边 - [ ] `heal_orientation` — 统一面方向 - [ ] `heal_topology` — 一站式修复 - [ ] 测试:修复后的 body 通过 validate() ## 4. 🔄 变半径倒圆 - [ ] `fillet_variable(body, edge_id, r_start, r_end)` - [ ] 沿边采样多个半径,线性插值 - [ ] 测试:盒子边缘 1→3mm 变半径倒圆 ## 5. ⚡ 并行布尔(如果时间够) - [ ] 面-面求交并行化 - [ ] 分类阶段并行化