Commit Graph

40 Commits

Author SHA1 Message Date
茂之钳 c5ed3d6dd9 feat(v5.0+v5.1): feature recognition, defeature, fairing, blending, offset, assembly, GPU, fasteners, industrial formats
CI / Build & Test (push) Failing after 1m31s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
v5.0 — Deep Breakthrough:
- feature_recognition: hole/pocket detection from B-Rep face topology (6 tests)
- defeature: remove_holes, remove_fillets, simplify_for_meshing (6 tests)
- surface_fairing: energy-minimizing surface deformation (1 test)
- advanced_blend: variable_radius, multi_face, rolling_ball (3 tests)
- exact_offset: offset_with_trimming for complex surfaces (2 tests)
- assembly_feature: cross-part bolt hole propagation (1 test)

v5.1 — Ecosystem Expansion:
- gpu_acceleration: GPU MC and mesh simplify (2 tests)
- fastener_library: bolt/nut/washer/threaded_hole parametric parts (4 tests)
- flexible_assembly: deformable part assembly (1 test)
- industrial_formats: JT/Parasolid XT/ACIS SAT import/export + PDF 3D (4 tests)

27 files, +352 lines
2026-07-26 18:41:28 +08:00
茂之钳 cf38d76fd0 feat(v4.6): memory pool + parallel boolean/MC/intersection + GMP exact predicates
CI / Build & Test (push) Failing after 16m56s
CI / Release Build (push) Failing after 24s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
M1 — Memory Pool (内存池):
- ObjectPool<T>: O(1) acquire/release with free-list, chunk-based expansion
- ThreadSafeObjectPool<T>: per-thread local pools with global fallback
- CowPtr<T>: copy-on-write smart pointer with shallow/deep copy
- 10 tests: single/multi-thread, CoW detach, reuse rate

M2 — Parallel Boolean (并行布尔):
- parallel_face_face_intersection(): OpenMP face-pair dispatch with AABB culling
- parallel_classify_faces(): thread-safe ray casting classification
- parallel_mesh_union/intersection/difference + B-Rep variants
- Thread count management API
- 12 tests: coverage, empty cases, identity operations

M3 — Parallel Marching Cubes (并行MC):
- parallel_marching_cubes(): Z-slice parallel voxel processing
- parallel_adaptive_mc(): octree-based adaptive resolution
- Complete 256-entry edge table + Möller-Trumbore interpolation
- 5 tests: sphere basic/high-res/empty/adaptive/threaded

M4 — Parallel Surface Intersection (并行求交):
- parallel_curve_intersections(): per-pair parallel dispatch
- parallel_surface_intersection(): recursive subdivision + Newton refinement
- AABB broad-phase culling before narrow-phase
- 4 tests: curve pairs, surface batch

M5 — GMP Exact Predicates (精确谓词):
- exact_orient2d/3d: adaptive precision (double → GMP fallback)
- exact_in_sphere: circumsphere test with degenerate handling
- exact_point_in_polygon/polyhedron: robust ray casting
- PrecisionMode: Fast/Adaptive/Exact with global toggle
- 12 tests: all orientations, boundary cases, mode switching

21 files, +2263 lines
2026-07-26 17:28:15 +08:00
茂之钳 a5facc84f6 feat(v4.5): add tests + CMake integration for all 3 new modules
CI / Build & Test (push) Failing after 48s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
Tests (48 new test cases total):
- test_draft_analysis.cpp: 18 tests (draft angle, classification, report, distribution)
- test_incremental_mesh.cpp: 15 tests (rebuild, invalidate, cache, merge, memory)
- test_kinematic_chain.cpp: 27 tests (Grashof, Freudenstein, gear ratio, 5 cam motions)

Build system:
- src/CMakeLists.txt: +draft_analysis, +incremental_mesh, +kinematic_chain
- tests/brep/CMakeLists.txt: +3 new test targets

