add subtract regression tests (#6829)

Signed-off-by: Jess Frazelle <github@jessfraz.com>
This commit is contained in:
Jess Frazelle
2025-05-10 13:48:38 -07:00
committed by GitHub
parent 7ac4a9507b
commit 09f39499e9
37 changed files with 18976 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart subtract_regression03.kcl
extension: md
snapshot_kind: binary
---

View File

@ -0,0 +1,182 @@
```mermaid
flowchart LR
subgraph path5 [Path]
5["Path<br>[88, 140, 0]"]
9["Segment<br>[146, 179, 0]"]
10["Segment<br>[185, 275, 0]"]
11["Segment<br>[281, 313, 0]"]
12["Segment<br>[319, 400, 0]"]
13["Segment<br>[406, 439, 0]"]
14["Segment<br>[445, 534, 0]"]
15["Segment<br>[540, 574, 0]"]
end
subgraph path6 [Path]
6["Path<br>[813, 872, 0]"]
16["Segment<br>[813, 872, 0]"]
27[Solid2d]
end
subgraph path7 [Path]
7["Path<br>[1156, 1196, 0]"]
17["Segment<br>[1202, 1230, 0]"]
18["Segment<br>[1236, 1261, 0]"]
19["Segment<br>[1267, 1288, 0]"]
20["Segment<br>[1294, 1301, 0]"]
26[Solid2d]
end
subgraph path8 [Path]
8["Path<br>[1621, 1661, 0]"]
21["Segment<br>[1667, 1687, 0]"]
22["Segment<br>[1693, 1718, 0]"]
23["Segment<br>[1724, 1753, 0]"]
24["Segment<br>[1759, 1766, 0]"]
25[Solid2d]
end
1["Plane<br>[47, 64, 0]"]
2["Plane<br>[766, 789, 0]"]
3["Plane<br>[1109, 1132, 0]"]
4["Plane<br>[1574, 1597, 0]"]
28["Sweep Sweep<br>[892, 952, 0]"]
29["Sweep Extrusion<br>[1319, 1364, 0]"]
30["Sweep Extrusion<br>[1784, 1829, 0]"]
31["CompositeSolid Subtract<br>[1375, 1423, 0]"]
32["CompositeSolid Subtract<br>[1840, 1879, 0]"]
33[Wall]
34[Wall]
35[Wall]
36[Wall]
37[Wall]
38[Wall]
39[Wall]
40["Cap Start"]
41["Cap Start"]
42["Cap Start"]
43["Cap End"]
44["Cap End"]
45["Cap End"]
46["SweepEdge Opposite"]
47["SweepEdge Opposite"]
48["SweepEdge Opposite"]
49["SweepEdge Opposite"]
50["SweepEdge Opposite"]
51["SweepEdge Opposite"]
52["SweepEdge Opposite"]
53["SweepEdge Adjacent"]
54["SweepEdge Adjacent"]
55["SweepEdge Adjacent"]
56["SweepEdge Adjacent"]
57["SweepEdge Adjacent"]
58["SweepEdge Adjacent"]
59["SweepEdge Adjacent"]
1 --- 5
2 --- 6
3 --- 7
4 --- 8
5 --- 9
5 --- 10
5 --- 11
5 --- 12
5 --- 13
5 --- 14
5 --- 15
6 --- 16
6 --- 27
6 ---- 28
6 --- 31
7 --- 17
7 --- 18
7 --- 19
7 --- 20
7 --- 26
7 ---- 29
7 --- 31
8 --- 21
8 --- 22
8 --- 23
8 --- 24
8 --- 25
8 ---- 30
8 --- 32
16 --- 33
16 x--> 43
16 --- 46
16 --- 53
17 --- 38
17 x--> 44
17 --- 50
17 --- 59
18 --- 37
18 x--> 44
18 --- 52
18 --- 57
19 --- 39
19 x--> 44
19 --- 51
19 --- 58
21 --- 35
21 x--> 45
21 --- 47
21 --- 54
22 --- 36
22 x--> 45
22 --- 48
22 --- 56
23 --- 34
23 x--> 45
23 --- 49
23 --- 55
28 --- 33
28 --- 40
28 --- 43
28 --- 46
28 --- 53
29 --- 37
29 --- 38
29 --- 39
29 --- 41
29 --- 44
29 --- 50
29 --- 51
29 --- 52
29 --- 57
29 --- 58
29 --- 59
30 --- 34
30 --- 35
30 --- 36
30 --- 42
30 --- 45
30 --- 47
30 --- 48
30 --- 49
30 --- 54
30 --- 55
30 --- 56
31 --- 32
46 <--x 33
53 <--x 33
49 <--x 34
55 <--x 34
56 <--x 34
47 <--x 35
54 <--x 35
55 <--x 35
48 <--x 36
54 <--x 36
56 <--x 36
52 <--x 37
57 <--x 37
59 <--x 37
50 <--x 38
58 <--x 38
59 <--x 38
51 <--x 39
57 <--x 39
58 <--x 39
46 <--x 40
50 <--x 41
51 <--x 41
52 <--x 41
47 <--x 42
48 <--x 42
49 <--x 42
```

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,83 @@
@settings(defaultLengthUnit = in)
sketch002 = startSketchOn(XY)
sketch002Profile001 = startProfile(sketch002, at = [-0.503704, -0.264924])
|> line(end = [-0.191884, 0.172584])
|> arc(
angleStart = 228.031232,
angleEnd = 105,
radius = 0.16425
)
|> line(end = [0.464817, 0.124547])
|> arc(
angleStart = 105,
angleEnd = 75,
radius = 0.6315
)
|> line(end = [0.464817, -0.124547])
|> arc(
angleStart = 75,
angleEnd = -37.055012,
radius = 0.16425
)
|> line(end = [-0.200323, -0.265308])
|> scale(x = 0.958, y = 0.958)
plane000 = {
origin = [-0.503704, -0.264924, 0],
xAxis = [0.191884, 0.172584, 0],
yAxis = [0, 0, 1],
zAxis = [-0.191884, 0.172584, 0]
}
sketch001 = startSketchOn(plane000)
sketch001Profile000 = circle(
sketch001,
center = [0, 0],
radius = 0.0495
)
sweepExtrude000 = sweep(
sketch001Profile000,
path = sketch002Profile001
)
plane001 = {
origin = [-0.503704, -0.28, 0],
xAxis = [-0.191884, 0.172584, 0],
yAxis = [0, 0, -1],
zAxis = [-0.191884, 0.172584, 0]
}
sketch003 = startSketchOn(plane001)
sketch003Profile000 = startProfile(sketch003, at = [0, -0.06])
|> line(end = [0.129019, 0.12])
|> xLine(length = -0.129019)
|> yLine(length = -0.12)
|> close()
cut000Extrude = extrude([sketch003Profile000], length = -0.2)
cut000 = subtract(sweepExtrude000, tools = cut000Extrude)
plane002 = {
origin = [0.42, -0.28, 0],
xAxis = [-0.200323, -0.265308, 0],
yAxis = [0, 0, 1],
zAxis = [0.200323, 0.265308, 0]
}
sketch004 = startSketchOn(plane002)
sketch004Profile000 = startProfile(sketch004, at = [0, -0.06])
|> yLine(length = 0.12)
|> xLine(length = -0.129019)
|> line(end = [0.129019, -0.12])
|> close()
cut001Extrude = extrude([sketch004Profile000], length = -0.2)
cut001 = subtract(cut000, tools = cut001Extrude)

View File

@ -0,0 +1,738 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Operations executed subtract_regression03.kcl
---
[
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Object",
"value": {
"origin": {
"type": "Array",
"value": [
{
"type": "Number",
"value": -0.503704,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": -0.264924,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
}
]
},
"xAxis": {
"type": "Array",
"value": [
{
"type": "Number",
"value": 0.191884,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.172584,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
}
]
},
"yAxis": {
"type": "Array",
"value": [
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 1.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
}
]
},
"zAxis": {
"type": "Array",
"value": [
{
"type": "Number",
"value": -0.191884,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.172584,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
}
]
}
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"path": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
"name": "sweep",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Object",
"value": {
"origin": {
"type": "Array",
"value": [
{
"type": "Number",
"value": -0.503704,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": -0.28,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
}
]
},
"xAxis": {
"type": "Array",
"value": [
{
"type": "Number",
"value": -0.191884,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.172584,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
}
]
},
"yAxis": {
"type": "Array",
"value": [
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": -1.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
}
]
},
"zAxis": {
"type": "Array",
"value": [
{
"type": "Number",
"value": -0.191884,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.172584,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
}
]
}
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": -0.2,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
}
},
"name": "extrude",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
{
"labeledArgs": {
"tools": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
"name": "subtract",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Object",
"value": {
"origin": {
"type": "Array",
"value": [
{
"type": "Number",
"value": 0.42,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": -0.28,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
}
]
},
"xAxis": {
"type": "Array",
"value": [
{
"type": "Number",
"value": -0.200323,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": -0.265308,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
}
]
},
"yAxis": {
"type": "Array",
"value": [
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 1.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
}
]
},
"zAxis": {
"type": "Array",
"value": [
{
"type": "Number",
"value": 0.200323,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.265308,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
}
]
}
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": -0.2,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
}
},
"name": "extrude",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
{
"labeledArgs": {
"tools": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
"name": "subtract",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
}
]

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View File

