Expand description
Exact partial-turn revolution (#172).
A full turn closes on itself, so its walls need seams and its caps are
annuli between whole circles (revolve_contour). A partial turn through
0 < |angle| < 2 pi is a different topology: every profile station sweeps
a circular ARC, every profile segment appears twice – once in the start
wall and once in the end wall – and the two planar end caps are the
profile itself, at the start and end angles. Nothing closes round the
axis, so no seam edge is needed.
§Topology
For each station i (radius r, height h in the profile plane) there
is a start vertex S_i and an end vertex E_i, joined by the arc A_i.
Each segment i -> i+1 yields a start-cap edge P_i (S_i -> S_{i+1}),
an end-cap edge Q_i (E_i -> E_{i+1}) and one wall face bounded by
A_i, Q_i, A_{i+1} reversed and P_i reversed: in the wall’s
(angle, v) parameters the trim is the rectangle [u0, u1] x [v_i, v_{i+1}], the same rectangle the full-turn seam loop spans, only
narrower.
§Touching the axis
A station ON the axis sweeps no arc: S_i = E_i is one vertex and the
adjacent walls lose that edge (a cone wall closes at its apex, a planar
wall becomes a sector). A straight segment lying ON the axis sweeps no
wall at all; its start and end copies are the same edge, shared by the
two caps. A section CROSSING the axis would sweep through itself and is
refused, as is an arc whose circle reaches the axis (a spindle or horn
torus), exactly as the full turn refuses it.
§Orientation
Every ring is walked so the material is on its left in (r, h): the
outer ring anticlockwise, each hole clockwise. Walls then follow the
full-turn convention (face forward, loop anticlockwise in (u, v) for a
rising segment). The start cap’s plane normal radial(u0) x axis points
against the sweep, out of the material, so it is used forward; the end
cap’s points into the material, so it is used reversed.
Functions§
- revolve_
section_ partial - Revolve one section – an outer ring and its holes, in the profile plane
z = 0– about the axis throughaxis_originalong world+y, throughangleradians by the right-hand rule, into an exact closed B-rep.