BREAKING: More units of measure work and keyword args (#6291)

* More units of measure work

Signed-off-by: Nick Cameron <nrc@ncameron.org>

* Update CSG output since engine change

---------

Signed-off-by: Nick Cameron <nrc@ncameron.org>
Co-authored-by: Nick Cameron <nrc@ncameron.org>
This commit is contained in:
Jonathan Tran
2025-04-14 05:58:19 -04:00
committed by GitHub
parent 7d7b153085
commit 160f55ede5
447 changed files with 60364 additions and 34465 deletions

View File

@ -10,21 +10,21 @@ flowchart LR
8[Solid2d]
end
subgraph path27 [Path]
27["Path<br>[714, 748, 0]"]
28["Segment<br>[754, 820, 0]"]
29["Segment<br>[826, 924, 0]"]
30["Segment<br>[930, 1047, 0]"]
31["Segment<br>[1053, 1109, 0]"]
32["Segment<br>[1115, 1123, 0]"]
27["Path<br>[721, 755, 0]"]
28["Segment<br>[761, 827, 0]"]
29["Segment<br>[833, 931, 0]"]
30["Segment<br>[937, 1054, 0]"]
31["Segment<br>[1060, 1116, 0]"]
32["Segment<br>[1122, 1130, 0]"]
33[Solid2d]
end
subgraph path34 [Path]
34["Path<br>[1174, 1209, 0]"]
35["Segment<br>[1215, 1281, 0]"]
36["Segment<br>[1287, 1386, 0]"]
37["Segment<br>[1392, 1509, 0]"]
38["Segment<br>[1515, 1571, 0]"]
39["Segment<br>[1577, 1585, 0]"]
34["Path<br>[1188, 1223, 0]"]
35["Segment<br>[1229, 1295, 0]"]
36["Segment<br>[1301, 1400, 0]"]
37["Segment<br>[1406, 1523, 0]"]
38["Segment<br>[1529, 1585, 0]"]
39["Segment<br>[1591, 1599, 0]"]
40[Solid2d]
end
1["Plane<br>[12, 31, 0]"]
@ -44,9 +44,9 @@ flowchart LR
22["SweepEdge Opposite"]
23["SweepEdge Adjacent"]
24["EdgeCut Fillet<br>[498, 533, 0]"]
25["Plane<br>[714, 748, 0]"]
26["Plane<br>[1174, 1209, 0]"]
41["Sweep Extrusion<br>[1599, 1630, 0]"]
25["Plane<br>[721, 755, 0]"]
26["Plane<br>[1188, 1223, 0]"]
41["Sweep Extrusion<br>[1613, 1644, 0]"]
42[Wall]
43[Wall]
44[Wall]
@ -60,8 +60,8 @@ flowchart LR
52["SweepEdge Adjacent"]
53["SweepEdge Opposite"]
54["SweepEdge Adjacent"]
55["StartSketchOnFace<br>[676, 708, 0]"]
56["StartSketchOnFace<br>[1136, 1168, 0]"]
55["StartSketchOnFace<br>[676, 715, 0]"]
56["StartSketchOnFace<br>[1143, 1182, 0]"]
1 --- 2
2 --- 3
2 --- 4

View File

@ -1075,36 +1075,30 @@ description: Result of parsing sketch-on-chamfer-two-times.kcl
{
"arguments": [
{
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "extrude001",
"name": "face",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": "seg04",
"name": {
"commentStart": 0,
"end": 0,
"name": "seg04",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
"type": "Name",
"type": "Name"
}
}
],
"callee": {
@ -1125,8 +1119,24 @@ description: Result of parsing sketch-on-chamfer-two-times.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "extrude001",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
{
"arguments": [
@ -1743,36 +1753,30 @@ description: Result of parsing sketch-on-chamfer-two-times.kcl
{
"arguments": [
{
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "extrude001",
"name": "face",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": "seg03",
"name": {
"commentStart": 0,
"end": 0,
"name": "seg03",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
"type": "Name",
"type": "Name"
}
}
],
"callee": {
@ -1793,8 +1797,24 @@ description: Result of parsing sketch-on-chamfer-two-times.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "extrude001",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
{
"arguments": [

View File

@ -10,14 +10,14 @@ extrude001 = extrude(sketch001, length = 100)
|> chamfer(length = 50, tags = [seg02], tag = $seg04)
|> chamfer(length = 50, tags = [getOppositeEdge(seg01)], tag = $seg03)
sketch003 = startSketchOn(extrude001, seg04)
sketch003 = startSketchOn(extrude001, face = seg04)
|> startProfileAt([-69.1, 277.34], %)
|> angledLine(angle = 0, length = 41.48, tag = $rectangleSegmentA003)
|> angledLine(angle = segAng(rectangleSegmentA003) - 90, length = 104.8, tag = $rectangleSegmentB002)
|> angledLine(angle = segAng(rectangleSegmentA003), length = -segLen(rectangleSegmentA003), tag = $rectangleSegmentC002)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close(%)
sketch002 = startSketchOn(extrude001, seg03)
sketch002 = startSketchOn(extrude001, face = seg03)
|> startProfileAt([159.25, 278.35], %)
|> angledLine(angle = 0, length = 40.82, tag = $rectangleSegmentA002)
|> angledLine(angle = segAng(rectangleSegmentA002) - 90, length = 132.27, tag = $rectangleSegmentB001)

View File

@ -5,7 +5,7 @@ description: Operations executed sketch-on-chamfer-two-times.kcl
[
{
"labeledArgs": {
"data": {
"planeOrSolid": {
"value": {
"type": "String",
"value": "XZ"
@ -200,16 +200,7 @@ description: Operations executed sketch-on-chamfer-two-times.kcl
},
{
"labeledArgs": {
"data": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
},
"tag": {
"face": {
"value": {
"type": "TagIdentifier",
"value": "seg04",
@ -221,20 +212,19 @@ description: Operations executed sketch-on-chamfer-two-times.kcl
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": null
"unlabeledArg": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"data": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
},
"tag": {
"face": {
"value": {
"type": "TagIdentifier",
"value": "seg03",
@ -246,7 +236,15 @@ description: Operations executed sketch-on-chamfer-two-times.kcl
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": null
"unlabeledArg": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {

View File

@ -209,22 +209,34 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0
"z": 1.0,
"units": {
"type": "Mm"
}
},
"zAxis": {
"x": 0.0,
"y": -1.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"units": {
"type": "Mm"
@ -283,14 +295,36 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
{
"type": "fillet",
"id": "[uuid]",
"radius": 20.0,
"radius": {
"n": 20.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "chamfer",
"id": "[uuid]",
"length": 50.0,
"length": {
"n": 50.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": {
"commentStart": 582,
@ -303,7 +337,18 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
{
"type": "chamfer",
"id": "[uuid]",
"length": 50.0,
"length": {
"n": 50.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": {
"commentStart": 655,
@ -331,9 +376,9 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 1259,
"end": 1280,
"start": 1259,
"commentStart": 1273,
"end": 1294,
"start": 1273,
"type": "TagDeclarator",
"value": "rectangleSegmentA002"
},
@ -344,9 +389,9 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 1364,
"end": 1385,
"start": 1364,
"commentStart": 1378,
"end": 1399,
"start": 1378,
"type": "TagDeclarator",
"value": "rectangleSegmentB001"
},
@ -357,9 +402,9 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 1487,
"end": 1508,
"start": 1487,
"commentStart": 1501,
"end": 1522,
"start": 1501,
"type": "TagDeclarator",
"value": "rectangleSegmentC001"
},
@ -387,9 +432,9 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
278.35
],
"tag": {
"commentStart": 1259,
"end": 1280,
"start": 1259,
"commentStart": 1273,
"end": 1294,
"start": 1273,
"type": "TagDeclarator",
"value": "rectangleSegmentA002"
},
@ -412,9 +457,9 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
278.35
],
"tag": {
"commentStart": 1364,
"end": 1385,
"start": 1364,
"commentStart": 1378,
"end": 1399,
"start": 1378,
"type": "TagDeclarator",
"value": "rectangleSegmentB001"
},
@ -437,9 +482,9 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
146.08
],
"tag": {
"commentStart": 1487,
"end": 1508,
"start": 1487,
"commentStart": 1501,
"end": 1522,
"start": 1501,
"type": "TagDeclarator",
"value": "rectangleSegmentC001"
},
@ -499,17 +544,26 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0
"z": 1.0,
"units": {
"type": "Mm"
}
},
"zAxis": {
"x": 0.0,
"y": -1.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"solid": {
"type": "Solid",
@ -715,22 +769,34 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0
"z": 1.0,
"units": {
"type": "Mm"
}
},
"zAxis": {
"x": 0.0,
"y": -1.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"units": {
"type": "Mm"
@ -789,14 +855,36 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
{
"type": "fillet",
"id": "[uuid]",
"radius": 20.0,
"radius": {
"n": 20.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "chamfer",
"id": "[uuid]",
"length": 50.0,
"length": {
"n": 50.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": {
"commentStart": 582,
@ -809,7 +897,18 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
{
"type": "chamfer",
"id": "[uuid]",
"length": 50.0,
"length": {
"n": 50.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": {
"commentStart": 655,
@ -1057,22 +1156,34 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0
"z": 1.0,
"units": {
"type": "Mm"
}
},
"zAxis": {
"x": 0.0,
"y": -1.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"units": {
"type": "Mm"
@ -1141,9 +1252,9 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
278.35
],
"tag": {
"commentStart": 1259,
"end": 1280,
"start": 1259,
"commentStart": 1273,
"end": 1294,
"start": 1273,
"type": "TagDeclarator",
"value": "rectangleSegmentA002"
},
@ -1166,9 +1277,9 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
278.35
],
"tag": {
"commentStart": 1364,
"end": 1385,
"start": 1364,
"commentStart": 1378,
"end": 1399,
"start": 1378,
"type": "TagDeclarator",
"value": "rectangleSegmentB001"
},
@ -1191,9 +1302,9 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
146.08
],
"tag": {
"commentStart": 1487,
"end": 1508,
"start": 1487,
"commentStart": 1501,
"end": 1522,
"start": 1501,
"type": "TagDeclarator",
"value": "rectangleSegmentC001"
},
@ -1253,17 +1364,26 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0
"z": 1.0,
"units": {
"type": "Mm"
}
},
"zAxis": {
"x": 0.0,
"y": -1.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"solid": {
"type": "Solid",
@ -1469,22 +1589,34 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0
"z": 1.0,
"units": {
"type": "Mm"
}
},
"zAxis": {
"x": 0.0,
"y": -1.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"units": {
"type": "Mm"
@ -1543,14 +1675,36 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
{
"type": "fillet",
"id": "[uuid]",
"radius": 20.0,
"radius": {
"n": 20.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "chamfer",
"id": "[uuid]",
"length": 50.0,
"length": {
"n": 50.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": {
"commentStart": 582,
@ -1563,7 +1717,18 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
{
"type": "chamfer",
"id": "[uuid]",
"length": 50.0,
"length": {
"n": 50.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": {
"commentStart": 655,
@ -1637,9 +1802,9 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
277.34
],
"tag": {
"commentStart": 798,
"end": 819,
"start": 798,
"commentStart": 805,
"end": 826,
"start": 805,
"type": "TagDeclarator",
"value": "rectangleSegmentA003"
},
@ -1662,9 +1827,9 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
277.34
],
"tag": {
"commentStart": 902,
"end": 923,
"start": 902,
"commentStart": 909,
"end": 930,
"start": 909,
"type": "TagDeclarator",
"value": "rectangleSegmentB002"
},
@ -1687,9 +1852,9 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
172.54
],
"tag": {
"commentStart": 1025,
"end": 1046,
"start": 1025,
"commentStart": 1032,
"end": 1053,
"start": 1032,
"type": "TagDeclarator",
"value": "rectangleSegmentC002"
},
@ -1749,17 +1914,26 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0
"z": 1.0,
"units": {
"type": "Mm"
}
},
"zAxis": {
"x": 0.0,
"y": -1.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"solid": {
"type": "Solid",
@ -1965,22 +2139,34 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0
"z": 1.0,
"units": {
"type": "Mm"
}
},
"zAxis": {
"x": 0.0,
"y": -1.0,
"z": 0.0
"z": 0.0,
"units": {
"type": "Mm"
}
},
"units": {
"type": "Mm"
@ -2039,14 +2225,36 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
{
"type": "fillet",
"id": "[uuid]",
"radius": 20.0,
"radius": {
"n": 20.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "chamfer",
"id": "[uuid]",
"length": 50.0,
"length": {
"n": 50.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": {
"commentStart": 582,
@ -2059,7 +2267,18 @@ description: Variables in memory after executing sketch-on-chamfer-two-times.kcl
{
"type": "chamfer",
"id": "[uuid]",
"length": 50.0,
"length": {
"n": 50.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": {
"commentStart": 655,

View File

@ -14,14 +14,14 @@ extrude001 = extrude(sketch001, length = 100)
|> chamfer(length = 50, tags = [seg02], tag = $seg04)
|> chamfer(length = 50, tags = [getOppositeEdge(seg01)], tag = $seg03)
sketch003 = startSketchOn(extrude001, seg04)
sketch003 = startSketchOn(extrude001, face = seg04)
|> startProfileAt([-69.1, 277.34], %)
|> angledLine(angle = 0, length = 41.48, tag = $rectangleSegmentA003)
|> angledLine(angle = segAng(rectangleSegmentA003) - 90, length = 104.8, tag = $rectangleSegmentB002)
|> angledLine(angle = segAng(rectangleSegmentA003), length = -segLen(rectangleSegmentA003), tag = $rectangleSegmentC002)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close(%)
sketch002 = startSketchOn(extrude001, seg03)
sketch002 = startSketchOn(extrude001, face = seg03)
|> startProfileAt([159.25, 278.35], %)
|> angledLine(angle = 0, length = 40.82, tag = $rectangleSegmentA002)
|> angledLine(angle = segAng(rectangleSegmentA002) - 90, length = 132.27, tag = $rectangleSegmentB001)