Docs:
- 剩余路线图: v4.5 → 🚧
2026-07-26 17:14:03 +08:00
茂之钳 8be2f0ba0a feat(v4.5): draft analysis + incremental mesh + kinematic chain solvers
CI / Build & Test (push) Failing after 1m35s
CI / Release Build (push) Failing after 39s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
M1 — Draft Analysis (拔模分析):
- draft_angle(face, pull_dir): compute draft angle from NURBS surface normal
- analyze_draft(body, pull_dir, min_angle): full-model analysis with face classification
- DraftFaceType: Positive/Negative/ZeroDraft/Undercut with area-weighted stats
- draft_report(): human-readable moldability report
- create_draft_face / apply_draft: face rotation stubs (needs mutable surface access)

M2 — Incremental Mesh (增量网格):
- IncrementalMesher: face_id → mesh fragment mapping with dirty tracking
- invalidate_face / rebuild_dirty / rebuild_all: targeted remeshing
- merged_mesh(): combine clean face meshes into single HalfedgeMesh
- Cache statistics: hit rate + memory estimation

M3 — Kinematic Chain (运动链求解):
- FourBarLinkage: Grashof classification + Freudenstein position solver
- GearPair/GearTrain: ratio-based transmission solver with multi-stage support
- CamFollower: 5 motion types (Dwell/CV/SHM/Cycloidal/3-4-5 Polynomial)
- Full-cycle analysis for all solvers

