fcf25e561d
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
3.5 KiB
3.5 KiB
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 增量更新引擎
incremental_rebuild()— real evaluator-based rebuild with model cachinginvalidate_cache(node_id)— 清除缓存 + 传播脏标记到下游- 测试:14 项测试含求值、缓存、依赖排序、失效传播
1.2 大装配
InstanceCache— LOD mesh 共享、bounds 缓存、memory estimate- 测试:5 项测试通过(已有实现,本轮验证)
1.3 STEP 导入容错
- 容错解析:未知实体类型记录跳过而不是崩溃
step_skipped_count()/step_skipped_types()API- 单个 solid 转换失败不中断整体导入
- 测试:3 项容错测试
2. 🔬 分析工具 ✅
2.1 质量属性
mass_properties(const BrepModel&)— 体积、质心、惯性张量(四面体分解 + 平行轴定理)assembly_mass_properties(const AssemblyNode&)— 装配体惯性张量、回转半径- 测试:5 项单实体 + 4 项装配体(与解析解对比)
2.2 间隙分析
clearance(const BrepModel& a, const BrepModel& b)— 两实体间最小距离- AABB 快速排斥 + mesh 三角距离精确计算
- 测试:2 项(分离/重叠)
2.3 壁厚分析
analyze_wall_thickness(const BrepModel&, int samples_per_face)— 沿面法向采样测壁厚- 输出:min/max/avg 壁厚 + 薄壁/厚壁区域计数
- 测试:3 项(立方体/空体/薄板检测)
3. 📊 工程图增强 ✅
3.1 隐藏线消除 (HLR)
ProjectionView含hidden_lines字段 +generate_views多视角投影- mesh ray-casting 遮挡检测
- 支持正投影(front/top/right)+ 等轴测
- 测试:20 项(含 HiddenLines 专项测试、多体类型)
3.2 局部剖 / 阶梯剖
section_view(body, point, normal)— 任意剖切面offset_section_view(body, normal, offsets)— 多段阶梯剖- 合并剖面 + 阶梯线标记
- 测试:4 项 OffsetSectionTest
3.3 BOM 表
generate_bom(const AssemblyNode&)— 按名称合并、数量统计、总体积- 测试:5 项 BomTest(单零件/多零件/嵌套装配/空装配)
4. 📐 格式增强 ✅
4.1 DXF 导入
- DXF 解析器:tokenize → section split → entity parse(LINE/CIRCLE/ARC/LWPOLYLINE/SPLINE)
- 图层保留(layer name 输出到 DxfContour)
extrude_dxf_contour(contour, height)→ B-Repimport_dxf_as_solids(filepath, height)— 一键导入拉伸- 测试: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 |