Kernel rig: a junction family: oblique wedges 30 to 150 degrees rounded and chamfered (exact), bosses upright and tilted, pipe tees and a Y junction

Four are listed with their causes: the equal-pipe tee (its exact conic-pair rounds meet at the
ellipses' crossings in a corner the old corner code cannot join), the tilted bosses (1001, before the
blend rework too) and the Y junction (refused for room at its triple points).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
jyviko
2026-11-01 00:11:16 -04:00
committed by jyviko
parent 7577e032fb
commit cf5e0e3c10
55 changed files with 1904 additions and 0 deletions
+4
View File
@@ -21,6 +21,10 @@ cov-fillet-g2-pocket-corner the G2 corner patch meets the new order-2 section's
cov-fillet-turn-swept-boss-base-r1 not supported yet: solid.fillet has no `turn`; the corners are mitred (12508.9676, the Mitre case's volume)
cov-fillet-turn-swept-pocket-sharp-corner-refused-r1 not supported yet: solid.fillet has no `turn`, so the sharp concave corners are mitred, not refused
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)
cov-junction-boss-tilt-20-root-round SMLib fillet status 1001 on a cylinder tilted 20 degrees into the plate (also before the blend rework)
cov-junction-boss-tilt-40-root-round SMLib fillet status 1001 on a cylinder tilted 40 degrees into the plate (also before the blend rework)
cov-junction-tee-equal-round equal pipes' intersection is two plane ellipses crossing: their exact conic-pair rounds meet at the crossings in a corner the old corner code cannot join (built by the traced rounds before smlib#77); the corner step
cov-junction-y-junction-120-round refused: the faces between the three intersection curves narrow to nothing at the two triple points, so the room check trips; a three-edge concave corner (the corner step)
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)
report-fillet-concave-arc-and-front-top-edge-together-r7-solver-residues the corner patch where the convex and concave rounds meet stands 0.230 out of the front face (box y min -0.1723 against 0.0579)
@@ -0,0 +1,10 @@
{
"sources": [],
"what": "cylinder R6 tilted 0 degrees joined into a plate, its root edge rounded 1.5",
"source": "invariants",
"method": "no closed form for the round on these quadrics' intersection: one valid closed body whose round meets its faces G1",
"body_count": 1,
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,52 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"length": 60,
"width": 60,
"height": 10,
"corner": [
-30,
-30,
-10
],
"body_name": "P"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 6,
"height": 25,
"base": [
-0.0,
0,
-2.0
],
"axis": [
0.0,
0,
1.0
],
"operation": "join",
"targets": [
"P"
]
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
0,
6,
0
]
],
"radius": 1.5
}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [],
"what": "cylinder R6 tilted 20 degrees joined into a plate, its root edge rounded 1.5",
"source": "invariants",
"method": "no closed form for the round on these quadrics' intersection: one valid closed body whose round meets its faces G1",
"body_count": 1,
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,52 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"length": 60,
"width": 60,
"height": 10,
"corner": [
-30,
-30,
-10
],
"body_name": "P"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 6,
"height": 25,
"base": [
-0.6840402866513374,
0,
-1.8793852415718169
],
"axis": [
0.3420201433256687,
0,
0.9396926207859084
],
"operation": "join",
"targets": [
"P"
]
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
0,
6,
0
]
],
"radius": 1.5
}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [],
"what": "cylinder R6 tilted 40 degrees joined into a plate, its root edge rounded 1.5",
"source": "invariants",
"method": "no closed form for the round on these quadrics' intersection: one valid closed body whose round meets its faces G1",
"body_count": 1,
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,52 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"length": 60,
"width": 60,
"height": 10,
"corner": [
-30,
-30,
-10
],
"body_name": "P"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 6,
"height": 25,
"base": [
-1.2855752193730785,
0,
-1.532088886237956
],
"axis": [
0.6427876096865393,
0,
0.766044443118978
],
"operation": "join",
"targets": [
"P"
]
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
0,
6,
0
]
],
"radius": 1.5
}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [],
"what": "equal pipes R8 tee, rounded 1",
"source": "invariants",
"method": "no closed form for the round on these quadrics' intersection: one valid closed body whose round meets its faces G1",
"body_count": 1,
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,56 @@
{
"commands": [
{
"command": "solid.cylinder",
"params": {
"radius": 8,
"height": 60,
"base": [
-30,
0,
0
],
"axis": [
1,
0,
0
],
"body_name": "M"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 8,
"height": 25,
"base": [
0,
0,
0
],
"axis": [
0,
0,
1
],
"operation": "join",
"targets": [
"M"
]
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
7.642691913004848,
2.3641616532907164,
7.642691913004848
]
],
"radius": 1
}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [],
"what": "pipe tee oblique: main R8, branch R5 offset 0 tilted 30, intersection rounded 1",
"source": "invariants",
"method": "no closed form for the round on these quadrics' intersection: one valid closed body whose round meets its faces G1",
"body_count": 1,
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,56 @@
{
"commands": [
{
"command": "solid.cylinder",
"params": {
"radius": 8,
"height": 60,
"base": [
-30,
0,
0
],
"axis": [
1,
0,
0
],
"body_name": "M"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 5,
"height": 25,
"base": [
0,
0,
0
],
"axis": [
0.49999999999999994,
0,
0.8660254037844387
],
"operation": "join",
"targets": [
"M"
]
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
3.6055512754639882,
5,
6.244997998398398
]
],
"radius": 1
}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [],
"what": "pipe tee oblique-unequal: main R8, branch R4 offset 1 tilted 45, intersection rounded 1",
"source": "invariants",
"method": "no closed form for the round on these quadrics' intersection: one valid closed body whose round meets its faces G1",
"body_count": 1,
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,56 @@
{
"commands": [
{
"command": "solid.cylinder",
"params": {
"radius": 8,
"height": 60,
"base": [
-30,
0,
0
],
"axis": [
1,
0,
0
],
"body_name": "M"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 4,
"height": 25,
"base": [
0,
1,
0
],
"axis": [
0.7071067811865475,
0,
0.7071067811865476
],
"operation": "join",
"targets": [
"M"
]
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
6.244997998398397,
5,
6.244997998398398
]
],
"radius": 1
}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [],
"what": "pipe tee offset: main R8, branch R5 offset 2 tilted 0, intersection rounded 1",
"source": "invariants",
"method": "no closed form for the round on these quadrics' intersection: one valid closed body whose round meets its faces G1",
"body_count": 1,
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,56 @@
{
"commands": [
{
"command": "solid.cylinder",
"params": {
"radius": 8,
"height": 60,
"base": [
-30,
0,
0
],
"axis": [
1,
0,
0
],
"body_name": "M"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 5,
"height": 25,
"base": [
0,
2,
0
],
"axis": [
0.0,
0,
1.0
],
"operation": "join",
"targets": [
"M"
]
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
0.0,
7,
3.872983346207417
]
],
"radius": 1
}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [],
"what": "pipe tee unequal: main R8, branch R5 offset 0 tilted 0, intersection rounded 1",
"source": "invariants",
"method": "no closed form for the round on these quadrics' intersection: one valid closed body whose round meets its faces G1",
"body_count": 1,
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,56 @@
{
"commands": [
{
"command": "solid.cylinder",
"params": {
"radius": 8,
"height": 60,
"base": [
-30,
0,
0
],
"axis": [
1,
0,
0
],
"body_name": "M"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 5,
"height": 25,
"base": [
0,
0,
0
],
"axis": [
0.0,
0,
1.0
],
"operation": "join",
"targets": [
"M"
]
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
0.0,
5,
6.244997998398398
]
],
"radius": 1
}
}
]
}
@@ -0,0 +1,11 @@
{
"sources": [],
"what": "prism over a 30 degree triangle, apex edge chamfer 2",
"source": "analytic",
"method": "prism over a triangle with a 30 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge chamfered 2 along each face removes the triangle (1/2) 2^2 sin(a) along 30. V = 2970.000000000",
"body_count": 1,
"volume_mm3": 2969.9999999999995,
"tolerance": {
"rel": 1e-06
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
19.318516525781366,
-5.176380902050415
],
[
19.318516525781366,
5.176380902050415
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.chamfer",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"distance": 2.0
}
}
]
}
@@ -0,0 +1,14 @@
{
"sources": [],
"what": "prism over a 30 degree triangle, apex edge round 2",
"source": "analytic",
"method": "prism over a triangle with a 30 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge rounded r 2 removes r^2 (cot(a/2) - (pi - a)/2) along 30. V = 2709.233535771",
"body_count": 1,
"volume_mm3": 2709.233535771224,
"tolerance": {
"rel": 1e-06
},
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
19.318516525781366,
-5.176380902050415
],
[
19.318516525781366,
5.176380902050415
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"radius": 2.0
}
}
]
}
@@ -0,0 +1,11 @@
{
"sources": [],
"what": "prism over a 45 degree triangle, apex edge chamfer 2",
"source": "analytic",
"method": "prism over a triangle with a 45 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge chamfered 2 along each face removes the triangle (1/2) 2^2 sin(a) along 30. V = 4200.214280248",
"body_count": 1,
"volume_mm3": 4200.214280248092,
"tolerance": {
"rel": 1e-06
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
18.477590650225736,
-7.653668647301796
],
[
18.477590650225736,
7.653668647301796
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.chamfer",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"distance": 2.0
}
}
]
}
@@ -0,0 +1,14 @@
{
"sources": [],
"what": "prism over a 45 degree triangle, apex edge round 2",
"source": "analytic",
"method": "prism over a triangle with a 45 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge rounded r 2 removes r^2 (cot(a/2) - (pi - a)/2) along 30. V = 4094.306729046",
"body_count": 1,
"volume_mm3": 4094.306729046054,
"tolerance": {
"rel": 1e-06
},
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
18.477590650225736,
-7.653668647301796
],
[
18.477590650225736,
7.653668647301796
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"radius": 2.0
}
}
]
}
@@ -0,0 +1,11 @@
{
"sources": [],
"what": "prism over a 60 degree triangle, apex edge chamfer 2",
"source": "analytic",
"method": "prism over a triangle with a 60 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge chamfered 2 along each face removes the triangle (1/2) 2^2 sin(a) along 30. V = 5144.190898480",
"body_count": 1,
"volume_mm3": 5144.1908984795655,
"tolerance": {
"rel": 1e-06
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
17.320508075688775,
-9.999999999999998
],
[
17.320508075688775,
9.999999999999998
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.chamfer",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"distance": 2.0
}
}
]
}
@@ -0,0 +1,14 @@
{
"sources": [],
"what": "prism over a 60 degree triangle, apex edge round 2",
"source": "analytic",
"method": "prism over a triangle with a 60 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge rounded r 2 removes r^2 (cot(a/2) - (pi - a)/2) along 30. V = 5113.970031942",
"body_count": 1,
"volume_mm3": 5113.970031941958,
"tolerance": {
"rel": 1e-06
},
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
17.320508075688775,
-9.999999999999998
],
[
17.320508075688775,
9.999999999999998
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"radius": 2.0
}
}
]
}
@@ -0,0 +1,11 @@
{
"sources": [],
"what": "prism over a 75 degree triangle, apex edge chamfer 2",
"source": "analytic",
"method": "prism over a triangle with a 75 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge chamfered 2 along each face removes the triangle (1/2) 2^2 sin(a) along 30. V = 5737.599408157",
"body_count": 1,
"volume_mm3": 5737.599408157066,
"tolerance": {
"rel": 1e-06
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
15.867066805824702,
-12.175228580174412
],
[
15.867066805824702,
12.175228580174412
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.chamfer",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"distance": 2.0
}
}
]
}
@@ -0,0 +1,14 @@
{
"sources": [],
"what": "prism over a 75 degree triangle, apex edge round 2",
"source": "analytic",
"method": "prism over a triangle with a 75 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge rounded r 2 removes r^2 (cot(a/2) - (pi - a)/2) along 30. V = 5749.123655869",
"body_count": 1,
"volume_mm3": 5749.123655869108,
"tolerance": {
"rel": 1e-06
},
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
15.867066805824702,
-12.175228580174412
],
[
15.867066805824702,
12.175228580174412
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"radius": 2.0
}
}
]
}
@@ -0,0 +1,11 @@
{
"sources": [],
"what": "prism over a 90 degree triangle, apex edge chamfer 2",
"source": "analytic",
"method": "prism over a triangle with a 90 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge chamfered 2 along each face removes the triangle (1/2) 2^2 sin(a) along 30. V = 5940.000000000",
"body_count": 1,
"volume_mm3": 5940.0,
"tolerance": {
"rel": 1e-06
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
14.142135623730951,
-14.14213562373095
],
[
14.142135623730951,
14.14213562373095
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.chamfer",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"distance": 2.0
}
}
]
}
@@ -0,0 +1,14 @@
{
"sources": [],
"what": "prism over a 90 degree triangle, apex edge round 2",
"source": "analytic",
"method": "prism over a triangle with a 90 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge rounded r 2 removes r^2 (cot(a/2) - (pi - a)/2) along 30. V = 5974.247779608",
"body_count": 1,
"volume_mm3": 5974.247779607694,
"tolerance": {
"rel": 1e-06
},
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
14.142135623730951,
-14.14213562373095
],
[
14.142135623730951,
14.14213562373095
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"radius": 2.0
}
}
]
}
@@ -0,0 +1,11 @@
{
"sources": [],
"what": "prism over a 105 degree triangle, apex edge chamfer 2",
"source": "analytic",
"method": "prism over a triangle with a 105 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge chamfered 2 along each face removes the triangle (1/2) 2^2 sin(a) along 30. V = 5737.599408157",
"body_count": 1,
"volume_mm3": 5737.599408157066,
"tolerance": {
"rel": 1e-06
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
12.175228580174412,
-15.867066805824702
],
[
12.175228580174412,
15.867066805824702
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.chamfer",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"distance": 2.0
}
}
]
}
@@ -0,0 +1,14 @@
{
"sources": [],
"what": "prism over a 105 degree triangle, apex edge round 2",
"source": "analytic",
"method": "prism over a triangle with a 105 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge rounded r 2 removes r^2 (cot(a/2) - (pi - a)/2) along 30. V = 5782.015535517",
"body_count": 1,
"volume_mm3": 5782.01553551668,
"tolerance": {
"rel": 1e-06
},
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
12.175228580174412,
-15.867066805824702
],
[
12.175228580174412,
15.867066805824702
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"radius": 2.0
}
}
]
}
@@ -0,0 +1,11 @@
{
"sources": [],
"what": "prism over a 120 degree triangle, apex edge chamfer 2",
"source": "analytic",
"method": "prism over a triangle with a 120 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge chamfered 2 along each face removes the triangle (1/2) 2^2 sin(a) along 30. V = 5144.190898480",
"body_count": 1,
"volume_mm3": 5144.190898479566,
"tolerance": {
"rel": 1e-06
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
10.000000000000002,
-17.32050807568877
],
[
10.000000000000002,
17.32050807568877
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.chamfer",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"distance": 2.0
}
}
]
}
@@ -0,0 +1,14 @@
{
"sources": [],
"what": "prism over a 120 degree triangle, apex edge round 2",
"source": "analytic",
"method": "prism over a triangle with a 120 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge rounded r 2 removes r^2 (cot(a/2) - (pi - a)/2) along 30. V = 5189.702243476",
"body_count": 1,
"volume_mm3": 5189.702243475674,
"tolerance": {
"rel": 1e-06
},
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
10.000000000000002,
-17.32050807568877
],
[
10.000000000000002,
17.32050807568877
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"radius": 2.0
}
}
]
}
@@ -0,0 +1,11 @@
{
"sources": [],
"what": "prism over a 135 degree triangle, apex edge chamfer 2",
"source": "analytic",
"method": "prism over a triangle with a 135 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge chamfered 2 along each face removes the triangle (1/2) 2^2 sin(a) along 30. V = 4200.214280248",
"body_count": 1,
"volume_mm3": 4200.214280248092,
"tolerance": {
"rel": 1e-06
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
7.653668647301797,
-18.477590650225736
],
[
7.653668647301797,
18.477590650225736
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.chamfer",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"distance": 2.0
}
}
]
}
@@ -0,0 +1,14 @@
{
"sources": [],
"what": "prism over a 135 degree triangle, apex edge round 2",
"source": "analytic",
"method": "prism over a triangle with a 135 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge rounded r 2 removes r^2 (cot(a/2) - (pi - a)/2) along 30. V = 4240.058949438",
"body_count": 1,
"volume_mm3": 4240.05894943836,
"tolerance": {
"rel": 1e-06
},
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
7.653668647301797,
-18.477590650225736
],
[
7.653668647301797,
18.477590650225736
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"radius": 2.0
}
}
]
}
@@ -0,0 +1,11 @@
{
"sources": [],
"what": "prism over a 150 degree triangle, apex edge chamfer 2",
"source": "analytic",
"method": "prism over a triangle with a 150 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge chamfered 2 along each face removes the triangle (1/2) 2^2 sin(a) along 30. V = 2970.000000000",
"body_count": 1,
"volume_mm3": 2969.9999999999995,
"tolerance": {
"rel": 1e-06
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
5.176380902050415,
-19.318516525781366
],
[
5.176380902050415,
19.318516525781366
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.chamfer",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"distance": 2.0
}
}
]
}
@@ -0,0 +1,14 @@
{
"sources": [],
"what": "prism over a 150 degree triangle, apex edge round 2",
"source": "analytic",
"method": "prism over a triangle with a 150 degree apex, sides 20, 30 long: V0 = 200 sin(a) * 30. The apex edge rounded r 2 removes r^2 (cot(a/2) - (pi - a)/2) along 30. V = 2999.262023444",
"body_count": 1,
"volume_mm3": 2999.262023444163,
"tolerance": {
"rel": 1e-06
},
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,59 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "W"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
5.176380902050415,
-19.318516525781366
],
[
5.176380902050415,
19.318516525781366
],
[
0,
0
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "W",
"distance": 30.0,
"body_name": "Wedge"
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
0,
0,
15.0
]
],
"radius": 2.0
}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [],
"what": "three pipes R4 at 120 degrees in a plane, their intersection edges rounded 1",
"source": "invariants",
"method": "no closed form for the round on these quadrics' intersection: one valid closed body whose round meets its faces G1",
"body_count": 1,
"continuity": {
"order": "g1"
}
}
@@ -0,0 +1,87 @@
{
"commands": [
{
"command": "solid.cylinder",
"params": {
"radius": 4.0,
"height": 30,
"base": [
0,
0,
0
],
"axis": [
6.123233995736766e-17,
1.0,
0
],
"body_name": "Y"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 4.0,
"height": 30,
"base": [
0,
0,
0
],
"axis": [
-0.8660254037844386,
-0.5000000000000001,
0
],
"operation": "join",
"targets": [
"Y"
]
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 4.0,
"height": 30,
"base": [
0,
0,
0
],
"axis": [
0.8660254037844384,
-0.5000000000000004,
0
],
"operation": "join",
"targets": [
"Y"
]
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
-2.4492935982947064e-16,
-4.0,
2.0
],
[
3.4641016151377544,
2.0000000000000004,
2.0
],
[
-3.4641016151377535,
2.0000000000000018,
2.0
]
],
"radius": 1
}
}
]
}