Files
Dahak Builds e7ac83a074 Sketch: planar loops of 3D sketch curves become profiles (#741) (#6447)
* claim: #741

* Sketch: planar 3D-sketch loops become profiles (#741)

With 3D Sketch on, drawn curves (lines, splines) that close a loop lying
in a plane — possibly together with in-plane lines along the intersection
of that plane with the sketch plane — are now found as profiles in their
own plane. sketch.inspect lists them under "profiles_3d" (plane, area,
centroid, bounding curves), and surface.patch takes them by index: each
becomes a planar face in its own plane, so one sketch builds the sides of
a pyramid.

- crates/sketch: new profiles3d module — lifts the in-plane lines into
  space, adds the wire segments, finds the planes the nodes span, and runs
  the ordinary 2D face tracing on the edges lying in each plane (projected
  into it), so holes nest as they do in the sketch plane. Loops bounded
  only by in-plane curves stay in the 2D list; nothing is listed twice.
- SolvedSketch carries profiles_3d; sketch.inspect lists them.
- surface.patch gains profiles_3d: [indices]; the sketch-plane profiles
  stay untouched unless `profiles` is given as well.
- stable_profiles leaves an empty index selection alone.

* Doc: pending format note for the surface patch's 3D profiles (#741)

---------

Co-authored-by: Dahak Builds <dahakbuilds@users.noreply.github.com>
2026-11-10 19:45:13 +00:00
..