mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-05 19:45:54 +00:00
A tray with seven rounded edges, both rim rounds of a tube, a chamfer on a joined L-shaped body, and a circular pattern of a chamfered hole, each with an analytic volume. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
+23
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#1008"
|
||||
],
|
||||
"what": "an R10 round on the four inside floor edges and three of the four inside vertical corners of an open tray, so one corner keeps a sharp vertical edge where two floor rounds meet (rebuilt from the report's edge picks: the original design is not in the report)",
|
||||
"source": "analytic",
|
||||
"method": "Tray 100x100x50, cavity 90x90 from z=5 up through the open top (walls and floor 5 mm): V0 = 500000 - 90*90*45 = 135500. Rounding concave edges adds material. Let P be the cavity's plan outline after the vertical rounds: the 90x90 square with three corners rounded R10 (one corner sharp), area 8100 - 3 (1-pi/4) 100 = 8035.6194. The floor round is a rolling ball of R10 along the outline, so over a point at plan distance d from the outline (d<10) the floor rises by g(d) = 10 - sqrt(100 - (10-d)^2); at the sharp corner the two rounds meet in a mitre, which is g of the distance to the nearest wall, the same rule; at a rounded corner the torus degenerates to the ball's sphere. Co-area: the integral of g(d) over P = integral over t in [0,10] of g(t) L(t) dt, with L(t) the perimeter of the outline pulled in by t, L(t) = L0 - 2 pi t for a convex outline (L0 = 360 - 3 (20 - 5 pi) = 347.1239). Integral of g = (1-pi/4) 100 = 21.4602; integral of t g = 1000 (5/6 - pi/4) = 47.9352 (first moment of the square minus quarter disc). Added by the floor rounds = 347.1239*21.4602 - 2 pi 47.9352 = 7148.1569. Cavity after = 45 * 8035.6194 - 7148.1569 = 354454.7183; V = 500000 - that = 145545.2817 mm3 (a grid sum over the plan agrees to 2e-4).",
|
||||
"outcome": "solid",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 145545.2817,
|
||||
"bbox": {
|
||||
"min": [
|
||||
0,
|
||||
-100,
|
||||
0
|
||||
],
|
||||
"max": [
|
||||
100,
|
||||
0,
|
||||
50
|
||||
]
|
||||
}
|
||||
}
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "solid.box",
|
||||
"params": {
|
||||
"corner": [
|
||||
0,
|
||||
-100,
|
||||
0
|
||||
],
|
||||
"length": 100,
|
||||
"width": 100,
|
||||
"height": 50,
|
||||
"body_name": "Tray"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.box",
|
||||
"params": {
|
||||
"corner": [
|
||||
5,
|
||||
-95,
|
||||
5
|
||||
],
|
||||
"length": 90,
|
||||
"width": 90,
|
||||
"height": 46,
|
||||
"operation": "cut",
|
||||
"targets": [
|
||||
"Tray"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.fillet",
|
||||
"params": {
|
||||
"edges": [
|
||||
[
|
||||
5,
|
||||
-50,
|
||||
5
|
||||
],
|
||||
[
|
||||
50,
|
||||
-95,
|
||||
5
|
||||
],
|
||||
[
|
||||
95,
|
||||
-50,
|
||||
5
|
||||
],
|
||||
[
|
||||
50,
|
||||
-5,
|
||||
5
|
||||
],
|
||||
[
|
||||
95,
|
||||
-5,
|
||||
27.5
|
||||
],
|
||||
[
|
||||
5,
|
||||
-5,
|
||||
27.5
|
||||
],
|
||||
[
|
||||
5,
|
||||
-95,
|
||||
27.5
|
||||
]
|
||||
],
|
||||
"radius": 10
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#1191"
|
||||
],
|
||||
"what": "an R2 round on the outer and inner rim circles of a tube's top face (the report's ten picks on a ring-shaped top: the round failed after 0.10.1; rebuilt as a plain tube since the design is not in the report)",
|
||||
"source": "analytic",
|
||||
"method": "Tube R=18.5, r=11.5, h=33: V0 = pi (18.5^2 - 11.5^2) 33 = 21771.2371. Each rim round removes the square-minus-quarter-disc section (area A = (1-pi/4) 4 = 0.858407, first moment about the round's centre line rho^3/6 = 4/3) swept about the axis (Pappus). Outer rim (convex), section centre at radius 16.5: 2 pi (16.5 A + 4/3) = 97.3737; inner rim (convex, material outside r=11.5), centre at radius 13.5: 2 pi (13.5 A - 4/3) = 64.4333. V = 21771.2371 - 97.3737 - 64.4333 = 21609.4311 mm3. Faces: outer wall, two toroidal rounds, top ring, inner wall, bottom ring = 6.",
|
||||
"outcome": "solid",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 21609.4311,
|
||||
"faces": 6,
|
||||
"bbox": {
|
||||
"min": [
|
||||
-18.5,
|
||||
-18.5,
|
||||
0
|
||||
],
|
||||
"max": [
|
||||
18.5,
|
||||
18.5,
|
||||
33
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.circle.center",
|
||||
"params": {
|
||||
"center": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"radius": 18.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.circle.center",
|
||||
"params": {
|
||||
"center": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"radius": 11.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"distance": 33,
|
||||
"body_name": "Ring",
|
||||
"profiles": [
|
||||
{
|
||||
"point": [
|
||||
15,
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.fillet",
|
||||
"params": {
|
||||
"edges": [
|
||||
[
|
||||
0,
|
||||
18.5,
|
||||
33
|
||||
],
|
||||
[
|
||||
0,
|
||||
11.5,
|
||||
33
|
||||
]
|
||||
],
|
||||
"radius": 2
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3276"
|
||||
],
|
||||
"what": "three extrudes joined into an L-shaped body with a 1 mm protrusion, then a chamfer on the protrusion's outer edge (the report: the corners are no longer 90 degrees and the chamfer fails)",
|
||||
"source": "analytic",
|
||||
"method": "Base 40x20x10 (8000). A wall 40x5x20 extruded up from the base's top face at y 0..5 (4000): an L section. A 20x10 pad extruded 1 mm out of the wall's front face (y 5..6, z 10..20, x 10..30) (200). A 0.5 mm chamfer on its top outer edge (y=6, z=20, length 20) removes a right triangle 0.5x0.5/2 x 20 = 2.5. V = 12200 - 2.5 = 12197.5 mm3. Centre of mass from the pieces: base (20,10,5), wall (20,2.5,20), pad (20,5.5,15), minus the removed wedge at (20, 17/3, 59.5/3).",
|
||||
"outcome": "solid",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 12197.5,
|
||||
"center_of_mass": [
|
||||
20.0,
|
||||
7.4676,
|
||||
10.08
|
||||
],
|
||||
"bbox": {
|
||||
"min": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"max": [
|
||||
40,
|
||||
20,
|
||||
30
|
||||
]
|
||||
}
|
||||
}
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.rectangle.two_point",
|
||||
"params": {
|
||||
"p0": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"p1": [
|
||||
40,
|
||||
20
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"distance": 10,
|
||||
"body_name": "L"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": {
|
||||
"face": [
|
||||
20,
|
||||
10,
|
||||
10
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.rectangle.two_point",
|
||||
"params": {
|
||||
"p0": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"p1": [
|
||||
40,
|
||||
5
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"distance": 20,
|
||||
"operation": "join"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": {
|
||||
"face": [
|
||||
20,
|
||||
5,
|
||||
20
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.rectangle.two_point",
|
||||
"params": {
|
||||
"p0": [
|
||||
-30,
|
||||
10
|
||||
],
|
||||
"p1": [
|
||||
-10,
|
||||
20
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"distance": 1,
|
||||
"operation": "join"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.chamfer",
|
||||
"params": {
|
||||
"edges": [
|
||||
[
|
||||
20,
|
||||
6,
|
||||
20
|
||||
]
|
||||
],
|
||||
"distance": 0.5
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3753"
|
||||
],
|
||||
"what": "a circular pattern (6 copies about Y) of a through hole and the 1 mm chamfer on its rim (the report: the pattern is refused because the copied chamfer 'would grow the part'); rebuilt as a hole in a disc, the original design is not in the report",
|
||||
"source": "analytic",
|
||||
"method": "Disc R=30, h=10 (axis Y): V0 = pi 900 10 = 28274.3339. Each hole: diameter 4 through (pi 4 10 = 125.6637) plus the 1 mm chamfer on the top rim, a frustum from r=2 (depth 1) to r=3 (top) minus the cylinder it overlaps: pi/3 (4 + 6 + 9) - 4 pi = 7 pi/3 = 7.3304. The holes sit on a circle of radius 20, 60 degrees apart (chord 20, holes 4 mm wide plus the chamfer's 6 mm: no overlap, and 20 - 3 > 0 leaves the rim inside the disc). V = V0 - 6 (125.6637 + 7.3304) = 27476.3693 mm3. Faces: side, top, bottom, plus a wall and a cone per hole = 15.",
|
||||
"outcome": "solid",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 27476.3693,
|
||||
"faces": 15,
|
||||
"bbox": {
|
||||
"min": [
|
||||
-30,
|
||||
0,
|
||||
-30
|
||||
],
|
||||
"max": [
|
||||
30,
|
||||
10,
|
||||
30
|
||||
]
|
||||
}
|
||||
}
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XZ"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.circle.center",
|
||||
"params": {
|
||||
"center": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"radius": 30
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"distance": 10,
|
||||
"body_name": "Disc"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.hole",
|
||||
"params": {
|
||||
"position": [
|
||||
20,
|
||||
10,
|
||||
0
|
||||
],
|
||||
"diameter": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.chamfer",
|
||||
"params": {
|
||||
"edges": [
|
||||
[
|
||||
22,
|
||||
10,
|
||||
0
|
||||
]
|
||||
],
|
||||
"distance": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.pattern.circular",
|
||||
"params": {
|
||||
"features": [
|
||||
"Hole1",
|
||||
"Chamfer1"
|
||||
],
|
||||
"axis": "Y",
|
||||
"count": 6,
|
||||
"angle": "360 deg"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user