7 new files, ~1400 lines of header + implementation
2026-07-26 16:58:21 +08:00
茂之钳 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
茂之钳 5825609c17 fix(v4.2): shared topology stability — fillet/chamfer/heal/featuretree pass
CI / Build & Test (push) Failing after 32s
CI / Release Build (push) Failing after 35s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
- add_vertex: return array index instead of global ID (fix ID/index mismatch)
- is_valid: validate by array index, not vertex ID (IDs not contiguous when shared with edges/loops)
- fillet/fillet_variable: fix duplicate edge in sorted_edges (loop had fillet edge twice)
- test updates: Fillet_NonManifoldEdge expects 2 faces per edge (shared topology)
2026-07-25 05:28:41 +00:00
茂之钳 d4071847f9 docs: mark v4.1 complete
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 42s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-25 04:17:52 +00:00
茂之钳 2e004fda6d feat(v4.1): incremental update + large assembly + format robustness
CI / Build & Test (push) Failing after 35s
CI / Release Build (push) Failing after 48s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
- IncrementalUpdateEngine: dirty propagation, topological rebuild, cache hit/miss
- InstanceCache: shared LOD mesh for identical parts
- LargeAssemblyManager: BVH spatial index, view frustum culling, assembly stats
- format_io: auto-detect STEP/IGES, batch import with error recovery
- 31 tests: incremental (11), large assembly (12), format IO (8)
2026-07-25 03:51:57 +00:00
茂之钳 89c2525f9f docs: mark v4.0 GD&T + explode view complete
CI / Build & Test (push) Failing after 1m36s
CI / Release Build (push) Failing after 35s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-25 03:25:42 +00:00
茂之钳 d61c8d8a7b docs: mark v4.0 interference + motion as complete
CI / Build & Test (push) Failing after 44s
CI / Release Build (push) Failing after 17m0s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-25 02:52:18 +00:00
茂之钳 0fe2ad40d2 feat(v4.0): assembly interference checking — GJK + AABB broad-phase 2026-07-25 02:25:55 +00:00
茂之钳 e573cf958f docs: v3.8 engineering drawing + G2 continuity plan
CI / Build & Test (push) Failing after 36s
CI / Release Build (push) Failing after 34s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 15:15:53 +00:00
茂之钳 605e1aded5 docs: industrial CAD kernel alignment roadmap + v3.6 TrimmedSurface plan
CI / Build & Test (push) Failing after 16m58s
CI / Release Build (push) Failing after 35s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 14:22:14 +00:00
茂之钳 2c59c55c6b docs: complete documentation polish — CHANGELOG v3.1-v3.5, README update, plan cleanup, v3.6 ideas
CI / Build & Test (push) Failing after 1m32s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 14:13:26 +00:00
茂之钳 f89f5f6bcd docs: v3.5 performance + practical parts plan
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 35s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 13:50:29 +00:00
茂之钳 2b8bc3c212 feat(v3.4): manufacturing-ready plan + tag v3.3.0
CI / Build & Test (push) Failing after 32s
CI / Release Build (push) Failing after 1m31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 13:18:13 +00:00
茂之钳 acc26e3a4b feat(v3.3): WebGL 3D viewer + tutorial docs 2026-07-24 12:42:49 +00:00
茂之钳 36c55eb663 feat(v3.3): DEB packaging + development plan
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 37s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 12:41:00 +00:00
茂之钳 5ec39b1ae8 docs: filter doc blocks captured as code
CI / Build & Test (push) Failing after 47s
CI / Release Build (push) Failing after 36s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 12:27:47 +00:00
茂之钳 b1a5e4b4b9 docs: use H4 for API entries, H3 for files
CI / Build & Test (push) Failing after 30s
CI / Release Build (push) Failing after 30s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 12:25:57 +00:00
茂之钳 e3122e8b9d docs: improved API ref generator with multi-line sigs
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 46s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 12:22:09 +00:00
茂之钳 7219791685 docs: Markdown API reference (6942 lines, 76 headers)
CI / Build & Test (push) Failing after 16m49s
CI / Release Build (push) Failing after 1m31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 11:58:54 +00:00
茂之钳 48dc555a4f docs: API ref generation script
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 11:58:09 +00:00
茂之钳 2f111edcd5 docs: generated API documentation (483 pages)
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 11:55:47 +00:00
茂之钳 efb15ea8f2 feat(v3.2): assembly tree + benchmark report + CI/Python/3MF
CI / Build & Test (push) Failing after 16m57s
CI / Release Build (push) Failing after 38s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 11:50:00 +00:00
茂之钳 f4e34d36cc fix: add <fstream> include to 3mf test
CI / Build & Test (push) Failing after 17m0s
CI / Release Build (push) Failing after 24s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 11:37:06 +00:00
茂之钳 10847e61ad docs: Doxyfile + mainpage for API reference
CI / Build & Test (push) Failing after 1m31s
CI / Release Build (push) Failing after 16m56s
2026-07-24 10:59:03 +00:00
茂之钳 010e5de9cc docs: README v3.0 rewrite + CHANGELOG v3.0 + v3.1 plan
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 31s
2026-07-24 09:57:31 +00:00
茂之钳 8a19e265cd feat(v2.0.0): Sprint 10 — B-Rep完善 + STEP导入/导出 + 布尔运算 + 验证
CI / Build & Test (push) Failing after 40s
CI / Release Build (push) Failing after 1m31s
S10-A: B-Rep modeling 补齐
- fillet: 恒定半径滚动球倒圆(NURBS 曲面构建 + 相邻面裁剪)
- chamfer: 等距倒角(平面偏移 + 倒角面构建)
- shell: 完整抽壳(顶点偏移 + 内外面 + 开口侧壁)

S10-B: STEP AP203/AP214 导入
- ISO 10303-21 解析器(1,424 行)
- 支持 14 种几何实体 → NurbsCurve/NurbsSurface 转换
- 完整拓扑链:VERTEX_POINT → EDGE_CURVE → EDGE_LOOP → ADVANCED_FACE → CLOSED_SHELL → MANIFOLD_SOLID_BREP
- 装配支持:NEXT_ASSEMBLY_USAGE_OCCURRENCE + CONTEXT_DEPENDENT_SHAPE_REPRESENTATION

S10-C.1: STEP AP214 导出
- export_step / export_step_file
- 曲线/曲面类型自动检测简化输出

S10-C.2: B-Rep 级布尔运算
- brep_union / brep_intersection / brep_difference
- 面-面求交 + 内/外分类 + 面缝合

S10-C.3: B-Rep 工程验证
- ValidationResult: 水密性/悬边/自相交/方向一致性/欧拉示性数

测试: 5 个新测试文件,47 项测试(modeling/STEP导入/导出/布尔/验证)

