docs: industrial CAD kernel alignment roadmap + v3.6 TrimmedSurface plan
This commit is contained in:
+39
-29
@@ -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)
|
||||
- 交互式 Playground(WebAssembly 编译)
|
||||
- 社区论坛 / 讨论区
|
||||
## 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. ⚡ 并行布尔(如果时间够)
|
||||
|
||||
- [ ] 面-面求交并行化
|
||||
- [ ] 分类阶段并行化
|
||||
|
||||
@@ -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. **性能:并行布尔**(锦上添花)
|
||||
Reference in New Issue
Block a user