Files
ViewDesignEngine/docs/21-v4.3-开发计划.md
T
茂之钳 fcf25e561d feat(v4.4): complete remaining v4.1-v4.4 features + precision tolerance + Euler ops
v4.1 收尾:
- IncrementalUpdateEngine: dirty flag propagation, cache invalidation
- LargeAssembly: InstanceCache, assembly instancing
- STEP import: robust/graceful parsing with skip tracking

v4.3 分析工具:
- Mass properties (volume, centroid, inertia tensor)
- Clearance analysis, wall thickness analysis
- Enhanced drawing: hidden-line removal, offset sections, BOM
- DXF import (LINE/CIRCLE/ARC/LWPOLYLINE/SPLINE → B-Rep extrusion)

v4.4 地基加固:
- ToleranceChain: RSS cumulative tolerance propagation (7 tests)
- Euler operations: MEV/KEV/MEF/KEF/KEMR/MEKR (20 tests)
- Replace hardcoded tolerances with ToleranceConfig in validate
- Fix incremental_update test API mismatch (15/15 pass on Linux)

Docs:
- v4.1-v4.4 development plans + roadmap updated
- v4.4 marked complete on Linux

30 files, +3424/-210
2026-07-26 16:49:37 +08:00

112 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ViewDesignEngine v4.3 — 分析工具 + 工程图增强 + v4.1 收尾
> 制定: 2026-07-25 | 状态: ✅ 完成
>
> 进度: ✅ §1 v4.1收尾 | ✅ §2 分析工具 | ✅ §3 工程图增强 | ✅ §4 DXF导入
承接 v4.2(共享拓扑地基加固)的阶段性成果,v4.3 补齐分析工具链、增强工程图能力,并收尾 v4.1 遗留项。
---
## 1. 🔄 v4.1 收尾 ✅
### 1.1 增量更新引擎
- [x] `incremental_rebuild()` — real evaluator-based rebuild with model caching
- [x] `invalidate_cache(node_id)` — 清除缓存 + 传播脏标记到下游
- [x] 测试:14 项测试含求值、缓存、依赖排序、失效传播
### 1.2 大装配
- [x] `InstanceCache` — LOD mesh 共享、bounds 缓存、memory estimate
- [x] 测试:5 项测试通过(已有实现,本轮验证)
### 1.3 STEP 导入容错
- [x] 容错解析:未知实体类型记录跳过而不是崩溃
- [x] `step_skipped_count()` / `step_skipped_types()` API
- [x] 单个 solid 转换失败不中断整体导入
- [x] 测试:3 项容错测试
---
## 2. 🔬 分析工具 ✅
### 2.1 质量属性
- [x] `mass_properties(const BrepModel&)` — 体积、质心、惯性张量(四面体分解 + 平行轴定理)
- [x] `assembly_mass_properties(const AssemblyNode&)` — 装配体惯性张量、回转半径
- [x] 测试:5 项单实体 + 4 项装配体(与解析解对比)
### 2.2 间隙分析
- [x] `clearance(const BrepModel& a, const BrepModel& b)` — 两实体间最小距离
- [x] AABB 快速排斥 + mesh 三角距离精确计算
- [x] 测试:2 项(分离/重叠)
### 2.3 壁厚分析
- [x] `analyze_wall_thickness(const BrepModel&, int samples_per_face)` — 沿面法向采样测壁厚
- [x] 输出:min/max/avg 壁厚 + 薄壁/厚壁区域计数
- [x] 测试:3 项(立方体/空体/薄板检测)
---
## 3. 📊 工程图增强 ✅
### 3.1 隐藏线消除 (HLR)
- [x] `ProjectionView``hidden_lines` 字段 + `generate_views` 多视角投影
- [x] mesh ray-casting 遮挡检测
- [x] 支持正投影(front/top/right+ 等轴测
- [x] 测试:20 项(含 HiddenLines 专项测试、多体类型)
### 3.2 局部剖 / 阶梯剖
- [x] `section_view(body, point, normal)` — 任意剖切面
- [x] `offset_section_view(body, normal, offsets)` — 多段阶梯剖
- [x] 合并剖面 + 阶梯线标记
- [x] 测试:4 项 OffsetSectionTest
### 3.3 BOM 表
- [x] `generate_bom(const AssemblyNode&)` — 按名称合并、数量统计、总体积
- [x] 测试:5 项 BomTest(单零件/多零件/嵌套装配/空装配)
---
## 4. 📐 格式增强 ✅
### 4.1 DXF 导入
- [x] DXF 解析器:tokenize → section split → entity parseLINE/CIRCLE/ARC/LWPOLYLINE/SPLINE
- [x] 图层保留(layer name 输出到 DxfContour
- [x] `extrude_dxf_contour(contour, height)` → B-Rep
- [x] `import_dxf_as_solids(filepath, height)` — 一键导入拉伸
- [x] 测试:10 项(空文件/直线/圆/弧/多段线/样条/未知实体容错/多实体/挤出)
---
## 里程碑
| 里程碑 | 内容 | 预计 |
|--------|------|------|
| **M1: 收尾** | v4.1 剩余 4 项全部完成 | — |
| **M2: 分析工具** | 质量属性 + 间隙分析 + 壁厚分析 | — |
| **M3: 工程图** | HLR + 局部剖/阶梯剖 + BOM | — |
| **M4: 格式** | DXF 导入 | — |
---
## 与 v4.2 差距分析的对应
| v4.2 差距项 | v4.3 对应 |
|-------------|-----------|
| 质量属性 | §2.1 |
| 壁厚分析 | §2.3 |
| 间隙分析 | §2.2 |
| 隐藏线消除 | §3.1 |
| 局部剖/阶梯剖 | §3.2 |
| BOM 表 | §3.3 |
| DXF 导入 | §4.1 |