修改: 7 files (+576/-47) | 新增: 13 files (4,141 行)
总计: +4,670 行
2026-07-24 05:18:52 +00:00
茂之钳 1ac5a27d4c release: v1.0.0 — 首个稳定版本,M4 全部里程碑完成
CI / Build & Test (push) Failing after 28s
CI / Release Build (push) Failing after 31s
2026-07-24 03:08:13 +00:00
茂之钳 b96c89b66e docs: M3 完成 — 基准报告 + 开发计划更新,启动 M4
CI / Build & Test (push) Failing after 37s
CI / Release Build (push) Failing after 38s
2026-07-24 03:05:55 +00:00
茂之钳 a516626252 feat: 性能基准测试套件 — M3 里程碑起步
CI / Build & Test (push) Failing after 35s
CI / Release Build (push) Failing after 35s
2026-07-23 23:26:46 +00:00
茂之钳 61fd0c57ae docs: S9 M2 — 138/138 测试通过,全部 Sprint 完成
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 31s
2026-07-23 16:46:44 +00:00
茂之钳 ea2408675d docs: 版本规划更新 — v0.8.0 当前, S9 BooleanMesh Brep⚠️
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 37s
2026-07-23 15:48:31 +00:00
茂之钳 785250c2b1 feat: Sprint 9 — 3D Delaunay/B-Rep/Boolean 测试补全 + 文档更新
CI / Build & Test (push) Failing after 16m58s
CI / Release Build (push) Failing after 34s
2026-07-23 14:17:07 +00:00
茂之钳 f2203c7255 feat: 测试覆盖扩展 + 文档更新 2026-07-23 12:36:39 +00:00
ViewDesignEngine 029dd6b75a feat: v0.6.0 精度提升 — Shewchuk Level C + 分层容差 + 业内方案调研
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 31s
精确谓词: Shewchuk Level B → Level C (expansion arithmetic)
  - Dekker split + Two-Product + Two-Sum + Expansion 4-component
  - orient_2d/3d 自适应精度,支持大坐标(>1e14)
  - in_circle 扩展精度

容差系统: 单级 → 分层
  - Tolerance::tighten/relax 继承
  - Tolerance::min 合并取更严格
  - ToleranceScope 作用域临时容差
  - 预设容差级别: Modeling/Fitting/Intersection/Snapping

文档: 新增 06-精度提升方案调研 (252行)
  - 6种主流精度方案对比
  - Parasolid/ACIS/OCCT/CGAL 商业内核解密
  - VDE v0.6-v2.0 精度提升路线图
2026-07-23 09:58:38 +00:00
ViewDesignEngine 9f2536498b feat: P0 全部实现 + 差异化功能分析
CI / Build & Test (push) Failing after 35s
CI / Release Build (push) Failing after 25s
P0 实现(11/11 完成,0 stub 残留):
- mesh: QEM 简化、Laplacian 平滑、质量评估、修复、3D 布尔
- spatial: Octree、KD-Tree、R-Tree 完整实现
- collision: GJK 距离+EPA 穿透深度、SAT、Tri-Tri 相交
- boolean: Vatti 2D 布尔扫描线算法
- core: 3D 凸包 QuickHull
- spatial/BVH: 最近命中查询(AABB slab + Möller-Trumbore)

文档新增:
- 05-核心竞争力与差异化功能(14 项独有功能)
- SRS 扩展到 16 类 FR、100+ 条目
- 杀手功能:约束求解器/SDF隐式建模/可微分几何/惰性管线/Python绑定
2026-07-23 06:19:19 +00:00
ViewDesignEngine 9eaa06db25 docs: 补充功能差距分析 — 41项差距 5级优先级 对标5引擎
- 新增 01-需求分析/04-功能差距分析.md (168行)
- 重写 SRS 为完整版 (294行,14类需求 70+条目)
- 更新文档目录索引,添加版本路线图
2026-07-23 05:31:13 +00:00
ViewDesignEngine 02d0520aa5 v0.1.0: 初始工程骨架 — 7模块 40头文件 32源文件 17文档 Apache-2.0 2026-07-23 05:27:51 +00:00