mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-03 02:25:55 +00:00
kernel-cases: shell and offset from #12-#4144 (21 cases, 59 skipped)
4009 closed shell, 4010 shell open at a hole wall, 2531 point pick after an edit, 3468/3898 offset next to a fillet, 12 split face piece, 566 swept bar, 745/3893 freeform boss (two variants), 3103 tapered cylinder, 3669/2990 loft, 3283/3650 and 2939 curved offsets, 3506 and 1972 split then shell, 3576, 391, 1494, 1525. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#12"
|
||||
],
|
||||
"what": "Offset Face on one piece of a split face moves only that piece, not the coplanar neighbour",
|
||||
"source": "analytic",
|
||||
"method": "box 40x30x10, top face split at x=20; the x<20 piece moves up 2 mm: V=12000+20*30*2=13200; faces: bottom, front, back, left, right, two top pieces, step wall at x=20 = 8; bbox z 0..12",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 13200,
|
||||
"faces": 8
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "solid.box",
|
||||
"params": {
|
||||
"length": 40,
|
||||
"width": 30,
|
||||
"height": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.split_face",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
10,
|
||||
15,
|
||||
10
|
||||
]
|
||||
],
|
||||
"plane": {
|
||||
"origin": [
|
||||
20,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"normal": [
|
||||
1,
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.offset_face",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
10,
|
||||
15,
|
||||
10
|
||||
]
|
||||
],
|
||||
"distance": 2
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#1494"
|
||||
],
|
||||
"what": "a 47.5x45x30 box with a cylinder r7.5 joined on its side whose axis lies in the plane of the box's front face (y=0), shelled 1 mm open at the bottom",
|
||||
"source": "invariants",
|
||||
"method": "the cylinder wall's seam lies on the front plane, giving a five-face saddle corner at (47.5,0,2.5). No closed-form volume (the cavity corners follow the offset surfaces); the shell must succeed and give one valid closed body",
|
||||
"body_count": 1
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "solid.box",
|
||||
"params": {
|
||||
"height": 30.0,
|
||||
"length": 47.5,
|
||||
"width": 45.0
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.cylinder",
|
||||
"params": {
|
||||
"axis": [
|
||||
1.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"base": [
|
||||
47.5,
|
||||
0.0,
|
||||
10.0
|
||||
],
|
||||
"height": 30.0,
|
||||
"operation": "join",
|
||||
"radius": 7.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.shell",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
23.75,
|
||||
22.5,
|
||||
0.0
|
||||
]
|
||||
],
|
||||
"thickness": 1.0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#1525"
|
||||
],
|
||||
"what": "a 50x50x30 box with r10 vertical rounds, a 5 mm chamfer round the base and a 4 mm fillet where the chamfer meets the wall, shelled 2 mm open at the top",
|
||||
"source": "invariants",
|
||||
"method": "every radius and the chamfer have room for a 2 mm wall, so the shell must succeed: one valid closed body (no closed-form volume with the blend patches)",
|
||||
"body_count": 1
|
||||
}
|
||||
@@ -0,0 +1,154 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "solid.box",
|
||||
"params": {
|
||||
"corner": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"length": 50,
|
||||
"width": 50,
|
||||
"height": 30
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.fillet",
|
||||
"params": {
|
||||
"edges": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
15
|
||||
],
|
||||
[
|
||||
50,
|
||||
0,
|
||||
15
|
||||
],
|
||||
[
|
||||
0,
|
||||
50,
|
||||
15
|
||||
],
|
||||
[
|
||||
50,
|
||||
50,
|
||||
15
|
||||
]
|
||||
],
|
||||
"radius": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.chamfer",
|
||||
"params": {
|
||||
"edges": [
|
||||
[
|
||||
25,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
50,
|
||||
25,
|
||||
0
|
||||
],
|
||||
[
|
||||
25,
|
||||
50,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
25,
|
||||
0
|
||||
],
|
||||
[
|
||||
2.929,
|
||||
2.929,
|
||||
0
|
||||
],
|
||||
[
|
||||
47.071,
|
||||
2.929,
|
||||
0
|
||||
],
|
||||
[
|
||||
47.071,
|
||||
47.071,
|
||||
0
|
||||
],
|
||||
[
|
||||
2.929,
|
||||
47.071,
|
||||
0
|
||||
]
|
||||
],
|
||||
"distance": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.fillet",
|
||||
"params": {
|
||||
"edges": [
|
||||
[
|
||||
25,
|
||||
0,
|
||||
5
|
||||
],
|
||||
[
|
||||
50,
|
||||
25,
|
||||
5
|
||||
],
|
||||
[
|
||||
25,
|
||||
50,
|
||||
5
|
||||
],
|
||||
[
|
||||
0,
|
||||
25,
|
||||
5
|
||||
],
|
||||
[
|
||||
2.929,
|
||||
2.929,
|
||||
5
|
||||
],
|
||||
[
|
||||
47.071,
|
||||
2.929,
|
||||
5
|
||||
],
|
||||
[
|
||||
47.071,
|
||||
47.071,
|
||||
5
|
||||
],
|
||||
[
|
||||
2.929,
|
||||
47.071,
|
||||
5
|
||||
]
|
||||
],
|
||||
"radius": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.shell",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
25,
|
||||
25,
|
||||
30
|
||||
]
|
||||
],
|
||||
"thickness": 2
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#1972"
|
||||
],
|
||||
"what": "a sphere split into two hemispheres; shelling the flat face of one must hollow that half only, the other half stays solid",
|
||||
"source": "analytic",
|
||||
"method": "two hemispheres r10, flat faces coincident at z=0. The pick (3,2,0) lies on both flat faces, so the body is named. The named half becomes a hollow hemisphere with cavity r8 open at the flat face: V=2/3*pi*(10^3-8^3); the other half is untouched: 2/3*pi*10^3. Total of two bodies",
|
||||
"body_count": 2,
|
||||
"volume_mm3": 3116.4599123610747
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "solid.sphere",
|
||||
"params": {
|
||||
"radius": 10,
|
||||
"body_name": "Ball"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.split_body",
|
||||
"params": {
|
||||
"body": "Ball",
|
||||
"plane": {
|
||||
"origin": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"normal": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.shell",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
3,
|
||||
2,
|
||||
0
|
||||
]
|
||||
],
|
||||
"thickness": 2,
|
||||
"body": "Ball"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#2531"
|
||||
],
|
||||
"what": "a shell opened by a point pick keeps opening only that face after a parameter edit moves the body under the stored point",
|
||||
"source": "analytic",
|
||||
"method": "after L=150, Y0=15 the bar is 150x20x20 at y 15..35, shelled 2 mm with only the right end (x=150) open: V=60000-148*16*16=22112; faces 5 outer + right-end ring + 5 inner = 11; the stored point (100,15,10) now lies in the bottom (y=15) face, which must stay closed",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 22112,
|
||||
"faces": 11
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "parameters.add",
|
||||
"params": {
|
||||
"name": "L",
|
||||
"expression": "100 mm",
|
||||
"unit": "mm"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "parameters.add",
|
||||
"params": {
|
||||
"name": "Y0",
|
||||
"expression": "5 mm",
|
||||
"unit": "mm"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY",
|
||||
"name": "S"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.rectangle.two_point",
|
||||
"params": {
|
||||
"p0": [
|
||||
0,
|
||||
5
|
||||
],
|
||||
"p1": [
|
||||
100,
|
||||
25
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.constraint.horizontal_vertical",
|
||||
"params": {
|
||||
"points": [
|
||||
"origin",
|
||||
"l1.start"
|
||||
],
|
||||
"mode": "vertical"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.dimension",
|
||||
"params": {
|
||||
"entities": [
|
||||
"origin",
|
||||
"l1.start"
|
||||
],
|
||||
"type": "vertical",
|
||||
"value": "Y0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.dimension",
|
||||
"params": {
|
||||
"entities": [
|
||||
"l1"
|
||||
],
|
||||
"type": "length",
|
||||
"value": "L"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.dimension",
|
||||
"params": {
|
||||
"entities": [
|
||||
"l4"
|
||||
],
|
||||
"type": "length",
|
||||
"value": "20 mm"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"sketch": "S",
|
||||
"distance": "20 mm",
|
||||
"operation": "new",
|
||||
"body_name": "Bar"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.shell",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
100,
|
||||
15,
|
||||
10
|
||||
]
|
||||
],
|
||||
"thickness": "2 mm",
|
||||
"direction": "inside",
|
||||
"body": "Bar"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "parameters.change",
|
||||
"params": {
|
||||
"name": "L",
|
||||
"expression": "150 mm"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "parameters.change",
|
||||
"params": {
|
||||
"name": "Y0",
|
||||
"expression": "15 mm"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#2939"
|
||||
],
|
||||
"what": "Offset Face on a sphere's round face",
|
||||
"source": "analytic",
|
||||
"method": "a sphere r10 whose face moves out 2 mm is a sphere r12: V=4/3*pi*12^3, area 4*pi*144, centroid at the origin, one face",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 7238.229473870882,
|
||||
"area_mm2": 1809.5573684677208,
|
||||
"faces": 1,
|
||||
"center_of_mass": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "solid.sphere",
|
||||
"params": {
|
||||
"radius": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.offset_face",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
10,
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"distance": "2 mm"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3103"
|
||||
],
|
||||
"what": "a cone frustum (r20 at the base, r15 at the top, 30 tall) shelled 2 mm open at the top",
|
||||
"source": "analytic",
|
||||
"method": "outer V=pi*30/3*(20^2+20*15+15^2). Wall offset 2 normal to the cone: half-angle a=atan(5/30), inner radius r(z)=20-z*tan(a)-2/cos(a), floor at z=2. Cavity frustum height 28 from r(2) to r(30). V=outer-pi*28/3*(ra^2+ra*rb+rb^2)",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 8292.991685180048
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.circle.center",
|
||||
"params": {
|
||||
"center": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"radius": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"distance": 30,
|
||||
"taper": "-9.4623222080 deg",
|
||||
"operation": "new"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.shell",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
30
|
||||
]
|
||||
],
|
||||
"thickness": 2
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3283",
|
||||
"tangency-labs/solidcraft#3650"
|
||||
],
|
||||
"what": "Offset Face on the outer cylindrical wall of a tube (the picker only accepted planar faces)",
|
||||
"source": "analytic",
|
||||
"method": "tube R20/r10 x 10 tall; the outer wall moves out 2 mm to R22: V=pi*(22^2-10^2)*10; faces 4 (outer, inner, top, bottom); centroid (0,0,5)",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 12063.715789784805,
|
||||
"faces": 4,
|
||||
"center_of_mass": [
|
||||
0,
|
||||
0,
|
||||
5
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.circle.center",
|
||||
"params": {
|
||||
"center": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"radius": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.circle.center",
|
||||
"params": {
|
||||
"center": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"radius": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"distance": 10,
|
||||
"operation": "new",
|
||||
"profiles": [
|
||||
{
|
||||
"point": [
|
||||
15,
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.offset_face",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
20,
|
||||
0,
|
||||
5
|
||||
]
|
||||
],
|
||||
"distance": "2 mm"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3468",
|
||||
"tangency-labs/solidcraft#3898"
|
||||
],
|
||||
"what": "Offset Face on a boss wall whose base has a 2 mm fillet: the boss grows to r 11 and the fillet follows",
|
||||
"source": "analytic",
|
||||
"method": "box 60x40x10 + boss r11 x10 + concave base fillet r2 around the boss. V=24000+pi*11^2*10+2*pi*(R+d)*A with R=11, A=r^2(1-pi/4), d=r^3(5/6-pi/4)/A (Pappus, centroid of the corner region at distance d from the wall); faces: box bottom + 4 sides + top (annulus) + fillet + boss wall + boss cap = 9",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 27863.06545197909,
|
||||
"faces": 9
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "solid.box",
|
||||
"params": {
|
||||
"length": 60,
|
||||
"width": 40,
|
||||
"height": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.cylinder",
|
||||
"params": {
|
||||
"radius": 10,
|
||||
"height": 10,
|
||||
"base": [
|
||||
30,
|
||||
20,
|
||||
10
|
||||
],
|
||||
"operation": "join"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.fillet",
|
||||
"params": {
|
||||
"edges": [
|
||||
[
|
||||
40,
|
||||
20,
|
||||
10
|
||||
]
|
||||
],
|
||||
"radius": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.offset_face",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
40,
|
||||
20,
|
||||
16
|
||||
]
|
||||
],
|
||||
"distance": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3506"
|
||||
],
|
||||
"what": "a box split in two at z=10, then each half shelled 2 mm open on the mating face",
|
||||
"source": "analytic",
|
||||
"method": "two 40x30x10 halves; each shelled 2 mm open on the cut face: cavity 36x26x8 (the open side has no wall). V=2*(12000-7488)=9024; two bodies; faces 5+1 ring... each half has outer 5 + open-face ring 1 + cavity 5 = 11, so 22",
|
||||
"body_count": 2,
|
||||
"volume_mm3": 9024,
|
||||
"faces": 22
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "solid.box",
|
||||
"params": {
|
||||
"length": 40,
|
||||
"width": 30,
|
||||
"height": 20,
|
||||
"body_name": "Blk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.split_body",
|
||||
"params": {
|
||||
"body": "Blk",
|
||||
"plane": {
|
||||
"origin": [
|
||||
0,
|
||||
0,
|
||||
10
|
||||
],
|
||||
"normal": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.shell",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
20,
|
||||
15,
|
||||
10
|
||||
]
|
||||
],
|
||||
"thickness": 2,
|
||||
"body": "Blk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.shell",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
20,
|
||||
15,
|
||||
10
|
||||
]
|
||||
],
|
||||
"thickness": 2,
|
||||
"body": "Blk (1)"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3576"
|
||||
],
|
||||
"what": "a 120x80x40 box drafted 5 degrees with 4 mm rounds on the sloping corners, shelled 2 mm open at the top: the inner rounds' edges must lie on their faces",
|
||||
"source": "invariants",
|
||||
"method": "no closed-form volume (tilted rounds). Invariants: the shell succeeds, one closed body, and the record's geometry check holds (every edge of the four inner rounds lies on its faces; the old offset left them up to 0.02 mm off, which other STEP readers reject)",
|
||||
"body_count": 1
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.rectangle.center",
|
||||
"params": {
|
||||
"center": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"corner": [
|
||||
60,
|
||||
40
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"distance": 40,
|
||||
"taper": "-5 deg",
|
||||
"operation": "new"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.fillet",
|
||||
"params": {
|
||||
"edges": [
|
||||
[
|
||||
58.25022672948152,
|
||||
38.25022672948152,
|
||||
20
|
||||
],
|
||||
[
|
||||
58.25022672948152,
|
||||
-38.25022672948152,
|
||||
20
|
||||
],
|
||||
[
|
||||
-58.25022672948152,
|
||||
38.25022672948152,
|
||||
20
|
||||
],
|
||||
[
|
||||
-58.25022672948152,
|
||||
-38.25022672948152,
|
||||
20
|
||||
]
|
||||
],
|
||||
"radius": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.shell",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
40
|
||||
]
|
||||
],
|
||||
"thickness": 2
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3669",
|
||||
"tangency-labs/solidcraft#2990"
|
||||
],
|
||||
"what": "a loft between a 40 mm and a 20 mm square 80 mm apart, shelled 2 mm open at the small end",
|
||||
"source": "analytic",
|
||||
"method": "a ruled loft of two squares is a square pyramid frustum (4 planar walls). Outer V=80/3*(1600+800+400). Walls offset 2 normal to the faces: tan(a)=10/80, half-width w(z)=20-z/8-2/cos(a), floor at z=2, cavity a frustum of height 78 with areas (2w(2))^2 and (2w(80))^2: V=outer-78/3*(A1+sqrt(A1*A2)+A2); faces 4 outer walls + base + top ring + 4 inner walls + floor = 11",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 20601.135771593457,
|
||||
"faces": 11
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY",
|
||||
"offset": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.rectangle.center",
|
||||
"params": {
|
||||
"center": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"corner": [
|
||||
20,
|
||||
20
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY",
|
||||
"offset": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.rectangle.center",
|
||||
"params": {
|
||||
"center": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"corner": [
|
||||
10,
|
||||
10
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.loft",
|
||||
"params": {
|
||||
"sections": [
|
||||
{
|
||||
"sketch": "Sketch1"
|
||||
},
|
||||
{
|
||||
"sketch": "Sketch2"
|
||||
}
|
||||
],
|
||||
"operation": "new"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.shell",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
80
|
||||
]
|
||||
],
|
||||
"thickness": 2,
|
||||
"tangent_chain": false
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#391"
|
||||
],
|
||||
"what": "text debossed 0.6 mm into the flat flange top of a filleted and shelled tapered housing, well away from the curved walls",
|
||||
"source": "invariants",
|
||||
"method": "the flange top (z=6) is planar and the text is clear of the walls, so the deboss must succeed and leave one valid closed body; the letter area is font dependent, so only the outcome and validity are graded",
|
||||
"body_count": 1
|
||||
}
|
||||
+152
@@ -0,0 +1,152 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.rectangle.center",
|
||||
"params": {
|
||||
"center": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"corner": [
|
||||
57,
|
||||
42
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"distance": 6,
|
||||
"body_name": "H"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.rectangle.center",
|
||||
"params": {
|
||||
"center": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"corner": [
|
||||
45,
|
||||
30
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"distance": 35,
|
||||
"taper": "-2 deg",
|
||||
"operation": "join",
|
||||
"profiles": [
|
||||
{
|
||||
"point": [
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.fillet",
|
||||
"params": {
|
||||
"edges": [
|
||||
[
|
||||
45,
|
||||
30,
|
||||
20
|
||||
],
|
||||
[
|
||||
-45,
|
||||
30,
|
||||
20
|
||||
],
|
||||
[
|
||||
45,
|
||||
-30,
|
||||
20
|
||||
],
|
||||
[
|
||||
-45,
|
||||
-30,
|
||||
20
|
||||
]
|
||||
],
|
||||
"radius": 6
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.shell",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
35
|
||||
]
|
||||
],
|
||||
"thickness": 2.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "construct.plane.offset",
|
||||
"params": {
|
||||
"base": "XY",
|
||||
"offset": 6,
|
||||
"name": "P"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "P",
|
||||
"name": "T"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.text",
|
||||
"params": {
|
||||
"text": "AB",
|
||||
"at": [
|
||||
-5,
|
||||
-39.5
|
||||
],
|
||||
"height": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.emboss",
|
||||
"params": {
|
||||
"sketch": "T",
|
||||
"depth": 0.6,
|
||||
"mode": "deboss"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#4009"
|
||||
],
|
||||
"what": "shell with no face removed: a closed hollow body with a sealed internal void",
|
||||
"source": "analytic",
|
||||
"method": "outer box 40x30x12.5, void = inward offset box 35x25x7.5 (2.5 wall every side). V=15000-6562.5=8437.5; area=outer 2(1200+500+375)=4150 + void 2(875+187.5+262.5)... computed in python; faces 6+6=12; one body with an outer and an inner shell; centroid (20,15,6.25) by symmetry",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 8437.5,
|
||||
"area_mm2": 6800.0,
|
||||
"faces": 12,
|
||||
"center_of_mass": [
|
||||
20,
|
||||
15,
|
||||
6.25
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.rectangle.two_point",
|
||||
"params": {
|
||||
"p0": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"p1": [
|
||||
40,
|
||||
30
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"distance": 12.5,
|
||||
"operation": "new"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.shell",
|
||||
"params": {
|
||||
"faces": [],
|
||||
"thickness": 2.5
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#4010"
|
||||
],
|
||||
"what": "plate with a through hole shelled 2.5 mm with only the hole's wall removed",
|
||||
"source": "analytic",
|
||||
"method": "plate 40x30x12.5 minus hole r5; cavity = inward offset box 35x25x7.5 minus the hole's cylinder (r=5 stays as the wall, height 7.5) open to the hole. V=(15000-pi*25*12.5)-(6562.5-pi*25*7.5); centroid (20,15,6.25) by symmetry",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 8044.8009183012755,
|
||||
"center_of_mass": [
|
||||
20,
|
||||
15,
|
||||
6.25
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.rectangle.two_point",
|
||||
"params": {
|
||||
"p0": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"p1": [
|
||||
40,
|
||||
30
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.circle.center",
|
||||
"params": {
|
||||
"center": [
|
||||
20,
|
||||
15
|
||||
],
|
||||
"radius": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"distance": 12.5,
|
||||
"operation": "new",
|
||||
"profiles": [
|
||||
{
|
||||
"point": [
|
||||
2,
|
||||
2
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.shell",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
25,
|
||||
15,
|
||||
6.25
|
||||
]
|
||||
],
|
||||
"thickness": 2.5
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#566"
|
||||
],
|
||||
"what": "a 8x5 bar swept along a line-arc-line path (quarter circle r30 between two 30 mm legs), shelled 0.5 mm open at its start",
|
||||
"source": "analytic",
|
||||
"method": "path length L=30+15*pi+30. The section's centroid is on the path, so by Pappus V_bar=40*L. The cavity is the sweep of the 7x4 section (concentric offsets of the swept walls; the tightest radius 30-3.5 stays positive) from the open start to 0.5 mm short of the end: 28*(L-0.5). V=40*L-28*(L-0.5)",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 1299.4866776461627
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XZ",
|
||||
"name": "Path"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
30
|
||||
]
|
||||
],
|
||||
"ids": [
|
||||
"l1"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.arc.three_point",
|
||||
"params": {
|
||||
"start": "l1.end",
|
||||
"through": [
|
||||
8.787,
|
||||
51.213
|
||||
],
|
||||
"end": [
|
||||
30,
|
||||
60
|
||||
],
|
||||
"id": "a1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
"a1.end",
|
||||
[
|
||||
60,
|
||||
60
|
||||
]
|
||||
],
|
||||
"ids": [
|
||||
"l2"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY",
|
||||
"name": "Section"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.rectangle.center",
|
||||
"params": {
|
||||
"center": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"corner": [
|
||||
4,
|
||||
2.5
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.sweep",
|
||||
"params": {
|
||||
"sketch": "Section",
|
||||
"path_sketch": "Path",
|
||||
"path": [
|
||||
"l1",
|
||||
"a1",
|
||||
"l2"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.shell",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"thickness": 0.5
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#745",
|
||||
"tangency-labs/solidcraft#3893"
|
||||
],
|
||||
"what": "Offset Face on a planar end of a body that has a spline-outlined boss far from the moved face",
|
||||
"source": "invariants",
|
||||
"method": "the move is refused today only because the unrelated boss wall is freeform. The operation must succeed and give one valid closed solid; the box end at x=0 moves out by 1 mm (the boss area is a spline integral, so no absolute volume is asserted; the 200 mm3 change is graded in the cut-away variant 745-offset-face-then-cut-boss-away)",
|
||||
"body_count": 1
|
||||
}
|
||||
+107
@@ -0,0 +1,107 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "solid.box",
|
||||
"params": {
|
||||
"corner": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"length": 40,
|
||||
"width": 20,
|
||||
"height": 10,
|
||||
"body_name": "B"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": {
|
||||
"origin": [
|
||||
0,
|
||||
0,
|
||||
10
|
||||
],
|
||||
"x_dir": [
|
||||
1,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"y_dir": [
|
||||
0,
|
||||
1,
|
||||
0
|
||||
]
|
||||
},
|
||||
"name": "S"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
25,
|
||||
5
|
||||
],
|
||||
[
|
||||
35,
|
||||
5
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.spline.fit_point",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
35,
|
||||
5
|
||||
],
|
||||
[
|
||||
37,
|
||||
10
|
||||
],
|
||||
[
|
||||
30,
|
||||
15
|
||||
],
|
||||
[
|
||||
25,
|
||||
5
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"sketch": "S",
|
||||
"distance": 5,
|
||||
"operation": "join",
|
||||
"targets": [
|
||||
"B"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.offset_face",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
0,
|
||||
10,
|
||||
5
|
||||
]
|
||||
],
|
||||
"distance": "1 mm"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#745",
|
||||
"tangency-labs/solidcraft#3893"
|
||||
],
|
||||
"what": "the same end offset, then the boss and the box beyond x=24 cut away, which leaves an analytic body",
|
||||
"source": "analytic",
|
||||
"method": "after the end moves to x=-1 and the cut removes everything at x>=24 (the spline boss lies at x 25..37.x, inside the cut): a box x -1..24, 20 wide, 10 tall: V=25*20*10=5000; 6 faces",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 5000,
|
||||
"faces": 6
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "solid.box",
|
||||
"params": {
|
||||
"corner": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"length": 40,
|
||||
"width": 20,
|
||||
"height": 10,
|
||||
"body_name": "B"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": {
|
||||
"origin": [
|
||||
0,
|
||||
0,
|
||||
10
|
||||
],
|
||||
"x_dir": [
|
||||
1,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"y_dir": [
|
||||
0,
|
||||
1,
|
||||
0
|
||||
]
|
||||
},
|
||||
"name": "S"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
25,
|
||||
5
|
||||
],
|
||||
[
|
||||
35,
|
||||
5
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.spline.fit_point",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
35,
|
||||
5
|
||||
],
|
||||
[
|
||||
37,
|
||||
10
|
||||
],
|
||||
[
|
||||
30,
|
||||
15
|
||||
],
|
||||
[
|
||||
25,
|
||||
5
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"sketch": "S",
|
||||
"distance": 5,
|
||||
"operation": "join",
|
||||
"targets": [
|
||||
"B"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.offset_face",
|
||||
"params": {
|
||||
"faces": [
|
||||
[
|
||||
0,
|
||||
10,
|
||||
5
|
||||
]
|
||||
],
|
||||
"distance": "1 mm"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.box",
|
||||
"params": {
|
||||
"corner": [
|
||||
24,
|
||||
-1,
|
||||
-1
|
||||
],
|
||||
"length": 30,
|
||||
"width": 22,
|
||||
"height": 30,
|
||||
"operation": "cut",
|
||||
"targets": [
|
||||
"B"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,238 @@
|
||||
[
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#142",
|
||||
"why": "no concrete recipe: a general saddle/four-face corner construction request; its geometry is exercised by case 1494"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#209",
|
||||
"why": "no geometry given (a screenshot and 'the shell removed everything'); needs the user's design"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#451",
|
||||
"why": "other area: booleans (cut with a hollow spherical-shell tool)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1107",
|
||||
"why": "other area: booleans (combine of a hollow hub with 9 lofted blades; cavity ownership)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1140",
|
||||
"why": "other area: booleans (cutting a hollow lofted tube in half; a vertex a hair inside an edge)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1379",
|
||||
"why": "needs the user's design; the refusal ('rim would have no thickness': round r2 tangent to the open face, shell 2 mm) is also the intended clean refusal, so no wrong result is recorded"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1969",
|
||||
"why": "needs the user's design (a sphere split into 6 faces picked by point); a closed hollow sphere is the same operation as case 4009"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1996",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred (offset of a snap-fit bottom face in an 8-body design)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2259",
|
||||
"why": "other area: booleans (second cut beside an earlier cut through a shelled arched block; mesh edge snapping, seed 61)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2421",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2432",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2445",
|
||||
"why": "no body or recipe given (a screenshot only)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2452",
|
||||
"why": "no body or recipe given ('complex body' only)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2478",
|
||||
"why": "not geometry: construction-plane attachment to a face that cannot keep its name (history/attachment), no wrong shape"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2480",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred (a revolved profile with a freeform face)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2493",
|
||||
"why": "not geometry: construction-plane attachment to a face that cannot keep its name (history/attachment)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2556",
|
||||
"why": "empty report: no body, pick or error given"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2557",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred (error: move larger than the wall; thickness 12 on an 8-body design)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2745",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred (error: move larger than the wall; thickness 11)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2761",
|
||||
"why": "other area: 2D sketch offset of text outlines (sketch.offset), not a solid operation"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2795",
|
||||
"why": "not geometry: UI, the plane editor says 'select a plane first' when editing an offset plane"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2886",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2905",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred (shell .125 in on an 8-feature part)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2917",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2928",
|
||||
"why": "other area: booleans (join of cap-touching prisms with slightly offset cylinder walls)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2935",
|
||||
"why": "empty report: no body, pick or error given"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2978",
|
||||
"why": "not geometry: UI, the mouse position is offset from the buttons"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3000",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred (shell direction both)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3031",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3074",
|
||||
"why": "needs the user's design (2 bodies, the face pick is not resolved: 'select at least one face'); a pick-resolution defect, not a shape with a known answer"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3105",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred (two opposite faces of a box in a 2-body design; the pick missed the faces)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3158",
|
||||
"why": "empty report: no body, pick or error given"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3159",
|
||||
"why": "other area: 2D sketch offset of a spline (sketch.offset), not a solid operation"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3161",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3163",
|
||||
"why": "empty report: no body, pick or error given"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3181",
|
||||
"why": "empty report: no body, pick or error given"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3290",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred (offset face on a 13-feature, 2-body design)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3341",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3346",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3492",
|
||||
"why": "not geometry: UI, 'select the curves to offset first' (sketch offset with an empty selection)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3524",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred (a 3 mm shell of a body with 41 cylinder faces; the failure is in an internal boolean cut)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3567",
|
||||
"why": "not geometry: construction-plane editing, 'plane offsets nested too deeply'"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3574",
|
||||
"why": "other area: 2D sketch offset of a spline (sketch.offset), not a solid operation"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3585",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3603",
|
||||
"why": "not geometry: construction-plane attachment to a face that cannot keep its name (history/attachment)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3621",
|
||||
"why": "not geometry: construction-plane attachment to a face that cannot keep its name (history/attachment)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3672",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred (surface.thicken of a 9-feature body)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3721",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred (filleted extruded box in a 2-body design)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3742",
|
||||
"why": "other area: 2D sketch offset (sketch.offset, 'collapses an arc'), not a solid operation"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3774",
|
||||
"why": "not geometry: a feature request (clearance input on Combine cut)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3795",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred (two faces, 4 mm; only a screenshot of the result)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3828",
|
||||
"why": "other area: 2D sketch offset of splines (sketch.offset), not a solid operation"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3850",
|
||||
"why": "other area: booleans (cut whose end face touches a round side leaves an empty shell)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3933",
|
||||
"why": "needs the user's design; the refusal ('rim would have no thickness': round r2 tangent to the open face, shell 2 mm) is also the intended clean refusal"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#4029",
|
||||
"why": "not geometry: construction-plane attachment jumps to another face after editing the offset"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#4052",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred (0.1 mm shell of a chamfered and filleted part)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#4073",
|
||||
"why": "empty report: no body, pick or error given"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#4120",
|
||||
"why": "needs the user's design (3-body design; the pick is not resolved: 'select at least one face')"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#4144",
|
||||
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred (three faces, 2 mm; move larger than the wall)"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user