mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-15 13:10:45 +00:00
a171f1c425
* STEP import: faces through a sphere's pole, bands round an extruded ellipse and splines closed to the file's uncertainty read whole Four reader bugs that left faces out of closed solids since STEP import moved to solidcore-step: - A loop through a pole counted its turns round the axis from the point at the pole, whose angle is anything: a ball end split along a meridian could come out as winding twice and the face was refused. Points on a pole are now passed over. - A face on a SURFACE_OF_LINEAR_EXTRUSION (or revolution) of an ellipse whose loops go once round the profile got a profile built across the widest gap between its sampled points, an eighth of a turn, so its edges ran off the surface. The loops are now walked in order: one that turns round the profile takes the whole turn (and gets its seam), others cover what they sweep. - An edge on a closed B-spline curve ending at a vertex a few um off the curve's seam was refused as crossing the seam. A vertex within the tolerance of the seam is at it. - A B-spline surface whose end control lines meet within the file's uncertainty but not exactly was not closed, so faces touching its start got pcurves on the wrong side. Its end lines are made one (their mean, at most half the gap) and the import says so. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * STEP import: close a spline only on clamped ends and within the tolerance with its weights; refuse a short edge across a closed spline's seam; a wrapped arc covers the start of the gap sweep - closed_within: the end control lines are only the surface's ends where the knots are clamped there; a surface on unclamped knots is left as it is. Rational ends are averaged only while half the gap plus half the weights' difference times the control net's size over its least weight stays within the tolerance (the bound on how far the surface moves). - open_or_closed: an edge whose two vertices are both within the tolerance of a closed spline's seam and which crosses it is refused, not made the whole curve. - widest_gap: the sweep's reach starts where an arc reaching past a turn ends, so a gap it covers is not taken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * solidcore-step: no sized allocations for a face's walks and arcs (panic-site inventory) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>