Model - Solid functions
Every function callable as Solid.* inside an expression — an argument input, a parameter binding, a table cell. Pure: no side effects, no async.
| Function | Returns | Description | Arg | Type | Meaning |
|---|---|---|---|---|---|
Solid.centroid(faces) | point | The kernel's exact center of mass, falling back to the area-weighted face centroid for an open (non-watertight) shell. | faces | faceEntity[] | face | the solid — a closed set of faces (a container reference or a single face) |
Solid.isClosed(faces) | binary | True when the solid is a watertight 2-manifold — the kernel refuses to read an open sheet as a solid, which is the test. | faces | faceEntity[] | face | the solid — a closed set of faces (a container reference or a single face) |
Solid.surfaceArea(faces) | area | Sum of every face's own area, mm² — exact in the kernel for a body that bounds a volume, triangle-summed for an open shell. | faces | faceEntity[] | face | the solid — a closed set of faces (a container reference or a single face) |
Solid.volume(faces) | volume | Enclosed volume, mm³ — exact in the kernel over the real carriers (a cylinder measures πr²h, not its triangles). An open (non-watertight) shell has no enclosed volume: it falls back to a best-effort partial sum over the display triangles. A face set that DOES close but the kernel cannot measure throws instead of degrading to that partial sum — a short volume that looks like a real one is worse than a stop. | faces | faceEntity[] | face | the solid — a closed set of faces (a container reference or a single face) |