茂之钳
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
茂之钳
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
茂之钳
1db1a83c5d
feat(v4.3): wall thickness analysis — centroid-offset sampling
...
CI / Build & Test (push) Failing after 24s
CI / Release Build (push) Failing after 25s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
- analyze_wall_thickness(): samples surface points, computes min distance
to vertices/centroids on other faces (no mesh tessellation needed)
- WallThicknessResult: min/max/avg, thin_threshold, thick_threshold
- 3 new tests, 29/29 passing
2026-07-25 07:23:28 +00:00
茂之钳
93852075dd
feat(v4.3): offset_section_view — stepped section with multiple parallel planes
...
CI / Build & Test (push) Failing after 32s
CI / Release Build (push) Failing after 16m59s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
- offset_section_view(body, normal, offsets): combines section profiles at each offset
- Step lines connect boundaries between adjacent planes
- 4 new tests
2026-07-25 07:18:49 +00:00
茂之钳
1e196473bc
feat(v4.3): BOM (bill of materials) — flat merged, name-sorted
...
CI / Build & Test (push) Failing after 39s
CI / Release Build (push) Failing after 29s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
- BomEntry struct: name, quantity, volume, total_volume
- generate_bom(): recursive assembly traversal, same-name merging
- 5 new tests, 26/26 passing
2026-07-25 07:14:27 +00:00
茂之钳
3d435a4801
feat(v4.3): mass properties, clearance, assembly mass props
...
CI / Build & Test (push) Failing after 29s
CI / Release Build (push) Failing after 25s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
- MassProperties struct: volume, centroid, inertia tensor, gyration radii
- mass_properties(): tetrahedral decomposition for inertia tensor
- assembly_mass_properties(): recursive assembly traversal with parallel axis
- clearance(): AABB-accelerated gap analysis
- 11 new tests, 21/21 passing
2026-07-25 07:12:18 +00:00
茂之钳
62ba6da19c
fix(v4.2): shared topology for make_box + precise tolerance system
...
CI / Build & Test (push) Failing after 49s
CI / Release Build (push) Failing after 41s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
- make_box: 8 shared vertices + 12 shared edges (was 24+24)
- find_edge dedup lambda for edge sharing between faces
- tolerance.h: fuzzy_equal/zero/vec/point/parallel/perpendicular
- adaptive_tolerance + model_tolerance
- 14 tolerance tests
2026-07-25 04:15:36 +00:00
茂之钳
d9b0c6af77
feat(v4.2): shared topology + precise tolerance system
...
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
- make_box: shared 8 vertices + edge dedup (was 24 vertices, now 8)
- ToleranceConfig: per-operation tolerances, global config
- fuzzy_equal/zero/gt/lt/gte/lte with absolute+relative tolerance
- fuzzy vector/point/parallel/perpendicular helpers
- adaptive_tolerance: scales with model size
- 14 tolerance tests
2026-07-25 04:07:24 +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
茂之钳
6a98e8cd9c
feat(v4.0): GD&T geometric tolerancing — ASME Y14.5
...
CI / Build & Test (push) Failing after 35s
CI / Release Build (push) Failing after 35s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
- 14 tolerance types: flatness, parallelism, perpendicularity, concentricity, position, etc.
- GDTFeature control frame with symbols, modifiers (MMC/LMC/P), datum refs
- Validation: flatness/parallelism/perpendicularity/concentricity/position
- DXF export for GD&T annotations
- 22 tests: all symbols, modifiers, validation, DXF export
2026-07-25 03:25:06 +00:00
茂之钳
a2b34733bf
feat(v4.0): explode view — assembly part decomposition
...
CI / Build & Test (push) Failing after 36s
CI / Release Build (push) Failing after 47s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
- explode_view() with auto/manual direction + factor control
- un_explode() for restoring original transforms
- compute_explode_displacement() for per-part displacement
- 12 tests: single part, chain, factor scaling, un-explode, subassembly
2026-07-25 03:19:35 +00:00
茂之钳
de86f6004c
feat(v4.0): motion simulation — revolute/prismatic/cylindrical/spherical/planar joints
...
CI / Build & Test (push) Failing after 42s
CI / Release Build (push) Failing after 43s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
- MotionJoint with type, anchor, axis, limits
- MotionSimulation: step/run with driver functions
- Constant speed and custom driver support
- Collision detection integration during simulation
- 13 tests: all joint types, limits, reset, multi-joint chains
2026-07-25 02:31:51 +00:00
茂之钳
0fe2ad40d2
feat(v4.0): assembly interference checking — GJK + AABB broad-phase
2026-07-25 02:25:55 +00:00
茂之钳
5a2f01f597
feat: 3D constraint solver for assembly (coincident/concentric/distance)
2026-07-24 16:12:36 +00:00
茂之钳
b96b6defd6
feat(v3.9): parallel OpenMP boolean + assembly instancing + update notifier
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 15:36:42 +00:00
茂之钳
033538013e
fix: remove view_direction field refs from brep_drawing.cpp
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 28s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 15:25:11 +00:00
茂之钳
d2c628215d
feat(v3.8): 2D projection views + section + DXF + dimensions + G2 curvature
CI / Build & Test (push) Failing after 41s
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 15:23:30 +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
茂之钳
ebce6abdd6
feat(v3.6): TrimmedSurface — B-Rep fundamental primitive
CI / Build & Test (push) Failing after 41s
CI / Release Build (push) Failing after 32s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 14:25:51 +00:00
茂之钳
e1f7f0b070
fix: add missing <optional> include in assembly.h
CI / Build & Test (push) Failing after 32s
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 14:05:07 +00:00
茂之钳
12db7d3e5a
feat(v3.5): perf caching + measure + flange/gear + feature tree + assembly constraints
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
2026-07-24 14:02:24 +00:00
茂之钳
107cf58034
feat(v3.3): B-Rep face splitting + fuzz testing (all 3 tasks)
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 29s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 12:48:42 +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
茂之钳
980cb32468
fix: remove remaining /* ... */ inside doxygen blocks
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 31s
2026-07-24 11:14:27 +00:00
茂之钳
fba37f7065
fix: replace /* ... */ with // ... in doxygen code blocks to prevent premature comment termination
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 1m31s
2026-07-24 11:12:49 +00:00
茂之钳
ac4c4300ed
docs: doxygen annotations for sdf + brep + capi
2026-07-24 11:09:45 +00:00
茂之钳
6cfd186780
feat(brep): S13-A — IGES import support
...
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 32s
Implement IGES (Initial Graphics Exchange Specification) file reader that
converts IGES entities to B-Rep models.
Key features:
- 80-character fixed-width card image parser (S/G/D/P/T sections)
- Directory Entry parsing with all 18 DE fields per entity
- Parameter Data parsing with DE pointer tracking
- D exponent notation support (e.g., 1.5D+2 = 150)
Supported IGES entity types:
Curve entities (→ NurbsCurve):
Type 100 - Circular Arc (rational degree-2)
Type 102 - Composite Curve
Type 104 - Conic Arc (ellipse/hyperbola/parabola)
Type 106 - Copious Data (polyline)
Type 110 - Line (degree-1)
Type 126 - Rational B-Spline Curve
Surface entities (→ NurbsSurface):
Type 108 - Plane
Type 114 - Parametric Spline Surface
Type 118 - Ruled Surface
Type 120 - Surface of Revolution
Type 122 - Tabulated Cylinder (extrude)
Type 128 - Rational B-Spline Surface
Type 140 - Offset Surface
Type 192 - Right Circular Cylindrical Surface
Type 194 - Right Circular Conical Surface
Type 196 - Spherical Surface
Type 198 - Toroidal Surface
Topology entities (→ BrepModel):
Type 186 - Manifold Solid B-Rep Object
Type 502 - Vertex
Type 504 - Edge
Type 508 - Loop
Type 510 - Face
Type 514 - Shell
Tests cover: line, arc, cylinder, sphere, cone, torus, plane,
B-spline curve/surface, ruled surface, revolution surface,
tabulated cylinder, copious data polyline, manifold solid B-Rep,
D exponent notation, empty/truncated file handling, and file errors.
2026-07-24 07:37:03 +00:00
茂之钳
4f75bb8b07
feat(brep): S13-B IGES export + format utilities
...
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 39s
Add IGES v5.3 export for B-Rep models with:
- Entity mapping: Point(116), Line(110), Circular Arc(100),
B-Spline Curve(126), Plane(108), B-Spline Surface(128),
Vertex(502), Edge(504), Loop(508), Face(510), Shell(514),
Manifold Solid B-Rep(186)
- Auto-detection of circular arcs (degree-2 NURBS with
isosceles control triangle) and planes (1x1 degree surfaces)
- Fixed 80-column IGES format with S/G/D/P/T sections
- Header-only format_utils.h for IGES/STEP number formatting
New files:
- include/vde/foundation/format_utils.h
- include/vde/brep/iges_export.h
- src/brep/iges_export.cpp
- tests/brep/test_iges_export.cpp
2026-07-24 07:34:27 +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
ViewDesignEngine
64ad721ed7
fix: 编译通过 — CMake + 命名空间 + 头文件修复
...
CI / Build & Test (push) Failing after 36s
CI / Release Build (push) Failing after 31s
- CMake: INTERFACE 库修复、vde_compile_options 顺序修复
- 命名空间: 所有模块添加 using 声明
- 类型补全: Ray3Dd、Point4D
- 头文件: tolerance 泛型化、std::optional include
- 警告: 放宽 -Wconversion/-Wsign-conversion
- 构建结果: 0 errors, 22/25 tests passed
2026-07-23 08:19:24 +00:00
ViewDesignEngine
c226b60a32
feat: P2 B-Rep 内核 + 建模操作
...
CI / Build & Test (push) Failing after 1m32s
CI / Release Build (push) Failing after 31s
- brep: 完整 B-Rep 数据结构(Vertex/Edge/Loop/Face/Shell/Body)
- brep: 实体工厂(box/cylinder/sphere)
- brep: 建模操作(extrude/revolve/sweep/loft)
- brep: 拓扑查询(face_edges/edge_faces/vertex_edges)
- brep: 网格转换(to_mesh)
- 新增 vde_brep 模块,更新聚合库
2026-07-23 07:19:13 +00:00