茂之钳
11b606bd39
feat(v6.0): FFD freeform deformation + auto-dimensioning + PMI/MBD + Web viewer
...
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 32s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
v6.0.1 — FFD Freeform Deformation:
- ffd_deformation.h/.cpp: Bezier volume lattice, deform_brep/deform_mesh
- Bernstein polynomial mapping, topology-preserving
- Cage-based + lattice-based FFD, create_cage_lattice()
v6.0.2 — Auto-Dimensioning + PMI/MBD + GD&T:
- auto_dimensioning.h/.cpp: linear/angular/radial/diameter detection
- ISO/ANSI/JIS drawing standards, smart label placement
- gdt.h/.cpp: 14 GD&T symbols (ASME Y14.5), MMC/LMC/RFS material conditions
- pmi_mbd.h/.cpp: PMIAnnotation, attach_pmi, PMIView, STEP AP242 export
- 70/70 tests passing (23 auto-dim + 25 PMI + 22 GD&T regression)
v6.0.3 — Web 3D Viewer Enhancement:
- viewer/index.html + app.js: Three.js GLB/STL loading
- OrbitControls, face coloring, dimension overlay, GD&T display
- Measure tool (raycaster), clip plane slider, explode animation
- Drag-and-drop file upload, responsive layout
2026-07-26 21:55:16 +08:00
茂之钳
e469ef75ef
feat(v5-M4): industrial formats + GPU acceleration + Python bindings
...
CI / Build & Test (push) Failing after 35s
CI / Release Build (push) Failing after 41s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
M4.1 — 工业格式 (Agent #0 ):
- JT parser: ISO 14306 Segment→Part→Mesh/LOD, XT B-Rep decode
- Parasolid XT: text/binary parser, Body→BrepModel mapping
- ACIS SAT: text format parser with version handling
- IFC: SPF parser, IfcWall/Slab/Beam/Column entities
- STEP AP242: PMI annotation + tolerance export
- 47 tests covering all formats + edge cases
M4.2 — GPU 加速 (Agent #1 ):
- CUDA kernels: mc_kernel, qem_cost_kernel, tri_intersect_kernel
- __constant__ memory for edge tables, atomic triangle collection
- CPU fallback when CUDA unavailable (seamless degradation)
- VDE_USE_CUDA CMake option, .cu compilation support
- 9 tests with CPU path validation
M4.3 — Python 绑定 (Agent #2 ):
- vde_brep: BrepModel, make_*, boolean, STEP/IGES, heal, validate
- vde_sdf: primitives, operations, to_mesh, gradient descent
- vde_cam: roughing/finishing/drilling, Tool, ToolLibrary
- vde_assembly: Assembly, AssemblyNode, interference, explode
- Version: 3.3.0 synced across pyproject/setup/__init__
13 files, ~5200 lines, 56+ tests
2026-07-26 21:34:44 +08:00
茂之钳
6bc9db663e
feat(v5-M3): large assembly LOD + constraint solver + CAM strategies + direct modeling
...
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 39s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
M3.1 — 大装配 LOD + 约束求解器 (Agent #0 ):
- assembly_lod.h/.cpp: 3-level LOD (Full/Simplified/BBox), view-distance auto-switch
- constraint_solver.h/.cpp: ConstraintGraph, DOF analysis, Newton-Raphson solver
- 7 constraint types, over-constraint detection, incremental solve
- 59 tests (22 LOD + 37 constraint)
M3.2 — 完整 CAM 策略 (Agent #1 ):
- cam_strategies.h/.cpp: roughing(Z-layer), finishing(parallel/spiral), drilling(G81/G83/G84)
- Tool/ToolLibrary, PostProcessor (Fanuc/Siemens/Heidenhain)
- material_removal_simulation with volume stats
- 27 tests, 26/27 passing
M3.3 — 直接建模 (Agent #2 ):
- direct_modeling.h/.cpp: tweak_face, move_face, replace_face, push_pull, offset_face
- Auto neighbor-face extension for watertightness
- DirectModelingResult with diagnostics
- 23 tests with validate() verification
12 files, ~5400 lines, 109 tests
2026-07-26 21:19:38 +08:00
茂之钳
73df04d5cb
feat(v5-M2): G2/G3 continuity + surface analysis + extension + N-side fill + advanced blend
...
CI / Build & Test (push) Failing after 35s
CI / Release Build (push) Failing after 1m32s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
M2.1 — G2/G3 连续性分析 (Agent #0 ):
- surface_continuity.h/.cpp: G0/G1/G2/G3 curve/surface detection
- Weingarten equation for curvature, Frénet frame, zebra stripe
- surface_analysis.h/.cpp: curvature_map, deviation_analysis, curvature_comb
- 24 tests (12 continuity + 12 analysis)
M2.2 — 曲面延伸 + N边填充 (Agent #1 ):
- surface_extension.h/.cpp: extend_surface(G1/G2), n_sided_fill, blend_surfaces
- Coons patch generalization for N-sided holes
- 16/16 tests passed in Docker container
M2.3 — 高级过渡曲面 (Agent #2 ):
- advanced_blend.h/.cpp: real implementations replacing stubs
- variable_radius_blend, multi_face_blend, rolling_ball_blend, face_face_blend
- Ball-rolling envelope + corner sphere filling
- 15+ tests with validate() verification
2026-07-26 20:58:31 +08:00
茂之钳
05b62e8238
feat(v5-M1): TrimmedSurface integration + SSI boolean + topology healing + tolerance system
...
CI / Build & Test (push) Failing after 48s
CI / Release Build (push) Failing after 40s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
M1.1 — TrimmedSurface 深度集成 (Agent #0 ):
- trimmed_surface.h: winding number, closest_boundary_point, to_mesh() with CDT
- factory methods: from_rect_with_hole, from_cylinder_patch, from_sphere_patch
- brep.h: TopoFace +trimmed_surface_id, add_trimmed_surface()
- brep.cpp: to_mesh() prefers TrimmedSurface path
- modeling.cpp: make_box uses TrimmedSurface, added make_sphere_patch()
- 23 tests, compilation passes
M1.2 — SSI 基布尔运算 (Agent #1 ):
- ssi_boolean.h/.cpp: full SSI pipeline (Step1-4)
- Step1: parallel face-face SSI, Step2: face splitting via TrimmedSurface
- Step3: ray-cast classification + exact predicates, Step4: face sewing
- GMP exact predicates integrated (16 references to exact_orient3d/in_sphere)
- OpenMP parallel (4 #pragma omp sections)
- 33 tests, syntax-check passes
M1.3 — 拓扑修复 + 容差系统 (Agent #2 ):
- brep_heal.h/.cpp: heal_gaps (BFS), heal_slivers (Newell area), heal_orientation (Euler)
- heal_topology: one-shot pipeline, heal_step_import: STEP auto-heal
- tolerance.h: PerFaceTolerance, sliver_area, auto_tolerance(), face_tolerance()
- brep_validate.cpp: all hardcoded 1e-6/1e-9 → ToleranceConfig
- Tests: tolerance 34/34, heal 24/24, validate 16/16 (all passing)
- Fixed: face_area_approx Newell formula bug, heal_step_import reporting
19 files, ~3200 lines net new code, 90+ new tests
2026-07-26 20:35:24 +08:00
茂之钳
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
茂之钳
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
茂之钳
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
茂之钳
4f049b1296
fix: compilation + test fixes — 26/42 failures resolved
...
CI / Build & Test (push) Failing after 44s
CI / Release Build (push) Failing after 45s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
- CAM offset: fix knot collision in fit_clamped/make_circle → NaN
- Face split: fix add_face returning global ID instead of index → SEGFAULT
- Volume: fix formula to use abs-per-face for orientation robustness
- Build: fix vde_mesh linking, add vde_collision to vde_brep deps
- Tests: fix surface_intersection test, fuzz CMake, face split expectations
- Rename test_constraint_solver → test_constraint_solver_3d (naming conflict)
- Various include/namespace fixes across test files
2026-07-25 00:02:48 +00:00
茂之钳
e02c5980b4
feat: LOD mesh generation + incremental BVH
2026-07-24 16:14:09 +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
茂之钳
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
茂之钳
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
茂之钳
00a71c4573
feat(v3.4): CAM toolpath — contour + pocket + G-code
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 13:23:02 +00:00
茂之钳
4a32633482
feat(v3.3): NURBS surface-surface intersection
...
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 34s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
Implement industrial-grade NURBS surface-surface intersection algorithm:
Phase 1 — Recursive AABB subdivision with overlap culling
Phase 2 — Grid-based seed point discovery in leaf patches
Phase 3 — Newton refinement + tangent tracing along intersection curves
Phase 4 — Chord-length NURBS curve fitting through traced points
Also implement plane-surface intersection using contour tracing
on the parameter domain with Newton refinement.
New files:
- include/vde/curves/surface_intersection.h (IntersectionCurve struct, APIs)
- src/curves/surface_intersection.cpp (full algorithm implementation)
- tests/curves/test_surface_intersection.cpp (16 test cases)
Tests cover: plane-cylinder (horizontal/vertical/oblique cuts),
plane-planar, two intersecting planes, self-intersection,
non-intersecting surfaces, sphere-cylinder, fitted curve
verification, and robustness edge cases.
2026-07-24 13:07:45 +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
茂之钳
a8052c5aae
feat(v3.2): 3MF format import/export
2026-07-24 11:30:36 +00:00
茂之钳
bfe2ecbe95
fix: shell vertex ID→map lookup, fix SEGFAULT
CI / Build & Test (push) Failing after 11s
CI / Release Build (push) Failing after 31s
2026-07-24 10:11:59 +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
茂之钳
b175db0342
feat(sdf): S12 — 可微分几何完整模块
...
CI / Build & Test (push) Failing after 39s
CI / Release Build (push) Failing after 32s
S12-A: 自动微分引擎
- sdf_gradient.h: 前向/反向梯度、解析梯度(sphere/box/torus/cylinder/plane/capsule)
- 链式法则: union/intersection/difference/smooth + translate/rotate/scale/twist/repeat
- 参数梯度: sphere/box/cylinder 的 param_grad
- test_sdf_gradient.cpp: 604 行测试
S12-B: 梯度驱动优化 + 应用
- sdf_optimize.h: 形状拟合/碰撞避免/可达性/对称检测/体积计算
- sdf_optimize.cpp: 682 行实现(数值梯度 + GradientDescent)
- test_sdf_optimize.cpp: 342 行,20 项测试
S12-C: PyTorch 集成 + Python
- sdf_torch.h/cpp: 批量 SDF 求值 + 梯度
- python/vde/sdf.py: 高级 Python API
- python/vde/torch_sdf.py: torch.autograd.Function
- test_sdf_torch_bridge.cpp: C++ 桥梁测试
2026-07-24 07:23:28 +00:00
茂之钳
08b5854c56
feat(sdf): S12-C PyTorch integration + Python bindings
...
CI / Build & Test (push) Failing after 16m59s
CI / Release Build (push) Failing after 42s
Add batch evaluation/gradient functions for SDF trees (sdf_torch.h/cpp).
Add sdf_gradient.h with finite-difference gradient utilities.
Add Python modules vde.sdf (high-level SDF API) and vde.torch_sdf (PyTorch autograd).
Add test_sdf_torch_bridge.cpp with batch eval/gradient tests.
Integrate into vde_sdf library and test suite.
2026-07-24 07:20:45 +00:00
茂之钳
7c95dfa6fd
fix: sdf — 移除重复 add_subdirectory,移除 C++20 <numbers>
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 31s
2026-07-24 07:05:57 +00:00
茂之钳
b7419a7881
feat(sdf): S11 — SDF 隐式建模完整模块
...
CI / Build & Test (push) Failing after 29s
CI / Release Build (push) Failing after 35s
S11-A: SDF 图元库
- 14 种基础形状(inline header)
- sphere/box/round_box/torus/capsule/cylinder/cone/plane/ellipsoid
- triangular_prism/hex_prism/link/wedge
- 2D 挤出(extrusion/extrusion_bounded/revolution)
S11-B: SDF 操作 + 域变形
- 锐利布尔: union/intersection/difference
- 平滑布尔: smooth_union/smooth_intersection/smooth_difference
- 修饰器: round/onion
- 域变形: repeat/mirror/rotate/translate/scale/twist/bend/elongate/displace/cheap_bend
- 24 项测试
S11-C: CSG 表达式树 + 网格转换 + Python 绑定
- SdfNode 树结构 — 工厂构造函数,递归求值
- sdf_to_mesh — 基于 marching_cubes 的 SDF→网格
- bind_sdf — pybind11 Python 绑定
文件: 14 文件,2,545 行(测试 1,296 行)
2026-07-24 07:04:55 +00:00
茂之钳
ebd29e2a21
feat(sdf): S11-B — SDF operations + domain deformations
...
CI / Build & Test (push) Failing after 38s
CI / Release Build (push) Failing after 31s
Add header-only SDF combinator operations and domain deformation
functions based on Inigo Quilez standard formulations:
Boolean operations:
- op_union (min), op_intersection (max), op_difference (max(-d1,d2))
- Smooth variants: op_smooth_union/intersection/difference with blend radius k
with graceful fallback to sharp when k <= 0
Shape modifiers:
- op_round (d - r), op_onion (abs(d) - t/2)
Domain deformations (coordinate remapping):
- op_repeat (infinite grid repetition)
- op_mirror_x/y/z (with optional offset)
- op_rotate (Y-axis), op_translate, op_scale
- op_twist (Y-axis), op_bend, op_cheap_bend
- op_elongate, op_displace
All functions are inline in include/vde/sdf/sdf_operations.h.
Comprehensive unit tests in tests/sdf/test_sdf_operations.cpp covering
sharp/smooth booleans, modifiers, domain ops, and composition tests.
2026-07-24 07:02:03 +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
茂之钳
db8c675dbb
fix: S9 修复 — CMake nurbs_surface 补充 + ray-tri 交点容差 + Delaunay3D WIP 标记
CI / Build & Test (push) Failing after 16m57s
CI / Release Build (push) Failing after 27s
2026-07-23 15:39:24 +00:00
茂之钳
f2203c7255
feat: 测试覆盖扩展 + 文档更新
2026-07-23 12:36:39 +00:00
ViewDesignEngine
8ae4b86e08
feat: GMP 精确算术后端 + 可插拔谓词接口
...
CI / Build & Test (push) Failing after 38s
CI / Release Build (push) Failing after 28s
新增:
- include/vde/foundation/exact_predicates_gmp.h: GMP 精确谓词
- orient_2d/3d, in_circle 完全精确(mpq_class 有理数)
- 零舍入误差,任意精度
- include/vde/foundation/predicates.h: 统一谓词接口
- Predicates<T> 编译期选择后端
- VDE_USE_GMP=ON → GMP, OFF → 自适应 double
- 便捷函数: orient(), in_circle()
- cmake/FindGMP.cmake: GMP 查找模块
- CMake: -DVDE_USE_GMP=ON 启用 GMP 精确模式
- AdaptiveDouble 包装器: 统一后端接口
使用:
cmake -DVDE_USE_GMP=ON .. # 完全精确模式
2026-07-23 10:32:51 +00:00
ViewDesignEngine
352ee39f53
feat: 插件化 API 架构 — C API + 模块独立 + 外部集成示例
...
CI / Build & Test (push) Failing after 37s
CI / Release Build (push) Failing after 35s
核心设计:
- include/vde/vde.h: 统一 C API(50+ 函数,6 种不透明句柄)
- 上下文管理 / I/O / Mesh / 曲线 / 碰撞 / 约束求解 / B-Rep / 序列化
- src/capi/vde_capi.cpp: 完整 C API 实现 (240行)
- examples/07_capi_integration: C 语言外部调用示例
- CMake: 添加 vde_capi 库 + install 导出支持
模块架构(每个独立 .a):
vde_foundation → vde_core → vde_curves → vde_mesh
→ vde_spatial → vde_boolean / vde_collision
→ vde_brep / vde_sketch → vde_capi
2026-07-23 09:06:18 +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
ebfb5ba93c
fix: CMake 聚合库改为 INTERFACE
CI / Build & Test (push) Failing after 45s
CI / Release Build (push) Failing after 37s
2026-07-23 07:54:28 +00:00
ViewDesignEngine
d7139c3fd6
chore: 工程工具 + CMake 修复
...
CI / Build & Test (push) Failing after 38s
CI / Release Build (push) Failing after 25s
- tools/build.sh: 一键编译(支持 Release/Debug/ASan)
- tools/run_tests.sh: 运行测试
- tools/release.sh: 发布打包
- tools/format.sh: 代码格式化
- tools/clean.sh: 清理构建产物
- 修复 CMakeLists.txt: vde_compile_options 顺序错误
- 修复 src/CMakeLists.txt: 移除重复配置行
2026-07-23 07:51:23 +00:00
ViewDesignEngine
e276ce5a64
feat: P2-P4 全面补完 — B-Rep建模 + 数据交换 + 约束求解器 + ICP
...
CI / Build & Test (push) Failing after 34s
CI / Release Build (push) Failing after 37s
P2 B-Rep建模:
- brep: fillet/chamfer/shell 完整实现
- brep: box/cylinder/sphere 实体工厂
- brep: extrude/revolve/sweep/loft 建模操作
P3 数据交换:
- foundation: PLY 读写(ASCII+二进制)
- foundation: glTF 2.0 导出(JSON+bin)
P4 高级算法/杀手功能:
- sketch: 2D 草图约束求解器(Newton-Raphson, 9种约束类型)
- core: ICP 点云配准(SVD最优变换+KD-Tree加速)
新增模块: vde_sketch
2026-07-23 07:33:15 +00:00
ViewDesignEngine
2c4387aba5
feat: P2 Alpha Shapes + 网格参数化
...
CI / Build & Test (push) Failing after 16m49s
CI / Release Build (push) Failing after 38s
- mesh: Alpha Shapes (点云→表面)
- mesh: Tutte 嵌入参数化
- mesh: LSCM 保角参数化
- 新增 4 文件,更新 CMake
2026-07-23 07:20:01 +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
ViewDesignEngine
5b3912f862
feat: P1 complete - geodesic, CDT, NURBS surface
CI / Build & Test (push) Failing after 38s
CI / Release Build (push) Failing after 26s
2026-07-23 07:04:11 +00:00
ViewDesignEngine
6f7835c458
feat: 3D Delaunay + 多边形偏移 + 序列化
...
CI / Build & Test (push) Failing after 34s
CI / Release Build (push) Failing after 25s
- mesh: Bowyer-Watson 3D Delaunay 四面体剖分
- boolean: 2D 多边形偏移(膨胀/腐蚀,角平分线法)
- foundation: 二进制序列化(版本化 Little-Endian 格式)
- 更新 CMake 构建
2026-07-23 06:28:34 +00:00
ViewDesignEngine
cf13496ff6
feat: v0.5.0 P1 + 差异化功能 — Voronoi, Marching Cubes, 曲率, 序列化, Python绑定
...
CI / Build & Test (push) Failing after 1m31s
CI / Release Build (push) Failing after 16m55s
新增功能:
- core: 2D Voronoi 图(Delaunay 对偶图)
- mesh: Marching Cubes(完整256项三角表 + SDF 辅助函数)
- mesh: 离散曲率(Gaussian/Mean, Cotan 公式)
- foundation: 二进制序列化(版本化格式,Little-Endian)
- python: pybind11 绑定(30+ API 暴露)
- marching_cubes.h: SDF 基本体(球/盒)+ 光滑布尔
2026-07-23 06:27:43 +00:00
ViewDesignEngine
02d0520aa5
v0.1.0: 初始工程骨架 — 7模块 40头文件 32源文件 17文档 Apache-2.0
2026-07-23 05:27:51 +00:00