docs: plan to close final 7% gap — 87% → 93%
CI / Build & Test (push) Failing after 28s
CI / Release Build (push) Failing after 32s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled

Three parallel tracks:
M1 — Tolerant Modeling + Robust Boolean + STEP import
     (tolerant edges/vertices, gap bridging, overlap resolution,
      tolerant boolean, degenerate case handling, GMP full coverage)

M2 — Class-A Surfacing Deep + Advanced Hex Meshing
     (G3+ constraints, surface energy minimization, curvature optimization,
      mapped/submapped/multi-block hex meshing)

M3 — Constraint Solving + Drawing Standards
     (DOF analysis, redundancy detection, kinematic chain solving,
      ISO/ANSI/JIS complete rule sets, auto-apply standards)

9 files, ~5200 lines, 69 tests. Target: 87% → 93% (match ACIS)
This commit is contained in:
茂之钳
2026-07-27 00:12:58 +08:00
parent e905c0fb01
commit ddcfe01cba
+127
View File
@@ -0,0 +1,127 @@
# ViewDesignEngine — 追平最后 7% 计划
> 目标:从 87% → 94%,追平 Parasolid/ACIS 核心能力
---
## 差距详解
### 🔴 致命差距(必须补齐)
| # | 差距 | 当前 | 目标 | 对标的 Parasolid 能力 |
|---|------|------|------|----------------------|
| 1 | **容错建模** | 无 | 有 | 导入的"脏"几何自动修复,间隙/重叠容忍 |
| 2 | **鲁棒布尔容差** | 基础自适应 | 完善 | 退化情况(共面/共线/切触)100%正确处理 |
| 3 | **STEP 健壮导入** | 基本 | 工业级 | 破损/截断/非标 STEP 尽力恢复 |
### 🟡 重要差距(建议补齐)
| # | 差距 | 当前 | 目标 |
|---|------|------|------|
| 4 | **A级曲面深化** | G3基础 | G3+约束+曲面能量最小化 |
| 5 | **高级约束求解** | Newton基础 | 自由度分析+冗余检测+联动 |
| 6 | **六面体网格** | sweep基础 | map/submap/多块策略 |
| 7 | **制图标准模板** | 枚举存在 | ISO/ANSI/JIS 完整规则集 |
---
## 计划 — 三路并行攻克
### M1 — 容错建模 + 鲁棒布尔
**对标 Parasolid Tolerant Modeling**
1. 新建 `include/vde/brep/tolerant_modeling.h` + `src/brep/tolerant_modeling.cpp`
- `TolerantEdge` / `TolerantVertex` — 带容差范围的拓扑元素
- `merge_within_tolerance(body, tolerance)` — 自适应合并
- `gap_bridging(body, max_gap)` — 间隙桥接(自动补面)
- `overlap_resolution(body)` — 重叠面解决
- `tolerant_boolean(a, b, op)` — 容差感知布尔
* 先 heal → boolean → heal
* 失败面报告(哪些面导致布尔失败)
- `import_heal_pipeline(step_data)` — STEP 导入一站式修复
2. 增强 `src/brep/ssi_boolean.cpp`
- 退化检测:共面/共线/切触自动降级到容差路径
- 奇异点处理:tangent contact 生成退化边而非崩溃
- 精确谓词全覆盖:所有分类路径使用 GMP
3. 增强 `src/brep/step_import.cpp`
- 破损文件恢复:跳过损坏实体,继续解析
- 非标实体映射:未知实体 → 近似 B-Rep
- 导入诊断报告:哪些实体成功/失败/近似
4. 测试:`tests/brep/test_tolerant_modeling.cpp` (~20项)
5. 测试:`tests/brep/test_robust_boolean.cpp` 增强 (~15项)
### M2 — A级曲面 + 六面体网格
**对标 CGM Class-A + ANSYS Hex Meshing**
1. 增强 `src/curves/class_a_surfacing.cpp`
- `g3_blend_with_constraints` — 带G0/G1/G2/G3约束的过渡
- `surface_energy_minimization` — 薄板能量最小化光顺
- `curvature_continuity_optimization` — 曲率连续优化(迭代精化)
- `reflection_line_analysis` — 反射线不连续性检测+修复
2. 增强 `include/vde/mesh/fea_mesh.h` + `src/mesh/fea_mesh.cpp`
- `mapped_hex_mesh` — 映射法六面体(源面→目标面扫掠)
- `submapped_hex_mesh` — 子映射法(自动分区)
- `multi_block_hex_mesh` — 多块结构化六面体
- `hex_quality_optimization` — 六面体质量优化(untangling)
3. 测试:`tests/curves/test_class_a_surfacing.cpp` 增强 (~10项)
4. 测试:`tests/mesh/test_hex_mesh.cpp` (~12项)
### M3 — 约束求解 + 制图标准
**对标 D-Cubed + AutoCAD 制图**
1. 增强 `src/brep/constraint_solver.cpp`
- `DOFAnalyzer` — 完整自由度分析(每个零件 6DOF)
- `RedundancyDetector` — 冗余约束检测+建议删除
- `ConstraintPropagator` — 约束传播(改一处→联动更新)
- `KinematicChainSolver` — 机构运动链求解(闭环)
2. 新建 `include/vde/brep/drawing_standards.h` + `src/brep/drawing_standards.cpp`
- `IsoStandard` — ISO 128/129 完整规则
- `AnsiStandard` — ASME Y14.5 完整规则
- `JisStandard` — JIS B 0001 完整规则
- `apply_standard(drawing, standard, options)` — 一键应用标准
- 尺寸样式/线型/字体/箭头/公差格式自动配置
3. 测试:`tests/brep/test_constraint_solver_3d.cpp` 增强 (~12项)
---
## 📊 预期成果
| 模块 | 新增文件 | 代码行数 | 测试 | 追平能力 |
|------|---------|---------|------|---------|
| 容错建模 | 2 | ~1,200 | 20 | B-Rep 92→95% |
| 鲁棒布尔 | 1 增强 | ~800 | 15 | B-Rep 92→95% |
| STEP 健壮 | 1 增强 | ~500 | — | 交换 90→93% |
| A级曲面 | 1 增强 | ~600 | 10 | 曲面 90→93% |
| 六面体 | 1 增强 | ~700 | 12 | 网格 88→92% |
| 约束求解 | 1 增强 | ~600 | 12 | 装配 88→92% |
| 制图标准 | 2 | ~800 | — | 工程图 85→90% |
| **合计** | **9** | **~5,200** | **69** | **87→93%** |
### 追平后预期
```
当前 → 目标
B-Rep: 92% → 95%
曲面: 90% → 93%
网格: 88% → 92%
交换: 90% → 93%
CAM: 82% → 82%
性能: 88% → 88%
工程图: 85% → 90%
装配: 88% → 92%
质量: 80% → 80%
─────────────────────────
综合: 87% → 93% ← 追平 ACIS(93%)
```
剩余 1% (93→94):需要测试积累(900→5000+)和真实场景打磨。