mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-03 02:25:55 +00:00
Kernel rig: the curvature fillets' expected bodies from the order-2 section at thumbweight 0
SMLIB_BLEND_CURVATURE's section is now the order-2 G^n section at thumbweight 0. Between two planes square to each other it cuts A = 0.154192655384275 s^2 off the corner, its first moment about either face 0.0291753295725360 s^3 (Green's theorem on the section): the curvature cases built on that corner (862, 2708, every-box-edge, every-hole-top-rim, every-l-bracket, every-block-cylinder-crease, the three-edges-at-bar-corner reports, 3604's fillet) take their volumes from it by their own methods, the peg's front blend 23.3237146876 (its section along x up to the wall). Between planes the section's t^3 term vanishes (their feet are linear in the distance): the box edge case is exactly G3. The boss root is a certified fit, G3 to the plate and G2 to the wall at Continuity Analysis's tolerances: at least G2. The boss root and the pipe on the plate pass on SMLib's section and leave the known-failing list. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+3
-3
@@ -5,11 +5,11 @@
|
||||
],
|
||||
"what": "cut of a box by a swept G2 corner-removal tool along a projected edge chain (left-rear corner; the symmetric front-left chain works)",
|
||||
"source": "analytic",
|
||||
"method": "fillet: the documented curvature section, the quintic Bezier on setback s = 5 (controls p+s t1, p+2s/3 t1, p+s/3 t1, p+s/3 t2, p+2s/3 t2, p+s t2), cuts 113/21 * 25/36 = 3.73677 mm^2 off each vertical edge (Green on the Bezier): Vf = 8000 - 4*10*3.73677 = 7850.529. Tool section: the G2 blend between two lines is the degree 5 Hermite Bezier of the lines' own derivatives, controls (0.8,0) (0.8,0.04) (0.8,0.08) (0.08,0.8) (0.04,0.8) (0,0.8); the part of the profile in the material quadrant has area a = 0.360667 and first moment about the wall S = 0.102152. Swept along the corner curve (length 8.21299, total turn pi/2, curvature at most 0.269, so 1 - k*0.8 > 0 and the tube does not fold), it removes a*L - S*pi/2 = 2.8015; along l3, a straight bottom edge next to that corner (10 long on the left, 30 on the rear: the chain's naming fixes which, analysis does not), a*10 = 3.6067 or a*30 = 10.820. V lies between 7850.529 - 13.622 = 7836.907 and 7850.529 - 6.408 = 7844.121, widened by 1e-4 relative for the measurement: a cut that did nothing (7850.53) or a fillet not made falls outside. Box: the 40 x 20 x 10 box's (the fillets and the cut leave every extreme face)",
|
||||
"method": "fillet: the documented curvature section, the order-2 section at thumbweight 0 on setback s = 5 between square planes (cov-fillet-section-curvature-box-edge-r3), cuts 0.154192655384275 * 25 = 3.85481638 mm^2 off each vertical edge (Green's theorem on it): Vf = 8000 - 4*10*3.85481638 = 7845.807. Tool section: the G2 blend between two lines is the degree 5 Hermite Bezier of the lines' own derivatives, controls (0.8,0) (0.8,0.04) (0.8,0.08) (0.08,0.8) (0.04,0.8) (0,0.8); the part of the profile in the material quadrant has area a = 0.360667 and first moment about the wall S = 0.102152. Swept along the corner curve (length 8.21299, total turn pi/2, curvature at most 0.269, so 1 - k*0.8 > 0 and the tube does not fold), it removes a*L - S*pi/2 = 2.8015; along l3, a straight bottom edge next to that corner (10 long on the left, 30 on the rear: the chain's naming fixes which, analysis does not), a*10 = 3.6067 or a*30 = 10.820. V lies between 7845.807 - 13.622 = 7832.185 and 7845.807 - 6.408 = 7839.399, widened by 1e-4 relative for the measurement: a cut that did nothing (7845.81) or a fillet not made falls outside. Box: the 40 x 20 x 10 box's (the fillets and the cut leave every extreme face)",
|
||||
"body_count": 1,
|
||||
"volume_mm3": [
|
||||
7836.1,
|
||||
7844.9
|
||||
7831.4,
|
||||
7840.2
|
||||
],
|
||||
"bbox": {
|
||||
"min": [
|
||||
|
||||
+2
-2
@@ -5,9 +5,9 @@
|
||||
],
|
||||
"what": "a curvature-continuous (G2) fillet of size 5 on a straight edge that ends on two slanted planar faces",
|
||||
"source": "analytic",
|
||||
"method": "prism over the polygon (0,0),(40,0),(30,20),(10,20), 20 tall: V0 = 600 * 20 = 12000. Fillet type curvature, size 5 on the top front edge (y=0, z=20, length 40): section is the quintic Bezier (control points at thirds of the setback s = 5 on each face, zero curvature at both contacts), area A = 3.73677 between the corner and the curve and first moment of y over it 3.52297. The end faces are the planes x = y/2 and x = 40 - y/2, so the strip at depth y is 40 - y long: removed = 40 A - int y dA = 145.9479. V = 12000 - removed = 11854.0521.",
|
||||
"method": "prism over the polygon (0,0),(40,0),(30,20),(10,20), 20 tall: V0 = 600 * 20 = 12000. Fillet type curvature, size 5 on the top front edge (y=0, z=20, length 40): the curvature section: the order-2 section at thumbweight 0 between the contacts set back s along two planes square to each other (cov-fillet-section-curvature-box-edge-r3), S(t) = f(t) (e + (1 - t) (rho1 - e)) + (1 - f(t)) (e + t (rho2 - e)), f = (1-t)^3 / ((1-t)^3 + t^3), e the corner: it cuts A = 0.154192655384275 s^2 off the corner, its first moment about either face M = 0.0291753295725360 s^3 (Green's theorem on S), here s = 5: A = 3.85481638 and the first moment of y over it 3.64691620. The end faces are the planes x = y/2 and x = 40 - y/2, so the strip at depth y is 40 - y long: removed = 40 A - int y dA = 150.5457392. V = 12000 - removed = 11849.4543.",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 11854.052069321415,
|
||||
"volume_mm3": 11849.454260812292,
|
||||
"continuity": {
|
||||
"order": "g2"
|
||||
}
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
],
|
||||
"what": "a curvature-continuous (G2) fillet of size 6 on one edge of a 20 mm cube",
|
||||
"source": "analytic",
|
||||
"method": "type curvature: the section is the quintic Bezier with control points p+s t1, p+(2s/3) t1, p+(s/3) t1, p+(s/3) t2, p+(2s/3) t2, p+s t2 with setback s = radius = 6 (perpendicular faces), as documented for the feature (zero curvature where it meets the faces). The area between the corner and that curve, by Green on the Bezier polygon (200000 points), is 5.38095 mm^2; the edge is 20 long between two planar end faces square to it: V = 8000 - 20*5.38095 = 7892.3810. Faces: 6 + 1 = 7.",
|
||||
"method": "type curvature: the curvature section: the order-2 section at thumbweight 0 between the contacts set back s along two planes square to each other (cov-fillet-section-curvature-box-edge-r3), S(t) = f(t) (e + (1 - t) (rho1 - e)) + (1 - f(t)) (e + t (rho2 - e)), f = (1-t)^3 / ((1-t)^3 + t^3), e the corner: it cuts A = 0.154192655384275 s^2 off the corner, its first moment about either face M = 0.0291753295725360 s^3 (Green's theorem on S), here s = radius = 6 (perpendicular faces): A = 5.55093559 mm^2; the edge is 20 long between two planar end faces square to it: V = 8000 - 20*5.55093559 = 7888.9813. Faces: 6 + 1 = 7.",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 7892.380952374643,
|
||||
"volume_mm3": 7888.981288123322,
|
||||
"faces": 7,
|
||||
"continuity": {
|
||||
"order": "g2"
|
||||
|
||||
@@ -16,8 +16,6 @@ cov-fillet-g2-corner-beside-a-cylinder not supported yet: the curvature fillet b
|
||||
cov-fillet-g2-five-edge-apex-corner refused: the default setback is shorter than where the rounds' contact lines meet (3.5056 mm from the apex); the corner should take a setback that works
|
||||
cov-fillet-g2-four-edge-apex-corner refused: the default setback is shorter than where the rounds' contact lines meet (3.9027 mm from the apex); the corner should take a setback that works
|
||||
cov-fillet-g2-mixed-corner not supported yet: SMLib sets back a corner only where its edges are all convex or all concave
|
||||
cov-fillet-section-curvature-boss-root-r2 the curvature round's section is SMLib's quintic blend curve, not the order-2 section: volume 26042.0901 against 26042.0732 (rel 6.5e-7)
|
||||
cov-fillet-section-curvature-pipe-on-plate-r2 the curvature round's section is SMLib's quintic blend curve, not the order-2 section: volume 40255.6308 against 40256.1327 (rel 1.2e-5)
|
||||
cov-fillet-variable-box-edge-1-to-5-on-its-cone the variable round's sections are the balls' great circles, not the circles their envelope touches them along: volume 11955.6466 against 11956.2224 (rel 4.8e-5)
|
||||
report-drafted-peg-front-and-concave-rounds-together-r2 not supported yet: SMLib refuses the corner where the drafted front top edge runs tangent into the concave arc (on the cone) as of no kind its blend corners take
|
||||
report-fillet-concave-arc-and-front-top-edge-together-r5-solver-residues the corner patch where the convex and concave rounds meet stands 0.128 out of the front face (box y min -0.0699 against 0.0579)
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
{
|
||||
"sources": [],
|
||||
"what": "the root circle of a boss R8 on a plate rounded curvature-continuous size 2: the order-2 section revolved",
|
||||
"what": "a boss's root on a plate rounded curvature-continuous size 2: the order-2 section of the square corner turned about the boss's axis, a certified fit",
|
||||
"source": "analytic",
|
||||
"method": "plate 60x40x10 with a boss R8 x 10 at (30, 20): V0 = 24000 + 640 pi = 26010.6193. In each meridian plane (rho, z) the plate's top and the boss's wall are the lines z = 10 and rho = 8, the feet of the point at distance d from both (8 + d, 10) and (8, 10 + d): the order-2 section at the default thumbweight is that of a square corner (cov-fillet-section-curvature-box-edge-r3), area 113/756 s^2 = 0.597884 (s = 2), first moment about the wall 0.222979 (Green's theorem on the section), revolved (Pappus): 2 pi (8 A + M) = 31.454. V = 26042.0732. Faces 9; both seams G2, not G3.",
|
||||
"method": "plate 60x40x10 with a boss R8 x 10 at (30, 20): V0 = 24000 + 640 pi = 26010.6193. In each meridian plane (rho, z) the plate's top and the boss's wall are the lines z = 10 and rho = 8, the feet of the point at distance d from both (8 + d, 10) and (8, 10 + d): the order-2 section at the default thumbweight 0 is that of a square corner (cov-fillet-section-curvature-box-edge-r3), area 0.154192655384275 s^2 = 0.616770622 (s = 2), first moment about the wall 0.233402637 (Green's theorem on the section), revolved (Pappus): 2 pi (8 A + M) = 32.469. V = 26043.0881. Faces 9; the seams at least G2 (the surface is a certified fit of the section turned about the axis: G3 to the plate along its rail, G2 to the wall at Continuity Analysis's tolerances).",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 26042.0732245589,
|
||||
"volume_mm3": 26043.0880831714,
|
||||
"faces": 9,
|
||||
"continuity": {
|
||||
"order": "g2",
|
||||
"exact": true
|
||||
"order": "g2"
|
||||
},
|
||||
"tolerance": {
|
||||
"rel": 1e-07
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"sources": [],
|
||||
"what": "a box's top back edge rounded curvature-continuous size 3: the order-2 section meets each face with its curvature (0), and not its third derivative",
|
||||
"what": "a box's top back edge rounded curvature-continuous size 3: the order-2 section meets each face with its curvature (0) and its third derivative (0), and not its fourth",
|
||||
"source": "analytic",
|
||||
"method": "box 40x30x20, the top back edge (y = 30, z = 20, 40 long) between the planar end faces x = 0 and 40, set back s = 3 along both faces (square to each other). In a plane x = const the faces' feet of the point at distance d from both are (30 - d, 20) and (30, 20 - d), so the order-2 section is S(t) = f(t) (e + (1 - p1(t)) (rho1 - e)) + (1 - f(t)) (e + p2(t) (rho2 - e)), f = (1-t)^3 / ((1-t)^3 + t^3), p1 = t / (1 - w + w t), p2 = t (1 - w) / (1 - w t), e the edge and rho_i the contacts, at the default thumbweight w = 0.0342934022666073, which is defined by this section cutting 113/756 s^2 off the corner (Green's theorem on S): 1.345238. V = 24000 - 40 * 1.345238 = 23946.1905. Faces 7; both seams G2, not G3.",
|
||||
"method": "box 40x30x20, the top back edge (y = 30, z = 20, 40 long) between the planar end faces x = 0 and 40, set back s = 3 along both faces (square to each other). In a plane x = const the faces' feet of the point at distance d from both are (30 - d, 20) and (30, 20 - d), linear in d, so the order-2 section is S(t) = f(t) (e + (1 - p1(t)) (rho1 - e)) + (1 - f(t)) (e + p2(t) (rho2 - e)), f = (1-t)^3 / ((1-t)^3 + t^3), p1 = t / (1 - w + w t), p2 = t (1 - w) / (1 - w t), e the edge and rho_i the contacts, at the default thumbweight w = 0: it cuts 0.154192655384275 s^2 = 1.387733898 off the corner (Green's theorem on S). V = 24000 - 40 * 1.387733898 = 23944.4906. Its standoff from each face is c s^4: the t^3 term vanishes between planes (their feet are linear in d), so the section is G3 with them. Faces 7; both seams G3, not G4.",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 23946.190476190477,
|
||||
"volume_mm3": 23944.49064406166,
|
||||
"faces": 7,
|
||||
"bbox": {
|
||||
"min": [
|
||||
@@ -19,7 +19,7 @@
|
||||
]
|
||||
},
|
||||
"continuity": {
|
||||
"order": "g2",
|
||||
"order": "g3",
|
||||
"exact": true
|
||||
},
|
||||
"tolerance": {
|
||||
|
||||
+2
-2
@@ -2,9 +2,9 @@
|
||||
"sources": [],
|
||||
"what": "the concave edge where a pipe dips into a plate rounded curvature-continuous size 2: the order-2 section meets the plane with curvature 0 and the pipe with its curvature 1/10",
|
||||
"source": "analytic",
|
||||
"method": "plate 60x40x10 (z 0..10) joined to a pipe R10 along x (0..60) whose axis is at (y, z) = (20, 16): the pipe dips 4 into the plate and leaves it along y = 20 +- 8, z = 10, the edges ending on the planar faces x = 0 and 60. V0 = 24000 + 60 (100 pi - (100 acos 0.6 - 48)) = 40165.7846. The concave edge y = 28: in a plane x = const, the point at distance d from both faces is (20 + g, 10 + d), g = sqrt(64 + 32 d); its feet are F1 = (20 + g, 10) on the plate and F2 = (20 + 10 g / (10 + d), 26 - 160 / (10 + d)) on the pipe. The order-2 section between the r = 2 ball's contacts: S(t) = f(t) T1(1 - p1(t)) + (1 - f(t)) T2(p2(t)), f = (1-t)^3 / ((1-t)^3 + t^3), p1 = t / (1 - w + w t), p2 = t (1 - w) / (1 - w t), w = 0.0342934022666073 (the default thumbweight), T_i(u) = sum_{k<=2} 2^k / k! F_i^(k)(2) (u - 1)^k (g' = 16 / g, g'' = -256 / g^3). It adds the area between it, the plate and the pipe, 1.505802 (Green's theorem): V = 40165.7846 + 60 * 1.505802 = 40256.1327. Both seams G2, not G3.",
|
||||
"method": "plate 60x40x10 (z 0..10) joined to a pipe R10 along x (0..60) whose axis is at (y, z) = (20, 16): the pipe dips 4 into the plate and leaves it along y = 20 +- 8, z = 10, the edges ending on the planar faces x = 0 and 60. V0 = 24000 + 60 (100 pi - (100 acos 0.6 - 48)) = 40165.7846. The concave edge y = 28: in a plane x = const, the point at distance d from both faces is (20 + g, 10 + d), g = sqrt(64 + 32 d); its feet are F1 = (20 + g, 10) on the plate and F2 = (20 + 10 g / (10 + d), 26 - 160 / (10 + d)) on the pipe. The order-2 section between the r = 2 ball's contacts: S(t) = f(t) T1(1 - p1(t)) + (1 - f(t)) T2(p2(t)), f = (1-t)^3 / ((1-t)^3 + t^3), p1 = t / (1 - w + w t), p2 = t (1 - w) / (1 - w t), w = 0 (the default thumbweight), T_i(u) = sum_{k<=2} 2^k / k! F_i^(k)(2) (u - 1)^k (g' = 16 / g, g'' = -256 / g^3). It adds the area between it, the plate and the pipe, 1.54598304589003 (Green's theorem): V = 40165.7846 + 60 * 1.545983 = 40258.5436. The pipe's feet are not linear in d: the t^3 term of the standoff does not vanish, and both seams are G2, not G3.",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 40256.132731918,
|
||||
"volume_mm3": 40258.5435962825,
|
||||
"continuity": {
|
||||
"order": "g2",
|
||||
"exact": true
|
||||
|
||||
+2
-2
@@ -2,9 +2,9 @@
|
||||
"sources": [],
|
||||
"what": "a block's long top edge rounded curvature-continuous (Type: Curvature) size 2, running from its end face into the cylinder the block is joined to",
|
||||
"source": "analytic",
|
||||
"method": "block 40x10x15 (x 0..40, y -5..5) joined to the cylinder R10 x 30 on the z axis, the block's end on the cylinder's diameter x = 0 so its sides y = +-5 meet the wall at vertical creases: V0 = 6000 + 3000 pi - 15 * (the disc's part with x > 0, |y| <= 5: 2 (y/2 sqrt(100-y^2) + 50 asin(y/10)) at y=5 = 95.661148) = 13989.8607. The edge y = 5, z = 15 between the planar top and side faces, ending on the planar end face x = 40 and on the cylinder wall; the section is the quintic Bezier of setback 2 (fillets/862), removed from the end face back to the wall, which keeps its material: strip length 40 - sqrt(100 - y^2) at height y. Removed = int over the region between the corner and the quintic of (40 - sqrt(100-y^2)) (Green on the Bezier with the exact antiderivative, Gauss-Legendre) = 18.6183. V = 13971.2424. Both seams of the round with the planar faces G2.",
|
||||
"method": "block 40x10x15 (x 0..40, y -5..5) joined to the cylinder R10 x 30 on the z axis, the block's end on the cylinder's diameter x = 0 so its sides y = +-5 meet the wall at vertical creases: V0 = 6000 + 3000 pi - 15 * (the disc's part with x > 0, |y| <= 5: 2 (y/2 sqrt(100-y^2) + 50 asin(y/10)) at y=5 = 95.661148) = 13989.8607. The edge y = 5, z = 15 between the planar top and side faces, ending on the planar end face x = 40 and on the cylinder wall; the curvature section: the order-2 section at thumbweight 0 between the contacts set back s along two planes square to each other (cov-fillet-section-curvature-box-edge-r3), S(t) = f(t) (e + (1 - t) (rho1 - e)) + (1 - f(t)) (e + t (rho2 - e)), f = (1-t)^3 / ((1-t)^3 + t^3), e the corner: it cuts A = 0.154192655384275 s^2 off the corner, its first moment about either face M = 0.0291753295725360 s^3 (Green's theorem on S), here s = 2, removed from the end face back to the wall, which keeps its material: strip length 40 - sqrt(100 - y^2) at height y. Removed = int over the region between the corner and the section of (40 - sqrt(100-y^2)) (Green's theorem on S, adaptive quadrature) = 19.2056794. V = 13970.6551. Both seams of the round with the planar faces G2.",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 13971.24243835931,
|
||||
"volume_mm3": 13970.655065102865,
|
||||
"continuity": {
|
||||
"order": "g2"
|
||||
}
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"sources": [],
|
||||
"what": "a curvature-continuous (Type: Curvature) round of size 3 on a box's long top edge, between two planar end faces",
|
||||
"source": "analytic",
|
||||
"method": "box 40x30x20, the top back edge (y=30, z=20, 40 long) filleted type curvature size 3: the section is the quintic Bezier with control points at thirds of the setback s = 3 along each face (as fillets/862), zero curvature where it meets the faces. The area between the corner and that curve (Green on the Bezier, exact: 113/756 s^2) is 1.345238; the end faces x=0 and x=40 are square to the edge: V = 24000 - 40 * 1.345238 = 23946.1905. Faces 7; both seams of the round with the faces G2.",
|
||||
"method": "box 40x30x20, the top back edge (y=30, z=20, 40 long) filleted type curvature size 3: the curvature section: the order-2 section at thumbweight 0 between the contacts set back s along two planes square to each other (cov-fillet-section-curvature-box-edge-r3), S(t) = f(t) (e + (1 - t) (rho1 - e)) + (1 - f(t)) (e + t (rho2 - e)), f = (1-t)^3 / ((1-t)^3 + t^3), e the corner: it cuts A = 0.154192655384275 s^2 off the corner, its first moment about either face M = 0.0291753295725360 s^3 (Green's theorem on S), here s = 3: A = 1.387733898; the end faces x=0 and x=40 are square to the edge: V = 24000 - 40 * 1.387733898 = 23944.4906. Faces 7; both seams of the round with the faces G2 (G3 in fact, cov-fillet-section-curvature-box-edge-r3).",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 23946.190476190477,
|
||||
"volume_mm3": 23944.49064406166,
|
||||
"faces": 7,
|
||||
"bbox": {
|
||||
"min": [
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
"sources": [],
|
||||
"what": "a box's top front edge rounded curvature-continuous size 3, then the top side edge meeting it at the corner rounded the same way alone (Tangent chain off)",
|
||||
"source": "invariants",
|
||||
"method": "box 40x30x20; the edge y=0, z=20 rounded type curvature 3 (every-box-edge-r3-curvature's section), then the edge x=40, z=20 (now y 3..30) rounded type curvature 3 alone: at y = 3 it runs on tangentially into the first round's end curve on x = 40 (the quintic, tangent to the top there), so the second round ends on a curved round, not a planar end face: no closed form. A valid body with every blend seam G2, or a refusal saying the edge continues tangentially (the 1207 precedent).",
|
||||
"method": "box 40x30x20; the edge y=0, z=20 rounded type curvature 3 (every-box-edge-r3-curvature's section), then the edge x=40, z=20 (now y 3..30) rounded type curvature 3 alone: at y = 3 it runs on tangentially into the first round's end curve on x = 40 (the order-2 section, tangent to the top there), so the second round ends on a curved round, not a planar end face: no closed form. A valid body with every blend seam G2, or a refusal saying the edge continues tangentially (the 1207 precedent).",
|
||||
"body_count": 1,
|
||||
"outcome": "solid_or_refused",
|
||||
"refusal": "continues tangentially",
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"sources": [],
|
||||
"what": "the top rim of a hole through a plate rounded curvature-continuous (Type: Curvature) size 1",
|
||||
"source": "analytic",
|
||||
"method": "plate 40x40x10 with a through hole R5 at (20, 20): V0 = 16000 - 250 pi = 15214.6018. In every meridian plane the top face and the hole's wall are two lines square to each other, so the section is the quintic Bezier of setback 1 (fillets/862): area 113/756 = 0.149471, first moment about the wall 0.028184 (Green on the Bezier), revolved once: 2 pi (5 A + M) = 4.8729. V = 15209.7290. Faces 8; both seams of the round G2.",
|
||||
"method": "plate 40x40x10 with a through hole R5 at (20, 20): V0 = 16000 - 250 pi = 15214.6018. In every meridian plane the top face and the hole's wall are two lines square to each other: the curvature section: the order-2 section at thumbweight 0 between the contacts set back s along two planes square to each other (cov-fillet-section-curvature-box-edge-r3), S(t) = f(t) (e + (1 - t) (rho1 - e)) + (1 - f(t)) (e + t (rho2 - e)), f = (1-t)^3 / ((1-t)^3 + t^3), e the corner: it cuts A = 0.154192655384275 s^2 off the corner, its first moment about either face M = 0.0291753295725360 s^3 (Green's theorem on S), here s = 1: A = 0.154192655, M = 0.029175330 about the wall, revolved once: 2 pi (5 A + M) = 5.0274191. V = 15209.5744. Faces 8; both seams of the round G2.",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 15209.728986079066,
|
||||
"volume_mm3": 15209.574417466521,
|
||||
"faces": 8,
|
||||
"bbox": {
|
||||
"min": [
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"sources": [],
|
||||
"what": "an L-bracket's inside bend rounded curvature-continuous (Type: Curvature) size 3",
|
||||
"source": "analytic",
|
||||
"method": "L-bracket: the legs 40x20x5 (x 0..40, z 0..5) and 5x20x40 (x 0..5, z 0..40) joined, 20 deep in y: V0 = 4000 + 4000 - 500 = 7500, 8 faces. The concave edge between two planes square to each other, its ends on the planar faces y = 0 and 20: the section is the quintic Bezier of setback 3 (fillets/862), area 113/756 9 = 1.345238, added along 20: V = 7526.9048. Faces 9; both seams G2.",
|
||||
"method": "L-bracket: the legs 40x20x5 (x 0..40, z 0..5) and 5x20x40 (x 0..5, z 0..40) joined, 20 deep in y: V0 = 4000 + 4000 - 500 = 7500, 8 faces. The concave edge between two planes square to each other, its ends on the planar faces y = 0 and 20: the curvature section: the order-2 section at thumbweight 0 between the contacts set back s along two planes square to each other (cov-fillet-section-curvature-box-edge-r3), S(t) = f(t) (e + (1 - t) (rho1 - e)) + (1 - f(t)) (e + t (rho2 - e)), f = (1-t)^3 / ((1-t)^3 + t^3), e the corner: it cuts A = 0.154192655384275 s^2 off the corner, its first moment about either face M = 0.0291753295725360 s^3 (Green's theorem on S), here s = 3: A = 1.387733898, added along 20: V = 7527.7547. Faces 9; both seams G2.",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 7526.9047619047615,
|
||||
"volume_mm3": 7527.754677969169,
|
||||
"faces": 9,
|
||||
"bbox": {
|
||||
"min": [
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"what": "report-fillet-curvature-three-edges-at-bar-corner-solver-residues less its setback cube: the three curvature rounds outside it, exactly; reported from the app (2026-10-30, test-peg part)",
|
||||
"source": "analytic",
|
||||
"method": "the same bar with the sketch solver's residues of the reported design (~1e-10 mm: the front side's ends differ by 3.0e-10 in y, the arc's centre 5.7e-11 off the disc's), corner (0.489294, 0.057925), length L = 41.160417754, V0 = L * 16.0000000000762 * 10 + 960 pi; the curvature section of setback 2: the quintic Bezier from (2, 0) on the top to (0, 2) on the side (y from the front face, depth below the top), control points at thirds along each face, area A2 = 0.5978835979 (= 3.73677 * 4 / 25, fillets/2708 at s = 5); the body less the setback cube: a box [-1, 3] x [-1, 3] x [7, 11] about the corner (the patch starts 3 along each edge, so outside it each round is its whole section) cut away: V0 - 27 - removed outside the cube: the front round's section from 3 past the left face to the wall, the vertical and left rounds A2 over 7 and 13: removed 33.4788270394",
|
||||
"method": "the same bar with the sketch solver's residues of the reported design (~1e-10 mm: the front side's ends differ by 3.0e-10 in y, the arc's centre 5.7e-11 off the disc's), corner (0.489294, 0.057925), length L = 41.160417754, V0 = L * 16.0000000000762 * 10 + 960 pi; the curvature section of setback 2: the order-2 section at thumbweight 0 from (2, 0) on the top to (0, 2) on the side (y from the front face, depth below the top), area A2 = 0.616770621537 (cov-fillet-section-curvature-box-edge-r3 at s = 2); the body less the setback cube: a box [-1, 3] x [-1, 3] x [7, 11] about the corner (the patch starts 3 along each edge, so outside it each round is its whole section) cut away: V0 - 27 - removed outside the cube: the front round's section from 3 past the left face to the wall (23.3237146876 + A2 (L - 40) - 3 A2), the vertical and left rounds A2 over 7 and 13: removed 34.5245268332",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 9541.1169610928
|
||||
"volume_mm3": 9540.071261284415
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"what": "as report-fillet-curvature-three-edges-at-bar-corner, with the sketch solver's residues of the reported design; reported from the app (2026-10-30, test-peg part)",
|
||||
"source": "analytic",
|
||||
"method": "the same bar with the sketch solver's residues of the reported design (~1e-10 mm: the front side's ends differ by 3.0e-10 in y, the arc's centre 5.7e-11 off the disc's), corner (0.489294, 0.057925), length L = 41.160417754, V0 = L * 16.0000000000762 * 10 + 960 pi; the curvature section of setback 2: the quintic Bezier from (2, 0) on the top to (0, 2) on the side (y from the front face, depth below the top), control points at thirds along each face, area A2 = 0.5978835979 (= 3.73677 * 4 / 25, fillets/2708 at s = 5); removed 38.8597794204 if each round ran whole to the vertex (the front one L long); the patch within the setback cube, so V is graded with 3^3 as its tolerance; every seam of the rounds and the patch G2",
|
||||
"method": "the same bar with the sketch solver's residues of the reported design (~1e-10 mm: the front side's ends differ by 3.0e-10 in y, the arc's centre 5.7e-11 off the disc's), corner (0.489294, 0.057925), length L = 41.160417754, V0 = L * 16.0000000000762 * 10 + 960 pi; the curvature section of setback 2: the order-2 section at thumbweight 0 from (2, 0) on the top to (0, 2) on the side (y from the front face, depth below the top), area A2 = 0.616770621537 (cov-fillet-section-curvature-box-edge-r3 at s = 2); removed 40.0754624270 if each round ran whole to the vertex (the front one as report-fillet-curvature-three-edges-at-bar-corner's and A2 over the further L - 40); the patch within the setback cube, so V is graded with 3^3 as its tolerance; every seam of the rounds and the patch G2",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 9562.736008711847,
|
||||
"volume_mm3": 9561.52032569058,
|
||||
"tolerance": {
|
||||
"rel": 0.0028234597269445115
|
||||
"rel": 0.0028238187108648883
|
||||
},
|
||||
"continuity": {
|
||||
"order": "g2"
|
||||
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"what": "a curvature-continuous fillet (equivalent radius 2) of the three edges at a top corner of a bar whose far end runs tangent into a cylinder: it built with SMLib's own corner patch, tangent to the rounds only (a 35.8 / mm curvature jump), seen as a dome on the corner; the corner must be a G2 patch; reported from the app (2026-10-30, test-peg part)",
|
||||
"source": "analytic",
|
||||
"method": "a bar 40 x 16 x 10 whose far end is a half disc R8 about (40, 8), a disc R8 about the same centre sketched on its top (the top's outline projected) and extruded 10 up, joined: the bar's sides run tangent into the cylinder, V0 = 6400 + 960 pi; the curvature section of setback 2: the quintic Bezier from (2, 0) on the top to (0, 2) on the side (y from the front face, depth below the top), control points at thirds along each face, area A2 = 0.5978835979 (= 3.73677 * 4 / 25, fillets/2708 at s = 5); the front round removes the section along x up to the wall, the vertical and left rounds A2 along 10 and 16: removed 38.1659846785 if each ran whole to the vertex; the corner patch (set back 1.5 r = 3) lies within the setback cube, so V is graded as V0 - that with 3^3 as its tolerance; every seam of the rounds and the patch G2",
|
||||
"method": "a bar 40 x 16 x 10 whose far end is a half disc R8 about (40, 8), a disc R8 about the same centre sketched on its top (the top's outline projected) and extruded 10 up, joined: the bar's sides run tangent into the cylinder, V0 = 6400 + 960 pi; the curvature section of setback 2: the order-2 section at thumbweight 0 from (2, 0) on the top to (0, 2) on the side (y from the front face, depth below the top), area A2 = 0.616770621537 (cov-fillet-section-curvature-box-edge-r3 at s = 2); the front round removes the section along x up to the wall, x = 40 - sqrt(64 - (8 - y)^2), 23.3237146876 (report-peg-front-curvature-round-r2), the vertical and left rounds A2 along 10 and 16: removed 39.3597508476 if each ran whole to the vertex; the corner patch (set back 1.5 r = 3) lies within the setback cube, so V is graded as V0 - that with 3^3 as its tolerance; every seam of the rounds and the patch G2",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 9377.76296276769,
|
||||
"volume_mm3": 9376.569196598593,
|
||||
"tolerance": {
|
||||
"rel": 0.002879151467913772
|
||||
"rel": 0.0028795180234786103
|
||||
},
|
||||
"continuity": {
|
||||
"order": "g2"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"what": "the peg's front top edge alone given a curvature-continuous round (equivalent radius 2) running into the cylinder: its section leaves the front face with zero curvature, so its end on the cylinder's wall is a semicubical cusp (x - 40 ~ (8 - z)^1.5) where the front face runs tangent into the cylinder; reported from the app (2026-10-30, test-peg part)",
|
||||
"source": "analytic",
|
||||
"method": "a bar 40 x 16 x 10 whose far end is a half disc R8 about (40, 8), a disc R8 about the same centre sketched on its top (the top's outline projected) and extruded 10 up, joined: the bar's front face y = 0 runs tangent into the cylinder along x = 40, V0 = 6400 + 960 pi; the curvature section of setback 2: the quintic Bezier from (2, 0) on the top to (0, 2) on the front face (y from the front face, depth below the top), control points at thirds along each face (SMLIB_BLEND_CURVATURE), area 0.5978835979; the round removes it along x up to the cylinder's wall, x = 40 - sqrt(64 - (8 - y)^2): removed = integral over the section of that length = 22.6210111335 (tanh-sinh quadrature, converged to 1e-13); every seam of the round with its faces G2",
|
||||
"method": "a bar 40 x 16 x 10 whose far end is a half disc R8 about (40, 8), a disc R8 about the same centre sketched on its top (the top's outline projected) and extruded 10 up, joined: the bar's front face y = 0 runs tangent into the cylinder along x = 40, V0 = 6400 + 960 pi; the curvature section of setback 2: the order-2 section at thumbweight 0 (SMLIB_BLEND_CURVATURE) from (2, 0) on the top to (0, 2) on the front face (y from the front face, depth below the top): y = 2 (1 - f) t, depth 2 f (1 - t), f = (1-t)^3 / ((1-t)^3 + t^3), area 0.616770621537; the round removes it along x up to the cylinder's wall, x = 40 - sqrt(64 - (8 - y)^2): removed = integral over the section of that length = 23.3237146876 (Green's theorem on the section, adaptive quadrature); every seam of the round with its faces G2",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 9393.307936312665,
|
||||
"volume_mm3": 9392.605232758558,
|
||||
"continuity": {
|
||||
"order": "g2"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user