mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-06 20:02:16 +00:00
c070f044ab
A torus face covering most of its tube off the tube's quarter lines (an exhaust collector's bend: 326° of the tube from −113.8°) needed a fifth quarter along the tube, which STEP counts from the outer equator: its form ran past a full turn of the tube and SMLib refused the solid. #8496 turns frames about the axis only, and the torus label had no tube reference. The torus label gets a tube start (`tube_start`, radians; 0 and left out of the record by default, so older records mean what they did): v counts from there, in every evaluator, form, pcurve, iso curve, tessellation, placement, SSI and SMLib transfer. A spilling torus face's tube start moves to where its tube begins, or a turn before where it ends, whichever puts its tube circles on the grid of a round face they are about the axis of (a pipe's cylinder meeting the bend); circles round the tube are labelled from the tube start (brep::form::on_tube), so their forms and pcurves lie on the face's quarter grid exactly. The saved-format change is one file, crates/doc/src/format/pending/torus-tube-start.rs. Engine assembly: COLLECTOR_EXHAUST_VER_1 now comes in as a closed solid (refused 3 -> 2); Poppy Humanoid unchanged (4). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>