forked from 1b-agent/fieldcraft-upstream
Engine: the meshing commands pass the design's edge seeds to the meshers
mesh.tet.generate, mesh.hex.*, mesh.hex.blocks and mesh.cells give every seed on the open design to their meshers, which match them to their own curves by position, so a seed on an edge two cells share holds in both. The tet reply gives, per seed, the mesh edges along it. Docs and the roadmap say what is honoured where. Fixes #230. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
1 parent
f78680e091
commit
eb66b86e26
8 files changed
+142
-15
No files matched your search
+7
-1
@@ -153,7 +153,13 @@ edges of partition cells matching counts.
|
||||
2. `execute` `mesh.seed.edge {edges: [{body, edge}], count | size, bias?: {ratio, toward:
|
||||
start|end|both}, constraint?: exact|min|free}`. `exact` keeps the count, `min` keeps at least
|
||||
it, `free` is a goal. The reply gives the count each edge gets.
|
||||
3. `mesh.seed.list` lists the seeds and the edges they reach (`stale` when the design has no such
|
||||
3. Mesh: the hex meshers (`hex`, `hex_sweep`, `hex_mapped`, `hex_blocks`, `cells`) keep exact counts
|
||||
through their interval assignment and refuse, naming the seeds, when two exact counts cannot
|
||||
both hold (opposite sides of a mapped face, the layers between two levels); the tet mesher
|
||||
divides the edge at the seed's nodes and grades its size field from them (its reply's
|
||||
`seeds` gives the mesh edges along each). A seed on an edge two partition cells share holds
|
||||
in both, so their meshes still conform.
|
||||
4. `mesh.seed.list` lists the seeds and the edges they reach (`stale` when the design has no such
|
||||
edge); `mesh.seed.clear {edges?}` removes them. Seeds are saved with the model.
|
||||
|
||||
## Limits
|
||||
|
||||
Reference in new issue
Block a user