茂之钳
|
1aa753ba50
|
feat(v1.0.1): Parasolid + ACIS boolean robustness improvements
Build & Test / build-and-test (push) Waiting to run
Build & Test / python-bindings (push) Blocked by required conditions
CI / Build & Test (push) Failing after 29s
CI / Release Build (push) Failing after 36s
P0 — Boolean Robustness (Parasolid):
- 7-class degenerate taxonomy: surface_overlap, curve_overlap, high_order,
boundary_contact, vertex_contact, non_manifold_contact
- Multi-point sampling: N=sqrt(area/tol²) points, >75% voting,
exact_orient3d fallback on boundary cases
- PrecisionTracker: accumulated loss, threshold warning
P0 — Auto-Heal Pipeline (ACIS):
- 5-step pipeline: Stitch→Simplify→Regularize→Orient→Check
- AutoHealReport with per-step status, element counts, overall score
P1 — Direct Modeling (ACIS):
- fill_hole: edge loop → plane fit → NURBS insert
- pull_up_to_face: push_pull to target face alignment
Total: +~1500 lines across 6 files
|
2026-07-27 20:14:52 +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 |
|