From f89f5f6bcd17e85698c38d60b592eb400c9a8368 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 13:50:29 +0000 Subject: [PATCH] docs: v3.5 performance + practical parts plan --- docs/14-v3.5-开发计划.md | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 docs/14-v3.5-开发计划.md diff --git a/docs/14-v3.5-开发计划.md b/docs/14-v3.5-开发计划.md new file mode 100644 index 0000000..51f7749 --- /dev/null +++ b/docs/14-v3.5-开发计划.md @@ -0,0 +1,41 @@ +# ViewDesignEngine v3.5 性能+实战计划 + +> 制定: 2026-07-24 | 状态: 执行中 + +--- + +## 1. ⚡ 性能优化 — 布尔运算 10x + +当前 `Union_BoxAndCylinder` 耗时 ~1.8s。目标 0.2s。 + +- [ ] 给 `BrepModel` 加 `to_mesh()` 缓存(避免每次 classify 重建 mesh) +- [ ] `classify_point_mesh` 用 BVH 加速射线查询 +- [ ] 面分割提前退出:AABB 不相交则跳过 +- [ ] 基准测试验证改进 + +## 2. 🔧 实战零件示例 + +验证全管线可用的端到端实例。 + +- [ ] `examples/10_flange` — 法兰零件:挤压→打孔→倒角→STEP 导出 +- [ ] `examples/11_gear` — 齿轮:参数化齿形→阵列→IGES 导出 + +## 3. 🌲 参数特征树 + +参数化建模的基础。 + +- [ ] `FeatureNode` 数据结构(操作类型 + 参数 + 子节点) +- [ ] `FeatureHistory` 管理 undo/redo +- [ ] 测试:box→fillet→shell→undo→redo + +## 4. 📏 测量工具 + +- [ ] `distance(const BrepModel&, const BrepModel&)` — 两体最小距离 +- [ ] `surface_area(const BrepModel&)` — 表面积 +- [ ] `volume(const BrepModel&)` — 精确体积(散度定理) + +## 5. 🔩 装配约束 + +- [ ] `ConstraintType` 枚举:Coincident, Concentric, Tangent, Parallel, Distance +- [ ] `apply_constraint(node_a, node_b, type)` — 自动计算变换矩阵 +- [ ] 测试:两个零件 concentric 约束