mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-03 10:35:58 +00:00
Fillet rig: the concave arc where a bar's top meets a cylinder its sides run tangent into
An r2 round of the arc adds the spandrel ring clipped by the bar's sides, integral over rho in [8, 10] of [2 - sqrt(4 - (10 - rho)^2)] rho 2 asin(8 / rho) = 18.455363. With round coordinates it builds to that; with the reported design's sketch residues (~1e-10 mm) SMLib's blend fails, status 1001 (SmFilletNx1Corner: unable to make topology at the arc's end), listed as known failing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#1207"
|
||||
],
|
||||
"what": "as 1207-fillet-concave-arc-bar-top-into-cylinder, with the sketch solver's residues of the reported design: SMLib's Nx1 corner fails (status 1001)",
|
||||
"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), length 41.160417754, V0 = 41.160417754 * 16.0000000000762 * 10 + 960 pi; the concave arc where the bar's top meets the cylinder's wall rounded r2: the spandrel ring added, clipped by the bar's sides y = 0 and y = 16 (as 1207-fillet-concave-arc-at-boss): integral over rho in [8, 10] of [2 - sqrt(4 - (10 - rho)^2)] rho 2 asin(8 / rho) = 18.4553684491 (Simpson)",
|
||||
"body_count": 1,
|
||||
"faces": 8,
|
||||
"volume_mm3": 9620.051156581294
|
||||
}
|
||||
+169
@@ -0,0 +1,169 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY",
|
||||
"name": "Peg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0.4892940775280783,
|
||||
0.05792545052986289
|
||||
],
|
||||
[
|
||||
41.64971183161969,
|
||||
0.05792545083296555
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.arc.center_point",
|
||||
"params": {
|
||||
"center": [
|
||||
41.64971183108453,
|
||||
8.057925450890195
|
||||
],
|
||||
"start": [
|
||||
41.64971183161969,
|
||||
0.05792545083296555
|
||||
],
|
||||
"end": [
|
||||
41.64971183161969,
|
||||
16.05792545083297
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
41.64971183161969,
|
||||
16.05792545083297
|
||||
],
|
||||
[
|
||||
0.4892940775280783,
|
||||
16.057925450606035
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0.4892940775280783,
|
||||
16.057925450606035
|
||||
],
|
||||
[
|
||||
0.4892940775280783,
|
||||
0.05792545052986289
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"sketch": "Peg",
|
||||
"distance": 10,
|
||||
"body_name": "Peg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": {
|
||||
"origin": [
|
||||
0,
|
||||
0,
|
||||
10
|
||||
],
|
||||
"x_dir": [
|
||||
1,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"y_dir": [
|
||||
0,
|
||||
1,
|
||||
0
|
||||
]
|
||||
},
|
||||
"name": "Top"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.project",
|
||||
"params": {
|
||||
"refs": [
|
||||
{
|
||||
"face": [
|
||||
2.4892940775280783,
|
||||
8.057925450890195,
|
||||
10
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.circle.center",
|
||||
"params": {
|
||||
"center": [
|
||||
41.64971183108453,
|
||||
8.057925450832967
|
||||
],
|
||||
"radius": 8.000000000006473
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"sketch": "Top",
|
||||
"distance": 10,
|
||||
"operation": "join",
|
||||
"targets": [
|
||||
"Peg"
|
||||
],
|
||||
"profiles": [
|
||||
{
|
||||
"point": [
|
||||
41.64971183108453,
|
||||
8.057925450832967
|
||||
]
|
||||
}
|
||||
],
|
||||
"exact_regions": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.fillet",
|
||||
"params": {
|
||||
"edges": [
|
||||
[
|
||||
33.65,
|
||||
8.058,
|
||||
10
|
||||
]
|
||||
],
|
||||
"radius": 2
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#1207"
|
||||
],
|
||||
"what": "an r2 round of the concave arc where a bar's top meets a cylinder its sides run tangent into",
|
||||
"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 concave arc where the bar's top meets the cylinder's wall rounded r2: the spandrel ring added, clipped by the bar's sides y = 0 and y = 16 (as 1207-fillet-concave-arc-at-boss): integral over rho in [8, 10] of [2 - sqrt(4 - (10 - rho)^2)] rho 2 asin(8 / rho) = 18.4553684491 (Simpson)",
|
||||
"body_count": 1,
|
||||
"faces": 8,
|
||||
"volume_mm3": 9434.384315895273
|
||||
}
|
||||
@@ -0,0 +1,169 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY",
|
||||
"name": "Peg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
40,
|
||||
0
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.arc.center_point",
|
||||
"params": {
|
||||
"center": [
|
||||
40,
|
||||
8
|
||||
],
|
||||
"start": [
|
||||
40,
|
||||
0
|
||||
],
|
||||
"end": [
|
||||
40,
|
||||
16
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
40,
|
||||
16
|
||||
],
|
||||
[
|
||||
0,
|
||||
16
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
16
|
||||
],
|
||||
[
|
||||
0,
|
||||
0
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"sketch": "Peg",
|
||||
"distance": 10,
|
||||
"body_name": "Peg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": {
|
||||
"origin": [
|
||||
0,
|
||||
0,
|
||||
10
|
||||
],
|
||||
"x_dir": [
|
||||
1,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"y_dir": [
|
||||
0,
|
||||
1,
|
||||
0
|
||||
]
|
||||
},
|
||||
"name": "Top"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.project",
|
||||
"params": {
|
||||
"refs": [
|
||||
{
|
||||
"face": [
|
||||
2,
|
||||
8,
|
||||
10
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.circle.center",
|
||||
"params": {
|
||||
"center": [
|
||||
40,
|
||||
8
|
||||
],
|
||||
"radius": 8
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"sketch": "Top",
|
||||
"distance": 10,
|
||||
"operation": "join",
|
||||
"targets": [
|
||||
"Peg"
|
||||
],
|
||||
"profiles": [
|
||||
{
|
||||
"point": [
|
||||
40,
|
||||
8
|
||||
]
|
||||
}
|
||||
],
|
||||
"exact_regions": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.fillet",
|
||||
"params": {
|
||||
"edges": [
|
||||
[
|
||||
32,
|
||||
8,
|
||||
10
|
||||
]
|
||||
],
|
||||
"radius": 2
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -15,6 +15,7 @@
|
||||
1080-fillet-sloped-basin-1-mm-rim-r4-4-edges not supported yet: a convex round past its face is not yet built by subtraction
|
||||
1113-chamfer-arc-top-edge-full-wall-height-refused builds the chamfer as tall as the wall where it should be refused as too large
|
||||
1207-fillet-bar-top-edge-after-boss-arc-round-r0-5 SMLib's check refuses the round: internal coincident control points in a B-spline curve (an internal pole)
|
||||
1207-fillet-concave-arc-bar-top-into-cylinder-solver-residues SMLib status 1001: SmFilletNx1Corner cannot make the topology at the arc's end (fillet error 3, corner type 8)
|
||||
1207-fillet-corner-after-round-running-into-cylinder-solver-residues SMLib's check refuses the round: its corner's surface of revolution is close to singular at its boundary (SmSurface test 5)
|
||||
1668-fillet-outer-top-edge-of-thin-wall-r7-past-inside-corner a slit along the hollow, 0.507 mm^3 off: 38458.389 is V0 less the round's whole section along 104, so the section's part over the hollow (0.005068 mm^2 along 100), which is not material, is taken anyway
|
||||
190-fillet-disc-rim-past-its-2mm-wall SMLib status 1001: a convex round past its face is not yet built by subtraction
|
||||
|
||||
Reference in New Issue
Block a user