Expand description
Chamfer and fillet on a straight vertical edge of an exact prism (#68).
§The contract
An edge is selected by the CORNER it belongs to, not by an opaque index: a caller naming “the corner nearest this point” survives a topology change that renumbers edges, while an index does not.
§What is exact here
Chamfering a vertical edge of a prism replaces one corner of its profile
with a straight cut, so the result is a prism over a polygon with one more
vertex. That is exactly the shape extrude_polygon_rings already builds –
no new surface families, no approximation.
A constant-radius FILLET replaces the corner with a circular arc, so the wall becomes a cylindrical face. That is representable, but stitching a cylindrical wall into the prism assembly is not the same construction, so it is refused here rather than approximated by a polyline. Refusing is the honest answer: a caller asking for a fillet and receiving a many-segment chamfer would have no way to tell.
§Refusals
Variable radius, edge loops, curved edges, and fillets all return typed refusals naming the missing capability, never a silent no-op. A no-op is the worst outcome: the caller believes the feature was applied.
Structs§
- Blend
Corner - Corner geometry of the fillet: where the blend starts, ends, and centres.
Enums§
- Edge
Selector - Which edge a feature applies to.
- Feature
Size - How much material a feature removes.
Functions§
- chamfer_
extruded_ profile - Chamfer one vertical edge of an exact extruded rectangle.
- chamfer_
polygon_ corners - Chamfer several corners of an arbitrary polygon profile.
- fillet_
extruded_ profile - Fillet one vertical edge of an exact extruded rectangle.
- fillet_
polygon_ corner - Fillet one corner of an arbitrary closed polygon profile.
- fillet_
polygon_ corners - Fillet several corners of a polygon profile in one solid.