Files
solvecraft/docs/kernel-smlib-sweeps-shell.md
T
jyviko b9e0543ef5 Wave 178/509: kernel-cases: the rig runs SMLib only and keeps each run's SMLib dumps
1 commits, squashed; the originals stay reachable from tag archive/merge-main-develop.

- 001c62ab1 jyviko: kernel-cases: the rig runs SMLib only and keeps each run's SMLib dumps

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
2026-10-22 07:31:00 -04:00

7.4 KiB
Raw Blame History

SMLib: sweeps, threads, shell and offset

A triage of the regression rig's sweeps, threads and shell cases, and of the ladder's tiers 03 (analytic profiles), 04 (spline profiles), 06 (threads) and 09 (shells and offsets): 169 cases, each run on SMLib (solidcraft-cli kernel-cases) on kernel-smlib at 4b8953726 and graded against the case's own answer (kernel-cases.md). This page lists only the cases that do not pass, grouped by what goes wrong, worst first; it is kept by hand as fixes land.

Cases Pass
sweeps 83 51
threads 28 11
shell 18 11
ladder 03, 04, 06, 09 40 26
all 169 99

A thread off its hole's or shaft's size is refused on this branch (the owner's rule): those cases pass by refusing, and are not listed.

A. Wrong geometry (worst)

Case SMLib SMLib's result
sweeps/2667-revolve-half-disc-three-quarters fail a half disc on the axis turned 270°: SMLib makes a quarter ball turned inside out (V = -226, want 679)
sweeps/3528-revolved-dome-cut-by-a-ball-on-its-seam fail the ball's cut is lost where it crosses the revolve's seam: V 48118, want 46425
sweeps/2847-loft-rectangles-turning-through-half-a-turn fail inside out (V = -127, want 2262)
sweeps/450-revolve-spherical-shell-sketched-off-the-origin fail two shells where one is wanted, which the B-rep record can't close

B. Crash

Case SMLib SMLib's result
ladder/09-shells-and-offsets/011-part-shell crash step 21 (solid.fillet) on the SMLib body: curve blend internal error "Two same vertices cannot construct an edge"; the fillet is the blends work's, not this page's

C. Threads: the groove's boolean fails SMLib's check

The groove (SMLib's screw sweep) cuts the body, and the result fails SMLib's own check: vertex gaps of 1–6e-5 mm against vertex tolerances of 4–20e-6 mm (Test #0/#2 Bad Gap), an edge whose geometry fails validation (Test #61), or a trim curve that does not lie on its edge when the result is read back (SMLib export: pcurve).

Case SMLib SMLib's result
ladder/06-threads/001-external-m10-full fail Bad Gap (1.89e-5 > 8.6e-6)
ladder/06-threads/002-external-m10x1-fine fail Test #61 bad edge
ladder/06-threads/003-external-m10-partial-length fail Bad Gap (1.91e-5 > 8.9e-6)
ladder/06-threads/004-external-m10-to-shoulder fail Bad Gap ×10
ladder/06-threads/005-internal-m10-through fail Bad Gap (3.6e-5 > 1.8e-5)
ladder/06-threads/006-external-m10-into-chamfer fail Bad Gap
ladder/06-threads/007-external-m10-at-filleted-shoulder fail Bad Gap
ladder/06-threads/010-part-threaded-boss fail Bad Gap (2.26e-5 > 2.0e-5)
threads/1250-external-m10x1.5-shaft-full-length fail Bad Gap ×9
threads/1395-long-external-m6-thread-24-turns fail Test #61 bad edge
threads/1995-m8x1-thread-in-7mm-hole fail Bad Gap (1.5e-5 > 7.5e-6)
threads/2038-cut-threaded-stud-from-bored-block fail Test #61 bad edge
threads/2038-internal-then-external-thread-on-one-body fail pcurve off its edge
threads/2038-join-two-threaded-bodies fail pcurve off its edge
threads/2193-modelled-m33x3.5-thread fail Bad Gap
threads/2209-fine-m44x1-thread-on-shaft fail Bad Gap ×7
threads/2209-m44x1.5-thread-on-flange-hub fail Bad Gap (6.2e-5 > 2.05e-5)
threads/2406-modelled-m8-thread-in-6.8mm-pilot-hole fail Bad Gap
threads/2526-three-modelled-threads-in-one-body fail pcurve off its edge
threads/2822-modelled-thread-in-filleted-cube fail pcurve off its edge
threads/3311-two-tapped-holes-both-modelled-threaded fail pcurve off its edge
threads/3914-sketch-on-top-face-of-threaded-rounded-block fail pcurve off its edge (0.86 mm)
threads/3952-modelled-thread-in-blind-hole-of-revolved-ring fail pcurve off its edge
threads/4149-internal-thread-below-counterbore-filleted-rim fail Bad Gap
threads/602-fillet-hex-head-beside-modelled-thread fail Bad Gap

D. Coils and other sweeps in booleans

Case SMLib SMLib's result
sweeps/793-coil-cut-by-a-box-above-a-plane fail pcurve off its edge
sweeps/793-coil-split-by-a-plane-across-its-axis fail pcurve off its edge
sweeps/2552-thread-groove-cut-by-a-square-coil-in-a-bore fail the boolean's result is not a closed solid
sweeps/96-loft-cut-box-sections-pad-first fail the boolean's result is not a closed solid
sweeps/96-loft-cut-box-sections-top-first fail the boolean's result is not a closed solid
sweeps/844-join-two-overlapping-swept-arc-walls fail boolean status 1006
sweeps/3006-second-sweep-from-a-plane-along-a-closed-path fail read back: a face no shell uses

E. Shell and offset refused

Case SMLib SMLib's result
ladder/09-shells-and-offsets/006-shell-rounds-r1-thinner-than-t2 fail shell status 1001 (rounds of r1 inside a 2 mm wall)
shell/1494-shell-box-with-cylinder-on-edge-line fail shell status 1001
shell/1525-shell-box-with-rounds-chamfer-and-fillet fail shell status 1001
shell/2939-offset-face-sphere fail check: edge/surface gap 5.015e-6 > 5e-6
shell/3468-offset-face-boss-wall-next-to-fillet fail check: an edge tolerance of 2.0 mm
shell/2531-shell-point-pick-after-parameter-edit fail V 17952, want 22112: the shell's face pick after the edit
sweeps/2820-pipe-hollow-with-a-wall-along-a-bend fail sweep status 1001

F. The engine or the case

Case SMLib What
sweeps/3345-sweep-profile-mid-line-round-a-rounded-rectangle fail bbox ±46 × ±36, want ±32 × ±22: the profile's placement, not the kernel
sweeps/2516-revolve-about-a-named-construction-axis fail unknown sketch line Axis1
sweeps/3191-revolve-cut-leaves-a-cone fail the profile crosses the revolve axis
sweeps/4056-surface-loft-rails-…-stern-to-bow fail a guide rail misses section 2
sweeps/2570-loft-circle-to-a-non-star-shaped-comb fail an arc turns more than once
shell/4009-closed-shell-internal-void fail solid.shell needs 1…1000 faces (a closed shell has none)
ladder/06-threads/008-multi-start-thread unsupported no start count yet
ladder/06-threads/009-thread-runout-length unsupported no runout length yet

G. No SMLib path yet ("not supported yet")

What Cases
sweep with a twist or an end scale sweeps/1269-sweep-twisted-square-ninety-degrees, 2005-closed-sweep-twisted-new-body, 2005-closed-sweep-twisted-cut-inside-a-torus, 2891-twisted-sweep-cut-through-a-tube, 771-sweep-end-scale-cone-frustum
sweep along a path with corners ladder/04/003-pipe-along-bezier, ladder/04/004-sweep-square-along-bezier, sweeps/96-sweep-rectangle-round-a-mitred-corner, 561-extrude-the-end-face-of-a-sweep, 3505-extrude-the-flat-wall-of-a-sweep-with-a-corner
loft through sections with holes sweeps/1184-loft-ring-sections-keep-the-hole, 2435-loft-rectangular-ring-sections, 3111-loft-rectangular-ring-to-circular-ring
guide rails sweeps/201-loft-one-guide-rail-cone-frustum, 771-sweep-one-guide-rail-cone-frustum, 771-sweep-two-guide-rails-cone-frustum
sweep along a path of points sweeps/2862-three-pipes-meeting-at-one-point
draft extrusion with a straight foot shell/391-deboss-text-on-flange-of-filleted-shelled-body