fix: faces of an extrude drawn over a face's projected edges keep an exact source (#505)

A profile traced over a face sketch's projected boundary left the extrude's caps and sides without an exact planar source, so a sketch or offset plane on the new top face was refused. The drawn curve is now the edge's source where it covers a projection. Clearer fixed-plane message; regression tests in the engine, UI harness and design corpus, plus a corpus-wide flat-face attachment check (known gaps under #491-#495).

Fixes #489

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
bherbruckandClaude Opus 5.5 authored and GitHub committed 2026-10-12 23:01:35 -04:00
1 parent 4aaa5457b3
commit 45bc22fc30
11 files changed
+1113 -15

No files matched your search

+10 -4
View File
@@ -6,12 +6,18 @@ and orientation are stored in the source face's canonical plane. Editing the sou
or moving its placement therefore updates the sketch plane while preserving its local
geometry and dimensions.
Supported planar sources are exact Box faces, untapered New Body Extrude caps and straight
sketch sides, and planar faces of immutable STEP imports. Extrude caps also identify their
Supported planar sources are exact Box faces, untapered New Body and Join Extrude caps and
straight sketch sides, and planar faces of immutable STEP imports. Extrude caps also identify their
outer boundary and holes by source curve IDs. Reordering profiles cannot substitute another
profile's cap. Curved surfaces cannot host a planar sketch through this workflow.
profile's cap. A profile drawn over a face sketch's projected boundary (a rectangle
traced over the whole face, or a strip whose sides lie on the face's edges) is identified by
the drawn curves: where a drawn curve and a projected one cover the same edge, the drawn curve
is the source. Two drawn curves, or two projections, over one edge remain ambiguous. Curved surfaces cannot host a planar sketch through this workflow.
Edited surfaces without retained construction provenance, ambiguous sources, and unsupported
generators require an explicit fixed plane instead. A nearby or parallel face is never used
generators require an explicit fixed plane instead. A face that a Join merged from two features' coplanar
faces belongs to neither, so it also needs a fixed plane. The error says why, and the Create
Sketch dialog then offers **Use fixed plane**, which places the sketch on that face's current
plane without following later changes. A nearby or parallel face is never used
to repair a new attachment automatically.
The flat faces of a sheet metal body are the exception: they have no construction