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
This commit is contained in:
茂之钳
2026-07-26 16:42:55 +08:00
parent 138d8d24a0
commit fcf25e561d
18 changed files with 2644 additions and 9 deletions
+22
View File
@@ -22,4 +22,26 @@ double model_tolerance(const BrepModel& body) {
return adaptive_tolerance(extent);
}
// ── ToleranceChain ──
void ToleranceChain::push(const std::string& op_name, double tol) {
steps_.emplace_back(op_name, tol);
}
double ToleranceChain::cumulative() const {
double sum_sq = 0.0;
for (auto& [_, tol] : steps_) {
sum_sq += tol * tol;
}
return std::sqrt(sum_sq);
}
double ToleranceChain::max_step() const {
double m = 0.0;
for (auto& [_, tol] : steps_) {
m = std::max(m, tol);
}
return m;
}
} // namespace vde::brep