forked from 1b-agent/opencadstudio-upstream
feat: Spline support for TRIM, EXTEND, OFFSET, BREAK, and LENGTHEN
Add shared spline_ops module with: - spline_to_bspline / bspline_to_spline: acadrust ↔ truck BSplineCurve conversion - spline_sample_xy: sample DXF-XY projection at N+1 points with parameters - spline_nearest_t: nearest-parameter search via coarse+bisection - spline_pts_wire: world-space wire points for WireModel preview TRIM: Spline entities can now be used as cutting boundaries (Geo::Spline sampled into polyline segments) and as entities being trimmed; uses BSplineCurve::cut() to produce surviving pieces. EXTEND: extend_spline() shoots a tangent ray from the nearest endpoint and appends a control point at the first boundary hit. OFFSET: offset_spline() offsets each sample point along the local perpendicular normal and rebuilds a new spline from the offset control pts. BREAK: break_spline() uses spline_nearest_t() + BSplineCurve::cut() to split the spline at one or two click points. LENGTHEN: lengthen_spline() uses numerical arc-length integration + bisection to cut the spline at the parameter corresponding to the new requested length. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
71667cfafe
commit
083eb5cbb5
7 files changed
+591
-11
No files matched your search
+6
-6
@@ -114,11 +114,11 @@ Underlay (PDF/DWF/DGN)
|
||||
| ARRAY Rectangular | ✅ | — |
|
||||
| ARRAY Polar | ✅ | — |
|
||||
| ARRAY Path | ✅ | — |
|
||||
| BREAK (BR) | 🔧 | Spline |
|
||||
| TRIM (TR) | 🔧 | Spline |
|
||||
| EXTEND (EX) | 🔧 | Spline, LwPolyline |
|
||||
| OFFSET (O) | 🔧 | Spline |
|
||||
| LENGTHEN (LEN) | 🔧 | Spline, LwPolyline |
|
||||
| BREAK (BR) | ✅ | — |
|
||||
| TRIM (TR) | ✅ | — |
|
||||
| EXTEND (EX) | 🔧 | LwPolyline |
|
||||
| OFFSET (O) | ✅ | — |
|
||||
| LENGTHEN (LEN) | 🔧 | LwPolyline |
|
||||
| FILLET (F) | ✅ | — |
|
||||
| CHAMFER (CHA) | ✅ | — |
|
||||
| JOIN (J) | ✅ | — |
|
||||
@@ -302,7 +302,7 @@ Underlay (PDF/DWF/DGN)
|
||||
## Öncelik Sırası (Bir Sonraki Adımlar)
|
||||
|
||||
### Yüksek Öncelik
|
||||
1. **TRIM / EXTEND / OFFSET / BREAK / LENGTHEN → Spline desteği**
|
||||
1. **EXTEND / LENGTHEN → LwPolyline desteği**
|
||||
|
||||
### Orta Öncelik
|
||||
5. **Solid3D tessellation** tamamlama (ACIS → truck pipeline)
|
||||
|
||||
Reference in new issue
Block a user