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