diff --git a/tests/kernel-cases/fillets/1213-round-end-circle-of-bent-tube/expected.json b/tests/kernel-cases/fillets/1213-round-end-circle-of-bent-tube/expected.json index 42964a0145..50df020d3a 100644 --- a/tests/kernel-cases/fillets/1213-round-end-circle-of-bent-tube/expected.json +++ b/tests/kernel-cases/fillets/1213-round-end-circle-of-bent-tube/expected.json @@ -3,13 +3,13 @@ "tangency-labs/solidcraft#1213", "tangency-labs/solidcraft#1291" ], - "what": "an R3 round on the end circle of a lofted tube whose axis bends (a 60 degree torus section)", + "what": "an R3 round on the end circle of a lofted tube whose axis bends 60 degrees", "source": "analytic", - "method": "five circles R20 square to a centre arc of radius 100 turning 60 degrees, lofted: the tube is a torus section, V = pi*20^2*100*(pi/3) = 131594.7. The R3 round on the start circle removes the spandrel (1-pi/4) r^2 revolved about the tube axis (the end circle is a plain circle in the plane x=0) at its centroid radius R - r (5/6-pi/4)/(1-pi/4) = 19.33 (Pappus): 234.58. V = 131360.1. The loft passes through only five sections, so the tolerance is relaxed to 5e-4.", + "method": "five circles R20 square to a centre arc of radius 100 turning 60 degrees, lofted. SolidCraft's loft is a cubic skin interpolating the five sections at chord-length parameters 0, 1/4, 1/2, 3/4, 1 (knots 0^4 1/2 1^4); every section's control points move rigidly with its plane, so the wall is S(u,v) = C(v) + 20 cos(u) z + 20 sin(u) Y(v), C and Y the cubic interpolants of the section origins and in-plane directions. |Y| is not 1 between the given circles, so those sections are ellipses and the body is not a torus (exact torus: pi*20^2*100*pi/3 = 131594.725). Its volume by the divergence theorem, Gauss quadrature on the wall and the end caps, converged: 131601.597487935. The R3 round on the start circle (the plane x=0) removes the region between the cap, the wall and the rolling ball's canal surface, the ball centre found for each u along the moving spine (touching the cap and the wall), by the divergence theorem, converged to 1e-12: 233.662461919. Pappus on the spandrel (1-pi/4) r^2 at its centroid radius overstates it (234.576949197, exact only for a straight tube; an exact torus gives 233.731514056). V = 131601.597487935 - 233.662461919 = 131367.935026. The value holds for the loft built this way only: a loft with other parameters or knots is another body.", "body_count": 1, - "volume_mm3": 131360.14839866068, + "volume_mm3": 131367.935026, "tolerance": { - "rel": 0.0005 + "rel": 1e-06 }, "continuity": { "order": "g1" diff --git a/tests/kernel-cases/fillets/4782-fillet-bar-edge-wider-than-both-faces/expected.json b/tests/kernel-cases/fillets/4782-fillet-bar-edge-wider-than-both-faces/expected.json index f73e58704c..ac3364811d 100644 --- a/tests/kernel-cases/fillets/4782-fillet-bar-edge-wider-than-both-faces/expected.json +++ b/tests/kernel-cases/fillets/4782-fillet-bar-edge-wider-than-both-faces/expected.json @@ -4,10 +4,13 @@ ], "what": "the long top edge of a 5x5 bar rounded r10, wider than both faces it rounds", "source": "analytic", - "method": "a convex round past its faces' far edges is built on the faces continued and its removal subtracted (smlib_fillet): the section keeps the bar's 5x5 square within the round's circle, centre (y,z) = (10,-5), radius 10: area 7.87866 (grid quadrature 4000^2); V = 80 area", + "method": "a convex round past its faces' far edges is built on the faces continued and its removal subtracted (smlib_fillet): the section keeps the bar's 5x5 square [0,5]x[0,5] (y,z) within the round's circle, centre (10,-5), radius 10. The circle crosses z=0 at y = 10-sqrt(75) and y=5 at z = sqrt(75)-5, and contains the corner (5,0), so with u = 10-y the area is integral from 5 to sqrt(75) of (sqrt(100-u^2) - 5) du = 50 (pi/3 - pi/6) - 5 (sqrt(75) - 5) = 25 pi/3 - 5 sqrt(75) + 25 = 7.8786686; V = 80 area = 2000 pi/3 - 400 sqrt(75) + 2000 = 630.2934873", "body_count": 1, - "volume_mm3": 630.293125, + "volume_mm3": 630.2934873, "continuity": { "order": "g1" + }, + "tolerance": { + "rel": 1e-06 } -} +} \ No newline at end of file