Updating KCL examples on docs (#2355)
* updating KCL examples on docs * update images and docs Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: Jess Frazelle <github@jessfraz.com>
@ -19,7 +19,17 @@ abs(num: number) -> number
|
||||
### Examples
|
||||
|
||||
```js
|
||||
const myVar = abs(-4)
|
||||
const myAngle = -120
|
||||
|
||||
const sketch001 = startSketchOn('-XZ')
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line([8, 0], %)
|
||||
|> angledLine({ angle: abs(myAngle), length: 5 }, %)
|
||||
|> line([-5, 0], %)
|
||||
|> angledLine({ angle: myAngle, length: 5 }, %)
|
||||
|> close(%)
|
||||
|
||||
const baseExtrusion = extrude(5, sketch001)
|
||||
```
|
||||
|
||||
### Arguments
|
||||
|
@ -29,7 +29,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const myVar = abs(-4)"
|
||||
"const myAngle = -120\n\nconst sketch001 = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> line([8, 0], %)\n |> angledLine({ angle: abs(myAngle), length: 5 }, %)\n |> line([-5, 0], %)\n |> angledLine({ angle: myAngle, length: 5 }, %)\n |> close(%)\n\nconst baseExtrusion = extrude(5, sketch001)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -1068,7 +1068,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const part001 = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line([1, 3.82], %, 'seg01')\n |> angledLineToX([\n -angleToMatchLengthX('seg01', 10, %),\n 5\n ], %)\n |> close(%)\n |> extrude(5, %)"
|
||||
"const sketch001 = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> line([2, 5], %, 'seg01')\n |> angledLineToX([\n -angleToMatchLengthX('seg01', 7, %),\n 10\n ], %)\n |> close(%)\n\nconst extrusion = extrude(5, sketch001)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -2074,7 +2074,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const part001 = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line([1, 3.82], %, 'seg01')\n |> angledLineToX([\n -angleToMatchLengthY('seg01', 10, %),\n 5\n ], %)\n |> close(%)\n |> extrude(5, %)"
|
||||
"const sketch001 = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> line([1, 2], %, 'seg01')\n |> angledLine({\n angle: angleToMatchLengthY('seg01', 15, %),\n length: 5\n }, %)\n |> yLineTo(0, %)\n |> close(%)\n\nconst extrusion = extrude(5, sketch001)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -4070,7 +4070,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> angledLine({ angle: 45, length: 10 }, %, \"edge1\")\n |> line([10, 10], %)\n |> line([0, 10], %)\n |> close(%, \"edge2\")\n |> extrude(10, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> yLineTo(15, %)\n |> angledLine({ angle: 30, length: 15 }, %)\n |> line([8, -10], %)\n |> yLineTo(0, %)\n |> close(%)\n\nconst example = extrude(10, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -6066,7 +6066,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> angledLineOfXLength({ angle: 45, length: 10 }, %, \"edge1\")\n |> line([10, 10], %)\n |> line([0, 10], %)\n |> close(%, \"edge2\")\n |> extrude(10, %)"
|
||||
"const sketch001 = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> angledLineOfXLength({ angle: 45, length: 10 }, %, \"edge1\")\n |> angledLineOfXLength({ angle: -15, length: 20 }, %, \"edge2\")\n |> line([0, -5], %)\n |> close(%, \"edge3\")\n\nconst extrusion = extrude(10, sketch001)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -8062,7 +8062,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('YZ')\n |> startProfileAt([0, 0], %)\n |> angledLineOfYLength({ angle: 45, length: 10 }, %, \"edge1\")\n |> line([10, 10], %)\n |> line([0, 10], %)\n |> close(%, \"edge2\")\n |> extrude(10, %)\n |> fillet({ radius: 2, tags: [\"edge1\"] }, %)"
|
||||
"const exampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line([10, 0], %)\n |> angledLineOfYLength({ angle: 45, length: 10 }, %)\n |> line([0, 10], %)\n |> angledLineOfYLength({ angle: 135, length: 10 }, %)\n |> line([-10, 0], %)\n |> line([0, -30], %)\n\nconst example = extrude(10, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -10048,7 +10048,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const part001 = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> lineTo([2, 2], %, \"yo\")\n |> lineTo([3, 1], %)\n |> angledLineThatIntersects({\n angle: 180,\n intersectTag: 'yo',\n offset: 12\n }, %, \"yo2\")\n |> line([4, 0], %)\n |> close(%, \"yo3\")\n |> extrude(10, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> lineTo([5, 10], %)\n |> lineTo([-10, 10], %, \"lineToIntersect\")\n |> lineTo([0, 20], %)\n |> angledLineThatIntersects({\n angle: 80,\n intersectTag: 'lineToIntersect',\n offset: 10\n }, %)\n |> close(%)\n\nconst example = extrude(10, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -12029,7 +12029,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> angledLineToX({ angle: 45, to: 10 }, %, \"edge1\")\n |> line([10, 10], %)\n |> line([0, 10], %)\n |> close(%, \"edge2\")\n |> extrude(10, %)\n |> fillet({ radius: 2, tags: [\"edge1\"] }, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> angledLineToX({ angle: 30, to: 10 }, %)\n |> line([0, 10], %)\n |> line([-10, 0], %)\n |> close(%)\n\nconst example = extrude(10, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -14010,7 +14010,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> angledLineToY({ angle: 45, to: 10 }, %, \"edge1\")\n |> line([10, 10], %)\n |> line([0, 10], %)\n |> close(%, \"edge2\")\n |> extrude(10, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> angledLineToY({ angle: 60, to: 20 }, %)\n |> line([-20, 0], %)\n |> angledLineToY({ angle: 70, to: 10 }, %)\n |> close(%)\n\nconst example = extrude(10, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -16038,7 +16038,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('-YZ')\n |> startProfileAt([0, 0], %)\n |> arc({\n angle_start: 0,\n angle_end: 360,\n radius: 10\n }, %, \"edge1\")\n |> extrude(10, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> line([10, 0], %)\n |> arc({\n angle_start: 0,\n angle_end: 280,\n radius: 16\n }, %)\n |> close(%)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -18106,7 +18106,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> bezierCurve({\n to: [10, 10],\n control1: [5, 0],\n control2: [5, 10]\n }, %, \"edge1\")\n |> close(%)\n |> extrude(10, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> line([0, 10], %)\n |> bezierCurve({\n to: [10, 10],\n control1: [5, 0],\n control2: [5, 10]\n }, %)\n |> lineTo([10, 0], %)\n |> close(%)\n\nconst example = extrude(10, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -20424,7 +20424,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const circles = startSketchOn('XY')\n |> circle([5, 5], 1, %)\n |> patternLinear2d({\n axis: [1, 1],\n repetitions: 12,\n distance: 3\n }, %)\n\nconst rectangle = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line([0, 50], %)\n |> line([50, 0], %)\n |> line([0, -50], %)\n |> close(%)\n |> hole(circles, %)"
|
||||
"const exampleSketch = startSketchOn(\"-XZ\")\n |> circle([0, 0], 10, %)\n\nconst example = extrude(5, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -22381,7 +22381,7 @@
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line([10, 10], %)\n |> line([10, 0], %)\n |> close(%)\n |> extrude(10, %)",
|
||||
"startSketchOn('YZ')\n |> startProfileAt([0, 0], %)\n |> line([10, 10], %)\n |> line([10, 0], %)\n |> close(%, \"edge1\")\n |> extrude(10, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> line([10, 0], %)\n |> line([0, 10], %)\n |> close(%)\n\nconst example = extrude(10, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -25953,7 +25953,8 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line([0, 10], %)\n |> line([10, 0], %)\n |> line([0, -10], %)\n |> close(%)\n |> extrude(5, %)"
|
||||
"const example = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> line([10, 0], %)\n |> arc({\n angle_end: 0,\n angle_start: 120,\n radius: 5\n }, %)\n |> line([5, 0], %)\n |> line([0, 10], %)\n |> bezierCurve({\n control1: [-10, 0],\n control2: [2, 10],\n to: [-5, 10]\n }, %)\n |> line([-5, -2], %)\n |> close(%)\n |> extrude(10, %)",
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([-10, 0], %)\n |> arc({\n angle_end: -60,\n angle_start: 120,\n radius: 5\n }, %)\n |> line([10, 0], %)\n |> line([5, 0], %)\n |> bezierCurve({\n control1: [-3, 0],\n control2: [2, 10],\n to: [-5, 10]\n }, %)\n |> line([-4, 10], %)\n |> line([-5, -2], %)\n |> close(%)\n\nconst example = extrude(10, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -27516,7 +27517,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const part001 = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line([0, 10], %, \"thing\")\n |> line([10, 0], %)\n |> line([0, -10], %, \"thing2\")\n |> close(%)\n |> extrude(10, %)\n |> fillet({ radius: 2, tags: [\"thing\", \"thing2\"] }, %)"
|
||||
"const width = 20\nconst length = 10\nconst thickness = 1\nconst filletRadius = 2\n\nconst mountingPlateSketch = startSketchOn(\"XY\")\n |> startProfileAt([-width / 2, -length / 2], %)\n |> lineTo([width / 2, -length / 2], %, 'edge1')\n |> lineTo([width / 2, length / 2], %, 'edge2')\n |> lineTo([-width / 2, length / 2], %, 'edge3')\n |> close(%, 'edge4')\n\nconst mountingPlate = extrude(thickness, mountingPlateSketch)\n |> fillet({\n radius: filletRadius,\n tags: [\n getNextAdjacentEdge('edge1', %),\n getNextAdjacentEdge('edge2', %),\n getNextAdjacentEdge('edge3', %),\n getNextAdjacentEdge('edge4', %)\n ]\n }, %)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -28335,7 +28336,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const box = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line([0, 10], %)\n |> line([10, 0], %)\n |> line([0, -10], %, 'revolveAxis')\n |> close(%)\n |> extrude(10, %)\n\nconst sketch001 = startSketchOn('XY')\n |> startProfileAt([0, -10], %)\n |> line([0, -10], %)\n |> line([2, 0], %)\n |> line([0, 10], %)\n |> close(%)\n |> revolve({\n axis: getEdge('revolveAxis', box),\n angle: 90\n }, %)"
|
||||
"const box = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line([0, 10], %, 'revolveAxis')\n |> line([10, 0], %)\n |> line([0, -10], %)\n |> close(%)\n |> extrude(10, %)\n\nconst revolution = startSketchOn('XZ')\n |> startProfileAt([-10, 0], %)\n |> line([0, 10], %)\n |> line([2, 0], %)\n |> line([0, -10], %)\n |> close(%)\n |> revolve({\n axis: getEdge('revolveAxis', box),\n angle: 90\n }, %)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -29121,7 +29122,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const part001 = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line([0, 10], %, \"thing\")\n |> line([10, 0], %, \"thing1\")\n |> line([0, -10], %, \"thing2\")\n |> close(%, \"thing3\")\n |> extrude(10, %)\n |> fillet({\n radius: 2,\n tags: [getNextAdjacentEdge(\"thing3\", %)]\n }, %)"
|
||||
"const exampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line([10, 0], %)\n |> angledLine({ angle: 60, length: 10 }, %)\n |> angledLine({ angle: 120, length: 10 }, %)\n |> line([-10, 0], %)\n |> angledLine({ angle: 240, length: 10 }, %, 'referenceEdge')\n |> close(%)\n\nconst example = extrude(5, exampleSketch)\n |> fillet({\n radius: 3,\n tags: [\n getNextAdjacentEdge(\"referenceEdge\", %)\n ]\n }, %)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -29907,7 +29908,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const part001 = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line([0, 10], %, \"thing\")\n |> line([10, 0], %)\n |> line([0, -10], %, \"thing2\")\n |> close(%)\n |> extrude(10, %)\n |> fillet({\n radius: 2,\n tags: [\"thing\", getOppositeEdge(\"thing\", %)]\n }, %)"
|
||||
"const exampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line([10, 0], %)\n |> angledLine({ angle: 60, length: 10 }, %)\n |> angledLine({ angle: 120, length: 10 }, %)\n |> line([-10, 0], %)\n |> angledLine({ angle: 240, length: 10 }, %, 'referenceEdge')\n |> close(%)\n\nconst example = extrude(5, exampleSketch)\n |> fillet({\n radius: 3,\n tags: [getOppositeEdge(\"referenceEdge\", %)]\n }, %)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -30693,7 +30694,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const part001 = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line([0, 10], %, \"thing\")\n |> line([10, 0], %, \"thing1\")\n |> line([0, -10], %, \"thing2\")\n |> close(%, \"thing3\")\n |> extrude(10, %)\n |> fillet({\n radius: 2,\n tags: [getPreviousAdjacentEdge(\"thing3\", %)]\n }, %)"
|
||||
"const exampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line([10, 0], %)\n |> angledLine({ angle: 60, length: 10 }, %)\n |> angledLine({ angle: 120, length: 10 }, %)\n |> line([-10, 0], %)\n |> angledLine({ angle: 240, length: 10 }, %, 'referenceEdge')\n |> close(%)\n\nconst example = extrude(5, exampleSketch)\n |> fillet({\n radius: 3,\n tags: [\n getPreviousAdjacentEdge(\"referenceEdge\", %)\n ]\n }, %)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -32254,7 +32255,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const part001 = startSketchOn('XY')\n |> circle([5, 5], 10, %)\n |> extrude(10, %)\n |> helix({ revolutions: 16, angle_start: 0 }, %)"
|
||||
"const part001 = startSketchOn('XY')\n |> circle([5, 5], 10, %)\n |> extrude(10, %)\n |> helix({\n angle_start: 0,\n ccw: true,\n revolutions: 16,\n angle_start: 0\n }, %)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -36159,7 +36160,8 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const square = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line([0, 10], %)\n |> line([10, 0], %)\n |> line([0, -10], %)\n |> close(%)\n |> hole(circle([2, 2], .5, %), %)\n |> hole(circle([2, 8], .5, %), %)\n |> extrude(2, %)"
|
||||
"const exampleSketch = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line([0, 5], %)\n |> line([5, 0], %)\n |> line([0, -5], %)\n |> close(%)\n |> hole(circle([1, 1], .25, %), %)\n |> hole(circle([1, 4], .25, %), %)\n\nconst example = extrude(1, exampleSketch)",
|
||||
"fn squareHoleSketch = () => {\n const squareSketch = startSketchOn('-XZ')\n |> startProfileAt([-1, -1], %)\n |> line([2, 0], %)\n |> line([0, 2], %)\n |> line([-2, 0], %)\n |> close(%)\n return squareSketch\n}\n\nconst exampleSketch = startSketchOn('-XZ')\n |> circle([0, 0], 3, %)\n |> hole(squareHoleSketch(), %)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -37807,7 +37809,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn(\"YZ\")\n |> startProfileAt([0, 0], %)\n |> line([5, 0], %, \"thing\")\n |> line([5, 5], %)\n |> line([0, lastSegX(%)], %)\n |> close(%)\n |> extrude(5, %)"
|
||||
"const exampleSketch = startSketchOn(\"-XZ\")\n |> startProfileAt([0, 0], %)\n |> line([5, 0], %)\n |> line([20, 5], %)\n |> line([0, lastSegX(%)], %)\n |> line([-15, 0], %)\n |> close(%)\n\nconst example = extrude(5, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -38796,7 +38798,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn(\"YZ\")\n |> startProfileAt([0, 0], %)\n |> line([5, 0], %, \"thing\")\n |> line([5, 5], %)\n |> line([0, lastSegY(%)], %)\n |> close(%)\n |> extrude(5, %)"
|
||||
"const exampleSketch = startSketchOn(\"-XZ\")\n |> startProfileAt([0, 0], %)\n |> line([5, 0], %)\n |> line([20, 5], %)\n |> line([0, lastSegY(%)], %)\n |> line([-15, 0], %)\n |> close(%)\n\nconst example = extrude(5, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -40892,7 +40894,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('-XY')\n |> startProfileAt([0, 0], %)\n |> line([10, 10], %)\n |> line([20, 10], %, \"edge1\")\n |> close(%, \"edge2\")\n |> extrude(10, %)"
|
||||
"const exampleSketch = startSketchOn(\"-XZ\")\n |> startProfileAt([0, 0], %)\n |> line([10, 0], %)\n |> line([0, 10], %)\n |> line([-10, 0], %)\n |> close(%)\n\nconst example = extrude(5, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -42862,7 +42864,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"fn rectShape = (pos, w, l) => {\n const rr = startSketchOn('YZ')\n |> startProfileAt([pos[0] - (w / 2), pos[1] - (l / 2)], %)\n |> lineTo([pos[0] + w / 2, pos[1] - (l / 2)], %, \"edge1\")\n |> lineTo([pos[0] + w / 2, pos[1] + l / 2], %, \"edge2\")\n |> lineTo([pos[0] - (w / 2), pos[1] + l / 2], %, \"edge3\")\n |> close(%, \"edge4\")\n return rr\n}\n\n// Create the mounting plate extrusion, holes, and fillets\nconst part = rectShape([0, 0], 20, 20)\n |> extrude(10, %)"
|
||||
"const exampleSketch = startSketchOn(\"-XZ\")\n |> startProfileAt([0, 0], %)\n |> lineTo([10, 0], %)\n |> lineTo([0, 10], %)\n |> lineTo([-10, 0], %)\n |> close(%)\n\nconst example = extrude(5, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -45067,7 +45069,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const part = startSketchOn('XY')\n |> circle([0, 0], 2, %)\n |> patternCircular2d({\n center: [20, 20],\n repetitions: 12,\n arcDegrees: 210,\n rotateDuplicates: true\n }, %)\n |> extrude(1, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([.5, 25], %)\n |> line([0, 5], %)\n |> line([-1, 0], %)\n |> line([0, -5], %)\n |> close(%)\n |> patternCircular2d({\n center: [0, 0],\n repetitions: 12,\n arcDegrees: 360,\n rotateDuplicates: true\n }, %)\n\nconst example = extrude(1, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -46648,7 +46650,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const part = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line([0, 1], %)\n |> line([1, 0], %)\n |> line([0, -1], %)\n |> close(%)\n |> extrude(1, %)\n |> patternCircular3d({\n axis: [1, 1, 0],\n center: [10, 0, 10],\n repetitions: 10,\n arcDegrees: 360,\n rotateDuplicates: true\n }, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> circle([0, 0], 1, %)\n\nconst example = extrude(-5, exampleSketch)\n |> patternCircular3d({\n axis: [1, -1, 0],\n center: [10, -20, 0],\n repetitions: 10,\n arcDegrees: 360,\n rotateDuplicates: true\n }, %)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -49626,7 +49628,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const part = startSketchOn('XY')\n |> circle([0, 0], 2, %)\n |> patternLinear2d({\n axis: [0, 1],\n repetitions: 12,\n distance: 2\n }, %)\n |> extrude(1, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> circle([0, 0], 1, %)\n |> patternLinear2d({\n axis: [1, 0],\n repetitions: 6,\n distance: 4\n }, %)\n\nconst example = extrude(1, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -51191,7 +51193,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const part = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line([0, 1], %)\n |> line([1, 0], %)\n |> line([0, -1], %)\n |> close(%)\n |> extrude(1, %)\n |> patternLinear3d({\n axis: [1, 0, 1],\n repetitions: 3,\n distance: 6\n }, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> line([0, 2], %)\n |> line([3, 1], %)\n |> line([0, -4], %)\n |> close(%)\n\nconst example = extrude(1, exampleSketch)\n |> patternLinear3d({\n axis: [1, 0, 1],\n repetitions: 6,\n distance: 6\n }, %)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -54119,7 +54121,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"const part001 = startSketchOn('XY')\n |> startProfileAt([4.83, 12.56], %)\n |> line([15.1, 2.48], %)\n |> line([3.15, -9.85], %, 'seg01')\n |> line([-15.17, -4.1], %)\n |> angledLine([segAng('seg01', %), 12.35], %)\n |> line([-13.02, 10.03], %)\n |> close(%)\n |> extrude(4, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> line([10, 0], %)\n |> line([5, 10], %, 'seg01')\n |> line([-10, 0], %)\n |> angledLine([segAng('seg01', %), 10], %)\n |> line([-10, 0], %)\n |> angledLine([segAng('seg01', %), -15], %)\n |> close(%)\n\nconst example = extrude(4, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -55116,7 +55118,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn(\"YZ\")\n |> startProfileAt([0, 0], %)\n |> line([5, 0], %, \"thing\")\n |> line([5, 5], %)\n |> line([segEndX(\"thing\", %), 5], %)\n |> close(%)\n |> extrude(5, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> line([20, 0], %, \"thing\")\n |> line([0, 5], %)\n |> line([segEndX(\"thing\", %), 0], %)\n |> line([-20, 10], %)\n |> close(%)\n\nconst example = extrude(5, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -56113,7 +56115,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn(\"YZ\")\n |> startProfileAt([0, 0], %)\n |> line([5, 0], %, \"thing\")\n |> line([5, 5], %)\n |> line([segEndY(\"thing\", %), 5], %)\n |> close(%)\n |> extrude(5, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> line([20, 0], %)\n |> line([0, 3], %, \"thing\")\n |> line([-10, 0], %)\n |> line([0, segEndY(\"thing\", %)], %)\n |> line([-10, 0], %)\n |> close(%)\n\nconst example = extrude(5, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -57110,7 +57112,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn(\"YZ\")\n |> startProfileAt([0, 0], %)\n |> line([5, 0], %, \"thing\")\n |> line([5, 5], %)\n |> line([0, segLen(\"thing\", %)], %)\n |> close(%)\n |> extrude(5, %)"
|
||||
"const exampleSketch = startSketchOn(\"-XZ\")\n |> startProfileAt([0, 0], %)\n |> angledLine({ angle: 60, length: 10 }, %, \"thing\")\n |> tangentialArc({ offset: -120, radius: 5 }, %)\n |> angledLine({\n angle: -60,\n length: segLen(\"thing\", %)\n }, %)\n |> close(%)\n\nconst example = extrude(5, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -58485,7 +58487,9 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line([10, 10], %)\n |> line([10, 0], %)\n |> close(%)\n |> extrude(10, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> line([10, 0], %)\n |> line([0, 10], %)\n |> line([-10, 0], %)\n |> close(%)\n\nconst example = extrude(5, exampleSketch)",
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([10, 10], %)\n |> line([10, 0], %)\n |> line([0, 10], %)\n |> line([-10, 0], %)\n |> close(%)\n\nconst example = extrude(5, exampleSketch)",
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([-10, 23], %)\n |> line([10, 0], %)\n |> line([0, 10], %)\n |> line([-10, 0], %)\n |> close(%)\n\nconst example = extrude(5, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -59479,7 +59483,9 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchAt([0, 0])\n |> line([10, 10], %)\n |> line([20, 10], %, \"edge1\")\n |> close(%, \"edge2\")\n |> extrude(10, %)"
|
||||
"const exampleSketch = startSketchAt([0, 0])\n |> line([10, 0], %)\n |> line([0, 10], %)\n |> line([-10, 0], %)\n |> close(%)\n\nconst example = extrude(5, exampleSketch)",
|
||||
"const exampleSketch = startSketchAt([10, 10])\n |> line([10, 0], %)\n |> line([0, 10], %)\n |> line([-10, 0], %)\n |> close(%)\n\nconst example = extrude(5, exampleSketch)",
|
||||
"const exampleSketch = startSketchAt([-10, 23])\n |> line([10, 0], %)\n |> line([0, 10], %)\n |> line([-10, 0], %)\n |> close(%)\n\nconst example = extrude(5, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -60752,8 +60758,9 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line([10, 10], %)\n |> line([20, 10], %, \"edge1\")\n |> close(%, \"edge2\")\n |> extrude(10, %)",
|
||||
"fn cube = (pos, scale) => {\n const sg = startSketchOn('XY')\n |> startProfileAt(pos, %)\n |> line([0, scale], %)\n |> line([scale, 0], %)\n |> line([0, -scale], %)\n |> close(%)\n |> extrude(scale, %)\n\n return sg\n}\n\nconst box = cube([0, 0], 20)\n\nconst part001 = startSketchOn(box, \"start\")\n |> startProfileAt([0, 0], %)\n |> line([10, 10], %)\n |> line([20, 10], %, \"edge1\")\n |> close(%)\n |> extrude(20, %)"
|
||||
"const exampleSketch = startSketchOn(\"XY\")\n |> startProfileAt([0, 0], %)\n |> line([10, 0], %)\n |> line([0, 10], %)\n |> line([-10, 0], %)\n |> close(%)\n\nconst example = extrude(5, exampleSketch)\n\nconst exampleSketch002 = startSketchOn(example, 'end')\n |> startProfileAt([1, 1], %)\n |> line([8, 0], %)\n |> line([0, 8], %)\n |> line([-8, 0], %)\n |> close(%)\n\nconst example002 = extrude(5, exampleSketch002)\n\nconst exampleSketch003 = startSketchOn(example002, 'end')\n |> startProfileAt([2, 2], %)\n |> line([6, 0], %)\n |> line([0, 6], %)\n |> line([-6, 0], %)\n |> close(%)\n\nconst example003 = extrude(5, exampleSketch003)",
|
||||
"const exampleSketch = startSketchOn(\"XY\")\n |> startProfileAt([0, 0], %)\n |> line([10, 0], %)\n |> line([0, 10], %, 'sketchingFace')\n |> line([-10, 0], %)\n |> close(%)\n\nconst example = extrude(10, exampleSketch)\n\nconst exampleSketch002 = startSketchOn(example, 'sketchingFace')\n |> startProfileAt([1, 1], %)\n |> line([8, 0], %)\n |> line([0, 8], %)\n |> line([-8, 0], %)\n |> close(%, 'sketchingFace002')\n\nconst example002 = extrude(10, exampleSketch002)\n\nconst exampleSketch003 = startSketchOn(example002, 'sketchingFace002')\n |> startProfileAt([-8, 12], %)\n |> line([0, 6], %)\n |> line([6, 0], %)\n |> line([0, -6], %)\n |> close(%)\n\nconst example003 = extrude(5, exampleSketch003)",
|
||||
"const exampleSketch = startSketchOn('XY')\n |> startProfileAt([4, 12], %)\n |> line([2, 0], %)\n |> line([0, -6], %)\n |> line([4, -6], %)\n |> line([0, -6], %)\n |> line([-3.75, -4.5], %)\n |> line([0, -5.5], %)\n |> line([-2, 0], %)\n |> close(%)\n\nconst example = revolve({ axis: 'y', angle: 180 }, exampleSketch)\n\nconst exampleSketch002 = startSketchOn(example, 'end')\n |> startProfileAt([4.5, -5], %)\n |> line([0, 5], %)\n |> line([5, 0], %)\n |> line([0, -5], %)\n |> close(%)\n\nconst example002 = extrude(5, exampleSketch002)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -62781,7 +62788,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('-YZ')\n |> startProfileAt([0, 0], %)\n |> line([10, 10], %, \"edge1\")\n |> tangentialArc({ radius: 10, offset: 90 }, %, \"edge1\")\n |> close(%)\n |> extrude(10, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> angledLine({ angle: 60, length: 10 }, %)\n |> tangentialArc({ radius: 10, offset: -120 }, %)\n |> angledLine({ angle: -60, length: 10 }, %)\n |> close(%)\n\nconst example = extrude(10, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -64751,7 +64758,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('-YZ')\n |> startProfileAt([0, 0], %)\n |> line([10, 10], %, \"edge0\")\n |> tangentialArcTo([10, 0], %)\n |> close(%)\n |> extrude(10, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> angledLine({ angle: 60, length: 10 }, %)\n |> tangentialArcTo([15, 15], %)\n |> line([10, -15], %)\n |> close(%)\n\nconst example = extrude(10, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -66805,7 +66812,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('YZ')\n |> startProfileAt([0, 0], %)\n |> xLine(10, %)\n |> line([10, 10], %)\n |> close(%, \"edge1\")\n |> extrude(10, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> xLine(15, %)\n |> angledLine({ angle: 80, length: 15 }, %)\n |> line([8, -10], %)\n |> xLine(10, %)\n |> angledLine({ angle: 120, length: 30 }, %)\n |> xLine(-15, %)\n |> close(%)\n\nconst example = extrude(10, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -68770,7 +68777,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> xLineTo(10, %, \"edge1\")\n |> line([10, 10], %)\n |> close(%, \"edge2\")\n |> extrude(10, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> xLineTo(15, %)\n |> angledLine({ angle: 80, length: 15 }, %)\n |> line([8, -10], %)\n |> xLineTo(40, %)\n |> angledLine({ angle: 135, length: 30 }, %)\n |> xLineTo(10, %)\n |> close(%)\n\nconst example = extrude(10, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -70735,7 +70742,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> yLine(10, %)\n |> line([10, 10], %)\n |> close(%, \"edge1\")\n |> extrude(10, %)"
|
||||
"const exampleSketch = startSketchOn('-XZ')\n |> startProfileAt([0, 0], %)\n |> yLine(15, %)\n |> angledLine({ angle: 30, length: 15 }, %)\n |> line([8, -10], %)\n |> yLine(-5, %)\n |> close(%)\n\nconst example = extrude(10, exampleSketch)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -29,13 +29,46 @@ pub async fn extrude(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Extrudes by a given amount.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('XY')
|
||||
/// const example = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([0, -10], %)
|
||||
/// |> arc({
|
||||
/// angle_end: 0,
|
||||
/// angle_start: 120,
|
||||
/// radius: 5,
|
||||
/// }, %)
|
||||
/// |> line([5, 0], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> bezierCurve({
|
||||
/// control1: [-10, 0],
|
||||
/// control2: [2, 10],
|
||||
/// to: [-5, 10],
|
||||
/// }, %)
|
||||
/// |> line([-5, -2], %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(5, %)
|
||||
/// |> extrude(10, %)
|
||||
/// ```
|
||||
///
|
||||
/// ```no_run
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([-10, 0], %)
|
||||
/// |> arc({
|
||||
/// angle_end: -60,
|
||||
/// angle_start: 120,
|
||||
/// radius: 5,
|
||||
/// }, %)
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([5, 0], %)
|
||||
/// |> bezierCurve({
|
||||
/// control1: [-3, 0],
|
||||
/// control2: [2, 10],
|
||||
/// to: [-5, 10],
|
||||
/// }, %)
|
||||
/// |> line([-4, 10], %)
|
||||
/// |> line([-5, -2], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(10, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "extrude"
|
||||
|
@ -48,14 +48,28 @@ pub async fn fillet(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Create fillets on tagged paths.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const part001 = startSketchOn('XY')
|
||||
/// |> startProfileAt([0,0], %)
|
||||
/// |> line([0, 10], %, "thing")
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([0, -10], %, "thing2")
|
||||
/// |> close(%)
|
||||
/// |> extrude(10, %)
|
||||
/// |> fillet({radius: 2, tags: ["thing", "thing2"]}, %)
|
||||
/// const width = 20
|
||||
/// const length = 10
|
||||
/// const thickness = 1
|
||||
/// const filletRadius = 2
|
||||
///
|
||||
/// const mountingPlateSketch = startSketchOn("XY")
|
||||
/// |> startProfileAt([-width/2, -length/2], %)
|
||||
/// |> lineTo([width/2, -length/2], %, 'edge1')
|
||||
/// |> lineTo([width/2, length/2], %, 'edge2')
|
||||
/// |> lineTo([-width/2, length/2], %, 'edge3')
|
||||
/// |> close(%, 'edge4')
|
||||
///
|
||||
/// const mountingPlate = extrude(thickness, mountingPlateSketch)
|
||||
/// |> fillet({
|
||||
/// radius: filletRadius,
|
||||
/// tags: [
|
||||
/// getNextAdjacentEdge('edge1', %),
|
||||
/// getNextAdjacentEdge('edge2', %),
|
||||
/// getNextAdjacentEdge('edge3', %),
|
||||
/// getNextAdjacentEdge('edge4', %)
|
||||
/// ],
|
||||
/// }, %)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "fillet",
|
||||
@ -130,14 +144,29 @@ pub async fn get_opposite_edge(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Get the opposite edge to the edge given.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const part001 = startSketchOn('XY')
|
||||
/// |> startProfileAt([0,0], %)
|
||||
/// |> line([0, 10], %, "thing")
|
||||
/// const exampleSketch = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([0, -10], %, "thing2")
|
||||
/// |> angledLine({
|
||||
/// angle: 60,
|
||||
/// length: 10,
|
||||
/// }, %)
|
||||
/// |> angledLine({
|
||||
/// angle: 120,
|
||||
/// length: 10,
|
||||
/// }, %)
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> angledLine({
|
||||
/// angle: 240,
|
||||
/// length: 10,
|
||||
/// }, %, 'referenceEdge')
|
||||
/// |> close(%)
|
||||
/// |> extrude(10, %)
|
||||
/// |> fillet({radius: 2, tags: ["thing", getOppositeEdge("thing", %)]}, %)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// |> fillet({
|
||||
/// radius: 3,
|
||||
/// tags: [getOppositeEdge("referenceEdge", %)],
|
||||
/// }, %)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "getOppositeEdge",
|
||||
@ -199,14 +228,29 @@ pub async fn get_next_adjacent_edge(args: Args) -> Result<MemoryItem, KclError>
|
||||
/// Get the next adjacent edge to the edge given.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const part001 = startSketchOn('XY')
|
||||
/// |> startProfileAt([0,0], %)
|
||||
/// |> line([0, 10], %, "thing")
|
||||
/// |> line([10, 0], %, "thing1")
|
||||
/// |> line([0, -10], %, "thing2")
|
||||
/// |> close(%, "thing3")
|
||||
/// |> extrude(10, %)
|
||||
/// |> fillet({radius: 2, tags: [getNextAdjacentEdge("thing3", %)]}, %)
|
||||
/// const exampleSketch = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([10, 0], %)
|
||||
/// |> angledLine({
|
||||
/// angle: 60,
|
||||
/// length: 10,
|
||||
/// }, %)
|
||||
/// |> angledLine({
|
||||
/// angle: 120,
|
||||
/// length: 10,
|
||||
/// }, %)
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> angledLine({
|
||||
/// angle: 240,
|
||||
/// length: 10,
|
||||
/// }, %, 'referenceEdge')
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// |> fillet({
|
||||
/// radius: 3,
|
||||
/// tags: [getNextAdjacentEdge("referenceEdge", %)],
|
||||
/// }, %)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "getNextAdjacentEdge",
|
||||
@ -277,14 +321,29 @@ pub async fn get_previous_adjacent_edge(args: Args) -> Result<MemoryItem, KclErr
|
||||
/// Get the previous adjacent edge to the edge given.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const part001 = startSketchOn('XY')
|
||||
/// |> startProfileAt([0,0], %)
|
||||
/// |> line([0, 10], %, "thing")
|
||||
/// |> line([10, 0], %, "thing1")
|
||||
/// |> line([0, -10], %, "thing2")
|
||||
/// |> close(%, "thing3")
|
||||
/// |> extrude(10, %)
|
||||
/// |> fillet({radius: 2, tags: [getPreviousAdjacentEdge("thing3", %)]}, %)
|
||||
/// const exampleSketch = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([10, 0], %)
|
||||
/// |> angledLine({
|
||||
/// angle: 60,
|
||||
/// length: 10,
|
||||
/// }, %)
|
||||
/// |> angledLine({
|
||||
/// angle: 120,
|
||||
/// length: 10,
|
||||
/// }, %)
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> angledLine({
|
||||
/// angle: 240,
|
||||
/// length: 10,
|
||||
/// }, %, 'referenceEdge')
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// |> fillet({
|
||||
/// radius: 3,
|
||||
/// tags: [getPreviousAdjacentEdge("referenceEdge", %)],
|
||||
/// }, %)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "getPreviousAdjacentEdge",
|
||||
|
@ -43,7 +43,12 @@ pub async fn helix(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// const part001 = startSketchOn('XY')
|
||||
/// |> circle([5, 5], 10, %)
|
||||
/// |> extrude(10, %)
|
||||
/// |> helix({revolutions: 16, angle_start: 0}, %)
|
||||
/// |> helix({
|
||||
/// angle_start: 0,
|
||||
/// ccw: true,
|
||||
/// revolutions: 16,
|
||||
/// angle_start: 0
|
||||
/// }, %)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "helix",
|
||||
|
@ -125,7 +125,23 @@ pub async fn abs(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Computes the absolute value of a number.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const myVar = abs(-4)
|
||||
/// const myAngle = -120
|
||||
///
|
||||
/// const sketch001 = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([8, 0], %)
|
||||
/// |> angledLine({
|
||||
/// angle: abs(myAngle),
|
||||
/// length: 5,
|
||||
/// }, %)
|
||||
/// |> line([-5, 0], %)
|
||||
/// |> angledLine({
|
||||
/// angle: myAngle,
|
||||
/// length: 5,
|
||||
/// }, %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const baseExtrusion = extrude(5, sketch001)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "abs",
|
||||
|
@ -90,10 +90,15 @@ pub async fn pattern_linear_2d(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// A linear pattern on a 2D sketch.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const part = startSketchOn('XY')
|
||||
/// |> circle([0,0], 2, %)
|
||||
/// |> patternLinear2d({axis: [0,1], repetitions: 12, distance: 2}, %)
|
||||
/// |> extrude(1, %)
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> circle([0, 0], 1, %)
|
||||
/// |> patternLinear2d({
|
||||
/// axis: [1, 0],
|
||||
/// repetitions: 6,
|
||||
/// distance: 4
|
||||
/// }, %)
|
||||
///
|
||||
/// const example = extrude(1, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "patternLinear2d",
|
||||
@ -150,14 +155,19 @@ pub async fn pattern_linear_3d(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// A linear pattern on a 3D model.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const part = startSketchOn('XY')
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([0,1], %)
|
||||
/// |> line([1, 0], %)
|
||||
/// |> line([0, -1], %)
|
||||
/// |> line([0, 2], %)
|
||||
/// |> line([3, 1], %)
|
||||
/// |> line([0, -4], %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(1, %)
|
||||
/// |> patternLinear3d({axis: [1, 0, 1], repetitions: 3, distance: 6}, %)
|
||||
///
|
||||
/// const example = extrude(1, exampleSketch)
|
||||
/// |> patternLinear3d({
|
||||
/// axis: [1, 0, 1],
|
||||
/// repetitions: 6,
|
||||
/// distance: 6
|
||||
/// }, %)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "patternLinear3d",
|
||||
@ -339,10 +349,20 @@ pub async fn pattern_circular_2d(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// A circular pattern on a 2D sketch.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const part = startSketchOn('XY')
|
||||
/// |> circle([0,0], 2, %)
|
||||
/// |> patternCircular2d({center: [20, 20], repetitions: 12, arcDegrees: 210, rotateDuplicates: true}, %)
|
||||
/// |> extrude(1, %)
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([.5, 25], %)
|
||||
/// |> line([0, 5], %)
|
||||
/// |> line([-1, 0], %)
|
||||
/// |> line([0, -5], %)
|
||||
/// |> close(%)
|
||||
/// |> patternCircular2d({
|
||||
/// center: [0, 0],
|
||||
/// repetitions: 12,
|
||||
/// arcDegrees: 360,
|
||||
/// rotateDuplicates: true
|
||||
/// }, %)
|
||||
///
|
||||
/// const example = extrude(1, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "patternCircular2d",
|
||||
@ -380,14 +400,17 @@ pub async fn pattern_circular_3d(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// A circular pattern on a 3D model.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const part = startSketchOn('XY')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([0,1], %)
|
||||
/// |> line([1, 0], %)
|
||||
/// |> line([0, -1], %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(1, %)
|
||||
/// |> patternCircular3d({axis: [1,1,0], center: [10, 0, 10], repetitions: 10, arcDegrees: 360, rotateDuplicates: true}, %)
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> circle([0, 0], 1, %)
|
||||
///
|
||||
/// const example = extrude(-5, exampleSketch)
|
||||
/// |> patternCircular3d({
|
||||
/// axis: [1, -1, 0],
|
||||
/// center: [10, -20, 0],
|
||||
/// repetitions: 10,
|
||||
/// arcDegrees: 360,
|
||||
/// rotateDuplicates: true
|
||||
/// }, %)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "patternCircular3d",
|
||||
|
@ -291,21 +291,24 @@ pub async fn get_edge(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Get an edge on a 3D solid.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const box = startSketchOn('XY')
|
||||
/// const box = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> line([0, 10], %, 'revolveAxis')
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([0, -10], %, 'revolveAxis')
|
||||
/// |> line([0, -10], %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(10, %)
|
||||
///
|
||||
/// const sketch001 = startSketchOn('XY')
|
||||
/// |> startProfileAt([0, -10], %)
|
||||
/// |> line([0, -10], %)
|
||||
/// |> line([2, 0], %)
|
||||
/// const revolution = startSketchOn('XZ')
|
||||
/// |> startProfileAt([-10, 0], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> line([2, 0], %)
|
||||
/// |> line([0, -10], %)
|
||||
/// |> close(%)
|
||||
/// |> revolve({ axis: getEdge('revolveAxis', box), angle: 90 }, %)
|
||||
/// |> revolve({
|
||||
/// axis: getEdge('revolveAxis', box),
|
||||
/// angle: 90
|
||||
/// }, %)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "getEdge",
|
||||
|
@ -22,13 +22,15 @@ pub async fn segment_end_x(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Returns the segment end of x.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn("YZ")
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([5, 0], %, "thing")
|
||||
/// |> line([5, 5], %)
|
||||
/// |> line([segEndX("thing", %), 5], %)
|
||||
/// |> line([20, 0], %, "thing")
|
||||
/// |> line([0, 5], %)
|
||||
/// |> line([segEndX("thing", %), 0], %)
|
||||
/// |> line([-20, 10], %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(5, %)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "segEndX",
|
||||
@ -58,13 +60,16 @@ pub async fn segment_end_y(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Returns the segment end of y.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn("YZ")
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([5, 0], %, "thing")
|
||||
/// |> line([5, 5], %)
|
||||
/// |> line([segEndY("thing", %), 5], %)
|
||||
/// |> line([20, 0], %)
|
||||
/// |> line([0, 3], %, "thing")
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> line([0, segEndY("thing", %)], %)
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(5, %)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "segEndY",
|
||||
@ -94,13 +99,15 @@ pub async fn last_segment_x(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Returns the last segment of x.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn("YZ")
|
||||
/// const exampleSketch = startSketchOn("-XZ")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([5, 0], %, "thing")
|
||||
/// |> line([5, 5], %)
|
||||
/// |> line([5, 0], %)
|
||||
/// |> line([20, 5], %)
|
||||
/// |> line([0, lastSegX(%)], %)
|
||||
/// |> line([-15, 0], %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(5, %)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "lastSegX",
|
||||
@ -134,13 +141,15 @@ pub async fn last_segment_y(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Returns the last segment of y.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn("YZ")
|
||||
/// const exampleSketch = startSketchOn("-XZ")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([5, 0], %, "thing")
|
||||
/// |> line([5, 5], %)
|
||||
/// |> line([5, 0], %)
|
||||
/// |> line([20, 5], %)
|
||||
/// |> line([0, lastSegY(%)], %)
|
||||
/// |> line([-15, 0], %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(5, %)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "lastSegY",
|
||||
@ -173,13 +182,23 @@ pub async fn segment_length(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Returns the length of the segment.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn("YZ")
|
||||
/// const exampleSketch = startSketchOn("-XZ")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([5, 0], %, "thing")
|
||||
/// |> line([5, 5], %)
|
||||
/// |> line([0, segLen("thing", %)], %)
|
||||
/// |> angledLine({
|
||||
/// angle: 60,
|
||||
/// length: 10,
|
||||
/// }, %, "thing")
|
||||
/// |> tangentialArc({
|
||||
/// offset: -120,
|
||||
/// radius: 5,
|
||||
/// }, %)
|
||||
/// |> angledLine({
|
||||
/// angle: -60,
|
||||
/// length: segLen("thing", %),
|
||||
/// }, %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(5, %)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "segLen",
|
||||
@ -212,15 +231,17 @@ pub async fn segment_angle(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Returns the angle of the segment.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const part001 = startSketchOn('XY')
|
||||
/// |> startProfileAt([4.83, 12.56], %)
|
||||
/// |> line([15.1, 2.48], %)
|
||||
/// |> line([3.15, -9.85], %, 'seg01')
|
||||
/// |> line([-15.17, -4.1], %)
|
||||
/// |> angledLine([segAng('seg01', %), 12.35], %)
|
||||
/// |> line([-13.02, 10.03], %)
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([5, 10], %, 'seg01')
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> angledLine([segAng('seg01', %), 10], %)
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> angledLine([segAng('seg01', %), -15], %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(4, %)
|
||||
///
|
||||
/// const example = extrude(4, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "segAng",
|
||||
@ -252,15 +273,16 @@ pub async fn angle_to_match_length_x(args: Args) -> Result<MemoryItem, KclError>
|
||||
/// Returns the angle to match the given length for x.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const part001 = startSketchOn('XY')
|
||||
/// const sketch001 = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([1, 3.82], %, 'seg01')
|
||||
/// |> line([2, 5], %, 'seg01')
|
||||
/// |> angledLineToX([
|
||||
/// -angleToMatchLengthX('seg01', 10, %),
|
||||
/// 5
|
||||
/// -angleToMatchLengthX('seg01', 7, %),
|
||||
/// 10
|
||||
/// ], %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(5, %)
|
||||
///
|
||||
/// const extrusion = extrude(5, sketch001)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "angleToMatchLengthX",
|
||||
@ -319,15 +341,17 @@ pub async fn angle_to_match_length_y(args: Args) -> Result<MemoryItem, KclError>
|
||||
/// Returns the angle to match the given length for y.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const part001 = startSketchOn('XY')
|
||||
/// const sketch001 = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([1, 3.82], %, 'seg01')
|
||||
/// |> angledLineToX([
|
||||
/// -angleToMatchLengthY('seg01', 10, %),
|
||||
/// 5
|
||||
/// ], %)
|
||||
/// |> line([1, 2], %, 'seg01')
|
||||
/// |> angledLine({
|
||||
/// angle: angleToMatchLengthY('seg01', 15, %),
|
||||
/// length: 5,
|
||||
/// }, %)
|
||||
/// |> yLineTo(0, %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(5, %)
|
||||
///
|
||||
/// const extrusion = extrude(5, sketch001)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "angleToMatchLengthY",
|
||||
|
@ -32,17 +32,10 @@ pub async fn circle(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Sketch a circle.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const circles = startSketchOn('XY')
|
||||
/// |> circle([5, 5], 1, %)
|
||||
/// |> patternLinear2d({axis: [1,1], repetitions: 12, distance: 3}, %)
|
||||
/// const exampleSketch = startSketchOn("-XZ")
|
||||
/// |> circle([0, 0], 10, %)
|
||||
///
|
||||
/// const rectangle = startSketchOn('XY')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([0, 50], %)
|
||||
/// |> line([50, 0], %)
|
||||
/// |> line([0, -50], %)
|
||||
/// |> close(%)
|
||||
/// |> hole(circles, %)
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "circle",
|
||||
|
@ -35,19 +35,14 @@ pub async fn line_to(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Draw a line to a point.
|
||||
///
|
||||
/// ```no_run
|
||||
/// fn rectShape = (pos, w, l) => {
|
||||
/// const rr = startSketchOn('YZ')
|
||||
/// |> startProfileAt([pos[0] - (w / 2), pos[1] - (l / 2)], %)
|
||||
/// |> lineTo([pos[0] + w / 2, pos[1] - (l / 2)], %, "edge1")
|
||||
/// |> lineTo([pos[0] + w / 2, pos[1] + l / 2], %, "edge2")
|
||||
/// |> lineTo([pos[0] - (w / 2), pos[1] + l / 2], %, "edge3")
|
||||
/// |> close(%, "edge4")
|
||||
/// return rr
|
||||
/// }
|
||||
/// const exampleSketch = startSketchOn("-XZ")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> lineTo([10, 0], %)
|
||||
/// |> lineTo([0, 10], %)
|
||||
/// |> lineTo([-10, 0], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// // Create the mounting plate extrusion, holes, and fillets
|
||||
/// const part = rectShape([0, 0], 20, 20)
|
||||
/// |> extrude(10, %)
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "lineTo",
|
||||
@ -106,12 +101,23 @@ pub async fn x_line_to(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Draw a line to a point on the x-axis.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('XY')
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> xLineTo(10, %, "edge1")
|
||||
/// |> line([10, 10], %)
|
||||
/// |> close(%, "edge2")
|
||||
/// |> extrude(10, %)
|
||||
/// |> xLineTo(15, %)
|
||||
/// |> angledLine({
|
||||
/// angle: 80,
|
||||
/// length: 15,
|
||||
/// }, %)
|
||||
/// |> line([8, -10], %)
|
||||
/// |> xLineTo(40, %)
|
||||
/// |> angledLine({
|
||||
/// angle: 135,
|
||||
/// length: 30,
|
||||
/// }, %)
|
||||
/// |> xLineTo(10, %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(10, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "xLineTo",
|
||||
@ -175,12 +181,14 @@ pub async fn line(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Draw a line.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('-XY')
|
||||
/// const exampleSketch = startSketchOn("-XZ")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([10, 10], %)
|
||||
/// |> line([20, 10], %, "edge1")
|
||||
/// |> close(%, "edge2")
|
||||
/// |> extrude(10, %)
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "line",
|
||||
@ -242,12 +250,23 @@ pub async fn x_line(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Draw a line on the x-axis.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('YZ')
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> xLine(15, %)
|
||||
/// |> angledLine({
|
||||
/// angle: 80,
|
||||
/// length: 15,
|
||||
/// }, %)
|
||||
/// |> line([8, -10], %)
|
||||
/// |> xLine(10, %)
|
||||
/// |> line([10, 10], %)
|
||||
/// |> close(%, "edge1")
|
||||
/// |> extrude(10, %)
|
||||
/// |> angledLine({
|
||||
/// angle: 120,
|
||||
/// length: 30,
|
||||
/// }, %)
|
||||
/// |> xLine(-15, %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(10, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "xLine",
|
||||
@ -273,12 +292,18 @@ pub async fn y_line(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Draw a line on the y-axis.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('XY')
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> yLine(10, %)
|
||||
/// |> line([10, 10], %)
|
||||
/// |> close(%, "edge1")
|
||||
/// |> extrude(10, %)
|
||||
/// |> yLine(15, %)
|
||||
/// |> angledLine({
|
||||
/// angle: 30,
|
||||
/// length: 15,
|
||||
/// }, %)
|
||||
/// |> line([8, -10], %)
|
||||
/// |> yLine(-5, %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(10, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "yLine",
|
||||
@ -320,16 +345,18 @@ pub async fn angled_line(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Draw an angled line.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('XY')
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> yLineTo(15, %)
|
||||
/// |> angledLine({
|
||||
/// angle: 45,
|
||||
/// length: 10,
|
||||
/// }, %, "edge1")
|
||||
/// |> line([10, 10], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> close(%, "edge2")
|
||||
/// |> extrude(10, %)
|
||||
/// angle: 30,
|
||||
/// length: 15,
|
||||
/// }, %)
|
||||
/// |> line([8, -10], %)
|
||||
/// |> yLineTo(0, %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(10, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "angledLine",
|
||||
@ -402,16 +429,14 @@ pub async fn angled_line_of_x_length(args: Args) -> Result<MemoryItem, KclError>
|
||||
/// Draw an angled line of a given x length.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('XZ')
|
||||
/// const sketch001 = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLineOfXLength({
|
||||
/// angle: 45,
|
||||
/// length: 10,
|
||||
/// }, %, "edge1")
|
||||
/// |> line([10, 10], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> close(%, "edge2")
|
||||
/// |> extrude(10, %)
|
||||
/// |> angledLineOfXLength({ angle: 45, length: 10 }, %, "edge1")
|
||||
/// |> angledLineOfXLength({ angle: -15, length: 20 }, %, "edge2")
|
||||
/// |> line([0, -5], %)
|
||||
/// |> close(%, "edge3")
|
||||
///
|
||||
/// const extrusion = extrude(10, sketch001)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "angledLineOfXLength",
|
||||
@ -457,17 +482,14 @@ pub async fn angled_line_to_x(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Draw an angled line to a given x coordinate.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('XY')
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLineToX({
|
||||
/// angle: 45,
|
||||
/// to: 10,
|
||||
/// }, %, "edge1")
|
||||
/// |> line([10, 10], %)
|
||||
/// |> angledLineToX({ angle: 30, to: 10 }, %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> close(%, "edge2")
|
||||
/// |> extrude(10, %)
|
||||
/// |> fillet({radius: 2, tags: ["edge1"]}, %)
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(10, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "angledLineToX",
|
||||
@ -502,17 +524,16 @@ pub async fn angled_line_of_y_length(args: Args) -> Result<MemoryItem, KclError>
|
||||
/// Draw an angled line of a given y length.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('YZ')
|
||||
/// const exampleSketch = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLineOfYLength({
|
||||
/// angle: 45,
|
||||
/// length: 10,
|
||||
/// }, %, "edge1")
|
||||
/// |> line([10, 10], %)
|
||||
/// |> line([10, 0], %)
|
||||
/// |> angledLineOfYLength({ angle: 45, length: 10 }, %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> close(%, "edge2")
|
||||
/// |> extrude(10, %)
|
||||
/// |> fillet({radius: 2, tags: ["edge1"]}, %)
|
||||
/// |> angledLineOfYLength({ angle: 135, length: 10 }, %)
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> line([0, -30], %)
|
||||
///
|
||||
/// const example = extrude(10, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "angledLineOfYLength",
|
||||
@ -547,16 +568,14 @@ pub async fn angled_line_to_y(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Draw an angled line to a given y coordinate.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('XY')
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLineToY({
|
||||
/// angle: 45,
|
||||
/// to: 10,
|
||||
/// }, %, "edge1")
|
||||
/// |> line([10, 10], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> close(%, "edge2")
|
||||
/// |> extrude(10, %)
|
||||
/// |> angledLineToY({ angle: 60, to: 20 }, %)
|
||||
/// |> line([-20, 0], %)
|
||||
/// |> angledLineToY({ angle: 70, to: 10 }, %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(10, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "angledLineToY",
|
||||
@ -603,18 +622,19 @@ pub async fn angled_line_that_intersects(args: Args) -> Result<MemoryItem, KclEr
|
||||
/// Draw an angled line that intersects with a given line.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const part001 = startSketchOn('XY')
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> lineTo([2, 2], %, "yo")
|
||||
/// |> lineTo([3, 1], %)
|
||||
/// |> lineTo([5, 10], %)
|
||||
/// |> lineTo([-10, 10], %, "lineToIntersect")
|
||||
/// |> lineTo([0, 20], %)
|
||||
/// |> angledLineThatIntersects({
|
||||
/// angle: 180,
|
||||
/// intersectTag: 'yo',
|
||||
/// offset: 12,
|
||||
/// }, %, "yo2")
|
||||
/// |> line([4, 0], %)
|
||||
/// |> close(%, "yo3")
|
||||
/// |> extrude(10, %)
|
||||
/// angle: 80,
|
||||
/// intersectTag: 'lineToIntersect',
|
||||
/// offset: 10
|
||||
/// }, %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(10, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "angledLineThatIntersects",
|
||||
@ -661,11 +681,33 @@ pub async fn start_sketch_at(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Start a sketch at a given point on the 'XY' plane.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchAt([0, 0])
|
||||
/// |> line([10, 10], %)
|
||||
/// |> line([20, 10], %, "edge1")
|
||||
/// |> close(%, "edge2")
|
||||
/// |> extrude(10, %)
|
||||
/// const exampleSketch = startSketchAt([0, 0])
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// ```
|
||||
///
|
||||
/// ```no_run
|
||||
/// const exampleSketch = startSketchAt([10, 10])
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// ```
|
||||
///
|
||||
/// ```no_run
|
||||
/// const exampleSketch = startSketchAt([-10, 23])
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "startSketchAt",
|
||||
@ -813,35 +855,85 @@ pub async fn start_sketch_on(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Start a sketch on a specific plane or face.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('XY')
|
||||
/// const exampleSketch = startSketchOn("XY")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([10, 10], %)
|
||||
/// |> line([20, 10], %, "edge1")
|
||||
/// |> close(%, "edge2")
|
||||
/// |> extrude(10, %)
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
///
|
||||
/// const exampleSketch002 = startSketchOn(example, 'end')
|
||||
/// |> startProfileAt([1, 1], %)
|
||||
/// |> line([8, 0], %)
|
||||
/// |> line([0, 8], %)
|
||||
/// |> line([-8, 0], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example002 = extrude(5, exampleSketch002)
|
||||
///
|
||||
/// const exampleSketch003 = startSketchOn(example002, 'end')
|
||||
/// |> startProfileAt([2, 2], %)
|
||||
/// |> line([6, 0], %)
|
||||
/// |> line([0, 6], %)
|
||||
/// |> line([-6, 0], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example003 = extrude(5, exampleSketch003)
|
||||
/// ```
|
||||
///
|
||||
/// ```no_run
|
||||
/// fn cube = (pos, scale) => {
|
||||
/// const sg = startSketchOn('XY')
|
||||
/// |> startProfileAt(pos, %)
|
||||
/// |> line([0, scale], %)
|
||||
/// |> line([scale, 0], %)
|
||||
/// |> line([0, -scale], %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(scale, %)
|
||||
///
|
||||
/// return sg
|
||||
/// }
|
||||
///
|
||||
/// const box = cube([0,0], 20)
|
||||
///
|
||||
/// const part001 = startSketchOn(box, "start")
|
||||
/// const exampleSketch = startSketchOn("XY")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([10, 10], %)
|
||||
/// |> line([20, 10], %, "edge1")
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([0, 10], %, 'sketchingFace')
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(20, %)
|
||||
///
|
||||
/// const example = extrude(10, exampleSketch)
|
||||
///
|
||||
/// const exampleSketch002 = startSketchOn(example, 'sketchingFace')
|
||||
/// |> startProfileAt([1, 1], %)
|
||||
/// |> line([8, 0], %)
|
||||
/// |> line([0, 8], %)
|
||||
/// |> line([-8, 0], %)
|
||||
/// |> close(%, 'sketchingFace002')
|
||||
///
|
||||
/// const example002 = extrude(10, exampleSketch002)
|
||||
///
|
||||
/// const exampleSketch003 = startSketchOn(example002, 'sketchingFace002')
|
||||
/// |> startProfileAt([-8, 12], %)
|
||||
/// |> line([0, 6], %)
|
||||
/// |> line([6, 0], %)
|
||||
/// |> line([0, -6], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example003 = extrude(5, exampleSketch003)
|
||||
/// ```
|
||||
///
|
||||
/// ```no_run
|
||||
/// const exampleSketch = startSketchOn('XY')
|
||||
/// |> startProfileAt([4, 12], %)
|
||||
/// |> line([2, 0], %)
|
||||
/// |> line([0, -6], %)
|
||||
/// |> line([4, -6], %)
|
||||
/// |> line([0, -6], %)
|
||||
/// |> line([-3.75, -4.5], %)
|
||||
/// |> line([0, -5.5], %)
|
||||
/// |> line([-2, 0], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = revolve({ axis: 'y', angle: 180 }, exampleSketch)
|
||||
///
|
||||
/// const exampleSketch002 = startSketchOn(example, 'end')
|
||||
/// |> startProfileAt([4.5, -5], %)
|
||||
/// |> line([0, 5], %)
|
||||
/// |> line([5, 0], %)
|
||||
/// |> line([0, -5], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example002 = extrude(5, exampleSketch002)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "startSketchOn",
|
||||
@ -1031,12 +1123,36 @@ pub async fn start_profile_at(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Start a profile at a given point.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('XY')
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([10, 10], %)
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(10, %)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// ```
|
||||
///
|
||||
/// ```no_run
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([10, 10], %)
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// ```
|
||||
///
|
||||
/// ```no_run
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([-10, 23], %)
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> line([-10, 0], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(5, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "startProfileAt",
|
||||
@ -1111,12 +1227,13 @@ pub async fn close(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// ```
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('YZ')
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([10, 10], %)
|
||||
/// |> line([10, 0], %)
|
||||
/// |> close(%, "edge1")
|
||||
/// |> extrude(10, %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> close(%)
|
||||
///
|
||||
/// const example = extrude(10, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "close",
|
||||
@ -1199,14 +1316,17 @@ pub async fn arc(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Draw an arc.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('-YZ')
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([10, 0], %)
|
||||
/// |> arc({
|
||||
/// angle_start: 0,
|
||||
/// angle_end: 360,
|
||||
/// radius: 10,
|
||||
/// }, %, "edge1")
|
||||
/// |> extrude(10, %)
|
||||
/// angle_end: 280,
|
||||
/// radius: 16
|
||||
/// }, %)
|
||||
/// |> close(%)
|
||||
///
|
||||
// const example = extrude(10, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "arc",
|
||||
@ -1299,15 +1419,20 @@ pub async fn tangential_arc(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Draw an arc.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('-YZ')
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([10, 10], %, "edge1")
|
||||
/// |> tangentialArc({
|
||||
/// radius: 10,
|
||||
/// offset: 90,
|
||||
/// }, %, "edge1")
|
||||
/// |> angledLine({
|
||||
/// angle: 60,
|
||||
/// length: 10,
|
||||
/// }, %)
|
||||
/// |> tangentialArc({ radius: 10, offset: -120 }, %)
|
||||
/// |> angledLine({
|
||||
/// angle: -60,
|
||||
/// length: 10,
|
||||
/// }, %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(10, %)
|
||||
///
|
||||
/// const example = extrude(10, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "tangentialArc",
|
||||
@ -1418,12 +1543,17 @@ pub async fn tangential_arc_to(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Draw an arc.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('-YZ')
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([10, 10], %, "edge0")
|
||||
/// |> tangentialArcTo([10, 0], %)
|
||||
/// |> angledLine({
|
||||
/// angle: 60,
|
||||
/// length: 10,
|
||||
/// }, %)
|
||||
/// |> tangentialArcTo([15, 15], %)
|
||||
/// |> line([10, -15], %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(10, %)
|
||||
///
|
||||
/// const example = extrude(10, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "tangentialArcTo",
|
||||
@ -1498,15 +1628,18 @@ pub async fn bezier_curve(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Draw a bezier curve.
|
||||
///
|
||||
/// ```no_run
|
||||
/// startSketchOn('XY')
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> bezierCurve({
|
||||
/// to: [10, 10],
|
||||
/// control1: [5, 0],
|
||||
/// control2: [5, 10],
|
||||
/// }, %, "edge1")
|
||||
/// control2: [5, 10]
|
||||
/// }, %)
|
||||
/// |> lineTo([10, 0], %)
|
||||
/// |> close(%)
|
||||
/// |> extrude(10, %)
|
||||
///
|
||||
/// const example = extrude(10, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "bezierCurve",
|
||||
@ -1580,15 +1713,33 @@ pub async fn hole(args: Args) -> Result<MemoryItem, KclError> {
|
||||
/// Use a sketch to cut a hole in another sketch.
|
||||
///
|
||||
/// ```no_run
|
||||
/// const square = startSketchOn('XY')
|
||||
/// const exampleSketch = startSketchOn('XY')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line([0, 10], %)
|
||||
/// |> line([10, 0], %)
|
||||
/// |> line([0, -10], %)
|
||||
/// |> line([0, 5], %)
|
||||
/// |> line([5, 0], %)
|
||||
/// |> line([0, -5], %)
|
||||
/// |> close(%)
|
||||
/// |> hole(circle([2, 2], .5, %), %)
|
||||
/// |> hole(circle([2, 8], .5, %), %)
|
||||
/// |> extrude(2, %)
|
||||
/// |> hole(circle([1, 1], .25, %), %)
|
||||
/// |> hole(circle([1, 4], .25, %), %)
|
||||
///
|
||||
/// const example = extrude(1, exampleSketch)
|
||||
/// ```
|
||||
///
|
||||
/// ```no_run
|
||||
/// fn squareHoleSketch = () => {
|
||||
/// const squareSketch = startSketchOn('-XZ')
|
||||
/// |> startProfileAt([-1, -1], %)
|
||||
/// |> line([2, 0], %)
|
||||
/// |> line([0, 2], %)
|
||||
/// |> line([-2, 0], %)
|
||||
/// |> close(%)
|
||||
/// return squareSketch
|
||||
/// }
|
||||
///
|
||||
/// const exampleSketch = startSketchOn('-XZ')
|
||||
/// |> circle([0, 0], 3, %)
|
||||
/// |> hole(squareHoleSketch(), %)
|
||||
// const example = extrude(1, exampleSketch)
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "hole",
|
||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 134 KiB |
Before Width: | Height: | Size: 127 KiB After Width: | Height: | Size: 127 KiB |
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 127 KiB |
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 121 KiB |
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 130 KiB |
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 129 KiB |
Before Width: | Height: | Size: 139 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 127 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 141 KiB |
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 131 KiB |
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 133 KiB |
BIN
src/wasm-lib/kcl/tests/outputs/serial_test_example_extrude1.png
Normal file
After Width: | Height: | Size: 143 KiB |
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 128 KiB |
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 126 KiB |
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 124 KiB |
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 124 KiB |
Before Width: | Height: | Size: 211 KiB After Width: | Height: | Size: 214 KiB |
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 117 KiB |
BIN
src/wasm-lib/kcl/tests/outputs/serial_test_example_hole1.png
Normal file
After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 122 KiB |
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 117 KiB |
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 131 KiB |
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 120 KiB |
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 189 KiB |
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 127 KiB After Width: | Height: | Size: 130 KiB |
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 105 KiB |
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 132 KiB |
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 117 KiB |
After Width: | Height: | Size: 111 KiB |
After Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 108 KiB |
After Width: | Height: | Size: 98 KiB |
After Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 135 KiB |
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 117 KiB |
After Width: | Height: | Size: 147 KiB |
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 128 KiB |
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 131 KiB |
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 127 KiB |
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 135 KiB |