mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-07 20:41:50 +00:00
718d5a4383
* claim: #11048 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Intersection Curve: take two sketch curves, no helper surfaces (#11048) Intersection Curve now also takes curves of other sketches. Each curve stands in for the surface you would get by extruding it along its own sketch's normal, both ways and as far as needed, so two sketch curves (or a curve and a face) give their 3D crossing without the two Surface > Extrude features it used to take. The surface is never added to the model. Sketches on parallel planes are refused with an error saying why. The result stays a linked 3D wire that follows edits to either curve. In the tool, a curve of another sketch fills a side like a face does; after the first pick the status bar asks for the second, a right-click starts the picks over, and the hint returns once the curve is made. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Intersection Curve: keep other tools' right-click, update the tooltip, add a UI scenario (#11048) The right-click change now applies to Intersection Curve only: Project to Surface and Spun Profile behave as on main again. The toolbar tooltip now says Intersection Curve also takes curves of other sketches, in every catalog that has it, using each language's wording from the Project to Surface tooltip. New UI scenario intersection_curve_from_two_sketch_curves: a line on XY and a line on YZ give one linked 3D wire along X at y = 0, z = 5; it also checks the second-pick prompt and that a right-click starts the picks over. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GG4jU9aCv381PgLCsseQMP * Intersection Curve: a picked spline wall meets whole, in one curve (#11048, #9009) On the SMLib kernel a fit-point spline's wall is one face per span, and Mesh::surface_patch keeps smooth-joined faces apart, so a face pick met only the span under the pick and gave part of the crossing (#9009 again, for faces as well as for sketch curves). A face pick now takes the faces joined across seams and smooth joins, never across a crease. The imprint also splits a crossing at every face boundary of either side, so a crossing came as one wire per span. The pieces are now joined end to end into one wire, keeping their exact curves; a piece that runs the other way is reversed as a record curve. A curve side's sweep is sized from the other body's exact bounds, not its display mesh. The #9009 test's premise that the spans are one surface_patch no longer holds and is removed; its checks are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Intersection Curve: a picked face joins only tangent spline faces, from exact geometry (#11048) Which faces a face pick means is now decided on the exact surfaces, not the display mesh: the picked face and the spline faces joined to it at least tangentially (the kernel's seam check), so a spline wall's spans still meet as one (#9009) while a plane, a round or any analytic face is that face alone. The pieces of a crossing are joined within ten times the kernel's intersection tolerance instead of a fixed 1e-4 mm. Tests: a flat face beside a round and the round itself each give their own crossing; two sketch curves give one curve at 1/100 and 100 times the size. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Known-failing tests: the picked spline wall's intersection curve passes now (#11048, #9009) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>