forked from 1b-agent/fieldcraft-upstream
MCP: the partition, cell and mirror commands in the instructions and docs
The mesh tool runs mesh.cells (method cells) and mesh.mirror (method mirror). The server instructions and docs/mcp.md list the partition, per-cell, mirror and symmetry commands and point to the crank-mirror sample. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
1 parent
860707efa6
commit
794122a302
3 files changed
+38
-3
No files matched your search
@@ -31,8 +31,12 @@ then `execute` the model definition commands (model.set.create {name, geometry:
|
||||
model.material.create, model.section.create, model.boundary_condition.create, model.load.create, model.step.create \
|
||||
— list_commands shows each one's parameters); `check_model`; `solve` (static, frequency, explicit, fluid); \
|
||||
`show_results` (field: displacement, von_mises…; its reply has the field's range) and `probe` / `reactions` for \
|
||||
numbers; `screenshot` to look; `save` or `write_deck` (abaqus, nastran, lsdyna). Failures leave the model unchanged \
|
||||
and name what to fix.";
|
||||
numbers; `screenshot` to look; `save` or `write_deck` (abaqus, nastran, lsdyna). Partitions: geometry.datum makes a \
|
||||
datum plane, geometry.partition cuts the design's bodies into cells by it (cut faces partition:<name>:a|b; kept in \
|
||||
the model and applied again when the design opens); `mesh` method cells meshes the cells each with its own method, \
|
||||
method mirror reflects a meshed half across a datum plane into one conforming mesh; \
|
||||
model.boundary_condition.symmetry holds a half model on its symmetry plane (file.sample crank-mirror shows the \
|
||||
partition, half-mesh and mirror sequence). Failures leave the model unchanged and name what to fix.";
|
||||
|
||||
pub struct Server {
|
||||
backend: Box<dyn Backend>,
|
||||
|
||||
@@ -19,6 +19,12 @@ const MESHERS: &[(&str, &str, &str)] = &[
|
||||
("hex_sweep", "mesh.hex.sweep", "swept all-hex mesh"),
|
||||
("hex_mapped", "mesh.hex.mapped", "mapped all-hex mesh"),
|
||||
("hex_blocks", "mesh.hex.blocks", "one conforming all-hex mesh of a design split into six-sided blocks {bodies, size, order}"),
|
||||
(
|
||||
"cells",
|
||||
"mesh.cells",
|
||||
"one mesh of a partitioned part, each cell with its own method {methods: {cell: method}, default, size, order}; cells joined across partitions (merged or tied)",
|
||||
),
|
||||
("mirror", "mesh.mirror", "reflect meshed bodies across a datum plane and join them on it {plane, bodies}"),
|
||||
("block", "mesh.block", "structured hex block"),
|
||||
("planar", "mesh.planar", "2D elements of a polygon or a planar face"),
|
||||
];
|
||||
|
||||
Reference in new issue
Block a user