forked from 1b-agent/fieldcraft-upstream
Engine: mesh.cells meshes a partitioned part cell by cell
Each cell (a body of the open design) gets its own method: structured hex where one fits (auto falls back to tet and says why), or tet. All go into one mesh. Cells on either side of a partition are joined: where their element faces match node for node the nodes are merged; otherwise (hex next to tet, or different divisions) the two partition faces get a set each and a dual mortar tie, the reported hex-tet transition. A 40 mm bar cut in half, one half hex, the other tet, stretches F L / (E A) to 1e-6. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
1 parent
1fbb5581ea
commit
0b6b6c966c
8 files changed
+537
-50
No files matched your search
@@ -700,6 +700,16 @@ pub const HEX_MAPPED: &[Field] = &[BODY, SURFACE, HEX_SIZE, HEX_ORDER, TOLERANCE
|
||||
pub const HEX_BLOCKS: &[Field] =
|
||||
&[references("bodies", "Cells", C::Body).hint("every body of the design"), HEX_SIZE, HEX_ORDER, TOLERANCE, WELD, WELD_DISTANCE, FEATURE_ANGLE];
|
||||
|
||||
pub const CELLS: &[Field] = &[
|
||||
json("methods", "Methods").hint(r#"{"cell": "auto | hex | swept | extrude | sweep | revolve | mapped | tet"}"#),
|
||||
choice("default", "Other cells", &[("auto", "Auto (hex, else tet)"), ("hex", "Hex"), ("swept", "Swept"), ("mapped", "Mapped"), ("tet", "Tet")])
|
||||
.def("\"auto\""),
|
||||
references("bodies", "Cells", C::Body).hint("every body of the design"),
|
||||
HEX_SIZE,
|
||||
HEX_ORDER,
|
||||
TOLERANCE,
|
||||
];
|
||||
|
||||
pub const HEX_OCTREE: &[Field] = &[
|
||||
BODY,
|
||||
SURFACE,
|
||||
|
||||
Reference in new issue
Block a user