Skip to main content

Module shape

Module shape 

Source
Expand description

Offsetting a solid, and the shelling built on it.

The topology-preserving offset: every face’s surface moves along its own outward normal (a plane translates, a cylinder’s radius grows or shrinks), and the topology is rebuilt one-for-one on the moved surfaces. Vertices re-solve where their planes now meet, edges re-derive on the moved supports with their directions and parameterizations preserved, and band faces rebuild through make_revolution_band so seams stay seams. Corners stay sharp: this is the parallel solid of the intersection join, not the rounded Minkowski body.

Shelling is the offset pointed inward and the boolean pointed at the result: the cavity is the inward offset with the removed faces left exactly where they were, so it reaches the boundary at the openings, and the cut’s same-domain resolution melts the flush faces away, which is what opens the shell.

A face on a surface outside the five analytics (a spline, revolution, extrusion, trimmed or offset surface) has no same-family parallel: it moves to a fit of its parallel at its own chart’s parameters, run on past the face so its moved neighbours meet it, its poles moved along the limit of the normals there. The fit’s measured deviation widens the moved face.

The honest limits, refused by name: a free-form face moved past its radius of curvature (its parallel folds) or whose fit misses its bound, vertices whose seats leave them under-determined, and offsets that collapse the solid. Edges between moved supports re-derive exactly where a line or circle exists; anywhere else the pair’s own intersection is marched and fitted, with its stated slop widening the edge; an edge that sits unmoved on both supports rebuilds on its own curve.

Functions§

make_thick_solid
Hollow a solid into a shell of the given wall thickness, opening it at the removed faces.
make_thick_solid_with
make_thick_solid with a choice of how the walls meet across an edge.
move_faces
Move some faces of a solid rigidly by transform (a translation or a rotation), the faces around them following as in offset_faces: each moved face keeps its surface, carried by the transform, and each neighbour stays on its own.
offset_faces
Offset some faces of a solid by distance along their outward normals (negative moves them into the material), the faces around them following: a plane moves parallel, a cylinder, cone, sphere or torus changes radius about its own axis or centre, and each neighbour stays on its own surface, its edges re-derived where the moved faces now meet it. The topology is kept one for one, so the history maps every face to the face it became.
offset_shape
Offset a solid by offset: positive grows it, negative shrinks it, and the topology is preserved one-for-one.