cad-editor/src/modules/home/modify
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 083eb5cbb5 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>
2026-04-07 15:00:22 +03:00
..
align.rs Feat: ROADMAP Phase 1-5 batch — trim/extend, plot scale, viewport UX, mline caps, table alignment 2026-04-03 15:31:05 +03:00
array.rs first commit 2026-03-22 14:56:27 +03:00
break_cmd.rs feat: Spline support for TRIM, EXTEND, OFFSET, BREAK, and LENGTHEN 2026-04-07 15:00:22 +03:00
copy.rs first commit 2026-03-22 14:56:27 +03:00
delete.rs first commit 2026-03-22 14:56:27 +03:00
explode.rs feat: EXPLODE now supports Dimension entities 2026-04-07 11:29:39 +03:00
extend.rs first commit 2026-03-22 14:56:27 +03:00
fillet.rs feat: FILLET now supports LwPolyline segments and corner filleting 2026-04-07 14:42:49 +03:00
join.rs Feat: ROADMAP Phase 1-5 batch — trim/extend, plot scale, viewport UX, mline caps, table alignment 2026-04-03 15:31:05 +03:00
lengthen.rs feat: Spline support for TRIM, EXTEND, OFFSET, BREAK, and LENGTHEN 2026-04-07 15:00:22 +03:00
mirror.rs first commit 2026-03-22 14:56:27 +03:00
mod.rs feat: Spline support for TRIM, EXTEND, OFFSET, BREAK, and LENGTHEN 2026-04-07 15:00:22 +03:00
offset.rs feat: Spline support for TRIM, EXTEND, OFFSET, BREAK, and LENGTHEN 2026-04-07 15:00:22 +03:00
pedit.rs Feat: PEDIT command (PE) — polyline edit (close/open/width) 2026-04-03 09:19:36 +03:00
rotate.rs first commit 2026-03-22 14:56:27 +03:00
scale.rs first commit 2026-03-22 14:56:27 +03:00
spline_ops.rs feat: Spline support for TRIM, EXTEND, OFFSET, BREAK, and LENGTHEN 2026-04-07 15:00:22 +03:00
stretch.rs feat: STRETCH with proper crossing-window vertex selection 2026-04-07 11:25:39 +03:00
translate.rs first commit 2026-03-22 14:56:27 +03:00
trim.rs feat: Spline support for TRIM, EXTEND, OFFSET, BREAK, and LENGTHEN 2026-04-07 15:00:22 +03:00