Engine: mesh.mirror reflects meshed bodies across a plane

The bodies' elements are reflected across a datum plane (or a point and
normal) with fieldcraft_mesh::mirror and joined on it. The image is tagged as
the design's body at the reflected place (found by volume and centroid, or
named in `as`), its faces with that body's faces under them, so sets by face
name reach both halves. Half a bar meshed hex8 or hex20 and mirrored has the
whole bar's node and element counts and volume, and its bending deflection to
1e-12; tet4 and tet10 mirror valid and conforming.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
jyvikoandClaude Opus 5.5 authored and Irakli Kourtis committed 2026-10-14 20:00:59 -04:00
1 parent 9fc8e27933
commit 0f99a1c687
6 files changed
+387 -3

No files matched your search

+1 -1
View File
@@ -45,7 +45,7 @@ the control channel and AI agents over MCP (docs/mcp.md) run the same commands.
| Improve | Untangle — Repair inverted elements | coming soon (M6) | |
| Improve | Layers — Boundary padding and layers through thin walls | coming soon (M6) | |
| Edit | Node — Add a node | ready | `mesh.node.add`, `mesh.node.remove` |
| Edit | Element — Add an element on existing nodes, or a mapped block of them | ready | `mesh.element.add`, `mesh.element.remove`, `mesh.block` |
| Edit | Element — Add an element on existing nodes, or a mapped block of them | ready | `mesh.element.add`, `mesh.element.remove`, `mesh.block`, `mesh.mirror` |
| Edit | Merge Nodes — Merge coincident nodes | coming soon (M6) | |
| Edit | Remesh Region — Remesh a region in place; split and collapse elements | coming soon (M6) | |
| Edit | Orphan Mesh — Import a mesh without geometry | coming soon (M6) | |