@ -0,0 +1,68 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Result of unparsing subtract_regression03.kcl
---
@settings(defaultLengthUnit = in)
sketch002 = startSketchOn(XY)
sketch002Profile001 = startProfile(sketch002, at = [-0.503704, -0.264924])
|> line(end = [-0.191884, 0.172584])
|> arc(angleStart = 228.031232, angleEnd = 105, radius = 0.16425)
|> line(end = [0.464817, 0.124547])
|> arc(angleStart = 105, angleEnd = 75, radius = 0.6315)
|> line(end = [0.464817, -0.124547])
|> arc(angleStart = 75, angleEnd = -37.055012, radius = 0.16425)
|> line(end = [-0.200323, -0.265308])
|> scale(x = 0.958, y = 0.958)
plane000 = {
origin = [-0.503704, -0.264924, 0],
xAxis = [0.191884, 0.172584, 0],
yAxis = [0, 0, 1],
zAxis = [-0.191884, 0.172584, 0]
}
sketch001 = startSketchOn(plane000)
sketch001Profile000 = circle(sketch001, center = [0, 0], radius = 0.0495)
sweepExtrude000 = sweep(sketch001Profile000, path = sketch002Profile001)
plane001 = {
origin = [-0.503704, -0.28, 0],
xAxis = [-0.191884, 0.172584, 0],
yAxis = [0, 0, -1],
zAxis = [-0.191884, 0.172584, 0]
}
sketch003 = startSketchOn(plane001)
sketch003Profile000 = startProfile(sketch003, at = [0, -0.06])
|> line(end = [0.129019, 0.12])
|> xLine(length = -0.129019)
|> yLine(length = -0.12)
|> close()
cut000Extrude = extrude([sketch003Profile000], length = -0.2)
cut000 = subtract(sweepExtrude000, tools = cut000Extrude)
plane002 = {
origin = [0.42, -0.28, 0],
xAxis = [-0.200323, -0.265308, 0],
yAxis = [0, 0, 1],
zAxis = [0.200323, 0.265308, 0]
}
sketch004 = startSketchOn(plane002)
sketch004Profile000 = startProfile(sketch004, at = [0, -0.06])
|> yLine(length = 0.12)
|> xLine(length = -0.129019)
|> line(end = [0.129019, -0.12])
|> close()
cut001Extrude = extrude([sketch004Profile000], length = -0.2)
cut001 = subtract(cut000, tools = cut001Extrude)