Fix KCL examples
This commit is contained in:
@ -36,9 +36,9 @@ myAngle = -120
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line(end = [8, 0])
|
||||
|> angledLine({ angle = abs(myAngle), length = 5 }, %)
|
||||
|> angledLine(angle = abs(myAngle), length = 5)
|
||||
|> line(end = [-5, 0])
|
||||
|> angledLine({ angle = myAngle, length = 5 }, %)
|
||||
|> angledLine(angle = myAngle, length = 5)
|
||||
|> close()
|
||||
|
||||
baseExtrusion = extrude(sketch001, length = 5)
|
||||
|
@ -33,10 +33,7 @@ acos(num: number): number
|
||||
```js
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({
|
||||
angle = toDegrees(acos(0.5)),
|
||||
length = 10
|
||||
}, %)
|
||||
|> angledLine(angle = toDegrees(acos(0.5)), length = 10)
|
||||
|> line(end = [5, 0])
|
||||
|> line(endAbsolute = [12, 0])
|
||||
|> close()
|
||||
|
@ -36,7 +36,7 @@ angleToMatchLengthX(
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line(end = [2, 5], tag = $seg01)
|
||||
|> angledLineToX([-angleToMatchLengthX(seg01, 7, %), 10], %)
|
||||
|> angledLine(angle = -angleToMatchLengthX(seg01, 7, %), endAbsoluteX = 10)
|
||||
|> close()
|
||||
|
||||
extrusion = extrude(sketch001, length = 5)
|
||||
|
@ -36,10 +36,7 @@ angleToMatchLengthY(
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line(end = [1, 2], tag = $seg01)
|
||||
|> angledLine({
|
||||
angle = angleToMatchLengthY(seg01, 15, %),
|
||||
length = 5
|
||||
}, %)
|
||||
|> angledLine(angle = angleToMatchLengthY(seg01, 15, %), length = 5)
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
@ -10,8 +10,13 @@ Draw a line segment relative to the current origin using the polar measure of so
|
||||
|
||||
```js
|
||||
angledLine(
|
||||
data: AngledLineData,
|
||||
sketch: Sketch,
|
||||
angle: number,
|
||||
length?: number,
|
||||
lengthX?: number,
|
||||
lengthY?: number,
|
||||
endAbsoluteX?: number,
|
||||
endAbsoluteY?: number,
|
||||
tag?: TagDeclarator,
|
||||
): Sketch
|
||||
```
|
||||
@ -21,9 +26,14 @@ angledLine(
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
|----------|------|-------------|----------|
|
||||
| `data` | [`AngledLineData`](/docs/kcl/types/AngledLineData) | Data to draw an angled line. | Yes |
|
||||
| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | | Yes |
|
||||
| [`tag`](/docs/kcl/types/tag) | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No |
|
||||
| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | Which sketch should this path be added to? | Yes |
|
||||
| `angle` | [`number`](/docs/kcl/types/number) | Which angle should the line be drawn at? | Yes |
|
||||
| `length` | [`number`](/docs/kcl/types/number) | Draw the line this distance along the given angle. Only one of `length`, `lengthX`, `lengthY`, `lengthAbsoluteEndX`, `lengthAbsoluteEndY` can be given. | No |
|
||||
| `lengthX` | [`number`](/docs/kcl/types/number) | Draw the line this distance along the X axis. Only one of `length`, `lengthX`, `lengthY`, `lengthAbsoluteEndX`, `lengthAbsoluteEndY` can be given. | No |
|
||||
| `lengthY` | [`number`](/docs/kcl/types/number) | Draw the line this distance along the Y axis. Only one of `length`, `lengthX`, `lengthY`, `lengthAbsoluteEndX`, `lengthAbsoluteEndY` can be given. | No |
|
||||
| `endAbsoluteX` | [`number`](/docs/kcl/types/number) | Draw the line along the given angle until it reaches this point along the X axis. Only one of `length`, `lengthX`, `lengthY`, `lengthAbsoluteEndX`, `lengthAbsoluteEndY` can be given. | No |
|
||||
| `endAbsoluteY` | [`number`](/docs/kcl/types/number) | Draw the line along the given angle until it reaches this point along the Y axis. Only one of `length`, `lengthX`, `lengthY`, `lengthAbsoluteEndX`, `lengthAbsoluteEndY` can be given. | No |
|
||||
| [`tag`](/docs/kcl/types/tag) | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | Create a new tag which refers to this line | No |
|
||||
|
||||
### Returns
|
||||
|
||||
@ -36,7 +46,7 @@ angledLine(
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> yLine(endAbsolute = 15)
|
||||
|> angledLine({ angle = 30, length = 15 }, %)
|
||||
|> angledLine(angle = 30, length = 15)
|
||||
|> line(end = [8, -10])
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -33,10 +33,7 @@ asin(num: number): number
|
||||
```js
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({
|
||||
angle = toDegrees(asin(0.5)),
|
||||
length = 20
|
||||
}, %)
|
||||
|> angledLine(angle = toDegrees(asin(0.5)), length = 20)
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
@ -33,10 +33,7 @@ atan(num: number): number
|
||||
```js
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({
|
||||
angle = toDegrees(atan(1.25)),
|
||||
length = 20
|
||||
}, %)
|
||||
|> angledLine(angle = toDegrees(atan(1.25)), length = 20)
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
@ -37,10 +37,7 @@ atan2(
|
||||
```js
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({
|
||||
angle = toDegrees(atan2(1.25, 2)),
|
||||
length = 20
|
||||
}, %)
|
||||
|> angledLine(angle = toDegrees(atan2(1.25, 2)), length = 20)
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
@ -17,10 +17,10 @@ std::math::E: number = 2.71828182845904523536028747135266250_
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = 30,
|
||||
length = 2 * E ^ 2,
|
||||
}, %)
|
||||
)
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
@ -17,10 +17,10 @@ std::math::TAU: number = 6.28318530717958647692528676655900577_
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = 50,
|
||||
length = 10 * TAU,
|
||||
}, %)
|
||||
)
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
@ -30,7 +30,7 @@ e(): number
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({ angle = 30, length = 2 * e() ^ 2 }, %)
|
||||
|> angledLine(angle = 30, length = 2 * e() ^ 2)
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
@ -30,10 +30,10 @@ getNextAdjacentEdge(tag: TagIdentifier): Uuid
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line(end = [10, 0])
|
||||
|> angledLine({ angle = 60, length = 10 }, %)
|
||||
|> angledLine({ angle = 120, length = 10 }, %)
|
||||
|> angledLine(angle = 60, length = 10)
|
||||
|> angledLine(angle = 120, length = 10)
|
||||
|> line(end = [-10, 0])
|
||||
|> angledLine({ angle = 240, length = 10 }, %, $referenceEdge)
|
||||
|> angledLine(angle = 240, length = 10, tag = $referenceEdge)
|
||||
|> close()
|
||||
|
||||
example = extrude(exampleSketch, length = 5)
|
||||
|
@ -30,10 +30,10 @@ getOppositeEdge(tag: TagIdentifier): Uuid
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line(end = [10, 0])
|
||||
|> angledLine({ angle = 60, length = 10 }, %)
|
||||
|> angledLine({ angle = 120, length = 10 }, %)
|
||||
|> angledLine(angle = 60, length = 10)
|
||||
|> angledLine(angle = 120, length = 10)
|
||||
|> line(end = [-10, 0])
|
||||
|> angledLine({ angle = 240, length = 10 }, %, $referenceEdge)
|
||||
|> angledLine(angle = 240, length = 10, tag = $referenceEdge)
|
||||
|> close()
|
||||
|
||||
example = extrude(exampleSketch, length = 5)
|
||||
|
@ -30,10 +30,10 @@ getPreviousAdjacentEdge(tag: TagIdentifier): Uuid
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line(end = [10, 0])
|
||||
|> angledLine({ angle = 60, length = 10 }, %)
|
||||
|> angledLine({ angle = 120, length = 10 }, %)
|
||||
|> angledLine(angle = 60, length = 10)
|
||||
|> angledLine(angle = 120, length = 10)
|
||||
|> line(end = [-10, 0])
|
||||
|> angledLine({ angle = 240, length = 10 }, %, $referenceEdge)
|
||||
|> angledLine(angle = 240, length = 10, tag = $referenceEdge)
|
||||
|> close()
|
||||
|
||||
example = extrude(exampleSketch, length = 5)
|
||||
|
@ -37,11 +37,7 @@ layout: manual
|
||||
* [`angleToMatchLengthX`](kcl/angleToMatchLengthX)
|
||||
* [`angleToMatchLengthY`](kcl/angleToMatchLengthY)
|
||||
* [`angledLine`](kcl/angledLine)
|
||||
* [`angledLineOfXLength`](kcl/angledLineOfXLength)
|
||||
* [`angledLineOfYLength`](kcl/angledLineOfYLength)
|
||||
* [`angledLineThatIntersects`](kcl/angledLineThatIntersects)
|
||||
* [`angledLineToX`](kcl/angledLineToX)
|
||||
* [`angledLineToY`](kcl/angledLineToY)
|
||||
* [`appearance`](kcl/appearance)
|
||||
* [`arc`](kcl/arc)
|
||||
* [`arcTo`](kcl/arcTo)
|
||||
|
@ -33,10 +33,7 @@ max(args: [number]): number
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({
|
||||
angle = 70,
|
||||
length = max(15, 31, 4, 13, 22)
|
||||
}, %)
|
||||
|> angledLine(angle = 70, length = max(15, 31, 4, 13, 22))
|
||||
|> line(end = [20, 0])
|
||||
|> close()
|
||||
|
||||
|
@ -33,10 +33,7 @@ min(args: [number]): number
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({
|
||||
angle = 70,
|
||||
length = min(15, 31, 4, 13, 22)
|
||||
}, %)
|
||||
|> angledLine(angle = 70, length = min(15, 31, 4, 13, 22))
|
||||
|> line(end = [20, 0])
|
||||
|> close()
|
||||
|
||||
|
@ -37,7 +37,7 @@ pow(
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({ angle = 50, length = pow(5, 2) }, %)
|
||||
|> angledLine(angle = 50, length = pow(5, 2))
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
@ -29,11 +29,8 @@ profileStart(sketch: Sketch): [number]
|
||||
```js
|
||||
sketch001 = startSketchOn(XY)
|
||||
|> startProfileAt([5, 2], %)
|
||||
|> angledLine({ angle = 120, length = 50 }, %, $seg01)
|
||||
|> angledLine({
|
||||
angle = segAng(seg01) + 120,
|
||||
length = 50
|
||||
}, %)
|
||||
|> angledLine(angle = 120, length = 50, tag = $seg01)
|
||||
|> angledLine(angle = segAng(seg01) + 120, length = 50)
|
||||
|> line(end = profileStart(%))
|
||||
|> close()
|
||||
|> extrude(length = 20)
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -151,15 +151,9 @@ cube
|
||||
|
||||
sketch001 = startSketchOn(XY)
|
||||
rectangleSketch = startProfileAt([-200, 23.86], sketch001)
|
||||
|> angledLine([0, 73.47], %, $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
50.61
|
||||
], %)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %)
|
||||
|> angledLine(angle = 0, length = 73.47, tag = $rectangleSegmentA001)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA001) - 90, length = 50.61)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001))
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
|
||||
|
@ -85,15 +85,9 @@ cube
|
||||
|
||||
sketch001 = startSketchOn(XY)
|
||||
rectangleSketch = startProfileAt([-200, 23.86], sketch001)
|
||||
|> angledLine([0, 73.47], %, $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
50.61
|
||||
], %)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %)
|
||||
|> angledLine(angle = 0, length = 73.47, tag = $rectangleSegmentA001)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA001) - 90, length = 50.61)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001))
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
|
||||
|
@ -32,9 +32,9 @@ exampleSketch = startSketchOn(XZ)
|
||||
|> line(end = [10, 0])
|
||||
|> line(end = [5, 10], tag = $seg01)
|
||||
|> line(end = [-10, 0])
|
||||
|> angledLine([segAng(seg01), 10], %)
|
||||
|> angledLine(angle = segAng(seg01), length = 10)
|
||||
|> line(end = [-10, 0])
|
||||
|> angledLine([segAng(seg01), -15], %)
|
||||
|> angledLine(angle = segAng(seg01), length = -15)
|
||||
|> close()
|
||||
|
||||
example = extrude(exampleSketch, length = 4)
|
||||
|
@ -29,9 +29,9 @@ segLen(tag: TagIdentifier): number
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({ angle = 60, length = 10 }, %, $thing)
|
||||
|> angledLine(angle = 60, length = 10, tag = $thing)
|
||||
|> tangentialArc({ offset = -120, radius = 5 }, %)
|
||||
|> angledLine({ angle = -60, length = segLen(thing) }, %)
|
||||
|> angledLine(angle = -60, length = segLen(thing))
|
||||
|> close()
|
||||
|
||||
example = extrude(exampleSketch, length = 5)
|
||||
|
@ -33,7 +33,7 @@ sqrt(num: number): number
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({ angle = 50, length = sqrt(2500) }, %)
|
||||
|> angledLine(angle = 50, length = sqrt(2500))
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
@ -29,10 +29,10 @@ cos(@num: number(rad)): number(_)
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = 30,
|
||||
length = 3 / cos(toRadians(30)),
|
||||
}, %)
|
||||
)
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
@ -29,10 +29,10 @@ sin(@num: number(rad)): number(_)
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = 50,
|
||||
length = 15 / sin(toDegrees(135)),
|
||||
}, %)
|
||||
)
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
@ -29,10 +29,10 @@ tan(@num: number(rad)): number(_)
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = 50,
|
||||
length = 50 * tan(1/2),
|
||||
}, %)
|
||||
)
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
99685
docs/kcl/std.json
99685
docs/kcl/std.json
File diff suppressed because it is too large
Load Diff
@ -91,15 +91,9 @@ springSketch = startSketchOn(YZ)
|
||||
|
||||
sketch001 = startSketchOn(XY)
|
||||
rectangleSketch = startProfileAt([-200, 23.86], sketch001)
|
||||
|> angledLine([0, 73.47], %, $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
50.61
|
||||
], %)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %)
|
||||
|> angledLine(angle = 0, length = 73.47, tag = $rectangleSegmentA001)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA001) - 90, length = 50.61)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001))
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
|
||||
|
@ -32,10 +32,7 @@ pillSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line(end = [20, 0])
|
||||
|> tangentialArcToRelative([0, 10], %, $arc1)
|
||||
|> angledLine({
|
||||
angle = tangentToEnd(arc1),
|
||||
length = 20
|
||||
}, %)
|
||||
|> angledLine(angle = tangentToEnd(arc1), length = 20)
|
||||
|> tangentialArcToRelative([0, -10], %)
|
||||
|> close()
|
||||
|
||||
@ -50,10 +47,7 @@ pillSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line(end = [0, 20])
|
||||
|> tangentialArcTo([10, 20], %, $arc1)
|
||||
|> angledLine({
|
||||
angle = tangentToEnd(arc1),
|
||||
length = 20
|
||||
}, %)
|
||||
|> angledLine(angle = tangentToEnd(arc1), length = 20)
|
||||
|> tangentialArcToRelative([-10, 0], %)
|
||||
|> close()
|
||||
|
||||
@ -66,10 +60,7 @@ pillExtrude = extrude(pillSketch, length = 10)
|
||||
rectangleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line(end = [10, 0], tag = $seg1)
|
||||
|> angledLine({
|
||||
angle = tangentToEnd(seg1),
|
||||
length = 10
|
||||
}, %)
|
||||
|> angledLine(angle = tangentToEnd(seg1), length = 10)
|
||||
|> line(end = [0, 10])
|
||||
|> line(end = [-20, 0])
|
||||
|> close()
|
||||
@ -83,7 +74,7 @@ rectangleExtrude = extrude(rectangleSketch, length = 10)
|
||||
bottom = startSketchOn(XY)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> arcTo({ end = [10, 10], interior = [5, 1] }, %, $arc1)
|
||||
|> angledLine([tangentToEnd(arc1), 20], %)
|
||||
|> angledLine(angle = tangentToEnd(arc1), length = 20)
|
||||
|> close()
|
||||
```
|
||||
|
||||
@ -95,7 +86,7 @@ circSketch = startSketchOn(XY)
|
||||
|
||||
triangleSketch = startSketchOn(XY)
|
||||
|> startProfileAt([-5, 0], %)
|
||||
|> angledLine([tangentToEnd(circ), 10], %)
|
||||
|> angledLine(angle = tangentToEnd(circ), length = 10)
|
||||
|> line(end = [-15, 0])
|
||||
|> close()
|
||||
```
|
||||
|
@ -35,9 +35,9 @@ tangentialArc(
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({ angle = 60, length = 10 }, %)
|
||||
|> angledLine(angle = 60, length = 10)
|
||||
|> tangentialArc({ radius = 10, offset = -120 }, %)
|
||||
|> angledLine({ angle = -60, length = 10 }, %)
|
||||
|> angledLine(angle = -60, length = 10)
|
||||
|> close()
|
||||
|
||||
example = extrude(exampleSketch, length = 10)
|
||||
|
@ -35,7 +35,7 @@ tangentialArcTo(
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({ angle = 60, length = 10 }, %)
|
||||
|> angledLine(angle = 60, length = 10)
|
||||
|> tangentialArcTo([15, 15], %)
|
||||
|> line(end = [10, -15])
|
||||
|> close()
|
||||
|
@ -35,7 +35,7 @@ tangentialArcToRelative(
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({ angle = 45, length = 10 }, %)
|
||||
|> angledLine(angle = 45, length = 10)
|
||||
|> tangentialArcToRelative([0, -10], %)
|
||||
|> line(end = [-10, 0])
|
||||
|> close()
|
||||
|
@ -30,7 +30,7 @@ tau(): number
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({ angle = 50, length = 10 * tau() }, %)
|
||||
|> angledLine(angle = 50, length = 10 * tau())
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
@ -33,10 +33,7 @@ toDegrees(num: number): number
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({
|
||||
angle = 50,
|
||||
length = 70 * cos(toDegrees(pi() / 4))
|
||||
}, %)
|
||||
|> angledLine(angle = 50, length = 70 * cos(toDegrees(pi() / 4)))
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
@ -33,10 +33,7 @@ toRadians(num: number): number
|
||||
```js
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({
|
||||
angle = 50,
|
||||
length = 70 * cos(toRadians(45))
|
||||
}, %)
|
||||
|> angledLine(angle = 50, length = 70 * cos(toRadians(45)))
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
@ -81,15 +81,9 @@ cube
|
||||
|
||||
sketch001 = startSketchOn(XY)
|
||||
rectangleSketch = startProfileAt([-200, 23.86], sketch001)
|
||||
|> angledLine([0, 73.47], %, $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
50.61
|
||||
], %)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %)
|
||||
|> angledLine(angle = 0, length = 73.47, tag = $rectangleSegmentA001)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA001) - 90, length = 50.61)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001))
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
|
||||
|
@ -184,15 +184,17 @@ way:
|
||||
```norun
|
||||
startSketchOn('XZ')
|
||||
|> startProfileAt(origin, %)
|
||||
|> angledLine({angle = 0, length = 191.26}, %, $rectangleSegmentA001)
|
||||
|> angledLine({
|
||||
|> angledLine(angle = 0, length = 191.26, tag = $rectangleSegmentA001)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001) - 90,
|
||||
length = 196.99,
|
||||
}, %, $rectangleSegmentB001)
|
||||
|> angledLine({
|
||||
tag = $rectangleSegmentB001,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001),
|
||||
length = -segLen(rectangleSegmentA001),
|
||||
}, %, $rectangleSegmentC001)
|
||||
tag = $rectangleSegmentC001,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
```
|
||||
@ -217,15 +219,17 @@ However if the code was written like this:
|
||||
fn rect(origin) {
|
||||
return startSketchOn('XZ')
|
||||
|> startProfileAt(origin, %)
|
||||
|> angledLine({angle = 0, length = 191.26}, %, $rectangleSegmentA001)
|
||||
|> angledLine({
|
||||
|> angledLine(angle = 0, length = 191.26, tag = $rectangleSegmentA001)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001) - 90,
|
||||
length = 196.99
|
||||
}, %, $rectangleSegmentB001)
|
||||
|> angledLine({
|
||||
length = 196.99,
|
||||
tag = $rectangleSegmentB001,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001),
|
||||
length = -segLen(rectangleSegmentA001)
|
||||
}, %, $rectangleSegmentC001)
|
||||
tag = $rectangleSegmentC001,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
}
|
||||
@ -245,15 +249,17 @@ For example the following code works.
|
||||
fn rect(origin) {
|
||||
return startSketchOn('XZ')
|
||||
|> startProfileAt(origin, %)
|
||||
|> angledLine({angle = 0, length = 191.26}, %, $rectangleSegmentA001)
|
||||
|> angledLine({
|
||||
|> angledLine(angle = 0, length = 191.26, tag = $rectangleSegmentA001)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001) - 90,
|
||||
length = 196.99
|
||||
}, %, $rectangleSegmentB001)
|
||||
|> angledLine({
|
||||
length = 196.99,
|
||||
tag = $rectangleSegmentB001,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001),
|
||||
length = -segLen(rectangleSegmentA001)
|
||||
}, %, $rectangleSegmentC001)
|
||||
tag = $rectangleSegmentC001,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
}
|
||||
|
@ -14,15 +14,17 @@ way:
|
||||
```js
|
||||
startSketchOn('XZ')
|
||||
|> startProfileAt(origin, %)
|
||||
|> angledLine({angle = 0, length = 191.26}, %, $rectangleSegmentA001)
|
||||
|> angledLine({
|
||||
|> angledLine(angle = 0, length = 191.26, tag = $rectangleSegmentA001)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001) - 90,
|
||||
length = 196.99,
|
||||
}, %, $rectangleSegmentB001)
|
||||
|> angledLine({
|
||||
tag = $rectangleSegmentB001,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001),
|
||||
length = -segLen(rectangleSegmentA001),
|
||||
}, %, $rectangleSegmentC001)
|
||||
tag = $rectangleSegmentC001,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
```
|
||||
@ -46,15 +48,16 @@ However if the code was written like this:
|
||||
fn rect(origin) {
|
||||
return startSketchOn('XZ')
|
||||
|> startProfileAt(origin, %)
|
||||
|> angledLine({angle = 0, length = 191.26}, %, $rectangleSegmentA001)
|
||||
|> angledLine({
|
||||
|> angledLine(angle = 0, length = 191.26, tag = $rectangleSegmentA001)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001) - 90,
|
||||
length = 196.99
|
||||
}, %, $rectangleSegmentB001)
|
||||
|> angledLine({
|
||||
length = 196.99,
|
||||
tag = $rectangleSegmentB001)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001),
|
||||
length = -segLen(rectangleSegmentA001)
|
||||
}, %, $rectangleSegmentC001)
|
||||
length = -segLen(rectangleSegmentA001),
|
||||
tag = $rectangleSegmentC001
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
}
|
||||
@ -74,15 +77,15 @@ For example the following code works.
|
||||
fn rect(origin) {
|
||||
return startSketchOn('XZ')
|
||||
|> startProfileAt(origin, %)
|
||||
|> angledLine({angle = 0, length = 191.26}, %, $rectangleSegmentA001)
|
||||
|> angledLine({
|
||||
|> angledLine(angle = 0, length = 191.26, tag = $rectangleSegmentA001)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001) - 90,
|
||||
length = 196.99
|
||||
}, %, $rectangleSegmentB001)
|
||||
|> angledLine({
|
||||
, %, $rectangleSegmentB001)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001),
|
||||
length = -segLen(rectangleSegmentA001)
|
||||
}, %, $rectangleSegmentC001)
|
||||
, %, $rectangleSegmentC001)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
}
|
||||
|
@ -38,10 +38,10 @@ xLine(
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> xLine(length = 15)
|
||||
|> angledLine({ angle = 80, length = 15 }, %)
|
||||
|> angledLine(angle = 80, length = 15)
|
||||
|> line(end = [8, -10])
|
||||
|> xLine(length = 10)
|
||||
|> angledLine({ angle = 120, length = 30 }, %)
|
||||
|> angledLine(angle = 120, length = 30)
|
||||
|> xLine(length = -15)
|
||||
|> close()
|
||||
|
||||
|
@ -38,7 +38,7 @@ yLine(
|
||||
exampleSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> yLine(length = 15)
|
||||
|> angledLine({ angle = 30, length = 15 }, %)
|
||||
|> angledLine(angle = 30, length = 15)
|
||||
|> line(end = [8, -10])
|
||||
|> yLine(length = -5)
|
||||
|> close()
|
||||
|
@ -31,15 +31,17 @@ fn rail8020(originStart, railHeight, railLength) {
|
||||
|> xLine(length = 0.06 * railHeight, tag = $edge1)
|
||||
|> yLine(length = 0.087 * railHeight, tag = $edge2)
|
||||
|> xLine(length = -0.183 * railHeight, tag = $edge3)
|
||||
|> angledLineToY({
|
||||
|> angledLine(
|
||||
angle = 45,
|
||||
to = (1 - 0.356) / 2 * railHeight + originStart[1]
|
||||
}, %, $edge4)
|
||||
endAbsoluteY = (1 - 0.356) / 2 * railHeight + originStart[1],
|
||||
tag = $edge4,
|
||||
)
|
||||
|> xLine(length = 0.232 * railHeight, tag = $edge5)
|
||||
|> angledLineToY({
|
||||
|> angledLine(
|
||||
angle = -45,
|
||||
to = 0.087 * railHeight + originStart[1]
|
||||
}, %, $edge6)
|
||||
endAbsoluteY = 0.087 * railHeight + originStart[1],
|
||||
tag = $edge6,
|
||||
)
|
||||
|> xLine(length = -0.183 * railHeight, tag = $edge7)
|
||||
|> yLine(length = -0.087 * railHeight, tag = $edge8)
|
||||
|> xLine(length = 0.06 * railHeight)
|
||||
@ -75,15 +77,17 @@ fn rail8020(originStart, railHeight, railLength) {
|
||||
|> yLine(length = 0.06 * railHeight, tag = $edge9)
|
||||
|> xLine(length = -0.087 * railHeight, tag = $edge10)
|
||||
|> yLine(length = -0.183 * railHeight, tag = $edge11) // edge11
|
||||
|> angledLineToX({
|
||||
|> angledLine(
|
||||
angle = 135,
|
||||
to = ((1 - 0.356) / 2 + 0.356) * railHeight + originStart[0]
|
||||
}, %, $edge12) // edge12
|
||||
endAbsoluteX = ((1 - 0.356) / 2 + 0.356) * railHeight + originStart[0],
|
||||
tag = $edge12,
|
||||
) // edge12
|
||||
|> yLine(length = 0.232 * railHeight, tag = $edge13) // 13
|
||||
|> angledLineToX({
|
||||
|> angledLine(
|
||||
angle = 45,
|
||||
to = (1 - 0.087) * railHeight + originStart[0]
|
||||
}, %, $edge14) // 14
|
||||
endAbsoluteX = (1 - 0.087) * railHeight + originStart[0],
|
||||
tag = $edge14,
|
||||
) // 14
|
||||
|> yLine(length = -0.183 * railHeight, tag = $edge15) // 15
|
||||
|> xLine(length = 0.087 * railHeight, tag = $edge16)
|
||||
|> yLine(length = 0.06 * railHeight)
|
||||
@ -119,15 +123,17 @@ fn rail8020(originStart, railHeight, railLength) {
|
||||
|> xLine(length = -0.06 * railHeight, tag = $edge17)
|
||||
|> yLine(length = -0.087 * railHeight, tag = $edge18)
|
||||
|> xLine(length = 0.183 * railHeight, tag = $edge19)
|
||||
|> angledLineToY({
|
||||
|> angledLine(
|
||||
angle = 45,
|
||||
to = ((1 - 0.356) / 2 + 0.356) * railHeight + originStart[1]
|
||||
}, %, $edge20)
|
||||
endAbsoluteY = ((1 - 0.356) / 2 + 0.356) * railHeight + originStart[1],
|
||||
tag = $edge20,
|
||||
)
|
||||
|> xLine(length = -0.232 * railHeight, tag = $edge21)
|
||||
|> angledLineToY({
|
||||
|> angledLine(
|
||||
angle = 135,
|
||||
to = (1 - 0.087) * railHeight + originStart[1]
|
||||
}, %, $edge22)
|
||||
endAbsoluteY = (1 - 0.087) * railHeight + originStart[1],
|
||||
tag = $edge22,
|
||||
)
|
||||
|> xLine(length = 0.183 * railHeight, tag = $edge23)
|
||||
|> yLine(length = 0.087 * railHeight, tag = $edge24)
|
||||
|> xLine(length = -0.06 * railHeight)
|
||||
@ -163,15 +169,17 @@ fn rail8020(originStart, railHeight, railLength) {
|
||||
|> yLine(length = -0.06 * railHeight, tag = $edge25)
|
||||
|> xLine(length = 0.087 * railHeight, tag = $edge26)
|
||||
|> yLine(length = 0.183 * railHeight, tag = $edge27)
|
||||
|> angledLineToX({
|
||||
|> angledLine(
|
||||
angle = 135,
|
||||
to = (1 - 0.356) / 2 * railHeight + originStart[0]
|
||||
}, %, $edge28)
|
||||
endAbsoluteX = (1 - 0.356) / 2 * railHeight + originStart[0],
|
||||
tag = $edge28,
|
||||
)
|
||||
|> yLine(length = -0.232 * railHeight, tag = $edge29)
|
||||
|> angledLineToX({
|
||||
|> angledLine(
|
||||
angle = 45,
|
||||
to = 0.087 * railHeight + originStart[0]
|
||||
}, %, $edge30)
|
||||
endAbsoluteX = 0.087 * railHeight + originStart[0],
|
||||
tag = $edge30,
|
||||
)
|
||||
|> yLine(length = 0.183 * railHeight, tag = $edge31)
|
||||
|> xLine(length = -0.087 * railHeight, tag = $edge32)
|
||||
|> yLine(length = -0.06 * railHeight)
|
||||
|
@ -86,11 +86,11 @@ export fn seatSlats(plane, length) {
|
||||
fn backSlatsSketch(plane) {
|
||||
sketch004 = startSketchOn(plane)
|
||||
|> startProfileAt([22, 38.5], %)
|
||||
|> angledLine([173, 2], %)
|
||||
|> angledLine(angle = 173, length = 2)
|
||||
|> line(end = [-1.74, 2.03])
|
||||
|> angledLine([82, 6.6], %)
|
||||
|> angledLine(angle = 82, length = 6.6)
|
||||
|> line(end = [2.23, 1.42])
|
||||
|> angledLine([-7, 2], %)
|
||||
|> angledLine(angle = -7, length = 2)
|
||||
|> line(endAbsolute = profileStart(%))
|
||||
|> close()
|
||||
|> patternLinear2d(instances = 2, distance = 11, axis = [-0.137, -1])
|
||||
|
@ -23,7 +23,7 @@ customPlane = {
|
||||
fn lug(plane, length, diameter) {
|
||||
lugSketch = startSketchOn(customPlane)
|
||||
|> startProfileAt([0 + diameter / 2, 0], %)
|
||||
|> angledLineOfYLength({ angle = 70, length = lugHeadLength }, %)
|
||||
|> angledLine(angle = 70, lengthY = lugHeadLength)
|
||||
|> xLine(endAbsolute = lugDiameter / 2)
|
||||
|> yLine(endAbsolute = lugLength)
|
||||
|> tangentialArc({ offset = 90, radius = 3 * mm() }, %)
|
||||
|
@ -22,20 +22,22 @@ tealPlane = offsetPlane(YZ, offset = -halfSize)
|
||||
// Sketch a rectangle centered at the origin of the profile
|
||||
fn sketchRectangle(profile, color) {
|
||||
return profile
|
||||
|> startProfileAt([-halfSize, halfSize], %)
|
||||
|> angledLine([0, size], %, $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
size
|
||||
], %, $rectangleSegmentB001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %, $rectangleSegmentC001)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
|> extrude(%, length = extrudeLength)
|
||||
|> appearance(color = color, metalness = metalConstant, roughness = roughnessConstant)
|
||||
|> startProfileAt([-halfSize, halfSize], %)
|
||||
|> angledLine(angle = 0, length = size, tag = $rectangleSegmentA001)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001) - 90,
|
||||
length = size,
|
||||
tag = $rectangleSegmentB001,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001),
|
||||
length = -segLen(rectangleSegmentA001),
|
||||
tag = $rectangleSegmentC001,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
|> extrude(length = extrudeLength)
|
||||
|> appearance(color = color, metalness = metalConstant, roughness = roughnessConstant)
|
||||
}
|
||||
|
||||
// Sketch each side of the cube
|
||||
|
@ -13,15 +13,17 @@ holeDia = 4
|
||||
// Model a box with base enclosure dimensions
|
||||
sketch001 = startSketchOn(XY)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine([0, width], %, $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) + 90,
|
||||
length
|
||||
], %, $rectangleSegmentB001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %, $rectangleSegmentC001)
|
||||
|> angledLine(angle = 0, length = width, tag = $rectangleSegmentA001)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001) + 90,
|
||||
length = length,
|
||||
tag = $rectangleSegmentB001,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001),
|
||||
length = -segLen(rectangleSegmentA001),
|
||||
tag = $rectangleSegmentC001,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $rectangleSegmentD001)
|
||||
|> close()
|
||||
extrude001 = extrude(sketch001, length = height)
|
||||
@ -80,15 +82,17 @@ function001([
|
||||
// Define lid position and outer surface
|
||||
sketch003 = startSketchOn(XY)
|
||||
|> startProfileAt([width * 1.2, 0], %)
|
||||
|> angledLine([0, width], %, $rectangleSegmentA002)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) + 90,
|
||||
length
|
||||
], %, $rectangleSegmentB002)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %, $rectangleSegmentC002)
|
||||
|> angledLine(angle = 0, length = width, tag = $rectangleSegmentA002)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001) + 90,
|
||||
length = length,
|
||||
tag = $rectangleSegmentB002,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001),
|
||||
length = -segLen(rectangleSegmentA001),
|
||||
tag = $rectangleSegmentC002,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $rectangleSegmentD002)
|
||||
|> close()
|
||||
|> hole(circle(
|
||||
@ -136,15 +140,17 @@ sketch004 = startSketchOn(extrude003, 'END')
|
||||
width * 1.2 + wallThickness,
|
||||
wallThickness
|
||||
], %)
|
||||
|> angledLine([0, width - (2 * wallThickness)], %, $rectangleSegmentA003)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA003) + 90,
|
||||
length - (2 * wallThickness)
|
||||
], %, $rectangleSegmentB003)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA003),
|
||||
-segLen(rectangleSegmentA003)
|
||||
], %, $rectangleSegmentC003)
|
||||
|> angledLine(angle = 0, length = width - (2 * wallThickness), tag = $rectangleSegmentA003)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA003) + 90,
|
||||
length = length - (2 * wallThickness),
|
||||
tag = $rectangleSegmentB003,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA003),
|
||||
length = -segLen(rectangleSegmentA003),
|
||||
tag = $rectangleSegmentC003,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $rectangleSegmentD003)
|
||||
|> close()
|
||||
|> hole(circle(
|
||||
|
@ -34,15 +34,15 @@ fn primaryTube(n, angle001, length001, length002, length003) {
|
||||
|> startProfileAt([0, plateHeight], %)
|
||||
|> line(end = [0, length001])
|
||||
|> tangentialArc({ offset = -80, radius = bendRadius }, %, $arc01)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = tangentToEnd(arc01),
|
||||
length = length002
|
||||
}, %)
|
||||
)
|
||||
|> tangentialArc({ offset = 85, radius = bendRadius }, %, $arc02)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = tangentToEnd(arc02),
|
||||
length = length003
|
||||
}, %)
|
||||
)
|
||||
|
||||
// Create the cross section of each tube and sweep them
|
||||
sweepProfile = startSketchOn(XY)
|
||||
|
@ -35,9 +35,9 @@ fn slot(sketch1, start, end, width) {
|
||||
xstart = width / 2 * cos(toRadians(angle - 90)) + start[0]
|
||||
ystart = width / 2 * sin(toRadians(angle - 90)) + start[1]
|
||||
slotSketch = startProfileAt([xstart, ystart], sketch1)
|
||||
|> angledLine({ angle = angle, length = dist }, %, $line000)
|
||||
|> angledLine(angle = angle, length = dist, tag = $line000)
|
||||
|> tangentialArc({ radius = width / 2, offset = 180 }, %, $arc000)
|
||||
|> angledLine({ angle = angle, length = -dist }, %, $line001)
|
||||
|> angledLine(angle = angle, length = -dist, tag = $line001)
|
||||
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %, $arc001)
|
||||
|> close()
|
||||
return slotSketch
|
||||
|
@ -12,15 +12,17 @@ handleThickness = 0.65
|
||||
// Upper ring of the metal structure
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([carafeDiameter / 2, 5.7], %)
|
||||
|> angledLine([0, 0.1], %, $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
-0.75
|
||||
], %, $rectangleSegmentB001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %, $rectangleSegmentC001)
|
||||
|> angledLine(angle = 0, length = 0.1, tag = $rectangleSegmentA001)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001) - 90,
|
||||
length = -0.75,
|
||||
tag = $rectangleSegmentB001,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001),
|
||||
length = -segLen(rectangleSegmentA001),
|
||||
tag = $rectangleSegmentC001,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
|> revolve(angle = 360, axis = 'Y')
|
||||
@ -45,13 +47,13 @@ sketch002 = startSketchOn(plane001)
|
||||
angleEnd = 205,
|
||||
radius = 0.3
|
||||
}, %)
|
||||
|> angledLine({ angle = -60, length = 0.6 }, %, $edge2)
|
||||
|> angledLine(angle = -60, length = 0.6, tag = $edge2)
|
||||
|> arc({
|
||||
angleStart = 30,
|
||||
angleEnd = -120,
|
||||
radius = 0.6
|
||||
}, %)
|
||||
|> angledLineToY({ angle = 150, to = -0.2 }, %, $edge3)
|
||||
|> angledLine(angle = 150, endAbsoluteY = -0.2, tag = $edge3)
|
||||
|> arc({
|
||||
angleStart = 60,
|
||||
angleEnd = 90,
|
||||
@ -65,19 +67,21 @@ sketch002 = startSketchOn(plane001)
|
||||
angleEnd = 60,
|
||||
radius = 0.6
|
||||
}, %)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = 150,
|
||||
length = -segLen(edge3) + 0.035
|
||||
}, %, $edge5)
|
||||
length = -segLen(edge3) + 0.035,
|
||||
tag = $edge5,
|
||||
)
|
||||
|> arc({
|
||||
angleStart = -120,
|
||||
angleEnd = 30,
|
||||
radius = 0.5
|
||||
}, %)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = -60,
|
||||
length = -segLen(edge2) + 0.035
|
||||
}, %, $edge6)
|
||||
length = -segLen(edge2) + 0.035,
|
||||
tag = $edge6,
|
||||
)
|
||||
|> arc({
|
||||
angleStart = 205,
|
||||
angleEnd = 180,
|
||||
@ -123,12 +127,13 @@ extrude002 = extrude(sketch004, length = -0.050)
|
||||
sketch005 = startSketchOn(XZ)
|
||||
|> startProfileAt([0.15, 1.11], %)
|
||||
|> xLine(endAbsolute = carafeDiameter / 2 - 0.2)
|
||||
|> angledLineToX({
|
||||
|> angledLine(
|
||||
angle = 30,
|
||||
to = carafeDiameter / 2 - 0.07
|
||||
}, %, $seg1)
|
||||
|> angledLine({ angle = -60, length = 0.050 }, %)
|
||||
|> angledLine({ angle = 30, length = -segLen(seg1) }, %)
|
||||
endAbsoluteX = carafeDiameter / 2 - 0.07,
|
||||
tag = $seg1,
|
||||
)
|
||||
|> angledLine(angle = -60, length = 0.050)
|
||||
|> angledLine(angle = 30, length = -segLen(seg1))
|
||||
|> xLine(endAbsolute = 0.15)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
@ -138,7 +143,7 @@ sketch005 = startSketchOn(XZ)
|
||||
sketch006 = startSketchOn(XZ)
|
||||
|> startProfileAt([0.1, 1], %)
|
||||
|> line(end = [0.1, 0])
|
||||
|> angledLineToX({ angle = 10, to = 0.05 }, %)
|
||||
|> angledLine(angle = 10, endAbsoluteX = 0.05)
|
||||
|> yLine(length = 10)
|
||||
|> line(end = [0.6, 0])
|
||||
|> yLine(length = -.05)
|
||||
|
@ -26,9 +26,9 @@ fn face(plane) {
|
||||
faceSketch = startSketchOn(plane)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> yLine(length = height)
|
||||
|> angledLineOfYLength({ angle = -45, length = thirdStep }, %)
|
||||
|> angledLine(angle = -45, lengthY = thirdStep)
|
||||
|> yLine(length = -secondStep)
|
||||
|> angledLineOfYLength({ angle = -45, length = firstStep }, %)
|
||||
|> angledLine(angle = -45, lengthY = firstStep)
|
||||
|> close()
|
||||
return faceSketch
|
||||
}
|
||||
|
@ -23,9 +23,9 @@ fn face(plane) {
|
||||
faceSketch = startSketchOn(plane)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> yLine(length = height)
|
||||
|> angledLineOfYLength({ angle = -45, length = thirdStep }, %)
|
||||
|> angledLine(angle = -45, lengthY = thirdStep)
|
||||
|> yLine(length = -secondStep)
|
||||
|> angledLineOfYLength({ angle = -45, length = firstStep }, %)
|
||||
|> angledLine(angle = -45, lengthY = firstStep)
|
||||
|> close()
|
||||
return faceSketch
|
||||
}
|
||||
|
@ -39,9 +39,9 @@ fn face(plane) {
|
||||
|> startProfileAt([binBaseLength + binTol, 0], %)
|
||||
|> yLine(length = height)
|
||||
|> xLine(length = -binBaseLength)
|
||||
|> angledLineOfYLength({ angle = -45, length = thirdStep }, %)
|
||||
|> angledLine(angle = -45, lengthY = thirdStep)
|
||||
|> yLine(length = -secondStep)
|
||||
|> angledLineOfYLength({ angle = -45, length = firstStep }, %)
|
||||
|> angledLine(angle = -45, lengthY = firstStep)
|
||||
|> close()
|
||||
return faceSketch
|
||||
}
|
||||
@ -190,9 +190,9 @@ fn lipFace(plane) {
|
||||
// |> angledLineOfYLength({ angle: -45, length: lipStep5 }, %)
|
||||
|> line(end = [1.046447, -1.046447], tag = $line001)
|
||||
|> yLine(length = -lipStep4)
|
||||
|> angledLineOfYLength({ angle = -45, length = lipStep3 }, %)
|
||||
|> angledLine(angle = -45, lengthY = lipStep3)
|
||||
|> yLine(length = -lipStep2)
|
||||
|> angledLineOfYLength({ angle = -135, length = lipStep1 }, %)
|
||||
|> angledLine(angle = -135, lengthY = lipStep1)
|
||||
|> close()
|
||||
return faceSketch
|
||||
}
|
||||
|
@ -32,9 +32,9 @@ fn face(plane) {
|
||||
|> startProfileAt([binBaseLength + binTol, 0], %)
|
||||
|> yLine(length = height)
|
||||
|> xLine(length = -binBaseLength)
|
||||
|> angledLineOfYLength({ angle = -45, length = thirdStep }, %)
|
||||
|> angledLine(angle = -45, lengthY = thirdStep)
|
||||
|> yLine(length = -secondStep)
|
||||
|> angledLineOfYLength({ angle = -45, length = firstStep }, %)
|
||||
|> angledLine(angle = -45, lengthY = firstStep)
|
||||
|> close()
|
||||
return faceSketch
|
||||
}
|
||||
|
@ -13,11 +13,11 @@ diameter = 0.3125
|
||||
fn hexNut(start, thk, innerDia) {
|
||||
hexNutSketch = startSketchOn(-XZ)
|
||||
|> startProfileAt([start[0] + innerDia, start[1]], %)
|
||||
|> angledLine({ angle = 240, length = innerDia }, %)
|
||||
|> angledLine({ angle = 180, length = innerDia }, %)
|
||||
|> angledLine({ angle = 120, length = innerDia }, %)
|
||||
|> angledLine({ angle = 60, length = innerDia }, %)
|
||||
|> angledLine({ angle = 0, length = innerDia * .90 }, %)
|
||||
|> angledLine(angle = 240, length = innerDia)
|
||||
|> angledLine(angle = 180, length = innerDia)
|
||||
|> angledLine(angle = 120, length = innerDia)
|
||||
|> angledLine(angle = 60, length = innerDia)
|
||||
|> angledLine(angle = 0, length = innerDia * .90)
|
||||
|> close()
|
||||
|> hole(circle(center = [start[0], start[1]], radius = innerDia / 2), %)
|
||||
|> extrude(length = thk)
|
||||
|
@ -9,15 +9,17 @@ import basePlateRadius, basePlateThickness, baseChamfer, baseHeight from "global
|
||||
// Base Plate
|
||||
sketch001 = startSketchOn(XY)
|
||||
|> startProfileAt([-basePlateRadius, -basePlateRadius], %)
|
||||
|> angledLine([0, 2 * basePlateRadius], %, $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) + 90,
|
||||
2 * basePlateRadius
|
||||
], %, $rectangleSegmentB001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %, $rectangleSegmentC001)
|
||||
|> angledLine(angle = 0, length = 2 * basePlateRadius, tag = $rectangleSegmentA001)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001) + 90,
|
||||
length = 2 * basePlateRadius,
|
||||
tag = $rectangleSegmentB001,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001),
|
||||
length = -segLen(rectangleSegmentA001),
|
||||
tag = $rectangleSegmentC001,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $rectangleSegmentD001)
|
||||
|> close()
|
||||
extrude001 = extrude(sketch001, length = basePlateThickness)
|
||||
|
@ -16,10 +16,10 @@ sketch011 = startSketchOn(plane003)
|
||||
angleEnd = 270 + axisJ2,
|
||||
radius = axisJ2ArmWidth / 2
|
||||
}, %)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = axisJ2,
|
||||
length = axisJ2ArmLength
|
||||
}, %)
|
||||
length = axisJ2ArmLength,
|
||||
)
|
||||
|> arc({
|
||||
angleStart = -90 + axisJ2,
|
||||
angleEnd = 90 + axisJ2,
|
||||
|
@ -16,10 +16,10 @@ sketch017 = startSketchOn(plane002)
|
||||
angleEnd = 270 + axisJ3C,
|
||||
radius = axisJ3CArmWidth / 2
|
||||
}, %)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = axisJ3C,
|
||||
length = axisJ3CArmLength
|
||||
}, %)
|
||||
length = axisJ3CArmLength,
|
||||
)
|
||||
|> arc({
|
||||
angleStart = 270 + axisJ3C,
|
||||
angleEnd = 90 + axisJ3C,
|
||||
@ -99,31 +99,31 @@ sketch023 = startSketchOn(extrude022, 'START')
|
||||
1.75 + axisJ2ArmLength * cos(toRadians(axisJ2)) + axisJ3CArmLength * cos(toRadians(axisJ3C)),
|
||||
8 + axisJ2ArmLength * sin(toRadians(axisJ2)) + axisJ3CArmLength * sin(toRadians(axisJ3C))
|
||||
], %)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = axisJ3C + axisJ4 / 2,
|
||||
length = grabberLength / 4
|
||||
}, %)
|
||||
length = grabberLength / 4,
|
||||
)
|
||||
|> arc({
|
||||
angleStart = 150 + axisJ3C + axisJ4 / 2,
|
||||
angleEnd = 30 + axisJ3C + axisJ4 / 2,
|
||||
radius = grabberLength / 3
|
||||
}, %)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = axisJ3C + axisJ4 / 2,
|
||||
length = grabberLength / 6
|
||||
}, %)
|
||||
|> angledLine({
|
||||
length = grabberLength / 6,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = axisJ3C + axisJ4 / 2 + 132,
|
||||
length = grabberLength / 3.5
|
||||
}, %)
|
||||
|> angledLine({
|
||||
length = grabberLength / 3.5,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = axisJ3C + axisJ4 / 2 + 160,
|
||||
length = grabberLength / 3.5
|
||||
}, %)
|
||||
|> angledLine({
|
||||
length = grabberLength / 3.5,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = axisJ3C + axisJ4 / 2 + 200,
|
||||
length = grabberLength / 3
|
||||
}, %)
|
||||
length = grabberLength / 3,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
|
||||
@ -135,31 +135,31 @@ sketch024 = startSketchOn(extrude022, 'START')
|
||||
1.75 + axisJ2ArmLength * cos(toRadians(axisJ2)) + axisJ3CArmLength * cos(toRadians(axisJ3C)),
|
||||
8 + axisJ2ArmLength * sin(toRadians(axisJ2)) + axisJ3CArmLength * sin(toRadians(axisJ3C))
|
||||
], %)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = axisJ3C - (axisJ4 / 2),
|
||||
length = grabberLength / 4
|
||||
}, %)
|
||||
length = grabberLength / 4,
|
||||
)
|
||||
|> arc({
|
||||
angleStart = 210 + axisJ3C - (axisJ4 / 2),
|
||||
angleEnd = 330 + axisJ3C - (axisJ4 / 2),
|
||||
radius = grabberLength / 3
|
||||
}, %)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = axisJ3C - (axisJ4 / 2),
|
||||
length = grabberLength / 6
|
||||
}, %)
|
||||
|> angledLine({
|
||||
length = grabberLength / 6,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = axisJ3C - (axisJ4 / 2) - 132,
|
||||
length = grabberLength / 3.5
|
||||
}, %)
|
||||
|> angledLine({
|
||||
length = grabberLength / 3.5,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = axisJ3C - (axisJ4 / 2) - 160,
|
||||
length = grabberLength / 3.5
|
||||
}, %)
|
||||
|> angledLine({
|
||||
length = grabberLength / 3.5,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = axisJ3C - (axisJ4 / 2) - 200,
|
||||
length = grabberLength / 3
|
||||
}, %)
|
||||
length = grabberLength / 3,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
|
||||
|
@ -14,13 +14,13 @@ extrude005 = extrude(sketch005, length = 1.5 - 0.1)
|
||||
|
||||
sketch006 = startSketchOn(plane002)
|
||||
|> startProfileAt([3.5, baseHeight], %)
|
||||
|> angledLine({ angle = 60, length = 1.75 }, %)
|
||||
|> angledLine(angle = 60, length = 1.75)
|
||||
|> arc({
|
||||
angleStart = -30,
|
||||
angleEnd = -30 + 180,
|
||||
radius = 3
|
||||
}, %)
|
||||
|> angledLineToY({ angle = 60, to = baseHeight }, %)
|
||||
|> angledLine(angle = 60, endAbsoluteY = baseHeight)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
|
||||
|
@ -19,17 +19,17 @@ pipeSketch = startSketchOn(XY)
|
||||
|> startProfileAt([pipeSmallDia - (thickness / 2), 38], %)
|
||||
|> line(end = [thickness, 0])
|
||||
|> line(end = [0, -pipeSmallDiaLength])
|
||||
|> angledLineOfYLength({
|
||||
|> angledLine(
|
||||
angle = -60,
|
||||
length = pipeTransitionLength
|
||||
}, %)
|
||||
lengthY = pipeTransitionLength
|
||||
)
|
||||
|> line(end = [0, -pipeLargeDiaLength])
|
||||
|> xLine(length = -thickness)
|
||||
|> line(end = [0, pipeLargeDiaLength])
|
||||
|> angledLineToX({
|
||||
|> angledLine(
|
||||
angle = -pipeTransitionAngle + 180,
|
||||
to = pipeSmallDia - (thickness / 2)
|
||||
}, %)
|
||||
endAbsoluteX = pipeSmallDia - (thickness / 2)
|
||||
)
|
||||
|> close()
|
||||
|
||||
// Revolve the sketch to create the pipe
|
||||
|
@ -15,20 +15,20 @@ frontLength = 7
|
||||
sketch001 = startSketchOn(-YZ)
|
||||
|> startProfileAt([wallsWidth / 2, 0], %)
|
||||
|> xLine(length = wallThickness / 2)
|
||||
|> angledLineToX({ angle = 60, to = wallsWidth }, %, $seg01)
|
||||
|> angledLine(angle = 60, endAbsoluteX = wallsWidth, tag = $seg01)
|
||||
|> yLine(endAbsolute = height)
|
||||
|> xLine(length = -wallThickness)
|
||||
|> yLine(endAbsolute = segEndY(seg01))
|
||||
|> angledLineToX({
|
||||
|> angledLine(
|
||||
angle = 60,
|
||||
to = wallsWidth / 2 + wallThickness / 2
|
||||
}, %)
|
||||
endAbsoluteX = wallsWidth / 2 + wallThickness / 2,
|
||||
)
|
||||
|> xLine(length = -wallThickness)
|
||||
|> angledLineToX({ angle = 180 - 60, to = wallThickness }, %)
|
||||
|> angledLine(angle = 180 - 60, endAbsoluteX = wallThickness)
|
||||
|> yLine(endAbsolute = height)
|
||||
|> xLine(endAbsolute = 0)
|
||||
|> yLine(endAbsolute = segEndY(seg01))
|
||||
|> angledLineToY({ angle = 180 - 60, to = 0 }, %)
|
||||
|> angledLine(angle = 180 - 60, endAbsoluteY = 0)
|
||||
|> close()
|
||||
part001 = revolve(
|
||||
sketch001,
|
||||
@ -44,20 +44,20 @@ part001 = revolve(
|
||||
sketch002 = startSketchOn(-YZ)
|
||||
|> startProfileAt([wallsWidth / 2, 0], %)
|
||||
|> xLine(length = wallThickness / 2)
|
||||
|> angledLineToX({ angle = 60, to = wallsWidth }, %, $seg02)
|
||||
|> angledLine(angle = 60, endAbsoluteX = wallsWidth, tag = $seg02)
|
||||
|> yLine(endAbsolute = height)
|
||||
|> xLine(length = -wallThickness)
|
||||
|> yLine(endAbsolute = segEndY(seg01))
|
||||
|> angledLineToX({
|
||||
|> angledLine(
|
||||
angle = 60,
|
||||
to = wallsWidth / 2 + wallThickness / 2
|
||||
}, %)
|
||||
endAbsoluteX = wallsWidth / 2 + wallThickness / 2,
|
||||
)
|
||||
|> xLine(length = -wallThickness)
|
||||
|> angledLineToX({ angle = 180 - 60, to = wallThickness }, %)
|
||||
|> angledLine(angle = 180 - 60, endAbsoluteX = wallThickness)
|
||||
|> yLine(endAbsolute = height)
|
||||
|> xLine(endAbsolute = 0)
|
||||
|> yLine(endAbsolute = segEndY(seg02))
|
||||
|> angledLineToY({ angle = 180 - 60, to = 0 }, %)
|
||||
|> angledLine(angle = 180 - 60, endAbsoluteY = 0)
|
||||
|> close()
|
||||
|> extrude(length = backLength - height)
|
||||
|
||||
@ -76,7 +76,7 @@ customPlane = {
|
||||
sketch003 = startSketchOn(customPlane)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> tangentialArc({ offset = 60, radius = height }, %)
|
||||
|> angledLineToY({ angle = 60, to = 0 }, %)
|
||||
|> angledLine(angle = 60, endAbsoluteY = 0)
|
||||
|> close()
|
||||
|> extrude(length = wallThickness)
|
||||
|
||||
@ -85,12 +85,12 @@ sketch004 = startSketchOn(sketch002, 'END')
|
||||
|> yLine(endAbsolute = height)
|
||||
|> xLine(endAbsolute = wallThickness)
|
||||
|> yLine(endAbsolute = segEndY(seg01))
|
||||
|> angledLineToX({
|
||||
|> angledLine(
|
||||
angle = 180 - 60,
|
||||
to = wallsWidth / 2 - (wallThickness / 2)
|
||||
}, %)
|
||||
endAbsoluteX = wallsWidth / 2 - (wallThickness / 2),
|
||||
)
|
||||
|> xLine(length = wallThickness)
|
||||
|> angledLineToY({ angle = 60, to = segEndY(seg01) }, %)
|
||||
|> angledLine(angle = 60, endAbsoluteY = segEndY(seg01))
|
||||
|> yLine(endAbsolute = height)
|
||||
|> xLine(length = wallThickness)
|
||||
|> tangentialArcTo([
|
||||
|
@ -48,30 +48,34 @@ extrude001 = extrude(sketch001, length = 5)
|
||||
|
||||
sketch003 = startSketchOn(extrude001, 'START')
|
||||
|> startProfileAt([distanceToInsideEdge, 0], %)
|
||||
|> angledLine([180, templateThickness], %, $rectangleSegmentA002)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA002) + 90,
|
||||
templateThickness
|
||||
], %, $rectangleSegmentB002)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA002),
|
||||
-segLen(rectangleSegmentA002)
|
||||
], %, $rectangleSegmentC002)
|
||||
|> angledLine(angle = 180, length = templateThickness, tag = $rectangleSegmentA002)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA002) + 90,
|
||||
length = templateThickness,
|
||||
tag = $rectangleSegmentB002,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA002),
|
||||
length = -segLen(rectangleSegmentA002),
|
||||
tag = $rectangleSegmentC002,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
extrude003 = extrude(sketch003, length = 13)
|
||||
|
||||
sketch002 = startSketchOn(extrude001, 'START')
|
||||
|> startProfileAt([-distanceToInsideEdge, 0], %)
|
||||
|> angledLine([0, templateThickness], %, $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
templateThickness
|
||||
], %, $rectangleSegmentB001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %, $rectangleSegmentC001)
|
||||
|> angledLine(angle = 0, length = templateThickness, tag = $rectangleSegmentA001)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001) - 90,
|
||||
length = templateThickness,
|
||||
tag = $rectangleSegmentB001,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001),
|
||||
length = -segLen(rectangleSegmentA001),
|
||||
tag = $rectangleSegmentC001,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
|
||||
@ -79,15 +83,17 @@ extrude002 = extrude(sketch002, length = 13)
|
||||
|
||||
sketch004 = startSketchOn(extrude002, 'END')
|
||||
|> startProfileAt([-distanceToInsideEdge, 0], %)
|
||||
|> angledLine([0, distanceToInsideEdge * 2], %, $rectangleSegmentA003)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA003) - 90,
|
||||
templateThickness
|
||||
], %, $rectangleSegmentB003)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA003),
|
||||
-segLen(rectangleSegmentA003)
|
||||
], %, $rectangleSegmentC003)
|
||||
|> angledLine(angle = 0, length = distanceToInsideEdge * 2, tag = $rectangleSegmentA003)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA003) - 90,
|
||||
length = templateThickness,
|
||||
tag = $rectangleSegmentB003,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA003),
|
||||
length = -segLen(rectangleSegmentA003),
|
||||
tag = $rectangleSegmentC003,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
extrude004 = extrude(sketch004, length = 4)
|
||||
|
@ -52,14 +52,16 @@ sketch002 = startSketchOn(extrude001, 'START')
|
||||
-templateGap * 2 - (templateDiameter / 2)
|
||||
], %)
|
||||
|> xLine(length = -7, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) + 90,
|
||||
minClampingDistance
|
||||
], %, $rectangleSegmentB001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %, $rectangleSegmentC001)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001) + 90,
|
||||
length = minClampingDistance,
|
||||
tag = $rectangleSegmentB001,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001),
|
||||
length = -segLen(rectangleSegmentA001),
|
||||
tag = $rectangleSegmentC001,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
|
||||
@ -73,14 +75,14 @@ sketch003 = startSketchOn(extrude001, 'START')
|
||||
-templateGap * 2 - (templateDiameter / 2)
|
||||
], %)
|
||||
|> xLine(length = 7, tag = $rectangleSegmentA002)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA002) - 90,
|
||||
minClampingDistance
|
||||
], %)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA002),
|
||||
-segLen(rectangleSegmentA002)
|
||||
], %)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA002) - 90,
|
||||
length = minClampingDistance,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA002),
|
||||
length = -segLen(rectangleSegmentA002),
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
|
||||
|
1564
public/kcl-samples/step/a-parametric-bearing-pillow-block.step
Normal file
1564
public/kcl-samples/step/a-parametric-bearing-pillow-block.step
Normal file
File diff suppressed because one or more lines are too long
9077
public/kcl-samples/step/car-wheel-assembly.step
Normal file
9077
public/kcl-samples/step/car-wheel-assembly.step
Normal file
File diff suppressed because one or more lines are too long
4635
public/kcl-samples/step/multi-axis-robot.step
Normal file
4635
public/kcl-samples/step/multi-axis-robot.step
Normal file
File diff suppressed because one or more lines are too long
@ -9,24 +9,26 @@ export fn zLogo(surface, origin, scale) {
|
||||
], %)
|
||||
|> yLine(length = -0.15 * scale)
|
||||
|> xLine(length = 0.15 * scale)
|
||||
|> angledLineToX({
|
||||
|> angledLine(
|
||||
angle = 47.15,
|
||||
to = 0.3 * scale + origin[0]
|
||||
}, %, $seg1)
|
||||
endAbsoluteX = 0.3 * scale + origin[0],
|
||||
tag = $seg1,
|
||||
)
|
||||
|> yLine(endAbsolute = 0 + origin[1], tag = $seg3)
|
||||
|> xLine(length = 0.63 * scale)
|
||||
|> yLine(length = 0.225 * scale)
|
||||
|> xLine(length = -0.57 * scale)
|
||||
|> angledLineToX({
|
||||
|> angledLine(
|
||||
angle = 47.15,
|
||||
to = 0.93 * scale + origin[0]
|
||||
}, %)
|
||||
endAbsoluteX = 0.93 * scale + origin[0],
|
||||
)
|
||||
|> yLine(length = 0.15 * scale)
|
||||
|> xLine(length = -0.15 * scale)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = 47.15,
|
||||
length = -segLen(seg1)
|
||||
}, %, $seg2)
|
||||
length = -segLen(seg1),
|
||||
tag = $seg2
|
||||
)
|
||||
|> yLine(length = segLen(seg3))
|
||||
|> xLine(endAbsolute = 0 + origin[0])
|
||||
|> yLine(length = -0.225 * scale)
|
||||
@ -51,7 +53,7 @@ export fn oLogo(surface, origin, scale) {
|
||||
angleEnd = 47.15 - 6 + 180,
|
||||
radius = .525 * scale
|
||||
}, %)
|
||||
|> angledLine({ angle = 47.15, length = .24 * scale }, %)
|
||||
|> angledLine(angle = 47.15, length = .24 * scale)
|
||||
|> arc({
|
||||
angleStart = 47.15 - 11 + 180,
|
||||
angleEnd = 47.15 + 11,
|
||||
@ -72,7 +74,7 @@ export fn oLogo2(surface, origin, scale) {
|
||||
angleEnd = 47.15 - 6,
|
||||
radius = .525 * scale
|
||||
}, %)
|
||||
|> angledLine({ angle = 47.15, length = -.24 * scale }, %)
|
||||
|> angledLine(angle = 47.15, length = -.24 * scale)
|
||||
|> arc({
|
||||
angleStart = 47.15 - 11,
|
||||
angleEnd = 47.15 + 11 - 180,
|
||||
|
@ -43,9 +43,17 @@ overwrite-sim-test test_name:
|
||||
EXPECTORATE=overwrite TWENTY_TWENTY=overwrite {{cita}} -p kcl-lib --no-quiet -- tests::{{test_name}}::kcl_test_execute
|
||||
EXPECTORATE=overwrite {{cita}} -p kcl-lib --no-quiet -- simulation_tests::{{test_name}}::test_after_engine
|
||||
|
||||
<<<<<<< HEAD
|
||||
# Regenerate all the simulation test output.
|
||||
redo-sim-tests:
|
||||
EXPECTORATE=overwrite TWENTY_TWENTY=overwrite {{cita}} -p kcl-lib --no-quiet -- simulation_tests
|
||||
||||||| parent of afaad9c3c (Fix KCL examples)
|
||||
=======
|
||||
overwrite-sim-test-sample test_name:
|
||||
EXPECTORATE=overwrite {{cita}} -p kcl-lib --no-quiet -- simulation_tests::kcl_samples::parse_{{test_name}}
|
||||
EXPECTORATE=overwrite {{cita}} -p kcl-lib --no-quiet -- simulation_tests::kcl_samples::unparse_{{test_name}}
|
||||
EXPECTORATE=overwrite TWENTY_TWENTY=overwrite {{cita}} -p kcl-lib --no-quiet -- simulation_tests::kcl_samples::kcl_test_execute_{{test_name}}
|
||||
>>>>>>> afaad9c3c (Fix KCL examples)
|
||||
|
||||
test:
|
||||
export RUST_BRACKTRACE="full" && cargo nextest run --workspace --no-fail-fast
|
||||
|
@ -3,7 +3,7 @@ const part001 = startSketchOn(XY)
|
||||
|> line(end = [15.1, 2.48])
|
||||
|> line(end = [3.15, -9.85], tag = $seg01)
|
||||
|> line(end = [-15.17, -4.1])
|
||||
|> angledLine([segAng(seg01), 12.35], %)
|
||||
|> angledLine(angle = segAng(seg01), length = 12.35)
|
||||
|> line(end = [-13.02, 10.03])
|
||||
|> close()
|
||||
|> extrude(length = 4)
|
||||
|
@ -95,7 +95,7 @@ fn F = (state, F) => {
|
||||
|
||||
} else {
|
||||
// Pass onto the next instruction
|
||||
state |> setSketch(%, angledLine({ angle: state.currentAngle, length: state.currentLength }, state.q))
|
||||
state |> setSketch(%, angledLine(state.q, angle = state.currentAngle, length = state.currentLength))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -6,9 +6,9 @@ let circ = {angle_start: 0, angle_end: 360, radius: radius}
|
||||
let triangleLen = 500
|
||||
const p = startSketchOn(XY)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({angle: 60, length:triangleLen}, %, $a)
|
||||
|> angledLine({angle: 180, length: triangleLen}, %, $b)
|
||||
|> angledLine({angle: 300, length: triangleLen}, %, $c)
|
||||
|> angledLine(angle = 60, length = triangleLen, tag = $a)
|
||||
|> angledLine(angle = 180, length = triangleLen, tag = $b)
|
||||
|> angledLine(angle = 300, length = triangleLen, tag = $c)
|
||||
|> extrude(length = triangleHeight)
|
||||
|
||||
fn circl = (x, face) => {
|
||||
|
@ -12,7 +12,7 @@ Fy = 0.5
|
||||
sketch001 = startSketchOn('-YZ')
|
||||
|> startProfileAt([back_walls_width / 2, 0], %)
|
||||
|> xLine(length = wall_thickness / 2)
|
||||
|> angledLineToX({ angle: 45, to: back_walls_width }, %, $seg01)
|
||||
|> angledLine(angle = 45, endAbsoluteX = back_walls_width, tag = $seg01)
|
||||
|> yLine(endAbsolute = height)
|
||||
|> xLine(length = -wall_thickness)
|
||||
|> yLine(endAbsolute = segEndY(seg01))
|
||||
@ -21,11 +21,11 @@ sketch001 = startSketchOn('-YZ')
|
||||
to: back_walls_width / 2 + wall_thickness / 2
|
||||
}, %)
|
||||
|> xLine(length = -wall_thickness)
|
||||
|> angledLineToX({ angle: 180 - 45, to: wall_thickness }, %)
|
||||
|> angledLine(angle = 180 - 45, endAbsoluteX = wall_thickness)
|
||||
|> yLine(endAbsolute = height)
|
||||
|> xLine(endAbsolute = 0)
|
||||
|> yLine(endAbsolute = segEndY(seg01))
|
||||
|> angledLineToY({ angle: 180 - 45, to: 0 }, %)
|
||||
|> angledLine(angle = 180 - 45, endAbsoluteY = 0)
|
||||
|> close()
|
||||
part001 = revolve({
|
||||
angle: 90,
|
||||
@ -40,7 +40,7 @@ part001 = revolve({
|
||||
sketch002 = startSketchOn('-YZ')
|
||||
|> startProfileAt([back_walls_width / 2, 0], %)
|
||||
|> xLine(length = wall_thickness / 2)
|
||||
|> angledLineToX({ angle: 45, to: back_walls_width }, %, $seg02)
|
||||
|> angledLine(angle = 45, endAbsoluteX = back_walls_width, tag = $seg02)
|
||||
|> yLine(endAbsolute = height)
|
||||
|> xLine(length = -wall_thickness)
|
||||
|> yLine(endAbsolute = segEndY(seg01))
|
||||
@ -49,10 +49,10 @@ sketch002 = startSketchOn('-YZ')
|
||||
to: back_walls_width / 2 + wall_thickness / 2
|
||||
}, %)
|
||||
|> xLine(length = -wall_thickness)
|
||||
|> angledLineToX({ angle: 180 - 45, to: wall_thickness }, %)
|
||||
|> angledLine(angle = 180 - 45, endAbsoluteX = wall_thickness)
|
||||
|> yLine(endAbsolute = height)
|
||||
|> xLine(endAbsolute = 0)
|
||||
|> yLine(endAbsolute = segEndY(seg02))
|
||||
|> angledLineToY({ angle: 180 - 45, to: 0 }, %)
|
||||
|> angledLine(angle = 180 - 45, endAbsoluteY = 0)
|
||||
|> close()
|
||||
|> extrude(length = back_length - height)
|
@ -1,15 +1,21 @@
|
||||
fn rect = (origin) => {
|
||||
return startSketchOn(XZ)
|
||||
|> startProfileAt(origin, %)
|
||||
|> angledLine([0, 191.26], %, $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
196.99
|
||||
], %, $rectangleSegmentB001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %, $rectangleSegmentC001)
|
||||
|> angledLine(
|
||||
angle = 0,
|
||||
length = 191.26,
|
||||
tag = $rectangleSegmentA001,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001) - 90,
|
||||
length = 196.99,
|
||||
tag = $rectangleSegmentB001,
|
||||
)
|
||||
|> angledLine(
|
||||
angle = segAng(rectangleSegmentA001),
|
||||
length = -segLen(rectangleSegmentA001),
|
||||
tag = $rectangleSegmentC001,
|
||||
)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
}
|
||||
|
@ -111,7 +111,7 @@ const plane001 = {
|
||||
const sketch001l = startSketchOn(plane001)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> xLine(length = serverDepth + .8)
|
||||
|> angledLineToY({ angle: -45, to: 1 }, %)
|
||||
|> angledLine(angle = -45, endAbsoluteY = 1)
|
||||
|> xLine(length = -serverDepth + 2 - .8, tag = $seg01)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
@ -172,8 +172,8 @@ const sketch006l = startSketchOn(plane001)
|
||||
intersectTag: lineToIntersect4,
|
||||
offset: 0
|
||||
}, %)
|
||||
|> angledLine({ angle: -70, length: 1.414 }, %)
|
||||
|> angledLineToY({ angle: 70 + 180, to: 2 - 1 }, %)
|
||||
|> angledLine(angle = -70, length = 1.414 )
|
||||
|> angledLine(angle = 70 + 180, endAbsoluteY = 2 - 1)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude006l = extrude(sketch006l, length = 1)
|
||||
@ -188,7 +188,7 @@ const sketch007l = startSketchOn(plane001)
|
||||
intersectTag: lineToIntersect5,
|
||||
offset: 0
|
||||
}, %)
|
||||
|> angledLine({ angle: -70, length: 1.414 }, %)
|
||||
|> angledLine(angle = -70, length = 1.414 )
|
||||
|> angledLineToY({
|
||||
angle: 70 + 180,
|
||||
to: railHeight * 1.75 + 1
|
||||
@ -214,7 +214,7 @@ const plane002 = {
|
||||
const sketch001w = startSketchOn(plane002)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> xLine(length = depth)
|
||||
|> angledLineToY({ angle: -45, to: 1 }, %)
|
||||
|> angledLine(angle = -45, endAbsoluteY = 1)
|
||||
|> xLine(length = -depth + 2, tag = $seg01w)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
@ -223,7 +223,7 @@ const extrude001w = extrude(sketch001w, length = 1)
|
||||
const sketch002w = startSketchOn(plane002)
|
||||
|> startProfileAt([depth, 0], %)
|
||||
|> yLine(length = railHeight * 1.75 + 2)
|
||||
|> angledLineToX({ angle: -135, to: depth - 1 }, %)
|
||||
|> angledLine(angle = -135, endAbsoluteX = depth - 1)
|
||||
|> yLine(length = -railHeight * 1.75)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
@ -255,9 +255,9 @@ const extrude004w = extrude(sketch004w, length = 1)
|
||||
|
||||
const sketch005w = startSketchOn(plane002)
|
||||
|> startProfileAt([1, 40.6 + 1.75 / 2], %)
|
||||
|> angledLine({ angle: -23, length: 35.5 }, %)
|
||||
|> angledLine({ angle: -23 + 90 + 45, length: 1.413 }, %)
|
||||
|> angledLineToX({ angle: -23, to: 1 }, %, $lineToIntersect)
|
||||
|> angledLine(angle = -23, length = 35.5 )
|
||||
|> angledLine(angle = -23 + 90 + 45, length = 1.413 )
|
||||
|> angledLine(angle = -23, endAbsoluteX = 1, tag = $lineToIntersect)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude005w = extrude(sketch005w, length = 1)
|
||||
@ -267,7 +267,7 @@ const sketch006w = startSketchOn(plane002)
|
||||
1 + 35.5 * cos(23 * pi() / 180),
|
||||
40.6 - (35.5 * sin(23 * pi() / 180)) + 1.75 / 2
|
||||
], %)
|
||||
|> angledLineToX({ angle: -23 + 90, to: depth - 1 }, %)
|
||||
|> angledLine(angle = -23 + 90, endAbsoluteX = depth - 1)
|
||||
|> yLine(length = 2.56)
|
||||
|> angledLineThatIntersects({
|
||||
angle: -23 + 90 + 180,
|
||||
@ -280,8 +280,8 @@ const extrude006w = extrude(sketch006w, length = 1)
|
||||
|
||||
const sketch007w = startSketchOn(plane002)
|
||||
|> startProfileAt([depth - 1, 60.65 + 1.75 / 2], %)
|
||||
|> angledLine({ angle: -23 + 180, length: 34.93 }, %, $lineToIntersect3)
|
||||
|> angledLine({ angle: 23 - 90, length: 1.414 }, %)
|
||||
|> angledLine(angle = -23 + 180, length = 34.93 , tag = $lineToIntersect3)
|
||||
|> angledLine(angle = 23 - 90, length = 1.414 )
|
||||
|> angledLineThatIntersects({
|
||||
angle: -23 + 180,
|
||||
intersectTag: lineToIntersect2,
|
||||
@ -298,7 +298,7 @@ const sketch008w = startSketchOn(plane002)
|
||||
intersectTag: lineToIntersect3,
|
||||
offset: 0
|
||||
}, %)
|
||||
|> angledLine({ angle: -23 - 45, length: 1.414 }, %)
|
||||
|> angledLine(angle = -23 - 45, length = 1.414 )
|
||||
|> angledLineThatIntersects({
|
||||
angle: -23 - 90,
|
||||
intersectTag: lineToIntersect,
|
||||
@ -310,18 +310,18 @@ const extrude008w = extrude(sketch008w, length = 1)
|
||||
|
||||
const sketch009w = startSketchOn(plane002)
|
||||
|> startProfileAt([31.2, 33.3 + 1.75 / 2], %)
|
||||
|> angledLine({ angle: -23 - 45, length: 1.414 }, %)
|
||||
|> angledLine({ angle: 90 - 23, length: 28 }, %)
|
||||
|> angledLine({ angle: -23 + 45, length: -1.414 }, %)
|
||||
|> angledLine(angle = -23 - 45, length = 1.414 )
|
||||
|> angledLine(angle = 90 - 23, length = 28 )
|
||||
|> angledLine(angle = -23 + 45, length = -1.414 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude009w = extrude(sketch009w, length = 1)
|
||||
|
||||
const sketch010w = startSketchOn(plane002)
|
||||
|> startProfileAt([31.2, 33.3 + 1.75 / 2], %)
|
||||
|> angledLine({ angle: -23 - 45, length: 1.414 }, %)
|
||||
|> angledLine({ angle: 180 - 23, length: 28 }, %)
|
||||
|> angledLine({ angle: -23 + 45, length: 1.414 }, %)
|
||||
|> angledLine(angle = -23 - 45, length = 1.414 )
|
||||
|> angledLine(angle = 180 - 23, length = 28 )
|
||||
|> angledLine(angle = -23 + 45, length = 1.414 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude010w = extrude(sketch010w, length = 1)
|
||||
@ -331,9 +331,9 @@ const sketch011w = startSketchOn(plane002)
|
||||
31.2 - ((28 - 2) * cos(23 * pi() / 180)),
|
||||
33.3 + (28 - 2) * sin(23 * pi() / 180) + 1.75 / 2
|
||||
], %)
|
||||
|> angledLine({ angle: 90 - 23, length: 28 - 2 }, %)
|
||||
|> angledLine({ angle: -23 - 45, length: -1.414 }, %)
|
||||
|> angledLine({ angle: 90 - 23 + 180, length: 28 }, %)
|
||||
|> angledLine(angle = 90 - 23, length = 28 - 2 )
|
||||
|> angledLine(angle = -23 - 45, length = -1.414 )
|
||||
|> angledLine(angle = 90 - 23 + 180, length = 28 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude011w = extrude(sketch011w, length = 1)
|
||||
@ -343,9 +343,9 @@ const sketch012w = startSketchOn(plane002)
|
||||
31.2 + (28 - 2) * sin(23 * pi() / 180),
|
||||
33.3 + (28 - 2) * cos(23 * pi() / 180) + 1.75 / 2
|
||||
], %)
|
||||
|> angledLine({ angle: 180 - 23, length: 28 - 2 }, %)
|
||||
|> angledLine({ angle: -23 - 45, length: -1.414 }, %)
|
||||
|> angledLine({ angle: -23, length: 28 }, %)
|
||||
|> angledLine(angle = 180 - 23, length = 28 - 2 )
|
||||
|> angledLine(angle = -23 - 45, length = -1.414 )
|
||||
|> angledLine(angle = -23, length = 28 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude012w = extrude(sketch012w, length = 1)
|
||||
@ -355,8 +355,8 @@ const sketch013w = startSketchOn(plane002)
|
||||
1 + 4 * cos(23 * pi() / 180),
|
||||
40.6 - (4 * sin(23 * pi() / 180)) + 1.75 / 2
|
||||
], %)
|
||||
|> angledLine({ angle: -23, length: 1 }, %)
|
||||
|> angledLineToX({ angle: -23 + 90, to: 1 }, %)
|
||||
|> angledLine(angle = -23, length = 1 )
|
||||
|> angledLine(angle = -23 + 90, endAbsoluteX = 1)
|
||||
|> yLine(length = 2.56)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
@ -367,9 +367,9 @@ const sketch014w = startSketchOn(plane002)
|
||||
1 + 12 * cos(23 * pi() / 180),
|
||||
40.6 - (12 * sin(23 * pi() / 180)) + 1.75 / 2
|
||||
], %)
|
||||
|> angledLine({ angle: -23 - 90, length: 36 / 2 }, %)
|
||||
|> angledLine({ angle: -23, length: 1 }, %)
|
||||
|> angledLine({ angle: -23 - 90, length: -36 / 2 }, %)
|
||||
|> angledLine(angle = -23 - 90, length = 36 / 2 )
|
||||
|> angledLine(angle = -23, length = 1 )
|
||||
|> angledLine(angle = -23 - 90, length = -36 / 2 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude014w = extrude(sketch014w, length = 1)
|
||||
@ -379,9 +379,9 @@ const sketch015w = startSketchOn(plane002)
|
||||
1 + (36 - 5.55 - 8) * cos(23 * pi() / 180),
|
||||
40.6 - ((36 - 5.55 - 8) * sin(23 * pi() / 180)) + 1.75 / 2
|
||||
], %)
|
||||
|> angledLine({ angle: -23 - 90, length: 36 / 2 }, %)
|
||||
|> angledLine({ angle: -23, length: 1 }, %)
|
||||
|> angledLine({ angle: -23 - 90, length: -36 / 2 }, %)
|
||||
|> angledLine(angle = -23 - 90, length = 36 / 2 )
|
||||
|> angledLine(angle = -23, length = 1 )
|
||||
|> angledLine(angle = -23 - 90, length = -36 / 2 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude015w = extrude(sketch015w, length = 1)
|
||||
@ -391,9 +391,9 @@ const sketch016w = startSketchOn(plane002)
|
||||
1 + (36 - 5.5) * cos(23 * pi() / 180),
|
||||
40.6 - ((36 - 5.5) * sin(23 * pi() / 180)) + 1.75 / 2
|
||||
], %)
|
||||
|> angledLine({ angle: -23 - 90, length: 36 / 2 }, %)
|
||||
|> angledLine({ angle: -23, length: 1 }, %)
|
||||
|> angledLine({ angle: -23 - 90, length: -36 / 2 }, %)
|
||||
|> angledLine(angle = -23 - 90, length = 36 / 2 )
|
||||
|> angledLine(angle = -23, length = 1 )
|
||||
|> angledLine(angle = -23 - 90, length = -36 / 2 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude016w = extrude(sketch016w, length = 1)
|
||||
@ -408,7 +408,7 @@ const sketch017w = startSketchOn(plane002)
|
||||
angleEnd: 180 - 23,
|
||||
radius: 7 / 2 + 2
|
||||
}, %)
|
||||
|> angledLine({ angle: -23 + 180, length: -1 }, %)
|
||||
|> angledLine(angle = -23 + 180, length = -1 )
|
||||
|> arc({
|
||||
angleStart: 180 - 23,
|
||||
angleEnd: -23,
|
||||
@ -428,7 +428,7 @@ const sketch018w = startSketchOn(plane002)
|
||||
angleEnd: 180 - 23,
|
||||
radius: 7 / 2 + 2
|
||||
}, %)
|
||||
|> angledLine({ angle: -23 + 180, length: -1 }, %)
|
||||
|> angledLine(angle = -23 + 180, length = -1 )
|
||||
|> arc({
|
||||
angleStart: 180 - 23,
|
||||
angleEnd: -23,
|
||||
@ -440,9 +440,9 @@ const extrude018w = extrude(sketch018w, length = 1)
|
||||
|
||||
const sketch019w = startSketchOn(plane002)
|
||||
|> startProfileAt([1, 27.8 + 1.75 / 2], %)
|
||||
|> angledLine({ angle: -23, length: 7 }, %)
|
||||
|> angledLine({ angle: -23 + 90, length: -1 }, %)
|
||||
|> angledLineToX({ angle: -23, to: 1 }, %)
|
||||
|> angledLine(angle = -23, length = 7 )
|
||||
|> angledLine(angle = -23 + 90, length = -1 )
|
||||
|> angledLine(angle = -23, endAbsoluteX = 1)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude019w = extrude(sketch019w, length = 1)
|
||||
@ -452,18 +452,18 @@ const sketch020w = startSketchOn(plane002)
|
||||
1 + (36 - 5.53 - 12) * cos(23 * pi() / 180),
|
||||
27.8 + 1.75 / 2 - ((36 - 5.53 - 12) * sin(23 * pi() / 180))
|
||||
], %)
|
||||
|> angledLine({ angle: -23, length: 7 }, %)
|
||||
|> angledLine({ angle: -23 + 90, length: -1 }, %)
|
||||
|> angledLine({ angle: -23 + 180, length: 7 }, %)
|
||||
|> angledLine(angle = -23, length = 7 )
|
||||
|> angledLine(angle = -23 + 90, length = -1 )
|
||||
|> angledLine(angle = -23 + 180, length = 7 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude020w = extrude(sketch020w, length = 1)
|
||||
|
||||
const sketch021w = startSketchOn(plane002)
|
||||
|> startProfileAt([1, 21.9], %)
|
||||
|> angledLineToX({ angle: -23, to: depth - 1 }, %)
|
||||
|> angledLine(angle = -23, endAbsoluteX = depth - 1)
|
||||
|> yLine(length = -1.1)
|
||||
|> angledLineToX({ angle: -23, to: 1 }, %)
|
||||
|> angledLine(angle = -23, endAbsoluteX = 1)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude021w = extrude(sketch021w, length = 1)
|
||||
@ -475,7 +475,7 @@ const sketch022w = startSketchOn(plane002)
|
||||
to: railHeight * 1.75 + 1
|
||||
}, %)
|
||||
|> xLine(length = -2.56)
|
||||
|> angledLineToX({ angle: -23, to: depth - 1 }, %)
|
||||
|> angledLine(angle = -23, endAbsoluteX = depth - 1)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude022w = extrude(sketch022w, length = 1)
|
||||
@ -487,25 +487,25 @@ const sketch023w = startSketchOn(plane002)
|
||||
to: railHeight * 1.75 + 1
|
||||
}, %)
|
||||
|> xLine(length = 1.086)
|
||||
|> angledLineToX({ angle: 90 - 23, to: 1 }, %)
|
||||
|> angledLine(angle = 90 - 23, endAbsoluteX = 1)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude023w = extrude(sketch023w, length = 1)
|
||||
|
||||
const sketch024w = startSketchOn(plane002)
|
||||
|> startProfileAt([1, 16.5], %)
|
||||
|> angledLineToY({ angle: -23, to: 1 }, %)
|
||||
|> angledLine(angle = -23, endAbsoluteY = 1)
|
||||
|> xLine(length = -2.56)
|
||||
|> angledLineToX({ angle: -23, to: 1 }, %)
|
||||
|> angledLine(angle = -23, endAbsoluteX = 1)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude024w = extrude(sketch024w, length = 1)
|
||||
|
||||
const sketch025w = startSketchOn(plane002)
|
||||
|> startProfileAt([1, 4], %)
|
||||
|> angledLineToY({ angle: -23, to: 1 }, %)
|
||||
|> angledLine(angle = -23, endAbsoluteY = 1)
|
||||
|> xLine(length = -2.56)
|
||||
|> angledLineToX({ angle: -23, to: 1 }, %)
|
||||
|> angledLine(angle = -23, endAbsoluteX = 1)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude025w = extrude(sketch025w, length = 1)
|
||||
|
@ -109,7 +109,7 @@ const plane001 = {
|
||||
const sketch001l = startSketchOn(plane001)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> xLine(length = serverDepth + .8)
|
||||
|> angledLineToY({ angle: -45, to: 1 }, %)
|
||||
|> angledLine(angle = -45, endAbsoluteY = 1)
|
||||
|> xLine(length = -serverDepth + 2 - .8, tag = $seg01)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
@ -170,8 +170,8 @@ const sketch006l = startSketchOn(plane001)
|
||||
intersectTag: lineToIntersect4,
|
||||
offset: 0
|
||||
}, %)
|
||||
|> angledLine({ angle: -70, length: 1.414 }, %)
|
||||
|> angledLineToY({ angle: 70 + 180, to: 2 - 1 }, %)
|
||||
|> angledLine(angle = -70, length = 1.414 )
|
||||
|> angledLine(angle = 70 + 180, endAbsoluteY = 2 - 1)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude006l = extrude(sketch006l, length = 1)
|
||||
@ -186,7 +186,7 @@ const sketch007l = startSketchOn(plane001)
|
||||
intersectTag: lineToIntersect5,
|
||||
offset: 0
|
||||
}, %)
|
||||
|> angledLine({ angle: -70, length: 1.414 }, %)
|
||||
|> angledLine(angle = -70, length = 1.414 )
|
||||
|> angledLineToY({
|
||||
angle: 70 + 180,
|
||||
to: railHeight * 1.75 + 1
|
||||
@ -212,7 +212,7 @@ const plane002 = {
|
||||
const sketch001w = startSketchOn(plane002)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> xLine(length = depth)
|
||||
|> angledLineToY({ angle: -45, to: 1 }, %)
|
||||
|> angledLine(angle = -45, endAbsoluteY = 1)
|
||||
|> xLine(length = -depth + 2, tag = $seg01w)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
@ -221,7 +221,7 @@ const extrude001w = extrude(sketch001w, length = 1)
|
||||
const sketch002w = startSketchOn(plane002)
|
||||
|> startProfileAt([depth, 0], %)
|
||||
|> yLine(length = railHeight * 1.75 + 2)
|
||||
|> angledLineToX({ angle: -135, to: depth - 1 }, %)
|
||||
|> angledLine(angle = -135, endAbsoluteX = depth - 1)
|
||||
|> yLine(length = -railHeight * 1.75)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
@ -253,9 +253,9 @@ const extrude004w = extrude(sketch004w, length = 1)
|
||||
|
||||
const sketch005w = startSketchOn(plane002)
|
||||
|> startProfileAt([1, 40.6 + 1.75 / 2], %)
|
||||
|> angledLine({ angle: -23, length: 35.5 }, %)
|
||||
|> angledLine({ angle: -23 + 90 + 45, length: 1.413 }, %)
|
||||
|> angledLineToX({ angle: -23, to: 1 }, %, $lineToIntersect)
|
||||
|> angledLine(angle = -23, length = 35.5 )
|
||||
|> angledLine(angle = -23 + 90 + 45, length = 1.413 )
|
||||
|> angledLine(angle = -23, endAbsoluteX = 1, tag = $lineToIntersect)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude005w = extrude(sketch005w, length = 1)
|
||||
@ -265,7 +265,7 @@ const sketch006w = startSketchOn(plane002)
|
||||
1 + 35.5 * cos(23 * pi() / 180),
|
||||
40.6 - (35.5 * sin(23 * pi() / 180)) + 1.75 / 2
|
||||
], %)
|
||||
|> angledLineToX({ angle: -23 + 90, to: depth - 1 }, %)
|
||||
|> angledLine(angle = -23 + 90, endAbsoluteX = depth - 1)
|
||||
|> yLine(length = 2.56)
|
||||
|> angledLineThatIntersects({
|
||||
angle: -23 + 90 + 180,
|
||||
@ -278,8 +278,8 @@ const extrude006w = extrude(sketch006w, length = 1)
|
||||
|
||||
const sketch007w = startSketchOn(plane002)
|
||||
|> startProfileAt([depth - 1, 60.65 + 1.75 / 2], %)
|
||||
|> angledLine({ angle: -23 + 180, length: 34.93 }, %, $lineToIntersect3)
|
||||
|> angledLine({ angle: 23 - 90, length: 1.414 }, %)
|
||||
|> angledLine(angle = -23 + 180, length = 34.93 , tag = $lineToIntersect3)
|
||||
|> angledLine(angle = 23 - 90, length = 1.414 )
|
||||
|> angledLineThatIntersects({
|
||||
angle: -23 + 180,
|
||||
intersectTag: lineToIntersect2,
|
||||
@ -296,7 +296,7 @@ const sketch008w = startSketchOn(plane002)
|
||||
intersectTag: lineToIntersect3,
|
||||
offset: 0
|
||||
}, %)
|
||||
|> angledLine({ angle: -23 - 45, length: 1.414 }, %)
|
||||
|> angledLine(angle = -23 - 45, length = 1.414 )
|
||||
|> angledLineThatIntersects({
|
||||
angle: -23 - 90,
|
||||
intersectTag: lineToIntersect,
|
||||
@ -308,18 +308,18 @@ const extrude008w = extrude(sketch008w, length = 1)
|
||||
|
||||
const sketch009w = startSketchOn(plane002)
|
||||
|> startProfileAt([31.2, 33.3 + 1.75 / 2], %)
|
||||
|> angledLine({ angle: -23 - 45, length: 1.414 }, %)
|
||||
|> angledLine({ angle: 90 - 23, length: 28 }, %)
|
||||
|> angledLine({ angle: -23 + 45, length: -1.414 }, %)
|
||||
|> angledLine(angle = -23 - 45, length = 1.414 )
|
||||
|> angledLine(angle = 90 - 23, length = 28 )
|
||||
|> angledLine(angle = -23 + 45, length = -1.414 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude009w = extrude(sketch009w, length = 1)
|
||||
|
||||
const sketch010w = startSketchOn(plane002)
|
||||
|> startProfileAt([31.2, 33.3 + 1.75 / 2], %)
|
||||
|> angledLine({ angle: -23 - 45, length: 1.414 }, %)
|
||||
|> angledLine({ angle: 180 - 23, length: 28 }, %)
|
||||
|> angledLine({ angle: -23 + 45, length: 1.414 }, %)
|
||||
|> angledLine(angle = -23 - 45, length = 1.414 )
|
||||
|> angledLine(angle = 180 - 23, length = 28 )
|
||||
|> angledLine(angle = -23 + 45, length = 1.414 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude010w = extrude(sketch010w, length = 1)
|
||||
@ -329,9 +329,9 @@ const sketch011w = startSketchOn(plane002)
|
||||
31.2 - ((28 - 2) * cos(23 * pi() / 180)),
|
||||
33.3 + (28 - 2) * sin(23 * pi() / 180) + 1.75 / 2
|
||||
], %)
|
||||
|> angledLine({ angle: 90 - 23, length: 28 - 2 }, %)
|
||||
|> angledLine({ angle: -23 - 45, length: -1.414 }, %)
|
||||
|> angledLine({ angle: 90 - 23 + 180, length: 28 }, %)
|
||||
|> angledLine(angle = 90 - 23, length = 28 - 2 )
|
||||
|> angledLine(angle = -23 - 45, length = -1.414 )
|
||||
|> angledLine(angle = 90 - 23 + 180, length = 28 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude011w = extrude(sketch011w, length = 1)
|
||||
@ -341,9 +341,9 @@ const sketch012w = startSketchOn(plane002)
|
||||
31.2 + (28 - 2) * sin(23 * pi() / 180),
|
||||
33.3 + (28 - 2) * cos(23 * pi() / 180) + 1.75 / 2
|
||||
], %)
|
||||
|> angledLine({ angle: 180 - 23, length: 28 - 2 }, %)
|
||||
|> angledLine({ angle: -23 - 45, length: -1.414 }, %)
|
||||
|> angledLine({ angle: -23, length: 28 }, %)
|
||||
|> angledLine(angle = 180 - 23, length = 28 - 2 )
|
||||
|> angledLine(angle = -23 - 45, length = -1.414 )
|
||||
|> angledLine(angle = -23, length = 28 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude012w = extrude(sketch012w, length = 1)
|
||||
@ -353,8 +353,8 @@ const sketch013w = startSketchOn(plane002)
|
||||
1 + 4 * cos(23 * pi() / 180),
|
||||
40.6 - (4 * sin(23 * pi() / 180)) + 1.75 / 2
|
||||
], %)
|
||||
|> angledLine({ angle: -23, length: 1 }, %)
|
||||
|> angledLineToX({ angle: -23 + 90, to: 1 }, %)
|
||||
|> angledLine(angle = -23, length = 1 )
|
||||
|> angledLine(angle = -23 + 90, endAbsoluteX = 1)
|
||||
|> yLine(length = 2.56)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
@ -365,9 +365,9 @@ const sketch014w = startSketchOn(plane002)
|
||||
1 + 12 * cos(23 * pi() / 180),
|
||||
40.6 - (12 * sin(23 * pi() / 180)) + 1.75 / 2
|
||||
], %)
|
||||
|> angledLine({ angle: -23 - 90, length: 36 / 2 }, %)
|
||||
|> angledLine({ angle: -23, length: 1 }, %)
|
||||
|> angledLine({ angle: -23 - 90, length: -36 / 2 }, %)
|
||||
|> angledLine(angle = -23 - 90, length = 36 / 2 )
|
||||
|> angledLine(angle = -23, length = 1 )
|
||||
|> angledLine(angle = -23 - 90, length = -36 / 2 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude014w = extrude(sketch014w, length = 1)
|
||||
@ -377,9 +377,9 @@ const sketch015w = startSketchOn(plane002)
|
||||
1 + (36 - 5.55 - 8) * cos(23 * pi() / 180),
|
||||
40.6 - ((36 - 5.55 - 8) * sin(23 * pi() / 180)) + 1.75 / 2
|
||||
], %)
|
||||
|> angledLine({ angle: -23 - 90, length: 36 / 2 }, %)
|
||||
|> angledLine({ angle: -23, length: 1 }, %)
|
||||
|> angledLine({ angle: -23 - 90, length: -36 / 2 }, %)
|
||||
|> angledLine(angle = -23 - 90, length = 36 / 2 )
|
||||
|> angledLine(angle = -23, length = 1 )
|
||||
|> angledLine(angle = -23 - 90, length = -36 / 2 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude015w = extrude(sketch015w, length = 1)
|
||||
@ -389,9 +389,9 @@ const sketch016w = startSketchOn(plane002)
|
||||
1 + (36 - 5.5) * cos(23 * pi() / 180),
|
||||
40.6 - ((36 - 5.5) * sin(23 * pi() / 180)) + 1.75 / 2
|
||||
], %)
|
||||
|> angledLine({ angle: -23 - 90, length: 36 / 2 }, %)
|
||||
|> angledLine({ angle: -23, length: 1 }, %)
|
||||
|> angledLine({ angle: -23 - 90, length: -36 / 2 }, %)
|
||||
|> angledLine(angle = -23 - 90, length = 36 / 2 )
|
||||
|> angledLine(angle = -23, length = 1 )
|
||||
|> angledLine(angle = -23 - 90, length = -36 / 2 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude016w = extrude(sketch016w, length = 1)
|
||||
@ -406,7 +406,7 @@ const sketch017w = startSketchOn(plane002)
|
||||
angleEnd: 180 - 23,
|
||||
radius: 7 / 2 + 2
|
||||
}, %)
|
||||
|> angledLine({ angle: -23 + 180, length: -1 }, %)
|
||||
|> angledLine(angle = -23 + 180, length = -1 )
|
||||
|> arc({
|
||||
angleStart: 180 - 23,
|
||||
angleEnd: -23,
|
||||
@ -426,7 +426,7 @@ const sketch018w = startSketchOn(plane002)
|
||||
angleEnd: 180 - 23,
|
||||
radius: 7 / 2 + 2
|
||||
}, %)
|
||||
|> angledLine({ angle: -23 + 180, length: -1 }, %)
|
||||
|> angledLine(angle = -23 + 180, length = -1 )
|
||||
|> arc({
|
||||
angleStart: 180 - 23,
|
||||
angleEnd: -23,
|
||||
@ -438,9 +438,9 @@ const extrude018w = extrude(sketch018w, length = 1)
|
||||
|
||||
const sketch019w = startSketchOn(plane002)
|
||||
|> startProfileAt([1, 27.8 + 1.75 / 2], %)
|
||||
|> angledLine({ angle: -23, length: 7 }, %)
|
||||
|> angledLine({ angle: -23 + 90, length: -1 }, %)
|
||||
|> angledLineToX({ angle: -23, to: 1 }, %)
|
||||
|> angledLine(angle = -23, length = 7 )
|
||||
|> angledLine(angle = -23 + 90, length = -1 )
|
||||
|> angledLine(angle = -23, endAbsoluteX = 1)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude019w = extrude(sketch019w, length = 1)
|
||||
@ -450,18 +450,18 @@ const sketch020w = startSketchOn(plane002)
|
||||
1 + (36 - 5.53 - 12) * cos(23 * pi() / 180),
|
||||
27.8 + 1.75 / 2 - ((36 - 5.53 - 12) * sin(23 * pi() / 180))
|
||||
], %)
|
||||
|> angledLine({ angle: -23, length: 7 }, %)
|
||||
|> angledLine({ angle: -23 + 90, length: -1 }, %)
|
||||
|> angledLine({ angle: -23 + 180, length: 7 }, %)
|
||||
|> angledLine(angle = -23, length = 7 )
|
||||
|> angledLine(angle = -23 + 90, length = -1 )
|
||||
|> angledLine(angle = -23 + 180, length = 7 )
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude020w = extrude(sketch020w, length = 1)
|
||||
|
||||
const sketch021w = startSketchOn(plane002)
|
||||
|> startProfileAt([1, 21.9], %)
|
||||
|> angledLineToX({ angle: -23, to: depth - 1 }, %)
|
||||
|> angledLine(angle = -23, endAbsoluteX = depth - 1)
|
||||
|> yLine(length = -1.1)
|
||||
|> angledLineToX({ angle: -23, to: 1 }, %)
|
||||
|> angledLine(angle = -23, endAbsoluteX = 1)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude021w = extrude(sketch021w, length = 1)
|
||||
@ -473,7 +473,7 @@ const sketch022w = startSketchOn(plane002)
|
||||
to: railHeight * 1.75 + 1
|
||||
}, %)
|
||||
|> xLine(length = -2.56)
|
||||
|> angledLineToX({ angle: -23, to: depth - 1 }, %)
|
||||
|> angledLine(angle = -23, endAbsoluteX = depth - 1)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude022w = extrude(sketch022w, length = 1)
|
||||
@ -485,25 +485,25 @@ const sketch023w = startSketchOn(plane002)
|
||||
to: railHeight * 1.75 + 1
|
||||
}, %)
|
||||
|> xLine(length = 1.086)
|
||||
|> angledLineToX({ angle: 90 - 23, to: 1 }, %)
|
||||
|> angledLine(angle = 90 - 23, endAbsoluteX = 1)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude023w = extrude(sketch023w, length = 1)
|
||||
|
||||
const sketch024w = startSketchOn(plane002)
|
||||
|> startProfileAt([1, 16.5], %)
|
||||
|> angledLineToY({ angle: -23, to: 1 }, %)
|
||||
|> angledLine(angle = -23, endAbsoluteY = 1)
|
||||
|> xLine(length = -2.56)
|
||||
|> angledLineToX({ angle: -23, to: 1 }, %)
|
||||
|> angledLine(angle = -23, endAbsoluteX = 1)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude024w = extrude(sketch024w, length = 1)
|
||||
|
||||
const sketch025w = startSketchOn(plane002)
|
||||
|> startProfileAt([1, 4], %)
|
||||
|> angledLineToY({ angle: -23, to: 1 }, %)
|
||||
|> angledLine(angle = -23, endAbsoluteY = 1)
|
||||
|> xLine(length = -2.56)
|
||||
|> angledLineToX({ angle: -23, to: 1 }, %)
|
||||
|> angledLine(angle = -23, endAbsoluteX = 1)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const extrude025w = extrude(sketch025w, length = 1)
|
||||
|
@ -6,10 +6,10 @@ let angleStart = 110
|
||||
|
||||
startSketchOn(XY)
|
||||
|> startProfileAt([startX, startY], %)
|
||||
|> angledLine({
|
||||
angle: angleStart,
|
||||
length: .000001,
|
||||
}, %)
|
||||
|> angledLine(
|
||||
angle = angleStart,
|
||||
length = .000001,
|
||||
)
|
||||
|> tangentialArc({
|
||||
offset: angleOffset,
|
||||
radius: r,
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1048,11 +1048,11 @@ identifierGuy = 5
|
||||
part001 = startSketchOn(XY)
|
||||
|> startProfileAt([-1.2, 4.83], %)
|
||||
|> line(end = [2.8, 0])
|
||||
|> angledLine([100 + 100, 3.01], %)
|
||||
|> angledLine([abc, 3.02], %)
|
||||
|> angledLine([def(yo), 3.03], %)
|
||||
|> angledLine([ghi(2), 3.04], %)
|
||||
|> angledLine([jkl(yo) + 2, 3.05], %)
|
||||
|> angledLine(angle = 100 + 100, length = 3.01)
|
||||
|> angledLine(angle = abc, length = 3.02)
|
||||
|> angledLine(angle = def(yo), length = 3.03)
|
||||
|> angledLine(angle = ghi(2), length = 3.04)
|
||||
|> angledLine(angle = jkl(yo) + 2, length = 3.05)
|
||||
|> close()
|
||||
yo2 = hmm([identifierGuy + 5])"#;
|
||||
|
||||
@ -2031,10 +2031,10 @@ let w = f() + f()
|
||||
let ast = r#"fn bar(t) {
|
||||
return startSketchOn(XY)
|
||||
|> startProfileAt([0,0], %)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = -60,
|
||||
length = segLen(t),
|
||||
}, %)
|
||||
)
|
||||
|> line(end = [0, 0])
|
||||
|> close()
|
||||
}
|
||||
|
@ -116,9 +116,9 @@ const Part001 = startSketchOn('XY')
|
||||
|> line([0, -1], %)
|
||||
|> line([-thickness, 0], %)
|
||||
|> line([0, 1], %)
|
||||
|> angledLineToX({ angle: 120, to: pipeSmallDia }, %)
|
||||
|> angledLine(angle = 120, endAbsoluteX = pipeSmallDia)
|
||||
|> line([0, pipeLength], %)
|
||||
|> angledLineToX({ angle: 60, to: pipeLargeDia }, %)
|
||||
|> angledLine(angle = 60, endAbsoluteX = pipeLargeDia)
|
||||
|> close()
|
||||
|> revolve({ axis: 'y' }, %)
|
||||
"
|
||||
@ -152,9 +152,9 @@ const part001 = startSketchOn('XY')
|
||||
|> line([0, -1], %)
|
||||
|> line([-thickness, 0], %)
|
||||
|> line([0, 1], %)
|
||||
|> angledLineToX({ angle: 120, to: pipeSmallDia }, %)
|
||||
|> angledLine(angle = 120, endAbsoluteX = pipeSmallDia)
|
||||
|> line([0, pipeLength], %)
|
||||
|> angledLineToX({ angle: 60, to: pipeLargeDia }, %)
|
||||
|> angledLine(angle = 60, endAbsoluteX = pipeLargeDia)
|
||||
|> close()
|
||||
|> revolve({ axis: 'y' }, %)
|
||||
"
|
||||
|
@ -4468,10 +4468,10 @@ e
|
||||
/// ```
|
||||
/// exampleSketch = startSketchOn("XZ")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// angle = 30,
|
||||
/// length = 3 / cos(toRadians(30)),
|
||||
/// }, %)
|
||||
/// |> angledLine(
|
||||
/// angle = 30,
|
||||
/// length = 3 / cos(toRadians(30)),
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close(%)
|
||||
///
|
||||
|
@ -3,19 +3,23 @@
|
||||
use anyhow::Result;
|
||||
use indexmap::IndexMap;
|
||||
use kcl_derive_docs::stdlib;
|
||||
use kcmc::{each_cmd as mcmd, length_unit::LengthUnit, shared::CutType, ModelingCmd};
|
||||
use kcmc::{
|
||||
each_cmd as mcmd, length_unit::LengthUnit, ok_response::OkModelingCmdResponse, shared::CutType,
|
||||
websocket::OkWebSocketResponseData, ModelingCmd,
|
||||
};
|
||||
use kittycad_modeling_cmds as kcmc;
|
||||
use schemars::JsonSchema;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use uuid::Uuid;
|
||||
|
||||
use super::DEFAULT_TOLERANCE;
|
||||
use crate::{
|
||||
errors::{KclError, KclErrorDetails},
|
||||
execution::{
|
||||
types::{PrimitiveType, RuntimeType},
|
||||
EdgeCut, ExecState, ExtrudeSurface, FilletSurface, GeoMeta, KclValue, Solid, TagIdentifier,
|
||||
kcl_value::RuntimeType, EdgeCut, ExecState, ExtrudeSurface, FilletSurface, GeoMeta, KclValue, PrimitiveType,
|
||||
Solid, TagIdentifier,
|
||||
},
|
||||
parsing::ast::types::TagNode,
|
||||
settings::types::UnitLength,
|
||||
std::Args,
|
||||
SourceRange,
|
||||
};
|
||||
@ -165,8 +169,10 @@ async fn inner_fillet(
|
||||
edge_id,
|
||||
object_id: solid.id,
|
||||
radius: LengthUnit(radius),
|
||||
tolerance: LengthUnit(tolerance.unwrap_or(DEFAULT_TOLERANCE)),
|
||||
tolerance: LengthUnit(tolerance.unwrap_or(default_tolerance(&args.ctx.settings.units))),
|
||||
cut_type: CutType::Fillet,
|
||||
// We make this a none so that we can remove it in the future.
|
||||
face_id: None,
|
||||
}),
|
||||
)
|
||||
.await?;
|
||||
@ -193,6 +199,264 @@ async fn inner_fillet(
|
||||
Ok(solid)
|
||||
}
|
||||
|
||||
/// Get the opposite edge to the edge given.
|
||||
pub async fn get_opposite_edge(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
||||
let tag: TagIdentifier = args.get_data()?;
|
||||
|
||||
let edge = inner_get_opposite_edge(tag, exec_state, args.clone()).await?;
|
||||
Ok(KclValue::Uuid {
|
||||
value: edge,
|
||||
meta: vec![args.source_range.into()],
|
||||
})
|
||||
}
|
||||
|
||||
/// Get the opposite edge to the edge given.
|
||||
///
|
||||
/// ```no_run
|
||||
/// exampleSketch = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line(end = [10, 0])
|
||||
/// |> angledLine(
|
||||
/// angle = 60,
|
||||
/// length = 10,
|
||||
/// )
|
||||
/// |> angledLine(
|
||||
/// angle = 120,
|
||||
/// length = 10,
|
||||
/// )
|
||||
/// |> line(end = [-10, 0])
|
||||
/// |> angledLine(
|
||||
/// angle = 240,
|
||||
/// length = 10,
|
||||
/// tag = $referenceEdge,
|
||||
/// )
|
||||
/// |> close()
|
||||
///
|
||||
/// example = extrude(exampleSketch, length = 5)
|
||||
/// |> fillet(
|
||||
/// radius = 3,
|
||||
/// tags = [getOppositeEdge(referenceEdge)],
|
||||
/// )
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "getOppositeEdge",
|
||||
}]
|
||||
async fn inner_get_opposite_edge(tag: TagIdentifier, exec_state: &mut ExecState, args: Args) -> Result<Uuid, KclError> {
|
||||
if args.ctx.no_engine_commands().await {
|
||||
return Ok(exec_state.next_uuid());
|
||||
}
|
||||
let face_id = args.get_adjacent_face_to_tag(exec_state, &tag, false).await?;
|
||||
|
||||
let id = exec_state.next_uuid();
|
||||
let tagged_path = args.get_tag_engine_info(exec_state, &tag)?;
|
||||
|
||||
let resp = args
|
||||
.send_modeling_cmd(
|
||||
id,
|
||||
ModelingCmd::from(mcmd::Solid3dGetOppositeEdge {
|
||||
edge_id: tagged_path.id,
|
||||
object_id: tagged_path.sketch,
|
||||
face_id,
|
||||
}),
|
||||
)
|
||||
.await?;
|
||||
let OkWebSocketResponseData::Modeling {
|
||||
modeling_response: OkModelingCmdResponse::Solid3dGetOppositeEdge(opposite_edge),
|
||||
} = &resp
|
||||
else {
|
||||
return Err(KclError::Engine(KclErrorDetails {
|
||||
message: format!("mcmd::Solid3dGetOppositeEdge response was not as expected: {:?}", resp),
|
||||
source_ranges: vec![args.source_range],
|
||||
}));
|
||||
};
|
||||
|
||||
Ok(opposite_edge.edge)
|
||||
}
|
||||
|
||||
/// Get the next adjacent edge to the edge given.
|
||||
pub async fn get_next_adjacent_edge(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
||||
let tag: TagIdentifier = args.get_data()?;
|
||||
|
||||
let edge = inner_get_next_adjacent_edge(tag, exec_state, args.clone()).await?;
|
||||
Ok(KclValue::Uuid {
|
||||
value: edge,
|
||||
meta: vec![args.source_range.into()],
|
||||
})
|
||||
}
|
||||
|
||||
/// Get the next adjacent edge to the edge given.
|
||||
///
|
||||
/// ```no_run
|
||||
/// exampleSketch = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line(end = [10, 0])
|
||||
/// |> angledLine(
|
||||
/// angle = 60,
|
||||
/// length = 10,
|
||||
/// )
|
||||
/// |> angledLine(
|
||||
/// angle = 120,
|
||||
/// length = 10,
|
||||
/// )
|
||||
/// |> line(end = [-10, 0])
|
||||
/// |> angledLine(
|
||||
/// angle = 240,
|
||||
/// length = 10,
|
||||
/// tag = $referenceEdge,
|
||||
/// )
|
||||
/// |> close()
|
||||
///
|
||||
/// example = extrude(exampleSketch, length = 5)
|
||||
/// |> fillet(
|
||||
/// radius = 3,
|
||||
/// tags = [getNextAdjacentEdge(referenceEdge)],
|
||||
/// )
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "getNextAdjacentEdge",
|
||||
}]
|
||||
async fn inner_get_next_adjacent_edge(
|
||||
tag: TagIdentifier,
|
||||
exec_state: &mut ExecState,
|
||||
args: Args,
|
||||
) -> Result<Uuid, KclError> {
|
||||
if args.ctx.no_engine_commands().await {
|
||||
return Ok(exec_state.next_uuid());
|
||||
}
|
||||
let face_id = args.get_adjacent_face_to_tag(exec_state, &tag, false).await?;
|
||||
|
||||
let id = exec_state.next_uuid();
|
||||
let tagged_path = args.get_tag_engine_info(exec_state, &tag)?;
|
||||
|
||||
let resp = args
|
||||
.send_modeling_cmd(
|
||||
id,
|
||||
ModelingCmd::from(mcmd::Solid3dGetNextAdjacentEdge {
|
||||
edge_id: tagged_path.id,
|
||||
object_id: tagged_path.sketch,
|
||||
face_id,
|
||||
}),
|
||||
)
|
||||
.await?;
|
||||
|
||||
let OkWebSocketResponseData::Modeling {
|
||||
modeling_response: OkModelingCmdResponse::Solid3dGetNextAdjacentEdge(adjacent_edge),
|
||||
} = &resp
|
||||
else {
|
||||
return Err(KclError::Engine(KclErrorDetails {
|
||||
message: format!(
|
||||
"mcmd::Solid3dGetNextAdjacentEdge response was not as expected: {:?}",
|
||||
resp
|
||||
),
|
||||
source_ranges: vec![args.source_range],
|
||||
}));
|
||||
};
|
||||
|
||||
adjacent_edge.edge.ok_or_else(|| {
|
||||
KclError::Type(KclErrorDetails {
|
||||
message: format!("No edge found next adjacent to tag: `{}`", tag.value),
|
||||
source_ranges: vec![args.source_range],
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
/// Get the previous adjacent edge to the edge given.
|
||||
pub async fn get_previous_adjacent_edge(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
||||
let tag: TagIdentifier = args.get_data()?;
|
||||
|
||||
let edge = inner_get_previous_adjacent_edge(tag, exec_state, args.clone()).await?;
|
||||
Ok(KclValue::Uuid {
|
||||
value: edge,
|
||||
meta: vec![args.source_range.into()],
|
||||
})
|
||||
}
|
||||
|
||||
/// Get the previous adjacent edge to the edge given.
|
||||
///
|
||||
/// ```no_run
|
||||
/// exampleSketch = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line(end = [10, 0])
|
||||
/// |> angledLine(
|
||||
/// angle = 60,
|
||||
/// length = 10,
|
||||
/// )
|
||||
/// |> angledLine(
|
||||
/// angle = 120,
|
||||
/// length = 10,
|
||||
/// )
|
||||
/// |> line(end = [-10, 0])
|
||||
/// |> angledLine(
|
||||
/// angle = 240,
|
||||
/// length = 10,
|
||||
/// tag = $referenceEdge,
|
||||
/// )
|
||||
/// |> close()
|
||||
///
|
||||
/// example = extrude(exampleSketch, length = 5)
|
||||
/// |> fillet(
|
||||
/// radius = 3,
|
||||
/// tags = [getPreviousAdjacentEdge(referenceEdge)],
|
||||
/// )
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "getPreviousAdjacentEdge",
|
||||
}]
|
||||
async fn inner_get_previous_adjacent_edge(
|
||||
tag: TagIdentifier,
|
||||
exec_state: &mut ExecState,
|
||||
args: Args,
|
||||
) -> Result<Uuid, KclError> {
|
||||
if args.ctx.no_engine_commands().await {
|
||||
return Ok(exec_state.next_uuid());
|
||||
}
|
||||
let face_id = args.get_adjacent_face_to_tag(exec_state, &tag, false).await?;
|
||||
|
||||
let id = exec_state.next_uuid();
|
||||
let tagged_path = args.get_tag_engine_info(exec_state, &tag)?;
|
||||
|
||||
let resp = args
|
||||
.send_modeling_cmd(
|
||||
id,
|
||||
ModelingCmd::from(mcmd::Solid3dGetPrevAdjacentEdge {
|
||||
edge_id: tagged_path.id,
|
||||
object_id: tagged_path.sketch,
|
||||
face_id,
|
||||
}),
|
||||
)
|
||||
.await?;
|
||||
let OkWebSocketResponseData::Modeling {
|
||||
modeling_response: OkModelingCmdResponse::Solid3dGetPrevAdjacentEdge(adjacent_edge),
|
||||
} = &resp
|
||||
else {
|
||||
return Err(KclError::Engine(KclErrorDetails {
|
||||
message: format!(
|
||||
"mcmd::Solid3dGetPrevAdjacentEdge response was not as expected: {:?}",
|
||||
resp
|
||||
),
|
||||
source_ranges: vec![args.source_range],
|
||||
}));
|
||||
};
|
||||
|
||||
adjacent_edge.edge.ok_or_else(|| {
|
||||
KclError::Type(KclErrorDetails {
|
||||
message: format!("No edge found previous adjacent to tag: `{}`", tag.value),
|
||||
source_ranges: vec![args.source_range],
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
pub(crate) fn default_tolerance(units: &UnitLength) -> f64 {
|
||||
match units {
|
||||
UnitLength::Mm => 0.0000001,
|
||||
UnitLength::Cm => 0.0000001,
|
||||
UnitLength::In => 0.0000001,
|
||||
UnitLength::Ft => 0.0001,
|
||||
UnitLength::Yd => 0.001,
|
||||
UnitLength::M => 0.001,
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
@ -104,10 +104,10 @@ pub async fn sqrt(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
|
||||
/// ```no_run
|
||||
/// exampleSketch = startSketchOn("XZ")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 50,
|
||||
/// length = sqrt(2500),
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
///
|
||||
@ -137,15 +137,15 @@ pub async fn abs(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, Kc
|
||||
/// sketch001 = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line(end = [8, 0])
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = abs(myAngle),
|
||||
/// length = 5,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> line(end = [-5, 0])
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = myAngle,
|
||||
/// length = 5,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> close()
|
||||
///
|
||||
/// baseExtrusion = extrude(sketch001, length = 5)
|
||||
@ -255,10 +255,10 @@ pub async fn min(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, Kc
|
||||
/// ```no_run
|
||||
/// exampleSketch = startSketchOn("XZ")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 70,
|
||||
/// length = min(15, 31, 4, 13, 22)
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> line(end = [20, 0])
|
||||
/// |> close()
|
||||
///
|
||||
@ -292,10 +292,10 @@ pub async fn max(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, Kc
|
||||
/// ```no_run
|
||||
/// exampleSketch = startSketchOn("XZ")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 70,
|
||||
/// length = max(15, 31, 4, 13, 22)
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> line(end = [20, 0])
|
||||
/// |> close()
|
||||
///
|
||||
@ -343,10 +343,10 @@ pub async fn pow(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, Kc
|
||||
/// ```no_run
|
||||
/// exampleSketch = startSketchOn("XZ")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 50,
|
||||
/// length = pow(5, 2),
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
///
|
||||
@ -373,10 +373,10 @@ pub async fn acos(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
|
||||
/// ```no_run
|
||||
/// sketch001 = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = toDegrees(acos(0.5)),
|
||||
/// length = 10,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> line(end = [5, 0])
|
||||
/// |> line(endAbsolute = [12, 0])
|
||||
/// |> close()
|
||||
@ -404,10 +404,10 @@ pub async fn asin(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
|
||||
/// ```no_run
|
||||
/// sketch001 = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = toDegrees(asin(0.5)),
|
||||
/// length = 20,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
///
|
||||
@ -434,10 +434,10 @@ pub async fn atan(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
|
||||
/// ```no_run
|
||||
/// sketch001 = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = toDegrees(atan(1.25)),
|
||||
/// length = 20,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
///
|
||||
@ -464,10 +464,10 @@ pub async fn atan2(_exec_state: &mut ExecState, args: Args) -> Result<KclValue,
|
||||
/// ```no_run
|
||||
/// sketch001 = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = toDegrees(atan2(1.25, 2)),
|
||||
/// length = 20,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
///
|
||||
@ -628,10 +628,10 @@ pub async fn e(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclE
|
||||
/// ```no_run
|
||||
/// exampleSketch = startSketchOn("XZ")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 30,
|
||||
/// length = 2 * e() ^ 2,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
///
|
||||
@ -660,10 +660,10 @@ pub async fn tau(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, Kc
|
||||
/// ```no_run
|
||||
/// exampleSketch = startSketchOn("XZ")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 50,
|
||||
/// length = 10 * tau(),
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
///
|
||||
@ -691,10 +691,10 @@ pub async fn to_radians(_exec_state: &mut ExecState, args: Args) -> Result<KclVa
|
||||
/// ```no_run
|
||||
/// exampleSketch = startSketchOn("XZ")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 50,
|
||||
/// length = 70 * cos(toRadians(45)),
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
///
|
||||
@ -721,10 +721,10 @@ pub async fn to_degrees(_exec_state: &mut ExecState, args: Args) -> Result<KclVa
|
||||
/// ```no_run
|
||||
/// exampleSketch = startSketchOn("XZ")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 50,
|
||||
/// length = 70 * cos(toDegrees(pi()/4)),
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
///
|
||||
|
@ -388,18 +388,19 @@ pub async fn segment_length(exec_state: &mut ExecState, args: Args) -> Result<Kc
|
||||
/// ```no_run
|
||||
/// exampleSketch = startSketchOn("XZ")
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 60,
|
||||
/// length = 10,
|
||||
/// }, %, $thing)
|
||||
/// tag = $thing,
|
||||
/// )
|
||||
/// |> tangentialArc({
|
||||
/// offset = -120,
|
||||
/// radius = 5,
|
||||
/// }, %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = -60,
|
||||
/// length = segLen(thing),
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> close()
|
||||
///
|
||||
/// example = extrude(exampleSketch, length = 5)
|
||||
@ -442,9 +443,9 @@ pub async fn segment_angle(exec_state: &mut ExecState, args: Args) -> Result<Kcl
|
||||
/// |> line(end = [10, 0])
|
||||
/// |> line(end = [5, 10], tag = $seg01)
|
||||
/// |> line(end = [-10, 0])
|
||||
/// |> angledLine([segAng(seg01), 10], %)
|
||||
/// |> angledLine(angle = segAng(seg01), length = 10)
|
||||
/// |> line(end = [-10, 0])
|
||||
/// |> angledLine([segAng(seg01), -15], %)
|
||||
/// |> angledLine(angle = segAng(seg01), length = -15)
|
||||
/// |> close()
|
||||
///
|
||||
/// example = extrude(exampleSketch, length = 4)
|
||||
@ -487,10 +488,10 @@ pub async fn tangent_to_end(exec_state: &mut ExecState, args: Args) -> Result<Kc
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line(end = [20, 0])
|
||||
/// |> tangentialArcToRelative([0, 10], %, $arc1)
|
||||
/// |> angledLine({
|
||||
/// angle: tangentToEnd(arc1),
|
||||
/// length: 20,
|
||||
/// }, %)
|
||||
/// |> angledLine(
|
||||
/// angle = tangentToEnd(arc1),
|
||||
/// length = 20,
|
||||
/// )
|
||||
/// |> tangentialArcToRelative([0, -10], %)
|
||||
/// |> close()
|
||||
///
|
||||
@ -503,10 +504,10 @@ pub async fn tangent_to_end(exec_state: &mut ExecState, args: Args) -> Result<Kc
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line(end = [0, 20])
|
||||
/// |> tangentialArcTo([10, 20], %, $arc1)
|
||||
/// |> angledLine({
|
||||
/// angle: tangentToEnd(arc1),
|
||||
/// length: 20,
|
||||
/// }, %)
|
||||
/// |> angledLine(
|
||||
/// angle = tangentToEnd(arc1),
|
||||
/// length = 20,
|
||||
/// )
|
||||
/// |> tangentialArcToRelative([-10, 0], %)
|
||||
/// |> close()
|
||||
///
|
||||
@ -517,10 +518,10 @@ pub async fn tangent_to_end(exec_state: &mut ExecState, args: Args) -> Result<Kc
|
||||
/// rectangleSketch = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line(end = [10, 0], tag = $seg1)
|
||||
/// |> angledLine({
|
||||
/// angle: tangentToEnd(seg1),
|
||||
/// length: 10,
|
||||
/// }, %)
|
||||
/// |> angledLine(
|
||||
/// angle = tangentToEnd(seg1),
|
||||
/// length = 10,
|
||||
/// )
|
||||
/// |> line(end = [0, 10])
|
||||
/// |> line(end = [-20, 0])
|
||||
/// |> close()
|
||||
@ -535,7 +536,7 @@ pub async fn tangent_to_end(exec_state: &mut ExecState, args: Args) -> Result<Kc
|
||||
/// end: [10, 10],
|
||||
/// interior: [5, 1]
|
||||
/// }, %, $arc1)
|
||||
/// |> angledLine([tangentToEnd(arc1), 20], %)
|
||||
/// |> angledLine(angle = tangentToEnd(arc1), length = 20)
|
||||
/// |> close()
|
||||
/// ```
|
||||
///
|
||||
@ -545,7 +546,7 @@ pub async fn tangent_to_end(exec_state: &mut ExecState, args: Args) -> Result<Kc
|
||||
///
|
||||
/// triangleSketch = startSketchOn("XY")
|
||||
/// |> startProfileAt([-5, 0], %)
|
||||
/// |> angledLine([tangentToEnd(circ), 10], %)
|
||||
/// |> angledLine(angle = tangentToEnd(circ), length = 10)
|
||||
/// |> line(end = [-15, 0])
|
||||
/// |> close()
|
||||
/// ```
|
||||
@ -595,10 +596,10 @@ pub async fn angle_to_match_length_x(exec_state: &mut ExecState, args: Args) ->
|
||||
/// sketch001 = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line(end = [2, 5], tag = $seg01)
|
||||
/// |> angledLineToX([
|
||||
/// -angleToMatchLengthX(seg01, 7, %),
|
||||
/// 10
|
||||
/// ], %)
|
||||
/// |> angledLine(
|
||||
/// angle = -angleToMatchLengthX(seg01, 7, %),
|
||||
/// endAbsoluteX = 10,
|
||||
/// )
|
||||
/// |> close()
|
||||
///
|
||||
/// extrusion = extrude(sketch001, length = 5)
|
||||
@ -658,10 +659,10 @@ pub async fn angle_to_match_length_y(exec_state: &mut ExecState, args: Args) ->
|
||||
/// sketch001 = startSketchOn('XZ')
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> line(end = [1, 2], tag = $seg01)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = angleToMatchLengthY(seg01, 15, %),
|
||||
/// length = 5,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
///
|
||||
|
@ -283,16 +283,16 @@ pub async fn x_line(exec_state: &mut ExecState, args: Args) -> Result<KclValue,
|
||||
/// exampleSketch = startSketchOn(XZ)
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> xLine(length = 15)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 80,
|
||||
/// length = 15,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> line(end = [8, -10])
|
||||
/// |> xLine(length = 10)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 120,
|
||||
/// length = 30,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> xLine(length = -15)
|
||||
/// |> close()
|
||||
///
|
||||
@ -352,10 +352,10 @@ pub async fn y_line(exec_state: &mut ExecState, args: Args) -> Result<KclValue,
|
||||
/// exampleSketch = startSketchOn(XZ)
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> yLine(length = 15)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 30,
|
||||
/// length = 15,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> line(end = [8, -10])
|
||||
/// |> yLine(length = -5)
|
||||
/// |> close()
|
||||
@ -432,10 +432,10 @@ pub async fn angled_line(exec_state: &mut ExecState, args: Args) -> Result<KclVa
|
||||
/// exampleSketch = startSketchOn(XZ)
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> yLine(endAbsolute = 15)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 30,
|
||||
/// length = 15,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> line(end = [8, -10])
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
@ -1320,9 +1320,9 @@ pub async fn profile_start_x(exec_state: &mut ExecState, args: Args) -> Result<K
|
||||
/// ```no_run
|
||||
/// sketch001 = startSketchOn(XY)
|
||||
/// |> startProfileAt([5, 2], %)
|
||||
/// |> angledLine([-26.6, 50], %)
|
||||
/// |> angledLine([90, 50], %)
|
||||
/// |> angledLineToX({ angle = 30, to = profileStartX(%) }, %)
|
||||
/// |> angledLine(angle = -26.6, length = 50)
|
||||
/// |> angledLine(angle = 90, length = 50)
|
||||
/// |> angledLine(angle = 30, endAbsoluteX = profileStartX(%))
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "profileStartX"
|
||||
@ -1345,8 +1345,8 @@ pub async fn profile_start_y(exec_state: &mut ExecState, args: Args) -> Result<K
|
||||
/// ```no_run
|
||||
/// sketch001 = startSketchOn(XY)
|
||||
/// |> startProfileAt([5, 2], %)
|
||||
/// |> angledLine({ angle = -60, length = 14 }, %)
|
||||
/// |> angledLineToY({ angle = 30, to = profileStartY(%) }, %)
|
||||
/// |> angledLine(angle = -60, length = 14 )
|
||||
/// |> angledLine(angle = 30, endAbsoluteY = profileStartY(%))
|
||||
/// ```
|
||||
#[stdlib {
|
||||
name = "profileStartY"
|
||||
@ -1369,8 +1369,8 @@ pub async fn profile_start(exec_state: &mut ExecState, args: Args) -> Result<Kcl
|
||||
/// ```no_run
|
||||
/// sketch001 = startSketchOn(XY)
|
||||
/// |> startProfileAt([5, 2], %)
|
||||
/// |> angledLine({ angle = 120, length = 50 }, %, $seg01)
|
||||
/// |> angledLine({ angle = segAng(seg01) + 120, length = 50 }, %)
|
||||
/// |> angledLine(angle = 120, length = 50 , tag = $seg01)
|
||||
/// |> angledLine(angle = segAng(seg01) + 120, length = 50 )
|
||||
/// |> line(end = profileStart(%))
|
||||
/// |> close()
|
||||
/// |> extrude(length = 20)
|
||||
@ -1739,15 +1739,15 @@ pub async fn tangential_arc(exec_state: &mut ExecState, args: Args) -> Result<Kc
|
||||
/// ```no_run
|
||||
/// exampleSketch = startSketchOn(XZ)
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 60,
|
||||
/// length = 10,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> tangentialArc({ radius = 10, offset = -120 }, %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = -60,
|
||||
/// length = 10,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> close()
|
||||
///
|
||||
/// example = extrude(exampleSketch, length = 10)
|
||||
@ -1873,10 +1873,10 @@ pub async fn tangential_arc_to_relative(exec_state: &mut ExecState, args: Args)
|
||||
/// ```no_run
|
||||
/// exampleSketch = startSketchOn(XZ)
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 60,
|
||||
/// length = 10,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> tangentialArcTo([15, 15], %)
|
||||
/// |> line(end = [10, -15])
|
||||
/// |> close()
|
||||
@ -1940,10 +1940,10 @@ async fn inner_tangential_arc_to(
|
||||
/// ```no_run
|
||||
/// exampleSketch = startSketchOn(XZ)
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 45,
|
||||
/// length = 10,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> tangentialArcToRelative([0, -10], %)
|
||||
/// |> line(end = [-10, 0])
|
||||
/// |> close()
|
||||
|
@ -105,20 +105,20 @@ pub async fn sweep(exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
|
||||
/// |> sweep(path = helixPath)
|
||||
/// ```
|
||||
///
|
||||
/// ```
|
||||
/// ```no_run
|
||||
/// // Sweep two sketches along the same path.
|
||||
///
|
||||
/// sketch001 = startSketchOn('XY')
|
||||
/// rectangleSketch = startProfileAt([-200, 23.86], sketch001)
|
||||
/// |> angledLine([0, 73.47], %, $rectangleSegmentA001)
|
||||
/// |> angledLine([
|
||||
/// segAng(rectangleSegmentA001) - 90,
|
||||
/// 50.61
|
||||
/// ], %)
|
||||
/// |> angledLine([
|
||||
/// segAng(rectangleSegmentA001),
|
||||
/// -segLen(rectangleSegmentA001)
|
||||
/// ], %)
|
||||
/// |> angledLine(angle = 0, length = 73.47, tag = $rectangleSegmentA001)
|
||||
/// |> angledLine(
|
||||
/// angle = segAng(rectangleSegmentA001) - 90,
|
||||
/// length = 50.61,
|
||||
/// )
|
||||
/// |> angledLine(
|
||||
/// angle = segAng(rectangleSegmentA001),
|
||||
/// length = -segLen(rectangleSegmentA001),
|
||||
/// )
|
||||
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
/// |> close()
|
||||
///
|
||||
|
@ -113,15 +113,15 @@ pub async fn scale(exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
|
||||
///
|
||||
/// sketch001 = startSketchOn('XY')
|
||||
/// rectangleSketch = startProfileAt([-200, 23.86], sketch001)
|
||||
/// |> angledLine([0, 73.47], %, $rectangleSegmentA001)
|
||||
/// |> angledLine([
|
||||
/// segAng(rectangleSegmentA001) - 90,
|
||||
/// 50.61
|
||||
/// ], %)
|
||||
/// |> angledLine([
|
||||
/// segAng(rectangleSegmentA001),
|
||||
/// -segLen(rectangleSegmentA001)
|
||||
/// ], %)
|
||||
/// |> angledLine(angle = 0, length = 73.47, tag = $rectangleSegmentA001)
|
||||
/// |> angledLine(
|
||||
/// angle = segAng(rectangleSegmentA001) - 90,
|
||||
/// length = 50.61,
|
||||
/// )
|
||||
/// |> angledLine(
|
||||
/// angle = segAng(rectangleSegmentA001),
|
||||
/// length = -segLen(rectangleSegmentA001),
|
||||
/// )
|
||||
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
/// |> close()
|
||||
///
|
||||
@ -291,15 +291,15 @@ pub async fn translate(exec_state: &mut ExecState, args: Args) -> Result<KclValu
|
||||
///
|
||||
/// sketch001 = startSketchOn('XY')
|
||||
/// rectangleSketch = startProfileAt([-200, 23.86], sketch001)
|
||||
/// |> angledLine([0, 73.47], %, $rectangleSegmentA001)
|
||||
/// |> angledLine([
|
||||
/// segAng(rectangleSegmentA001) - 90,
|
||||
/// 50.61
|
||||
/// ], %)
|
||||
/// |> angledLine([
|
||||
/// segAng(rectangleSegmentA001),
|
||||
/// -segLen(rectangleSegmentA001)
|
||||
/// ], %)
|
||||
/// |> angledLine(angle = 0, length = 73.47, tag = $rectangleSegmentA001)
|
||||
/// |> angledLine(
|
||||
/// angle = segAng(rectangleSegmentA001) - 90,
|
||||
/// length = 50.61,
|
||||
/// )
|
||||
/// |> angledLine(
|
||||
/// angle = segAng(rectangleSegmentA001),
|
||||
/// length = -segLen(rectangleSegmentA001),
|
||||
/// )
|
||||
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
/// |> close()
|
||||
///
|
||||
@ -689,15 +689,15 @@ pub async fn rotate(exec_state: &mut ExecState, args: Args) -> Result<KclValue,
|
||||
///
|
||||
/// sketch001 = startSketchOn('XY')
|
||||
/// rectangleSketch = startProfileAt([-200, 23.86], sketch001)
|
||||
/// |> angledLine([0, 73.47], %, $rectangleSegmentA001)
|
||||
/// |> angledLine([
|
||||
/// segAng(rectangleSegmentA001) - 90,
|
||||
/// 50.61
|
||||
/// ], %)
|
||||
/// |> angledLine([
|
||||
/// segAng(rectangleSegmentA001),
|
||||
/// -segLen(rectangleSegmentA001)
|
||||
/// ], %)
|
||||
/// |> angledLine(angle = 0, length = 73.47, tag = $rectangleSegmentA001)
|
||||
/// |> angledLine(
|
||||
/// angle = segAng(rectangleSegmentA001) - 90,
|
||||
/// length = 50.61,
|
||||
/// )
|
||||
/// |> angledLine(
|
||||
/// angle = segAng(rectangleSegmentA001),
|
||||
/// length = -segLen(rectangleSegmentA001),
|
||||
/// )
|
||||
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
/// |> close()
|
||||
///
|
||||
|
@ -18,10 +18,10 @@ export PI = 3.14159265358979323846264338327950288_
|
||||
/// ```
|
||||
/// exampleSketch = startSketchOn(XZ)
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 30,
|
||||
/// length = 2 * E ^ 2,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
///
|
||||
@ -34,10 +34,10 @@ export E = 2.71828182845904523536028747135266250_
|
||||
/// ```
|
||||
/// exampleSketch = startSketchOn(XZ)
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 50,
|
||||
/// length = 10 * TAU,
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
///
|
||||
@ -50,10 +50,10 @@ export TAU = 6.28318530717958647692528676655900577_
|
||||
/// ```
|
||||
/// exampleSketch = startSketchOn(XZ)
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 30,
|
||||
/// length = 3 / cos(toRadians(30)),
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
///
|
||||
@ -67,10 +67,10 @@ export fn cos(@num: number(rad)): number(_) {}
|
||||
/// ```
|
||||
/// exampleSketch = startSketchOn(XZ)
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 50,
|
||||
/// length = 15 / sin(toDegrees(135)),
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
///
|
||||
@ -84,10 +84,10 @@ export fn sin(@num: number(rad)): number(_) {}
|
||||
/// ```
|
||||
/// exampleSketch = startSketchOn(XZ)
|
||||
/// |> startProfileAt([0, 0], %)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(
|
||||
/// angle = 50,
|
||||
/// length = 50 * tan(1/2),
|
||||
/// }, %)
|
||||
/// )
|
||||
/// |> yLine(endAbsolute = 0)
|
||||
/// |> close()
|
||||
///
|
||||
|
@ -42,15 +42,17 @@ export type string
|
||||
/// ```norun,inline
|
||||
/// startSketchOn('XZ')
|
||||
/// |> startProfileAt(origin, %)
|
||||
/// |> angledLine({angle = 0, length = 191.26}, %, $rectangleSegmentA001)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(angle = 0, length = 191.26, tag = $rectangleSegmentA001)
|
||||
/// |> angledLine(
|
||||
/// angle = segAng(rectangleSegmentA001) - 90,
|
||||
/// length = 196.99,
|
||||
/// }, %, $rectangleSegmentB001)
|
||||
/// |> angledLine({
|
||||
/// tag = $rectangleSegmentB001,
|
||||
/// )
|
||||
/// |> angledLine(
|
||||
/// angle = segAng(rectangleSegmentA001),
|
||||
/// length = -segLen(rectangleSegmentA001),
|
||||
/// }, %, $rectangleSegmentC001)
|
||||
/// tag = $rectangleSegmentC001,
|
||||
/// )
|
||||
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
/// |> close()
|
||||
/// ```
|
||||
@ -74,15 +76,16 @@ export type string
|
||||
/// fn rect(origin) {
|
||||
/// return startSketchOn('XZ')
|
||||
/// |> startProfileAt(origin, %)
|
||||
/// |> angledLine({angle = 0, length = 191.26}, %, $rectangleSegmentA001)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(angle = 0, length = 191.26, tag = $rectangleSegmentA001)
|
||||
/// |> angledLine(
|
||||
/// angle = segAng(rectangleSegmentA001) - 90,
|
||||
/// length = 196.99
|
||||
/// }, %, $rectangleSegmentB001)
|
||||
/// |> angledLine({
|
||||
/// length = 196.99,
|
||||
/// tag = $rectangleSegmentB001)
|
||||
/// |> angledLine(
|
||||
/// angle = segAng(rectangleSegmentA001),
|
||||
/// length = -segLen(rectangleSegmentA001)
|
||||
/// }, %, $rectangleSegmentC001)
|
||||
/// length = -segLen(rectangleSegmentA001),
|
||||
/// tag = $rectangleSegmentC001
|
||||
/// )
|
||||
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
/// |> close()
|
||||
/// }
|
||||
@ -102,15 +105,15 @@ export type string
|
||||
/// fn rect(origin) {
|
||||
/// return startSketchOn('XZ')
|
||||
/// |> startProfileAt(origin, %)
|
||||
/// |> angledLine({angle = 0, length = 191.26}, %, $rectangleSegmentA001)
|
||||
/// |> angledLine({
|
||||
/// |> angledLine(angle = 0, length = 191.26, tag = $rectangleSegmentA001)
|
||||
/// |> angledLine(
|
||||
/// angle = segAng(rectangleSegmentA001) - 90,
|
||||
/// length = 196.99
|
||||
/// }, %, $rectangleSegmentB001)
|
||||
/// |> angledLine({
|
||||
/// , %, $rectangleSegmentB001)
|
||||
/// |> angledLine(
|
||||
/// angle = segAng(rectangleSegmentA001),
|
||||
/// length = -segLen(rectangleSegmentA001)
|
||||
/// }, %, $rectangleSegmentC001)
|
||||
/// , %, $rectangleSegmentC001)
|
||||
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
/// |> close()
|
||||
/// }
|
||||
|
@ -5,7 +5,11 @@ description: Artifact commands angled_line.kcl
|
||||
[
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "edge_lines_visible",
|
||||
"hidden": false
|
||||
@ -13,7 +17,23 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "set_scene_units",
|
||||
"unit": "mm"
|
||||
}
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "object_visible",
|
||||
"object_id": "[uuid]",
|
||||
@ -22,7 +42,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "object_visible",
|
||||
"object_id": "[uuid]",
|
||||
@ -31,7 +55,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
10,
|
||||
29,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "make_plane",
|
||||
"origin": {
|
||||
@ -56,7 +84,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
35,
|
||||
67,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "enable_sketch_mode",
|
||||
"entity_id": "[uuid]",
|
||||
@ -72,14 +104,22 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
35,
|
||||
67,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "start_path"
|
||||
}
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
35,
|
||||
67,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "move_path_pen",
|
||||
"path": "[uuid]",
|
||||
@ -92,14 +132,22 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
35,
|
||||
67,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "sketch_mode_disable"
|
||||
}
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
73,
|
||||
97,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "extend_path",
|
||||
"path": "[uuid]",
|
||||
@ -116,7 +164,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
103,
|
||||
142,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "extend_path",
|
||||
"path": "[uuid]",
|
||||
@ -133,7 +185,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
148,
|
||||
174,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "extend_path",
|
||||
"path": "[uuid]",
|
||||
@ -150,7 +206,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
180,
|
||||
229,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "extend_path",
|
||||
"path": "[uuid]",
|
||||
@ -167,7 +227,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
235,
|
||||
262,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "extend_path",
|
||||
"path": "[uuid]",
|
||||
@ -184,7 +248,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
268,
|
||||
275,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "close_path",
|
||||
"path_id": "[uuid]"
|
||||
@ -192,7 +260,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "enable_sketch_mode",
|
||||
"entity_id": "[uuid]",
|
||||
@ -208,7 +280,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "extrude",
|
||||
"target": "[uuid]",
|
||||
@ -218,14 +294,22 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "sketch_mode_disable"
|
||||
}
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "object_bring_to_front",
|
||||
"object_id": "[uuid]"
|
||||
@ -233,7 +317,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "solid3d_get_extrusion_face_info",
|
||||
"object_id": "[uuid]",
|
||||
@ -242,7 +330,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "solid3d_get_opposite_edge",
|
||||
"object_id": "[uuid]",
|
||||
@ -252,7 +344,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "solid3d_get_next_adjacent_edge",
|
||||
"object_id": "[uuid]",
|
||||
@ -262,7 +358,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "solid3d_get_opposite_edge",
|
||||
"object_id": "[uuid]",
|
||||
@ -272,7 +372,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "solid3d_get_next_adjacent_edge",
|
||||
"object_id": "[uuid]",
|
||||
@ -282,7 +386,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "solid3d_get_opposite_edge",
|
||||
"object_id": "[uuid]",
|
||||
@ -292,7 +400,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "solid3d_get_next_adjacent_edge",
|
||||
"object_id": "[uuid]",
|
||||
@ -302,7 +414,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "solid3d_get_opposite_edge",
|
||||
"object_id": "[uuid]",
|
||||
@ -312,7 +428,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "solid3d_get_next_adjacent_edge",
|
||||
"object_id": "[uuid]",
|
||||
@ -322,7 +442,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "solid3d_get_opposite_edge",
|
||||
"object_id": "[uuid]",
|
||||
@ -332,7 +456,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "solid3d_get_next_adjacent_edge",
|
||||
"object_id": "[uuid]",
|
||||
@ -342,7 +470,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "solid3d_get_opposite_edge",
|
||||
"object_id": "[uuid]",
|
||||
@ -352,7 +484,11 @@ description: Artifact commands angled_line.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "solid3d_get_next_adjacent_edge",
|
||||
"object_id": "[uuid]",
|
||||
|
@ -5,13 +5,13 @@ flowchart LR
|
||||
3["Segment<br>[73, 97, 0]"]
|
||||
4["Segment<br>[103, 142, 0]"]
|
||||
5["Segment<br>[148, 174, 0]"]
|
||||
6["Segment<br>[180, 217, 0]"]
|
||||
7["Segment<br>[223, 250, 0]"]
|
||||
8["Segment<br>[256, 264, 0]"]
|
||||
6["Segment<br>[180, 229, 0]"]
|
||||
7["Segment<br>[235, 262, 0]"]
|
||||
8["Segment<br>[268, 275, 0]"]
|
||||
9[Solid2d]
|
||||
end
|
||||
1["Plane<br>[10, 29, 0]"]
|
||||
10["Sweep Extrusion<br>[270, 289, 0]"]
|
||||
10["Sweep Extrusion<br>[281, 300, 0]"]
|
||||
11[Wall]
|
||||
12[Wall]
|
||||
13[Wall]
|
||||
|
@ -6,13 +6,10 @@ description: Result of parsing angled_line.kcl
|
||||
"Ok": {
|
||||
"body": [
|
||||
{
|
||||
"commentStart": 0,
|
||||
"declaration": {
|
||||
"commentStart": 0,
|
||||
"end": 0,
|
||||
"end": 300,
|
||||
"id": {
|
||||
"commentStart": 0,
|
||||
"end": 0,
|
||||
"end": 7,
|
||||
"name": "part001",
|
||||
"start": 0,
|
||||
"type": "Identifier"
|
||||
@ -22,46 +19,33 @@ description: Result of parsing angled_line.kcl
|
||||
{
|
||||
"arguments": [
|
||||
{
|
||||
"commentStart": 24,
|
||||
"end": 0,
|
||||
"end": 28,
|
||||
"raw": "'XY'",
|
||||
"start": 0,
|
||||
"start": 24,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": "XY"
|
||||
}
|
||||
],
|
||||
"callee": {
|
||||
"abs_path": false,
|
||||
"commentStart": 10,
|
||||
"end": 0,
|
||||
"name": {
|
||||
"commentStart": 10,
|
||||
"end": 0,
|
||||
"name": "startSketchOn",
|
||||
"start": 0,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"path": [],
|
||||
"start": 0,
|
||||
"type": "Name"
|
||||
"end": 23,
|
||||
"name": "startSketchOn",
|
||||
"start": 10,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"commentStart": 10,
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 29,
|
||||
"start": 10,
|
||||
"type": "CallExpression",
|
||||
"type": "CallExpression"
|
||||
},
|
||||
{
|
||||
"arguments": [
|
||||
{
|
||||
"commentStart": 50,
|
||||
"elements": [
|
||||
{
|
||||
"commentStart": 51,
|
||||
"end": 0,
|
||||
"end": 55,
|
||||
"raw": "4.83",
|
||||
"start": 0,
|
||||
"start": 51,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": {
|
||||
@ -70,10 +54,9 @@ description: Result of parsing angled_line.kcl
|
||||
}
|
||||
},
|
||||
{
|
||||
"commentStart": 57,
|
||||
"end": 0,
|
||||
"end": 62,
|
||||
"raw": "12.56",
|
||||
"start": 0,
|
||||
"start": 57,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": {
|
||||
@ -82,37 +65,26 @@ description: Result of parsing angled_line.kcl
|
||||
}
|
||||
}
|
||||
],
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 63,
|
||||
"start": 50,
|
||||
"type": "ArrayExpression",
|
||||
"type": "ArrayExpression"
|
||||
},
|
||||
{
|
||||
"commentStart": 65,
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 66,
|
||||
"start": 65,
|
||||
"type": "PipeSubstitution",
|
||||
"type": "PipeSubstitution"
|
||||
}
|
||||
],
|
||||
"callee": {
|
||||
"abs_path": false,
|
||||
"commentStart": 35,
|
||||
"end": 0,
|
||||
"name": {
|
||||
"commentStart": 35,
|
||||
"end": 0,
|
||||
"name": "startProfileAt",
|
||||
"start": 0,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"path": [],
|
||||
"start": 0,
|
||||
"type": "Name"
|
||||
"end": 49,
|
||||
"name": "startProfileAt",
|
||||
"start": 35,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"commentStart": 35,
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 67,
|
||||
"start": 35,
|
||||
"type": "CallExpression",
|
||||
"type": "CallExpression"
|
||||
},
|
||||
@ -121,20 +93,17 @@ description: Result of parsing angled_line.kcl
|
||||
{
|
||||
"type": "LabeledArg",
|
||||
"label": {
|
||||
"commentStart": 78,
|
||||
"end": 0,
|
||||
"end": 81,
|
||||
"name": "end",
|
||||
"start": 0,
|
||||
"start": 78,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"arg": {
|
||||
"commentStart": 84,
|
||||
"elements": [
|
||||
{
|
||||
"commentStart": 85,
|
||||
"end": 0,
|
||||
"end": 89,
|
||||
"raw": "15.1",
|
||||
"start": 0,
|
||||
"start": 85,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": {
|
||||
@ -143,10 +112,9 @@ description: Result of parsing angled_line.kcl
|
||||
}
|
||||
},
|
||||
{
|
||||
"commentStart": 91,
|
||||
"end": 0,
|
||||
"end": 95,
|
||||
"raw": "2.48",
|
||||
"start": 0,
|
||||
"start": 91,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": {
|
||||
@ -155,31 +123,21 @@ description: Result of parsing angled_line.kcl
|
||||
}
|
||||
}
|
||||
],
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 96,
|
||||
"start": 84,
|
||||
"type": "ArrayExpression",
|
||||
"type": "ArrayExpression"
|
||||
}
|
||||
}
|
||||
],
|
||||
"callee": {
|
||||
"abs_path": false,
|
||||
"commentStart": 73,
|
||||
"end": 0,
|
||||
"name": {
|
||||
"commentStart": 73,
|
||||
"end": 0,
|
||||
"name": "line",
|
||||
"start": 0,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"path": [],
|
||||
"start": 0,
|
||||
"type": "Name"
|
||||
"end": 77,
|
||||
"name": "line",
|
||||
"start": 73,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"commentStart": 73,
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 97,
|
||||
"start": 73,
|
||||
"type": "CallExpressionKw",
|
||||
"type": "CallExpressionKw",
|
||||
"unlabeled": null
|
||||
@ -189,20 +147,17 @@ description: Result of parsing angled_line.kcl
|
||||
{
|
||||
"type": "LabeledArg",
|
||||
"label": {
|
||||
"commentStart": 108,
|
||||
"end": 0,
|
||||
"end": 111,
|
||||
"name": "end",
|
||||
"start": 0,
|
||||
"start": 108,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"arg": {
|
||||
"commentStart": 114,
|
||||
"elements": [
|
||||
{
|
||||
"commentStart": 115,
|
||||
"end": 0,
|
||||
"end": 119,
|
||||
"raw": "3.15",
|
||||
"start": 0,
|
||||
"start": 115,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": {
|
||||
@ -212,10 +167,9 @@ description: Result of parsing angled_line.kcl
|
||||
},
|
||||
{
|
||||
"argument": {
|
||||
"commentStart": 122,
|
||||
"end": 0,
|
||||
"end": 126,
|
||||
"raw": "9.85",
|
||||
"start": 0,
|
||||
"start": 122,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": {
|
||||
@ -223,16 +177,15 @@ description: Result of parsing angled_line.kcl
|
||||
"suffix": "None"
|
||||
}
|
||||
},
|
||||
"commentStart": 121,
|
||||
"end": 0,
|
||||
"end": 126,
|
||||
"operator": "-",
|
||||
"start": 0,
|
||||
"start": 121,
|
||||
"type": "UnaryExpression",
|
||||
"type": "UnaryExpression"
|
||||
}
|
||||
],
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 127,
|
||||
"start": 114,
|
||||
"type": "ArrayExpression",
|
||||
"type": "ArrayExpression"
|
||||
}
|
||||
@ -240,16 +193,14 @@ description: Result of parsing angled_line.kcl
|
||||
{
|
||||
"type": "LabeledArg",
|
||||
"label": {
|
||||
"commentStart": 129,
|
||||
"end": 0,
|
||||
"end": 132,
|
||||
"name": "tag",
|
||||
"start": 0,
|
||||
"start": 129,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"arg": {
|
||||
"commentStart": 135,
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 141,
|
||||
"start": 135,
|
||||
"type": "TagDeclarator",
|
||||
"type": "TagDeclarator",
|
||||
"value": "seg01"
|
||||
@ -257,23 +208,13 @@ description: Result of parsing angled_line.kcl
|
||||
}
|
||||
],
|
||||
"callee": {
|
||||
"abs_path": false,
|
||||
"commentStart": 103,
|
||||
"end": 0,
|
||||
"name": {
|
||||
"commentStart": 103,
|
||||
"end": 0,
|
||||
"name": "line",
|
||||
"start": 0,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"path": [],
|
||||
"start": 0,
|
||||
"type": "Name"
|
||||
"end": 107,
|
||||
"name": "line",
|
||||
"start": 103,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"commentStart": 103,
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 142,
|
||||
"start": 103,
|
||||
"type": "CallExpressionKw",
|
||||
"type": "CallExpressionKw",
|
||||
"unlabeled": null
|
||||
@ -283,21 +224,18 @@ description: Result of parsing angled_line.kcl
|
||||
{
|
||||
"type": "LabeledArg",
|
||||
"label": {
|
||||
"commentStart": 153,
|
||||
"end": 0,
|
||||
"end": 156,
|
||||
"name": "end",
|
||||
"start": 0,
|
||||
"start": 153,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"arg": {
|
||||
"commentStart": 159,
|
||||
"elements": [
|
||||
{
|
||||
"argument": {
|
||||
"commentStart": 161,
|
||||
"end": 0,
|
||||
"end": 166,
|
||||
"raw": "15.17",
|
||||
"start": 0,
|
||||
"start": 161,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": {
|
||||
@ -305,19 +243,17 @@ description: Result of parsing angled_line.kcl
|
||||
"suffix": "None"
|
||||
}
|
||||
},
|
||||
"commentStart": 160,
|
||||
"end": 0,
|
||||
"end": 166,
|
||||
"operator": "-",
|
||||
"start": 0,
|
||||
"start": 160,
|
||||
"type": "UnaryExpression",
|
||||
"type": "UnaryExpression"
|
||||
},
|
||||
{
|
||||
"argument": {
|
||||
"commentStart": 169,
|
||||
"end": 0,
|
||||
"end": 172,
|
||||
"raw": "4.1",
|
||||
"start": 0,
|
||||
"start": 169,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": {
|
||||
@ -325,39 +261,28 @@ description: Result of parsing angled_line.kcl
|
||||
"suffix": "None"
|
||||
}
|
||||
},
|
||||
"commentStart": 168,
|
||||
"end": 0,
|
||||
"end": 172,
|
||||
"operator": "-",
|
||||
"start": 0,
|
||||
"start": 168,
|
||||
"type": "UnaryExpression",
|
||||
"type": "UnaryExpression"
|
||||
}
|
||||
],
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 173,
|
||||
"start": 159,
|
||||
"type": "ArrayExpression",
|
||||
"type": "ArrayExpression"
|
||||
}
|
||||
}
|
||||
],
|
||||
"callee": {
|
||||
"abs_path": false,
|
||||
"commentStart": 148,
|
||||
"end": 0,
|
||||
"name": {
|
||||
"commentStart": 148,
|
||||
"end": 0,
|
||||
"name": "line",
|
||||
"start": 0,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"path": [],
|
||||
"start": 0,
|
||||
"type": "Name"
|
||||
"end": 152,
|
||||
"name": "line",
|
||||
"start": 148,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"commentStart": 148,
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 174,
|
||||
"start": 148,
|
||||
"type": "CallExpressionKw",
|
||||
"type": "CallExpressionKw",
|
||||
"unlabeled": null
|
||||
@ -365,115 +290,85 @@ description: Result of parsing angled_line.kcl
|
||||
{
|
||||
"arguments": [
|
||||
{
|
||||
"commentStart": 191,
|
||||
"elements": [
|
||||
{
|
||||
"arguments": [
|
||||
{
|
||||
"abs_path": false,
|
||||
"commentStart": 199,
|
||||
"end": 0,
|
||||
"name": {
|
||||
"commentStart": 199,
|
||||
"end": 0,
|
||||
"name": "seg01",
|
||||
"start": 0,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"path": [],
|
||||
"start": 0,
|
||||
"type": "Name",
|
||||
"type": "Name"
|
||||
}
|
||||
],
|
||||
"callee": {
|
||||
"abs_path": false,
|
||||
"commentStart": 192,
|
||||
"end": 0,
|
||||
"name": {
|
||||
"commentStart": 192,
|
||||
"end": 0,
|
||||
"name": "segAng",
|
||||
"start": 0,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"path": [],
|
||||
"start": 0,
|
||||
"type": "Name"
|
||||
},
|
||||
"commentStart": 192,
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"type": "CallExpression",
|
||||
"type": "CallExpression"
|
||||
},
|
||||
{
|
||||
"commentStart": 207,
|
||||
"end": 0,
|
||||
"raw": "12.35",
|
||||
"start": 0,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": {
|
||||
"value": 12.35,
|
||||
"suffix": "None"
|
||||
"type": "LabeledArg",
|
||||
"label": {
|
||||
"end": 196,
|
||||
"name": "angle",
|
||||
"start": 191,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"arg": {
|
||||
"arguments": [
|
||||
{
|
||||
"end": 211,
|
||||
"name": "seg01",
|
||||
"start": 206,
|
||||
"type": "Identifier",
|
||||
"type": "Identifier"
|
||||
}
|
||||
}
|
||||
],
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"type": "ArrayExpression",
|
||||
"type": "ArrayExpression"
|
||||
],
|
||||
"callee": {
|
||||
"end": 205,
|
||||
"name": "segAng",
|
||||
"start": 199,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"end": 212,
|
||||
"start": 199,
|
||||
"type": "CallExpression",
|
||||
"type": "CallExpression"
|
||||
}
|
||||
},
|
||||
{
|
||||
"commentStart": 215,
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"type": "PipeSubstitution",
|
||||
"type": "PipeSubstitution"
|
||||
"type": "LabeledArg",
|
||||
"label": {
|
||||
"end": 220,
|
||||
"name": "length",
|
||||
"start": 214,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"arg": {
|
||||
"end": 228,
|
||||
"raw": "12.35",
|
||||
"start": 223,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": {
|
||||
"value": 12.35,
|
||||
"suffix": "None"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"callee": {
|
||||
"abs_path": false,
|
||||
"commentStart": 180,
|
||||
"end": 0,
|
||||
"name": {
|
||||
"commentStart": 180,
|
||||
"end": 0,
|
||||
"name": "angledLine",
|
||||
"start": 0,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"path": [],
|
||||
"start": 0,
|
||||
"type": "Name"
|
||||
"end": 190,
|
||||
"name": "angledLine",
|
||||
"start": 180,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"commentStart": 180,
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"type": "CallExpression",
|
||||
"type": "CallExpression"
|
||||
"end": 229,
|
||||
"start": 180,
|
||||
"type": "CallExpressionKw",
|
||||
"type": "CallExpressionKw",
|
||||
"unlabeled": null
|
||||
},
|
||||
{
|
||||
"arguments": [
|
||||
{
|
||||
"type": "LabeledArg",
|
||||
"label": {
|
||||
"commentStart": 228,
|
||||
"end": 0,
|
||||
"end": 243,
|
||||
"name": "end",
|
||||
"start": 0,
|
||||
"start": 240,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"arg": {
|
||||
"commentStart": 234,
|
||||
"elements": [
|
||||
{
|
||||
"argument": {
|
||||
"commentStart": 236,
|
||||
"end": 0,
|
||||
"end": 253,
|
||||
"raw": "13.02",
|
||||
"start": 0,
|
||||
"start": 248,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": {
|
||||
@ -481,18 +376,16 @@ description: Result of parsing angled_line.kcl
|
||||
"suffix": "None"
|
||||
}
|
||||
},
|
||||
"commentStart": 235,
|
||||
"end": 0,
|
||||
"end": 253,
|
||||
"operator": "-",
|
||||
"start": 0,
|
||||
"start": 247,
|
||||
"type": "UnaryExpression",
|
||||
"type": "UnaryExpression"
|
||||
},
|
||||
{
|
||||
"commentStart": 243,
|
||||
"end": 0,
|
||||
"end": 260,
|
||||
"raw": "10.03",
|
||||
"start": 0,
|
||||
"start": 255,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": {
|
||||
@ -501,63 +394,35 @@ description: Result of parsing angled_line.kcl
|
||||
}
|
||||
}
|
||||
],
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 261,
|
||||
"start": 246,
|
||||
"type": "ArrayExpression",
|
||||
"type": "ArrayExpression"
|
||||
}
|
||||
}
|
||||
],
|
||||
"callee": {
|
||||
"abs_path": false,
|
||||
"commentStart": 223,
|
||||
"end": 0,
|
||||
"name": {
|
||||
"commentStart": 223,
|
||||
"end": 0,
|
||||
"name": "line",
|
||||
"start": 0,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"path": [],
|
||||
"start": 0,
|
||||
"type": "Name"
|
||||
"end": 239,
|
||||
"name": "line",
|
||||
"start": 235,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"commentStart": 223,
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 262,
|
||||
"start": 235,
|
||||
"type": "CallExpressionKw",
|
||||
"type": "CallExpressionKw",
|
||||
"unlabeled": null
|
||||
},
|
||||
{
|
||||
"arguments": [
|
||||
{
|
||||
"commentStart": 262,
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"type": "PipeSubstitution",
|
||||
"type": "PipeSubstitution"
|
||||
}
|
||||
],
|
||||
"arguments": [],
|
||||
"callee": {
|
||||
"abs_path": false,
|
||||
"commentStart": 256,
|
||||
"end": 0,
|
||||
"name": {
|
||||
"commentStart": 256,
|
||||
"end": 0,
|
||||
"name": "close",
|
||||
"start": 0,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"path": [],
|
||||
"start": 0,
|
||||
"type": "Name"
|
||||
"end": 273,
|
||||
"name": "close",
|
||||
"start": 268,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"commentStart": 256,
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 275,
|
||||
"start": 268,
|
||||
"type": "CallExpression",
|
||||
"type": "CallExpression"
|
||||
},
|
||||
@ -566,17 +431,15 @@ description: Result of parsing angled_line.kcl
|
||||
{
|
||||
"type": "LabeledArg",
|
||||
"label": {
|
||||
"commentStart": 278,
|
||||
"end": 0,
|
||||
"end": 295,
|
||||
"name": "length",
|
||||
"start": 0,
|
||||
"start": 289,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"arg": {
|
||||
"commentStart": 287,
|
||||
"end": 0,
|
||||
"end": 299,
|
||||
"raw": "4",
|
||||
"start": 0,
|
||||
"start": 298,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": {
|
||||
@ -587,46 +450,34 @@ description: Result of parsing angled_line.kcl
|
||||
}
|
||||
],
|
||||
"callee": {
|
||||
"abs_path": false,
|
||||
"commentStart": 270,
|
||||
"end": 0,
|
||||
"name": {
|
||||
"commentStart": 270,
|
||||
"end": 0,
|
||||
"name": "extrude",
|
||||
"start": 0,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"path": [],
|
||||
"start": 0,
|
||||
"type": "Name"
|
||||
"end": 288,
|
||||
"name": "extrude",
|
||||
"start": 281,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"commentStart": 270,
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 300,
|
||||
"start": 281,
|
||||
"type": "CallExpressionKw",
|
||||
"type": "CallExpressionKw",
|
||||
"unlabeled": null
|
||||
}
|
||||
],
|
||||
"commentStart": 10,
|
||||
"end": 0,
|
||||
"start": 0,
|
||||
"end": 300,
|
||||
"start": 10,
|
||||
"type": "PipeExpression",
|
||||
"type": "PipeExpression"
|
||||
},
|
||||
"start": 0,
|
||||
"type": "VariableDeclarator"
|
||||
},
|
||||
"end": 0,
|
||||
"end": 300,
|
||||
"kind": "const",
|
||||
"start": 0,
|
||||
"type": "VariableDeclaration",
|
||||
"type": "VariableDeclaration"
|
||||
}
|
||||
],
|
||||
"commentStart": 0,
|
||||
"end": 0,
|
||||
"end": 301,
|
||||
"start": 0
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ part001 = startSketchOn('XY')
|
||||
|> line(end = [15.1, 2.48])
|
||||
|> line(end = [3.15, -9.85], tag = $seg01)
|
||||
|> line(end = [-15.17, -4.1])
|
||||
|> angledLine([segAng(seg01), 12.35], %)
|
||||
|> angledLine(angle = segAng(seg01), length = 12.35)
|
||||
|> line(end = [-13.02, 10.03])
|
||||
|> close(%)
|
||||
|> close()
|
||||
|> extrude(length = 4)
|
||||
|
@ -10,11 +10,19 @@ description: Operations executed angled_line.kcl
|
||||
"type": "String",
|
||||
"value": "XY"
|
||||
},
|
||||
"sourceRange": []
|
||||
"sourceRange": [
|
||||
24,
|
||||
28,
|
||||
0
|
||||
]
|
||||
}
|
||||
},
|
||||
"name": "startSketchOn",
|
||||
"sourceRange": [],
|
||||
"sourceRange": [
|
||||
10,
|
||||
29,
|
||||
0
|
||||
],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": null
|
||||
},
|
||||
@ -34,11 +42,19 @@ description: Operations executed angled_line.kcl
|
||||
}
|
||||
}
|
||||
},
|
||||
"sourceRange": []
|
||||
"sourceRange": [
|
||||
298,
|
||||
299,
|
||||
0
|
||||
]
|
||||
}
|
||||
},
|
||||
"name": "extrude",
|
||||
"sourceRange": [],
|
||||
"sourceRange": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
@ -47,7 +63,11 @@ description: Operations executed angled_line.kcl
|
||||
"artifactId": "[uuid]"
|
||||
}
|
||||
},
|
||||
"sourceRange": []
|
||||
"sourceRange": [
|
||||
281,
|
||||
300,
|
||||
0
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -13,16 +13,23 @@ description: Variables in memory after executing angled_line.kcl
|
||||
{
|
||||
"faceId": "[uuid]",
|
||||
"id": "[uuid]",
|
||||
"sourceRange": [],
|
||||
"sourceRange": [
|
||||
73,
|
||||
97,
|
||||
0
|
||||
],
|
||||
"tag": null,
|
||||
"type": "extrudePlane"
|
||||
},
|
||||
{
|
||||
"faceId": "[uuid]",
|
||||
"id": "[uuid]",
|
||||
"sourceRange": [],
|
||||
"sourceRange": [
|
||||
103,
|
||||
142,
|
||||
0
|
||||
],
|
||||
"tag": {
|
||||
"commentStart": 135,
|
||||
"end": 141,
|
||||
"start": 135,
|
||||
"type": "TagDeclarator",
|
||||
@ -33,28 +40,44 @@ description: Variables in memory after executing angled_line.kcl
|
||||
{
|
||||
"faceId": "[uuid]",
|
||||
"id": "[uuid]",
|
||||
"sourceRange": [],
|
||||
"sourceRange": [
|
||||
148,
|
||||
174,
|
||||
0
|
||||
],
|
||||
"tag": null,
|
||||
"type": "extrudePlane"
|
||||
},
|
||||
{
|
||||
"faceId": "[uuid]",
|
||||
"id": "[uuid]",
|
||||
"sourceRange": [],
|
||||
"sourceRange": [
|
||||
180,
|
||||
229,
|
||||
0
|
||||
],
|
||||
"tag": null,
|
||||
"type": "extrudePlane"
|
||||
},
|
||||
{
|
||||
"faceId": "[uuid]",
|
||||
"id": "[uuid]",
|
||||
"sourceRange": [],
|
||||
"sourceRange": [
|
||||
235,
|
||||
262,
|
||||
0
|
||||
],
|
||||
"tag": null,
|
||||
"type": "extrudePlane"
|
||||
},
|
||||
{
|
||||
"faceId": "[uuid]",
|
||||
"id": "[uuid]",
|
||||
"sourceRange": [],
|
||||
"sourceRange": [
|
||||
268,
|
||||
275,
|
||||
0
|
||||
],
|
||||
"tag": null,
|
||||
"type": "extrudePlane"
|
||||
}
|
||||
@ -66,7 +89,11 @@ description: Variables in memory after executing angled_line.kcl
|
||||
{
|
||||
"__geoMeta": {
|
||||
"id": "[uuid]",
|
||||
"sourceRange": []
|
||||
"sourceRange": [
|
||||
73,
|
||||
97,
|
||||
0
|
||||
]
|
||||
},
|
||||
"from": [
|
||||
4.83,
|
||||
@ -85,14 +112,17 @@ description: Variables in memory after executing angled_line.kcl
|
||||
{
|
||||
"__geoMeta": {
|
||||
"id": "[uuid]",
|
||||
"sourceRange": []
|
||||
"sourceRange": [
|
||||
103,
|
||||
142,
|
||||
0
|
||||
]
|
||||
},
|
||||
"from": [
|
||||
19.93,
|
||||
15.04
|
||||
],
|
||||
"tag": {
|
||||
"commentStart": 135,
|
||||
"end": 141,
|
||||
"start": 135,
|
||||
"type": "TagDeclarator",
|
||||
@ -110,7 +140,11 @@ description: Variables in memory after executing angled_line.kcl
|
||||
{
|
||||
"__geoMeta": {
|
||||
"id": "[uuid]",
|
||||
"sourceRange": []
|
||||
"sourceRange": [
|
||||
148,
|
||||
174,
|
||||
0
|
||||
]
|
||||
},
|
||||
"from": [
|
||||
23.08,
|
||||
@ -129,7 +163,11 @@ description: Variables in memory after executing angled_line.kcl
|
||||
{
|
||||
"__geoMeta": {
|
||||
"id": "[uuid]",
|
||||
"sourceRange": []
|
||||
"sourceRange": [
|
||||
180,
|
||||
229,
|
||||
0
|
||||
]
|
||||
},
|
||||
"from": [
|
||||
7.91,
|
||||
@ -148,7 +186,11 @@ description: Variables in memory after executing angled_line.kcl
|
||||
{
|
||||
"__geoMeta": {
|
||||
"id": "[uuid]",
|
||||
"sourceRange": []
|
||||
"sourceRange": [
|
||||
235,
|
||||
262,
|
||||
0
|
||||
]
|
||||
},
|
||||
"from": [
|
||||
11.6718,
|
||||
@ -167,7 +209,11 @@ description: Variables in memory after executing angled_line.kcl
|
||||
{
|
||||
"__geoMeta": {
|
||||
"id": "[uuid]",
|
||||
"sourceRange": []
|
||||
"sourceRange": [
|
||||
268,
|
||||
275,
|
||||
0
|
||||
]
|
||||
},
|
||||
"from": [
|
||||
-1.3482,
|
||||
@ -228,7 +274,11 @@ description: Variables in memory after executing angled_line.kcl
|
||||
"tag": null,
|
||||
"__geoMeta": {
|
||||
"id": "[uuid]",
|
||||
"sourceRange": []
|
||||
"sourceRange": [
|
||||
35,
|
||||
67,
|
||||
0
|
||||
]
|
||||
}
|
||||
},
|
||||
"tags": {
|
||||
|
@ -5,7 +5,11 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
[
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "edge_lines_visible",
|
||||
"hidden": false
|
||||
@ -13,7 +17,23 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "set_scene_units",
|
||||
"unit": "mm"
|
||||
}
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "object_visible",
|
||||
"object_id": "[uuid]",
|
||||
@ -22,7 +42,11 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "object_visible",
|
||||
"object_id": "[uuid]",
|
||||
@ -31,7 +55,11 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
12,
|
||||
31,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "make_plane",
|
||||
"origin": {
|
||||
@ -56,7 +84,11 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
37,
|
||||
65,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "enable_sketch_mode",
|
||||
"entity_id": "[uuid]",
|
||||
@ -72,14 +104,22 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
37,
|
||||
65,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "start_path"
|
||||
}
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
37,
|
||||
65,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "move_path_pen",
|
||||
"path": "[uuid]",
|
||||
@ -92,14 +132,22 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
37,
|
||||
65,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "sketch_mode_disable"
|
||||
}
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
71,
|
||||
139,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "extend_path",
|
||||
"path": "[uuid]",
|
||||
@ -116,7 +164,11 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
145,
|
||||
242,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "extend_path",
|
||||
"path": "[uuid]",
|
||||
@ -133,7 +185,11 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
248,
|
||||
365,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "extend_path",
|
||||
"path": "[uuid]",
|
||||
@ -150,7 +206,11 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
371,
|
||||
427,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "extend_path",
|
||||
"path": "[uuid]",
|
||||
@ -167,7 +227,11 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
433,
|
||||
440,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "close_path",
|
||||
"path_id": "[uuid]"
|
||||
@ -175,7 +239,11 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
453,
|
||||
473,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "make_plane",
|
||||
"origin": {
|
||||
@ -200,7 +268,11 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
479,
|
||||
508,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "enable_sketch_mode",
|
||||
"entity_id": "[uuid]",
|
||||
@ -216,14 +288,22 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
479,
|
||||
508,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "start_path"
|
||||
}
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
479,
|
||||
508,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "move_path_pen",
|
||||
"path": "[uuid]",
|
||||
@ -236,14 +316,22 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
479,
|
||||
508,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "sketch_mode_disable"
|
||||
}
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
514,
|
||||
539,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "extend_path",
|
||||
"path": "[uuid]",
|
||||
@ -260,7 +348,11 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
545,
|
||||
571,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "extend_path",
|
||||
"path": "[uuid]",
|
||||
@ -277,7 +369,11 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
||||
},
|
||||
{
|
||||
"cmdId": "[uuid]",
|
||||
"range": [],
|
||||
"range": [
|
||||
577,
|
||||
609,
|
||||
0
|
||||
],
|
||||
"command": {
|
||||
"type": "extend_path",
|
||||
"path": "[uuid]",
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user