From 605e1aded5df91db88073e01a0076e1b44e2a3e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=82=E4=B9=8B=E9=92=B3?= Date: Fri, 24 Jul 2026 14:22:14 +0000 Subject: [PATCH] docs: industrial CAD kernel alignment roadmap + v3.6 TrimmedSurface plan --- docs/15-v3.6-开发计划.md | 68 +++++++++++++++----------- docs/16-工业CAD对齐路线图.md | 95 ++++++++++++++++++++++++++++++++++++ 2 files changed, 134 insertions(+), 29 deletions(-) create mode 100644 docs/16-工业CAD对齐路线图.md diff --git a/docs/15-v3.6-开发计划.md b/docs/15-v3.6-开发计划.md index 15fc5c2..af0b65a 100644 --- a/docs/15-v3.6-开发计划.md +++ b/docs/15-v3.6-开发计划.md @@ -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. ⚡ 并行布尔(如果时间够) + +- [ ] 面-面求交并行化 +- [ ] 分类阶段并行化 diff --git a/docs/16-工业CAD对齐路线图.md b/docs/16-工业CAD对齐路线图.md new file mode 100644 index 0000000..e60a1f6 --- /dev/null +++ b/docs/16-工业CAD对齐路线图.md @@ -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. **性能:并行布尔**(锦上添花)