docs: industrial CAD kernel alignment roadmap + v3.6 TrimmedSurface plan
CI / Build & Test (push) Failing after 16m58s
CI / Release Build (push) Failing after 35s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled

This commit is contained in:
茂之钳
2026-07-24 14:22:14 +00:00
parent 2c59c55c6b
commit 605e1aded5
2 changed files with 134 additions and 29 deletions
+39 -29
View File
@@ -1,39 +1,49 @@
# ViewDesignEngine v3.6 计划
# ViewDesignEngine v3.6 — Trimmed Surface + 健壮布尔
> 制定: 2026-07-24 | 状态: 计划
> 制定: 2026-07-24 | 状态: 执行
已完成 v3.0 → v3.5 六个版本迭代,覆盖:格式互操作、SDF 建模、工业强化、制造就绪、性能实战。
## 核心目标
## 建议方向
对齐工业 CAD 内核,从「能用」到「可靠」。
### 🎓 教育与社区
- 视频教程系列(B站/YouTube
- 交互式 PlaygroundWebAssembly 编译)
- 社区论坛 / 讨论区
## 1. 🔧 TrimmedSurface 数据结构
### 🔬 高级几何
- 曲面光顺(fairing
- 等距分析(curvature map
- 有限元网格(tetrahedral meshing
- 点云配准增强(全局 ICP + 特征匹配)
B-Rep 的原子不是完整曲面,是裁剪曲面。
### 🏭 制造集成
- CNC 后处理器(Haas/Fanuc/Siemens
- 3D 打印切片集成
- 成本估算(材料体积 × 单价)
- 工程图生成(DXF 导出)
- [ ] `include/vde/brep/trimmed_surface.h` — TrimmedSurface 类
- [ ] 基曲面 + 裁剪环(p-curve 参数空间曲线列表
- [ ] `evaluate(u, v)` 需先判断 (u,v) 是否在裁剪区域内
- [ ] 重构 `BrepModel::Face` 使用 TrimmedSurface
- [ ] 测试:矩形裁剪球面 → 球面片
### 🚀 性能突破
- GPU 加速(CUDA/OpenCL
- 分布式布尔运算
- SIMD 向量化
- 内存池分配器
## 2. 🔗 Boolean 重写:SSI-based
### 📱 跨平台
- WebAssembly 构建目标
- iOS/Android 绑定
- Unity/Unreal 插件
替换 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. ⚡ 并行布尔(如果时间够)
- [ ] 面-面求交并行化
- [ ] 分类阶段并行化
+95
View File
@@ -0,0 +1,95 @@
# ViewDesignEngine — 对齐工业 CAD 内核路线图
> 制定: 2026-07-24 | 目标: 达到 Parasolid/ACIS/CGM 水准
## 工业 CAD 内核核心能力矩阵
### 🏗️ 第一层:B-Rep 健壮性(地基)
| 能力 | 当前状态 | 目标 | 差距 |
|------|---------|------|------|
| 面-面求交 (SSI) | 递归细分基础版 | 完整牛顿精化 + 奇异处理 | 🟡 |
| **Trimmed Surface** | ❌ 没有 | 裁剪曲面是 B-Rep 的原子单位 | 🔴 |
| 布尔运算 | centroid + 面分割 | 全 SSI + 精确分类 + 健壮缝合 | 🔴 |
| 拓扑修复 (Healing) | ❌ 没有 | 导入 STEP 后自动修复间隙/重叠 | 🔴 |
| 容差系统 | 单一 1e-6 | 可配置 + fuzzy 比较 + 自适应 | 🟡 |
| 欧拉操作 | 部分 | 完整低层拓扑编辑 (KEV/KEF/KEMR) | 🟡 |
### 📐 第二层:曲面建模(高级)
| 能力 | 当前状态 | 目标 | 差距 |
|------|---------|------|------|
| G2/G3 连续性 | ❌ 没有 | 曲面间连续性分析 + 约束 | 🔴 |
| 全局光顺 (Fairing) | ❌ 没有 | 能量最小化曲面变形 | 🔴 |
| N边填充 | ❌ 没有 | N-sided hole filling | 🔴 |
| 曲面延伸 | ❌ 没有 | 沿边界延伸曲面 | 🔴 |
| 变半径倒圆 | ❌ 没有 | 可变半径 + 三面交角处理 | 🔴 |
| 等距/拔模 | 基础 offset | 精确等距 + 拔模角检测 | 🟡 |
### 🔗 第三层:装配体(协同)
| 能力 | 当前状态 | 目标 | 差距 |
|------|---------|------|------|
| 约束求解器 | 基础对齐 | 3D 约束系统:coincident/concentric/tangent/distance/angle + 联动求解 | 🔴 |
| 干涉检查 | ❌ 没有 | 快速干涉检测 + 体积计算 | 🟡 |
| 爆炸视图 | ❌ 没有 | 基于约束的自动爆炸 | 🟡 |
| 轻量化表示 | ❌ 没有 | tessellation 缓存 + LOD | 🟡 |
| 运动仿真 | ❌ 没有 | 运动副 + 碰撞响应 | 🔴 |
### 📊 第四层:工程图(出图)
| 能力 | 当前状态 | 目标 | 差距 |
|------|---------|------|------|
| 投影视图 | ❌ 没有 | 三视图 + 轴测图自动生成 | 🔴 |
| 剖视图 | ❌ 没有 | 全剖/半剖/局部剖 | 🔴 |
| 尺寸标注 | ❌ 没有 | 线性/角度/半径/直径标注 | 🔴 |
| DXF 导出 | ❌ 没有 | 标准 CAD 图纸交换 | 🔴 |
| GD&T | ❌ 没有 | 几何公差标注 | 🔴 |
### ⚡ 第五层:性能与规模(引擎)
| 能力 | 当前状态 | 目标 | 差距 |
|------|---------|------|------|
| 多线程并行 | ❌ 单线程 | 布尔/MC/求交 4-8x 加速 | 🔴 |
| 增量更新 | ❌ 没有 | 修改特征 → 局部重建 | 🔴 |
| 内存管理 | 基础 | 对象池 + 共享几何 + 写时复制 | 🟡 |
| 渐进式显示 | ❌ 没有 | LOD + streaming | 🟡 |
| 大装配 (10K+ 件) | ❌ 不可用 | 实例化 + 空间索引 | 🔴 |
---
## 实施路线图
### v3.6 — Trimmed Surface + 健壮布尔(2-3 周)
1. 实现 TrimmedSurface 数据结构
2. 用 TrimmedSurface 替换当前 NurbsSurface 作为 Face 的几何
3. 重写 Boolean:SSI → 面分割 → 分类 → 缝合
4. 基础拓扑修复(heal_gaps, merge_coincident_edges
### v3.7 — 高级曲面 + 约束(2-3 周)
1. G2 连续性分析 + 约束插值
2. 变半径倒圆
3. N边填充
4. 3D 约束求解器(用于装配体)
### v3.8 — 工程图(2-3 周)
1. 投影视图生成(H-BRep → 2D 轮廓)
2. 剖视图
3. 尺寸标注
4. DXF 导出
### v3.9 — 性能与规模(2-3 周)
1. 多线程布尔运算
2. MC 并行化
3. 大装配实例化
4. 增量更新引擎
---
## 当前 v3.6 执行计划
1. **TrimmedSurface 数据结构**(必须)
2. **Boolean 重写:SSI-based**(必须)
3. **Topology healing**(必须)
4. **变半径倒圆**(锦上添花)
5. **性能:并行布尔**(锦上添花)