Compare commits
24 Commits
jtran/json
...
achalmers/
Author | SHA1 | Date | |
---|---|---|---|
0be5259459 | |||
81ef9646a9 | |||
b228aaae45 | |||
4010c3f961 | |||
54ccfd3811 | |||
1cbe562acc | |||
49f88cc0ca | |||
b1ef960f74 | |||
eef14e85be | |||
041bf1e469 | |||
643a24b4c0 | |||
da9ffac972 | |||
d56ed22164 | |||
65be9bb80a | |||
06968122d9 | |||
0afdb468f3 | |||
7fb2768c52 | |||
07cacf04e7 | |||
7c7f4fcedd | |||
5256c4d13b | |||
1125a6a1e6 | |||
e13ee69c40 | |||
f53ef5d370 | |||
a1ff7de996 |
@ -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()
|
||||
|
||||
|
@ -43,11 +43,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()
|
||||
|
||||
|
29546
docs/kcl/std.json
29546
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()
|
||||
|
||||
|
@ -86,15 +86,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()
|
||||
|
@ -19,7 +19,7 @@ length001 = timesFive(1) * 5
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([20, 10], %)
|
||||
|> line(end = [10, 10])
|
||||
|> angledLine([-45, length001], %)
|
||||
|> angledLine(angle = -45, length = length001)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
revolve001 = revolve(sketch001, axis = X)
|
||||
@ -38,7 +38,7 @@ extrude001 = extrude(sketch002, length = 10)
|
||||
|
||||
const FEATURE_TREE_SKETCH_CODE = `sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine([0, 4], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 4, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
2
|
||||
|
@ -261,7 +261,7 @@ test.describe('Point-and-click tests', () => {
|
||||
clickCoords: { x: 677, y: 87 },
|
||||
cameraPos: { x: -6200, y: 1500, z: 6200 },
|
||||
cameraTarget: { x: 8300, y: 1100, z: 4800 },
|
||||
beforeChamferSnippet: `angledLine([0, 268.43], %, $rectangleSegmentA001)chamfer(
|
||||
beforeChamferSnippet: `angledLine(angle = 0, length = 268.43, tag = $rectangleSegmentA001)chamfer(
|
||||
length = 30,
|
||||
tags = [
|
||||
getNextAdjacentEdge(yo),
|
||||
@ -302,7 +302,7 @@ test.describe('Point-and-click tests', () => {
|
||||
`@settings(defaultLengthUnit = in)
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([75.8, 317.2], %) // [$startCapTag, $EndCapTag]
|
||||
|> angledLine([0, 268.43], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 268.43, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
217.26
|
||||
@ -320,14 +320,14 @@ extrude001 = extrude(sketch001, length = 100)
|
||||
|> chamfer(length = 30, tags = [getNextAdjacentEdge(yo)], tag = $seg06)
|
||||
sketch005 = startSketchOn(extrude001, seg06)
|
||||
profile004=startProfileAt([-23.43,19.69], sketch005)
|
||||
|> angledLine([0, 9.1], %, $rectangleSegmentA005)
|
||||
|> angledLine([segAng(rectangleSegmentA005) - 90, 84.07], %)
|
||||
|> angledLine([segAng(rectangleSegmentA005), -segLen(rectangleSegmentA005)], %)
|
||||
|> angledLine(angle = 0, length = 9.1, tag = $rectangleSegmentA005)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA005) - 90, length = 84.07)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA005), length = -segLen(rectangleSegmentA005))
|
||||
|> line(endAbsolute=[profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
sketch004 = startSketchOn(extrude001, seg05)
|
||||
profile003 = startProfileAt([82.57, 322.96], sketch004)
|
||||
|> angledLine([0, 11.16], %, $rectangleSegmentA004)
|
||||
|> angledLine(angle = 0, length = 11.16, tag = $rectangleSegmentA004)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA004) - 90,
|
||||
103.07
|
||||
@ -340,7 +340,7 @@ profile003 = startProfileAt([82.57, 322.96], sketch004)
|
||||
|> close()
|
||||
sketch003 = startSketchOn(extrude001, seg04)
|
||||
profile002 = startProfileAt([-209.64, 255.28], sketch003)
|
||||
|> angledLine([0, 11.56], %, $rectangleSegmentA003)
|
||||
|> angledLine(angle = 0, length = 11.56, tag = $rectangleSegmentA003)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA003) - 90,
|
||||
106.84
|
||||
@ -353,7 +353,7 @@ profile002 = startProfileAt([-209.64, 255.28], sketch003)
|
||||
|> close()
|
||||
sketch002 = startSketchOn(extrude001, seg03)
|
||||
profile001 = startProfileAt([205.96, 254.59], sketch002)
|
||||
|> angledLine([0, 11.39], %, $rectangleSegmentA002)
|
||||
|> angledLine(angle = 0, length = 11.39, tag = $rectangleSegmentA002)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA002) - 90,
|
||||
105.26
|
||||
@ -422,7 +422,7 @@ profile001 = startProfileAt([205.96, 254.59], sketch002)
|
||||
`@settings(defaultLengthUnit = in)
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([75.8, 317.2], %)
|
||||
|> angledLine([0, 268.43], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 268.43, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
217.26
|
||||
@ -450,7 +450,7 @@ chamf = chamfer(
|
||||
)
|
||||
sketch002 = startSketchOn(extrude001, seg03)
|
||||
profile001 = startProfileAt([205.96, 254.59], sketch002)
|
||||
|> angledLine([0, 11.39], %, $rectangleSegmentA002)
|
||||
|> angledLine(angle = 0, length = 11.39, tag = $rectangleSegmentA002)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA002) - 90,
|
||||
105.26
|
||||
@ -3433,8 +3433,8 @@ sweep001 = sweep(sketch001, path = sketch002)
|
||||
const initialCode = `
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([-100.0, 100.0], %)
|
||||
|> angledLine([0, 200.0], %, $rectangleSegmentA001)
|
||||
|> angledLine([segAng(rectangleSegmentA001) - 90, 200], %, $rectangleSegmentB001)
|
||||
|> angledLine(angle = 0, length = 200.0, tag = $rectangleSegmentA001)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA001) - 90, length = 200, tag = $rectangleSegmentB001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
@ -3444,7 +3444,7 @@ segAng(rectangleSegmentA001),
|
||||
extrude001 = extrude(sketch001, length = 200)
|
||||
sketch002 = startSketchOn(extrude001, rectangleSegmentA001)
|
||||
|> startProfileAt([-66.77, 84.81], %)
|
||||
|> angledLine([180, 27.08], %, $rectangleSegmentA002)
|
||||
|> angledLine(angle = 180, length = 27.08, tag = $rectangleSegmentA002)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA002) - 90,
|
||||
27.8
|
||||
@ -3519,19 +3519,20 @@ segAng(rectangleSegmentA002),
|
||||
toolbar,
|
||||
cmdBar,
|
||||
}) => {
|
||||
const initialCode = `sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([-102.57, 101.72], %)
|
||||
|> angledLine([0, 202.6], %, $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
202.6
|
||||
], %, $rectangleSegmentB001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %, $rectangleSegmentC001)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
const initialCode = `
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([-102.57, 101.72], %)
|
||||
|> angledLine(angle = 0, length = 202.6, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
202.6
|
||||
], %, $rectangleSegmentB001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %, $rectangleSegmentC001)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
extrude001 = extrude(sketch001, length = 50)
|
||||
sketch002 = startSketchOn(extrude001, rectangleSegmentA001)
|
||||
|> circle(center = [-11.34, 10.0], radius = 8.69)
|
||||
@ -3549,7 +3550,7 @@ sketch002 = startSketchOn(extrude001, rectangleSegmentA001)
|
||||
await page.getByText(codeToSelecton).click()
|
||||
await toolbar.revolveButton.click()
|
||||
await page.getByText('Edge', { exact: true }).click()
|
||||
const lineCodeToSelection = `|> angledLine([0, 202.6], %, $rectangleSegmentA001)`
|
||||
const lineCodeToSelection = `|> angledLine(angle = 0, length = 202.6, tag = $rectangleSegmentA001)`
|
||||
await page.getByText(lineCodeToSelection).click()
|
||||
await cmdBar.progressCmdBar()
|
||||
await cmdBar.progressCmdBar()
|
||||
@ -3605,22 +3606,26 @@ sketch002 = startSketchOn(extrude001, rectangleSegmentA001)
|
||||
toolbar,
|
||||
cmdBar,
|
||||
}) => {
|
||||
const initialCode = `sketch002 = startSketchOn(XY)
|
||||
|> startProfileAt([-2.02, 1.79], %)
|
||||
|> xLine(length = 2.6)
|
||||
sketch001 = startSketchOn(-XY)
|
||||
|> startProfileAt([-0.48, 1.25], %)
|
||||
|> angledLine([0, 2.38], %, $rectangleSegmentA001)
|
||||
|> angledLine([segAng(rectangleSegmentA001) - 90, 2.4], %, $rectangleSegmentB001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %, $rectangleSegmentC001)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
extrude001 = extrude(sketch001, length = 5)
|
||||
sketch003 = startSketchOn(extrude001, 'START')
|
||||
|> circle(center = [-0.69, 0.56], radius = 0.28)
|
||||
const initialCode = `
|
||||
sketch002 = startSketchOn(XY)
|
||||
|> startProfileAt([-2.02, 1.79], %)
|
||||
|> xLine(length = 2.6)
|
||||
sketch001 = startSketchOn('-XY')
|
||||
|> startProfileAt([-0.48, 1.25], %)
|
||||
|> angledLine(angle = 0, length = 2.38, tag = $rectangleSegmentA001)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA001) - 90, length = 2.4, tag = $rectangleSegmentB001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %, $rectangleSegmentC001)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
extrude001 = extrude(sketch001, length = 5)
|
||||
sketch003 = startSketchOn(extrude001, 'START')
|
||||
|> circle(
|
||||
center = [-0.69, 0.56],
|
||||
radius = 0.28
|
||||
)
|
||||
`
|
||||
|
||||
await context.addInitScript((initialCode) => {
|
||||
|
@ -41,7 +41,7 @@ sketch002 = startSketchOn(XZ)
|
||||
extrude002 = extrude(sketch002, length = 50)
|
||||
sketch003 = startSketchOn(XY)
|
||||
|> startProfileAt([52.92, 157.81], %)
|
||||
|> angledLine([0, 176.4], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 176.4, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
53.4
|
||||
|
@ -22,7 +22,7 @@ sketch002 = startSketchOn(XZ)
|
||||
extrude002 = extrude(sketch002, length = 50)
|
||||
sketch003 = startSketchOn(XY)
|
||||
|> startProfileAt([52.92, 157.81], %)
|
||||
|> angledLine([0, 176.4], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 176.4, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
53.4
|
||||
|
@ -68,7 +68,7 @@ test.describe('Regression tests', { tag: ['@skipWin'] }, () => {
|
||||
'persistCode',
|
||||
`sketch001 = startSketchOn(XY)
|
||||
|> startProfileAt([82.33, 238.21], %)
|
||||
|> angledLine([0, 288.63], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 288.63, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
197.97
|
||||
@ -257,7 +257,7 @@ extrude001 = extrude(sketch001, length = 50)
|
||||
'persistCode',
|
||||
`exampleSketch = startSketchOn("XZ")
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({ angle: 50, length: 45 }, %)
|
||||
|> angledLine(angle = 50, length = 45 )
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|>
|
||||
@ -313,7 +313,7 @@ extrude001 = extrude(sketch001, length = 50)
|
||||
await expect(page.locator('.cm-content'))
|
||||
.toContainText(`exampleSketch = startSketchOn("XZ")
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({ angle: 50, length: 45 }, %)
|
||||
|> angledLine(angle = 50, length = 45 )
|
||||
|> yLine(endAbsolute = 0)
|
||||
|> close()
|
||||
|
||||
|
@ -1968,8 +1968,8 @@ profile003 = startProfileAt([206.63, -56.73], sketch001)
|
||||
)
|
||||
await crnRect1point2()
|
||||
await editor.expectEditor.toContain(
|
||||
`|> angledLine([0, 2.37], %, $rectangleSegmentA001)
|
||||
|> angledLine([segAng(rectangleSegmentA001) - 90, 7.8], %)
|
||||
`|> angledLine(angle = 0, length = 2.37, tag = $rectangleSegmentA001)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA001) - 90, length = 7.8)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
@ -1986,7 +1986,7 @@ profile003 = startProfileAt([206.63, -56.73], sketch001)
|
||||
await crnRect2point2()
|
||||
await page.waitForTimeout(300)
|
||||
await editor.expectEditor.toContain(
|
||||
`|> angledLine([0, 5.49], %, $rectangleSegmentA002)
|
||||
`|> angledLine(angle = 0, length = 5.49, tag = $rectangleSegmentA002)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA002) - 90,
|
||||
4.14
|
||||
@ -2011,7 +2011,7 @@ profile003 = startProfileAt([206.63, -56.73], sketch001)
|
||||
await cntrRect1point2()
|
||||
await page.waitForTimeout(300)
|
||||
await editor.expectEditor.toContain(
|
||||
`|> angledLine([0, 7.06], %, $rectangleSegmentA003)
|
||||
`|> angledLine(angle = 0, length = 7.06, tag = $rectangleSegmentA003)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA003) + 90,
|
||||
4.34
|
||||
@ -2033,7 +2033,7 @@ profile003 = startProfileAt([206.63, -56.73], sketch001)
|
||||
await cntrRect2point2()
|
||||
await page.waitForTimeout(300)
|
||||
await editor.expectEditor.toContain(
|
||||
`|> angledLine([0, 3.12], %, $rectangleSegmentA004)
|
||||
`|> angledLine(angle = 0, length = 3.12, tag = $rectangleSegmentA004)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA004) + 90,
|
||||
6.24
|
||||
@ -2195,7 +2195,7 @@ profile001 = startProfileAt([6.24, 4.54], sketch001)
|
||||
|> line(end = [8.61, 0.74])
|
||||
|> line(end = [10.99, -5.22])
|
||||
profile002 = startProfileAt([11.19, 5.02], sketch001)
|
||||
|> angledLine([0, 10.78], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 10.78, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
4.14
|
||||
@ -2272,7 +2272,7 @@ profile004 = circleThreePoint(sketch001, p1 = [13.44, -6.8], p2 = [13.39, -2.07]
|
||||
await rectDragTo()
|
||||
await page.mouse.up()
|
||||
await editor.expectEditor.toContain(
|
||||
`angledLine([-7, 10.27], %, $rectangleSegmentA001)`
|
||||
`angledLine(angle = -7, length = 10.27, tag = $rectangleSegmentA001)`
|
||||
)
|
||||
})
|
||||
|
||||
@ -2312,7 +2312,7 @@ profile004 = circleThreePoint(sketch001, p1 = [13.44, -6.8], p2 = [13.39, -2.07]
|
||||
await page.waitForTimeout(100)
|
||||
await rectEnd()
|
||||
await editor.expectEditor.toContain(
|
||||
`|> angledLine([180, 1.97], %, $rectangleSegmentA002)
|
||||
`|> angledLine(angle = 180, length = 1.97, tag = $rectangleSegmentA002)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA002) + 90,
|
||||
3.89
|
||||
@ -2341,7 +2341,7 @@ profile001 = startProfileAt([6.24, 4.54], sketch001)
|
||||
|> line(end = [8.61, 0.74])
|
||||
|> line(end = [10.99, -5.22])
|
||||
profile002 = startProfileAt([11.19, 5.02], sketch001)
|
||||
|> angledLine([0, 10.78], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 10.78, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
4.14
|
||||
@ -2450,7 +2450,7 @@ profile001 = startProfileAt([-63.43, 193.08], sketch001)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
profile003 = startProfileAt([16.79, 38.24], sketch001)
|
||||
|> angledLine([0, 182.82], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 182.82, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
105.71
|
||||
@ -2674,7 +2674,7 @@ profile002 = startProfileAt([0.75, 13.46], sketch002)
|
||||
|> line(end = [4.52, 3.79])
|
||||
|> line(end = [5.98, -2.81])
|
||||
profile003 = startProfileAt([3.19, 13.3], sketch002)
|
||||
|> angledLine([0, 6.64], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 6.64, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
2.81
|
||||
@ -2722,7 +2722,7 @@ profile010 = circle(
|
||||
radius = 2.67
|
||||
)
|
||||
profile011 = startProfileAt([5.07, -6.39], sketch003)
|
||||
|> angledLine([0, 4.54], %, $rectangleSegmentA002)
|
||||
|> angledLine(angle = 0, length = 4.54, tag = $rectangleSegmentA002)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA002) - 90,
|
||||
4.17
|
||||
@ -2879,7 +2879,7 @@ loft([profile001, profile002])
|
||||
)
|
||||
await rect1Crn2()
|
||||
await editor.expectEditor.toContain(
|
||||
`angledLine([0, 113.01], %, $rectangleSegmentA001)`
|
||||
`angledLine(angle = 0, length = 113.01, tag = $rectangleSegmentA001)`
|
||||
)
|
||||
}
|
||||
)
|
||||
@ -2950,7 +2950,7 @@ loft([profile001, profile002])
|
||||
)
|
||||
await rect1Crn2()
|
||||
await editor.expectEditor.toContain(
|
||||
`angledLine([0, 106.42], %, $rectangleSegmentA001)`
|
||||
`angledLine(angle = 0, length = 106.42], tag = $rectangleSegmentA001)`
|
||||
)
|
||||
await page.waitForTimeout(100)
|
||||
})
|
||||
|
@ -81,7 +81,7 @@ part001 = startSketchOn(-XZ)
|
||||
offset = -armThick,
|
||||
intersectTag = seg04
|
||||
}, %)
|
||||
|> angledLineToY([segAng(seg04, %) + 180, turns::ZERO], %)
|
||||
|> angledLine(angle = segAng(seg04, %) + 180, endAbsoluteY = turns::ZERO)
|
||||
|> angledLineToY({
|
||||
angle = -bottomAng,
|
||||
to = -totalHeightHalf - armThick,
|
||||
@ -93,7 +93,7 @@ part001 = startSketchOn(-XZ)
|
||||
offset = -armThick,
|
||||
intersectTag = seg02
|
||||
}, %)
|
||||
|> angledLineToY([segAng(seg02, %) + 180, -baseHeight], %)
|
||||
|> angledLine(angle = segAng(seg02, %) + 180, endAbsoluteY = -baseHeight)
|
||||
|> xLine(endAbsolute = turns::ZERO)
|
||||
|> close()
|
||||
|> extrude(length = 4)`
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"original_source_code": "sketch001 = startSketchOn('XZ')\nprofile001 = startProfileAt([57.81, 250.51], sketch001)\n |> line(end = [121.13, 56.63], tag = $seg02)\n |> line(end = [83.37, -34.61], tag = $seg01)\n |> line(end = [19.66, -116.4])\n |> line(end = [-221.8, -41.69])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\nextrude001 = extrude(profile001, length = 200)\nsketch002 = startSketchOn('XZ')\n |> startProfileAt([-73.64, -42.89], %)\n |> xLine(length = 173.71)\n |> line(end = [-22.12, -94.4])\n |> xLine(length = -156.98)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\nextrude002 = extrude(sketch002, length = 50)\nsketch003 = startSketchOn(XY)\n |> startProfileAt([52.92, 157.81], %)\n |> angledLine([0, 176.4], %, $rectangleSegmentA001)\n |> angledLine([\n segAng(rectangleSegmentA001) - 90,\n 53.4\n ], %, $rectangleSegmentB001)\n |> angledLine([\n segAng(rectangleSegmentA001),\n -segLen(rectangleSegmentA001)\n ], %, $rectangleSegmentC001)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\nextrude003 = extrude(sketch003, length = 20)\n",
|
||||
"original_source_code": "sketch001 = startSketchOn(XZ)\nprofile001 = startProfileAt([57.81, 250.51], sketch001)\n |> line(end = [121.13, 56.63], tag = $seg02)\n |> line(end = [83.37, -34.61], tag = $seg01)\n |> line(end = [19.66, -116.4])\n |> line(end = [-221.8, -41.69])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\nextrude001 = extrude(profile001, length = 200)\nsketch002 = startSketchOn('XZ')\n |> startProfileAt([-73.64, -42.89], %)\n |> xLine(length = 173.71)\n |> line(end = [-22.12, -94.4])\n |> xLine(length = -156.98)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\nextrude002 = extrude(sketch002, length = 50)\nsketch003 = startSketchOn(XY)\n |> startProfileAt([52.92, 157.81], %)\n |> angledLine(angle = 0, length = 176.4, tag = $rectangleSegmentA001)\n |> angledLine(angle = segAng(rectangleSegmentA001) - 90,\n length = 53.4\n ], tag = $rectangleSegmentB001)\n |> angledLine(angle = segAng(rectangleSegmentA001),\n length = -segLen(rectangleSegmentA001)\n tag = $rectangleSegmentC001)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\nextrude003 = extrude(sketch003, length = 20)\n",
|
||||
"prompt": "make this neon green please, use #39FF14",
|
||||
"source_ranges": [
|
||||
{
|
||||
|
@ -84,15 +84,15 @@ export const TEST_CODE_GIZMO = `@settings(defaultLengthUnit = in)
|
||||
part001 = startSketchOn(XZ)
|
||||
|> startProfileAt([20, 0], %)
|
||||
|> line(end = [7.13, 4 + 0])
|
||||
|> angledLine({ angle: 3 + 0, length: 3.14 + 0 }, %)
|
||||
|> angledLine(angle = 3 + 0, length = 3.14 + 0 )
|
||||
|> line(endAbsolute = [20.14 + 0, -0.14 + 0])
|
||||
|> xLine(endAbsolute = 29 + 0)
|
||||
|> yLine(length = -3.14 + 0, tag = $a)
|
||||
|> xLine(length = 1.63)
|
||||
|> angledLineOfXLength({ angle: 3 + 0, length: 3.14 }, %)
|
||||
|> angledLineOfYLength({ angle: 30, length: 3 + 0 }, %)
|
||||
|> angledLineToX({ angle: 22.14 + 0, to: 12 }, %)
|
||||
|> angledLineToY({ angle: 30, to: 11.14 }, %)
|
||||
|> angledLine(angle = 3 + 0, lengthX = 3.14 )
|
||||
|> angledLine(angle = 30, lengthY = 3 + 0 )
|
||||
|> angledLine(angle = 22.14 + 0, endAbsoluteX = 12)
|
||||
|> angledLine(angle = 30, endAbsoluteY = 11.14)
|
||||
|> angledLineThatIntersects({
|
||||
angle: 3.14,
|
||||
intersectTag: a,
|
||||
|
@ -58,7 +58,7 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => {
|
||||
.click()
|
||||
|
||||
await expect(page.locator('.cm-content')).toHaveText(
|
||||
`length001 = 20sketch001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> angledLine([90, length001], %) |> xLine(length = -20)`
|
||||
`length001 = 20sketch001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> angledLine(angle = 90, length = length001) |> xLine(length = -20)`
|
||||
)
|
||||
|
||||
// Make sure we didn't pop out of sketch mode.
|
||||
@ -87,7 +87,7 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => {
|
||||
|> startProfileAt([-7.54, -26.74], %)
|
||||
|> line(end = [74.36, 130.4], tag = $seg01)
|
||||
|> line(end = [78.92, -120.11])
|
||||
|> angledLine([segAng(seg01), yo], %)
|
||||
|> angledLine(angle = segAng(seg01), length = yo)
|
||||
|> line(end = [41.19, 58.97 + 5])
|
||||
part002 = startSketchOn(XZ)
|
||||
|> startProfileAt([299.05, 120], %)
|
||||
@ -152,7 +152,7 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => {
|
||||
|> startProfileAt([-7.54, -26.74], %)
|
||||
|> line(end = [74.36, 130.4], tag = $seg01)
|
||||
|> line(end = [78.92, -120.11])
|
||||
|> angledLine([segAng(seg01), 78.33], %)
|
||||
|> angledLine(angle = segAng(seg01), length = 78.33)
|
||||
|> line(end = [51.19, 48.97])
|
||||
part002 = startSketchOn(XZ)
|
||||
|> startProfileAt([299.05, 231.45], %)
|
||||
@ -542,7 +542,7 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => {
|
||||
// checking activeLines assures the cursors are where they should be
|
||||
const codeAfter = [
|
||||
'|> line(end = [74.36, 130.4], tag = $seg01)',
|
||||
`|> angledLine([${value}, 78.33], %)`,
|
||||
`|> angledLine(angle = ${value}, length = 78.33)`,
|
||||
]
|
||||
if (axisSelect) codeAfter.shift()
|
||||
|
||||
@ -831,11 +831,11 @@ part002 = startSketchOn(XZ)
|
||||
test.describe('Two segment - no modal constraints', () => {
|
||||
const cases = [
|
||||
{
|
||||
codeAfter: `|> angledLine([83, segLen(seg01)], %)`,
|
||||
codeAfter: `|> angledLine(angle = 83, length = segLen(seg01))`,
|
||||
constraintName: 'Equal Length',
|
||||
},
|
||||
{
|
||||
codeAfter: `|> angledLine([segAng(seg01), 78.33], %)`,
|
||||
codeAfter: `|> angledLine(angle = segAng(seg01), length = 78.33)`,
|
||||
constraintName: 'Parallel',
|
||||
},
|
||||
{
|
||||
@ -1150,7 +1150,9 @@ test.describe('Electron constraint tests', () => {
|
||||
await clickOnFirstSegmentLabel()
|
||||
await cmdBar.progressCmdBar()
|
||||
await editor.expectEditor.toContain('length001 = 15.3')
|
||||
await editor.expectEditor.toContain('|> angledLine([9, length001], %)')
|
||||
await editor.expectEditor.toContain(
|
||||
'|> angledLine(angle = 9, length = length001)'
|
||||
)
|
||||
})
|
||||
|
||||
await test.step('Double click again and expect failure', async () => {
|
||||
|
@ -259,7 +259,7 @@ test.describe(`Testing gizmo, fixture-based`, () => {
|
||||
`@settings(defaultLengthUnit = in)
|
||||
const sketch002 = startSketchOn(XZ)
|
||||
|> startProfileAt([-108.83, -57.48], %)
|
||||
|> angledLine([0, 105.13], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 105.13, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
77.9
|
||||
|
@ -214,16 +214,16 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
part001 = startSketchOn(XZ)
|
||||
|> startProfileAt([5 + 0, 20 + 0], %)
|
||||
|> line(end = [0.5, -14 + 0])
|
||||
|> angledLine({ angle = 3 + 0, length = 32 + 0 }, %)
|
||||
|> angledLine(angle = 3 + 0, length = 32 + 0)
|
||||
|> line(endAbsolute = [5 + 33, 20 + 11.5 + 0])
|
||||
|> xLine(endAbsolute = 5 + 9 - 5)
|
||||
|> yLine(endAbsolute = 20 + -10.77, tag = $a)
|
||||
|> xLine(length = 26.04)
|
||||
|> yLine(length = 21.14 + 0)
|
||||
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
||||
|> angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)
|
||||
|> angledLineToX({ angle = 3 + 0, to = 5 + 26 }, %)
|
||||
|> angledLineToY({ angle = 89, to = 20 + 9.14 + 0 }, %)
|
||||
|> angledLine(angle = 181 + 0, lengthX = 23.14)
|
||||
|> angledLine(angle = -91, lengthY = 19 + 0)
|
||||
|> angledLine(angle = 3 + 0, endAbsoluteX = 5 + 26)
|
||||
|> angledLine(angle = 89, endAbsoluteY = 20 + 9.14 + 0)
|
||||
|> angledLineThatIntersects({
|
||||
angle = 4.14,
|
||||
intersectTag = a,
|
||||
@ -306,11 +306,9 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
await clickConstrained({
|
||||
hoverPos: { x: angledLine.x, y: angledLine.y },
|
||||
constraintType: 'angle',
|
||||
expectBeforeUnconstrained:
|
||||
'angledLine({ angle = 3 + 0, length = 32 + 0 }, %)',
|
||||
expectAfterUnconstrained:
|
||||
'angledLine({ angle = 3, length = 32 + 0 }, %)',
|
||||
expectFinal: 'angledLine({ angle = angle001, length = 32 + 0 }, %)',
|
||||
expectBeforeUnconstrained: 'angledLine(angle = 3 + 0, length = 32 + 0)',
|
||||
expectAfterUnconstrained: 'angledLine(angle = 3, length = 32 + 0)',
|
||||
expectFinal: 'angledLine(angle = angle001, length = 32 + 0)',
|
||||
ang: ang + 180,
|
||||
locator: '[data-overlay-toolbar-index="1"]',
|
||||
})
|
||||
@ -319,10 +317,9 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
hoverPos: { x: angledLine.x, y: angledLine.y },
|
||||
constraintType: 'length',
|
||||
expectBeforeUnconstrained:
|
||||
'angledLine({ angle = angle001, length = 32 + 0 }, %)',
|
||||
expectAfterUnconstrained:
|
||||
'angledLine({ angle = angle001, length = 32 }, %)',
|
||||
expectFinal: 'angledLine({ angle = angle001, length = len001 }, %)',
|
||||
'angledLine(angle = angle001, length = 32 + 0)',
|
||||
expectAfterUnconstrained: 'angledLine(angle = angle001, length = 32)',
|
||||
expectFinal: 'angledLine(angle = angle001, length = len001)',
|
||||
ang: ang + 180,
|
||||
locator: '[data-overlay-toolbar-index="1"]',
|
||||
})
|
||||
@ -392,13 +389,13 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
part001 = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line(end = [0.5, yRel001])
|
||||
|> angledLine({ angle = angle001, length = len001 }, %)
|
||||
|> angledLine(angle = angle001, length = len001)
|
||||
|> line(endAbsolute = [33, yAbs001])
|
||||
|> xLine(endAbsolute = xAbs002)
|
||||
|> yLine(endAbsolute = -10.77, tag = $a)
|
||||
|> xLine(length = 26.04)
|
||||
|> yLine(length = 21.14 + 0)
|
||||
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
||||
|> angledLine(angle = 181 + 0, lengthX = 23.14)
|
||||
`
|
||||
)
|
||||
})
|
||||
@ -465,16 +462,16 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
part001 = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line(end = [0.5, -14 + 0])
|
||||
|> angledLine({ angle = 3 + 0, length = 32 + 0 }, %)
|
||||
|> angledLine(angle = 3 + 0, length = 32 + 0)
|
||||
|> line(endAbsolute = [33, 11.5 + 0])
|
||||
|> xLine(endAbsolute = 9 - 5)
|
||||
|> yLine(endAbsolute = -10.77, tag = $a)
|
||||
|> xLine(length = 26.04)
|
||||
|> yLine(length = 21.14 + 0)
|
||||
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
||||
|> angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)
|
||||
|> angledLineToX({ angle = 3 + 0, to = 26 }, %)
|
||||
|> angledLineToY({ angle = 89, to = 9.14 + 0 }, %)
|
||||
|> angledLine(angle = 181 + 0, lengthX = 23.14)
|
||||
|> angledLine(angle = -91, lengthY = 19 + 0)
|
||||
|> angledLine(angle = 3 + 0, endAbsoluteX = 26)
|
||||
|> angledLine(angle = 89, endAbsoluteY = 9.14 + 0)
|
||||
|> angledLineThatIntersects({
|
||||
angle = 4.14,
|
||||
intersectTag = a,
|
||||
@ -530,11 +527,9 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
hoverPos: { x: angledLineOfXLength.x, y: angledLineOfXLength.y },
|
||||
constraintType: 'angle',
|
||||
expectBeforeUnconstrained:
|
||||
'angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)',
|
||||
expectAfterUnconstrained:
|
||||
'angledLineOfXLength({ angle = -179, length = 23.14 }, %)',
|
||||
expectFinal:
|
||||
'angledLineOfXLength({ angle = angle001, length = 23.14 }, %)',
|
||||
'angledLine(angle = 181 + 0, lengthX = 23.14)',
|
||||
expectAfterUnconstrained: 'angledLine(angle = -179, lengthX = 23.14)',
|
||||
expectFinal: 'angledLine(angle = angle001, lengthX = 23.14)',
|
||||
ang: ang + 180,
|
||||
locator: '[data-overlay-toolbar-index="7"]',
|
||||
})
|
||||
@ -543,11 +538,10 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
hoverPos: { x: angledLineOfXLength.x, y: angledLineOfXLength.y },
|
||||
constraintType: 'xRelative',
|
||||
expectBeforeUnconstrained:
|
||||
'angledLineOfXLength({ angle = angle001, length = 23.14 }, %)',
|
||||
'angledLine(angle = angle001, lengthX = 23.14)',
|
||||
expectAfterUnconstrained:
|
||||
'angledLineOfXLength({ angle = angle001, length = xRel001 }, %)',
|
||||
expectFinal:
|
||||
'angledLineOfXLength({ angle = angle001, length = 23.14 }, %)',
|
||||
'angledLine(angle = angle001, lengthX = xRel001)',
|
||||
expectFinal: 'angledLine(angle = angle001, lengthX = 23.14)',
|
||||
steps: 7,
|
||||
ang: ang + 180,
|
||||
locator: '[data-overlay-toolbar-index="7"]',
|
||||
@ -561,11 +555,10 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
await clickUnconstrained({
|
||||
hoverPos: { x: angledLineOfYLength.x, y: angledLineOfYLength.y },
|
||||
constraintType: 'angle',
|
||||
expectBeforeUnconstrained:
|
||||
'angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)',
|
||||
expectBeforeUnconstrained: 'angledLine(angle = -91, lengthY = 19 + 0)',
|
||||
expectAfterUnconstrained:
|
||||
'angledLineOfYLength({ angle = angle002, length = 19 + 0 }, %)',
|
||||
expectFinal: 'angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)',
|
||||
'angledLine(angle = angle002, lengthY = 19 + 0)',
|
||||
expectFinal: 'angledLine(angle = -91, lengthY = 19 + 0)',
|
||||
ang: ang + 180,
|
||||
steps: 6,
|
||||
locator: '[data-overlay-toolbar-index="8"]',
|
||||
@ -574,12 +567,9 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
await clickConstrained({
|
||||
hoverPos: { x: angledLineOfYLength.x, y: angledLineOfYLength.y },
|
||||
constraintType: 'yRelative',
|
||||
expectBeforeUnconstrained:
|
||||
'angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)',
|
||||
expectAfterUnconstrained:
|
||||
'angledLineOfYLength({ angle = -91, length = 19 }, %)',
|
||||
expectFinal:
|
||||
'angledLineOfYLength({ angle = -91, length = yRel002 }, %)',
|
||||
expectBeforeUnconstrained: 'angledLine(angle = -91, lengthY = 19 + 0)',
|
||||
expectAfterUnconstrained: 'angledLine(angle = -91, lengthY = 19)',
|
||||
expectFinal: 'angledLine(angle = -91, lengthY = yRel002)',
|
||||
ang: ang + 180,
|
||||
steps: 7,
|
||||
locator: '[data-overlay-toolbar-index="8"]',
|
||||
@ -597,16 +587,16 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
part001 = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line(end = [0.5, -14 + 0])
|
||||
|> angledLine({ angle = 3 + 0, length = 32 + 0 }, %)
|
||||
|> angledLine(angle = 3 + 0, length = 32 + 0)
|
||||
|> line(endAbsolute = [33, 11.5 + 0])
|
||||
|> xLine(endAbsolute = 9 - 5)
|
||||
|> yLine(endAbsolute = -10.77, tag = $a)
|
||||
|> xLine(length = 26.04)
|
||||
|> yLine(length = 21.14 + 0)
|
||||
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
||||
|> angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)
|
||||
|> angledLineToX({ angle = 3 + 0, to = 26 }, %)
|
||||
|> angledLineToY({ angle = 89, to = 9.14 + 0 }, %)
|
||||
|> angledLine(angle = 181 + 0, lengthX = 23.14)
|
||||
|> angledLine(angle = -91, lengthY = 19 + 0)
|
||||
|> angledLine(angle = 3 + 0, endAbsoluteX = 26)
|
||||
|> angledLine(angle = 89, endAbsoluteY = 9.14 + 0)
|
||||
|> angledLineThatIntersects({
|
||||
angle = 4.14,
|
||||
intersectTag = a,
|
||||
@ -646,9 +636,9 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
hoverPos: { x: angledLineToX.x, y: angledLineToX.y },
|
||||
constraintType: 'angle',
|
||||
expectBeforeUnconstrained:
|
||||
'angledLineToX({ angle = 3 + 0, to = 26 }, %)',
|
||||
expectAfterUnconstrained: 'angledLineToX({ angle = 3, to = 26 }, %)',
|
||||
expectFinal: 'angledLineToX({ angle = angle001, to = 26 }, %)',
|
||||
'angledLine(angle = 3 + 0, endAbsoluteX = 26)',
|
||||
expectAfterUnconstrained: 'angledLine(angle = 3, endAbsoluteX = 26)',
|
||||
expectFinal: 'angledLine(angle = angle001, endAbsoluteX = 26)',
|
||||
ang: ang + 180,
|
||||
locator: '[data-overlay-toolbar-index="9"]',
|
||||
})
|
||||
@ -657,10 +647,10 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
hoverPos: { x: angledLineToX.x, y: angledLineToX.y },
|
||||
constraintType: 'xAbsolute',
|
||||
expectBeforeUnconstrained:
|
||||
'angledLineToX({ angle = angle001, to = 26 }, %)',
|
||||
'angledLine(angle = angle001, endAbsoluteX = 26)',
|
||||
expectAfterUnconstrained:
|
||||
'angledLineToX({ angle = angle001, to = xAbs001 }, %)',
|
||||
expectFinal: 'angledLineToX({ angle = angle001, to = 26 }, %)',
|
||||
'angledLine(angle = angle001, endAbsoluteX = xAbs001)',
|
||||
expectFinal: 'angledLine(angle = angle001, endAbsoluteX = 26)',
|
||||
ang: ang + 180,
|
||||
locator: '[data-overlay-toolbar-index="9"]',
|
||||
})
|
||||
@ -671,11 +661,9 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
await clickUnconstrained({
|
||||
hoverPos: { x: angledLineToY.x, y: angledLineToY.y },
|
||||
constraintType: 'angle',
|
||||
expectBeforeUnconstrained:
|
||||
'angledLineToY({ angle = 89, to = 9.14 + 0 }, %)',
|
||||
expectAfterUnconstrained:
|
||||
'angledLineToY({ angle = angle002, to = 9.14 + 0 }, %)',
|
||||
expectFinal: 'angledLineToY({ angle = 89, to = 9.14 + 0 }, %)',
|
||||
expectBeforeUnconstrained: 'angledLine(angle = 89, to = 9.14 + 0)',
|
||||
expectAfterUnconstrained: 'angledLine(angle = angle002, to = 9.14 + 0)',
|
||||
expectFinal: 'angledLine(angle = 89, to = 9.14 + 0)',
|
||||
steps: process.platform === 'darwin' ? 8 : 9,
|
||||
ang: ang + 180,
|
||||
locator: '[data-overlay-toolbar-index="10"]',
|
||||
@ -685,9 +673,9 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
hoverPos: { x: angledLineToY.x, y: angledLineToY.y },
|
||||
constraintType: 'yAbsolute',
|
||||
expectBeforeUnconstrained:
|
||||
'angledLineToY({ angle = 89, to = 9.14 + 0 }, %)',
|
||||
expectAfterUnconstrained: 'angledLineToY({ angle = 89, to = 9.14 }, %)',
|
||||
expectFinal: 'angledLineToY({ angle = 89, to = yAbs001 }, %)',
|
||||
'angledLine(angle = 89, endAbsoluteY = 9.14 + 0)',
|
||||
expectAfterUnconstrained: 'angledLine(angle = 89, endAbsoluteY = 9.14)',
|
||||
expectFinal: 'angledLine(angle = 89, endAbsoluteY = yAbs001)',
|
||||
ang: ang + 180,
|
||||
locator: '[data-overlay-toolbar-index="10"]',
|
||||
})
|
||||
@ -759,14 +747,14 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
part001 = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line(end = [0.5, -14 + 0])
|
||||
|> angledLine({ angle = 3 + 0, length = 32 + 0 }, %)
|
||||
|> angledLine(angle = 3 + 0, length = 32 + 0)
|
||||
|> line(endAbsolute = [33, 11.5 + 0])
|
||||
|> xLine(endAbsolute = 9 - 5)
|
||||
|> yLine(endAbsolute = -10.77, tag = $a)
|
||||
|> xLine(length = 26.04)
|
||||
|> yLine(length = 21.14 + 0)
|
||||
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
||||
|> angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)
|
||||
|> angledLine(angle = 181 + 0, lengthX = 23.14)
|
||||
|> angledLine(angle = -91, lengthY = 19 + 0)
|
||||
|> angledLineToX({ angle = 3 + 0, to = 26 }, %)
|
||||
|> angledLineToY({ angle = 89, to = 9.14 + 0 }, %)
|
||||
|> angledLineThatIntersects({
|
||||
@ -1094,8 +1082,8 @@ part001 = startSketchOn(XZ)
|
||||
|> yLine(endAbsolute = -10.77, tag = $a)
|
||||
|> xLine(length = 26.04)
|
||||
|> yLine(length = 21.14 + 0)
|
||||
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
||||
|> angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)
|
||||
|> angledLine(angle = 181 + 0, lengthX = 23.14)
|
||||
|> angledLine(angle = -91, lengthY = 19 + 0)
|
||||
|> angledLineToX({ angle = 3 + 0, to = 26 }, %)
|
||||
|> angledLineToY({ angle = 89, to = 9.14 + 0 }, %)
|
||||
|> angledLineThatIntersects({
|
||||
@ -1230,8 +1218,7 @@ part001 = startSketchOn(XZ)
|
||||
ang = await u.getAngle('[data-overlay-index="7"]')
|
||||
await deleteSegmentSequence({
|
||||
hoverPos: { x: segmentToDelete.x, y: segmentToDelete.y },
|
||||
codeToBeDeleted:
|
||||
'angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)',
|
||||
codeToBeDeleted: 'angledLine(angle = 181 + 0, lengthX = 23.14)',
|
||||
stdLibFnName: 'angledLineOfXLength',
|
||||
ang: ang + 180,
|
||||
locator: '[data-overlay-toolbar-index="7"]',
|
||||
@ -1340,10 +1327,8 @@ part001 = startSketchOn(XZ)
|
||||
'yLine(length = -8, tag = $seg01)',
|
||||
'xLine(endAbsolute = 30, tag = $seg01)',
|
||||
'yLine(endAbsolute = -4, tag = $seg01)',
|
||||
'angledLineOfXLength([3, 30], %, $seg01)',
|
||||
'angledLineOfXLength({ angle = 3, length = 30 }, %, $seg01)',
|
||||
'angledLineOfYLength([3, 1.5], %, $seg01)',
|
||||
'angledLineOfYLength({ angle = 3, length = 1.5 }, %, $seg01)',
|
||||
'angledLine(angle = 3, lengthX = 30, tag = $seg01)',
|
||||
'angledLine(angle = 3, lengthY = 1.5, tag = $seg01)',
|
||||
'angledLineToX([3, 30], %, $seg01)',
|
||||
'angledLineToX({ angle = 3, to = 30 }, %, $seg01)',
|
||||
'angledLineToY([3, 7], %, $seg01)',
|
||||
@ -1497,30 +1482,25 @@ part001 = startSketchOn(XZ)
|
||||
after: `line(end = [0, -10], tag = $seg01)`,
|
||||
},
|
||||
{
|
||||
before: `angledLineOfXLength({ angle = 3 + 0, length = 30 + 0 }, %, $seg01)`,
|
||||
before: `angledLine(angle = 3 + 0, lengthX = 30 + 0, tag = $seg01)`,
|
||||
after: `line(end = [30, 1.57], tag = $seg01)`,
|
||||
},
|
||||
{
|
||||
before: `angledLineOfYLength({ angle = 3 + 0, length = 1.5 + 0 }, %, $seg01)`,
|
||||
before: `angledLine(angle = 3 + 0, lengthY = 1.5 + 0, tag = $seg01)`,
|
||||
after: `line(end = [28.62, 1.5], tag = $seg01)`,
|
||||
},
|
||||
{
|
||||
before: `angledLineToX({ angle = 3 + 0, to = 30 + 0 }, %, $seg01)`,
|
||||
before: `angledLine(angle = 3 + 0, endAbsoluteX = 30 + 0, tag = $seg01)`,
|
||||
after: `line(end = [25, 1.31], tag = $seg01)`,
|
||||
},
|
||||
{
|
||||
before: `angledLineToY({ angle = 3 + 0, to = 7 + 0 }, %, $seg01)`,
|
||||
before: `angledLine(angle = 3 + 0, endAbsoluteY = 7 + 0, $seg01)`,
|
||||
after: `line(end = [19.08, 1], tag = $seg01)`,
|
||||
},
|
||||
]
|
||||
|
||||
for (const { before, after } of cases) {
|
||||
const isObj = before.includes('{ angle = 3')
|
||||
test(`${before.split('=')[0]}${isObj ? '-[obj-input]' : ''}`, async ({
|
||||
page,
|
||||
editor,
|
||||
homePage,
|
||||
}) => {
|
||||
test(`${before.split('=')[0]}`, async ({ page, editor, homePage }) => {
|
||||
await page.addInitScript(
|
||||
async ({ lineToBeDeleted }) => {
|
||||
localStorage.setItem(
|
||||
@ -1530,7 +1510,7 @@ part001 = startSketchOn(XZ)
|
||||
|> startProfileAt([5, 6], %)
|
||||
|> ${lineToBeDeleted}
|
||||
|> line(end = [-10, -15])
|
||||
|> angledLine([-176, segLen(seg01)], %)`
|
||||
|> angledLine(angle = -176, length = segLen(seg01))`
|
||||
)
|
||||
},
|
||||
{
|
||||
|
@ -320,9 +320,9 @@ part009 = startSketchOn(XY)
|
||||
|> line(end = [0, -1])
|
||||
|> line(end = [-thickness, 0])
|
||||
|> line(end = [0, 1])
|
||||
|> angledLineToX({ angle = 120, to = pipeSmallDia }, %)
|
||||
|> angledLine(angle = 120, endAbsoluteX = pipeSmallDia)
|
||||
|> line(end = [0, pipeLength])
|
||||
|> angledLineToX({ angle = 60, to = pipeLargeDia }, %)
|
||||
|> angledLine(angle = 60, endAbsoluteX = pipeLargeDia)
|
||||
|> close()
|
||||
rev = revolve(part009, axis = Y)
|
||||
sketch006 = startSketchOn(XY)
|
||||
@ -332,7 +332,7 @@ profile001 = circle(
|
||||
radius = 17.96
|
||||
)
|
||||
profile002 = startProfileAt([86.92, -63.81], sketch006)
|
||||
|> angledLine([0, 63.81], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 63.81, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
17.05
|
||||
@ -471,7 +471,7 @@ yo = startProfileAt([4.83, 12.56], part001)
|
||||
|> 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], %, $seg02)
|
||||
|> angledLine(angle = segAng(seg01), length = 12.35, tag = $seg02)
|
||||
|> line(end = [-13.02, 10.03])
|
||||
|> close()
|
||||
yoo = extrude(yo, length = 4)
|
||||
@ -484,7 +484,7 @@ profile002 = startProfileAt([-11.08, 2.39], sketch002)
|
||||
|> close()
|
||||
extrude001 = extrude(profile002, length = 15)
|
||||
profile001 = startProfileAt([7.49, 9.96], sketch001)
|
||||
|> angledLine([0, 5.05], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 5.05, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
4.81
|
||||
@ -537,15 +537,15 @@ profile001 = startProfileAt([7.49, 9.96], sketch001)
|
||||
part001 = startSketchOn(XZ)
|
||||
|> startProfileAt([20, 0], %)
|
||||
|> line(end = [7.13, 4 + 0])
|
||||
|> angledLine({ angle = 3 + 0, length = 3.14 + 0 }, %)
|
||||
|> angledLine(angle = 3 + 0, length = 3.14 + 0 )
|
||||
|> line(endAbsolute = [20.14 + 0, -0.14 + 0])
|
||||
|> xLine(endAbsolute = 29 + 0)
|
||||
|> yLine(length = -3.14 + 0, tag = $a)
|
||||
|> xLine(length = 1.63)
|
||||
|> angledLineOfXLength({ angle = 3 + 0, length = 3.14 }, %)
|
||||
|> angledLineOfYLength({ angle = 30, length = 3 + 0 }, %)
|
||||
|> angledLineToX({ angle = 22.14 + 0, to = 12 }, %)
|
||||
|> angledLineToY({ angle = 30, to = 11.14 }, %)
|
||||
|> angledLine(angle = 22.14 + 0, endAbsoluteX = 12)
|
||||
|> angledLine(angle = 30, endAbsoluteY = 11.14)
|
||||
|> angledLineThatIntersects({
|
||||
angle = 3.14,
|
||||
intersectTag = a,
|
||||
@ -735,13 +735,13 @@ part001 = startSketchOn(XZ)
|
||||
'straightSegmentEdge',
|
||||
straightSegmentEdge,
|
||||
`angledLineToY({angle=30,to=11.14},%)`,
|
||||
'angledLineToY({ angle = 30, to = 11.14 }, %)'
|
||||
'angledLine(angle = 30, endAbsoluteY = 11.14)'
|
||||
)
|
||||
await checkCodeAtHoverPosition(
|
||||
'straightSegmentOppositeEdge',
|
||||
straightSegmentOppositeEdge,
|
||||
`angledLineToY({angle=30,to=11.14},%)`,
|
||||
'angledLineToY({ angle = 30, to = 11.14 }, %)'
|
||||
'angledLine(angle = 30, endAbsoluteY = 11.14)'
|
||||
)
|
||||
await checkCodeAtHoverPosition(
|
||||
'straightSegmentAdjacentEdge',
|
||||
@ -756,7 +756,7 @@ part001 = startSketchOn(XZ)
|
||||
await u.codeLocator.fill(`@settings(defaultLengthUnit = in)
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([75.8, 317.2], %) // [$startCapTag, $EndCapTag]
|
||||
|> angledLine([0, 268.43], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 268.43, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
217.26
|
||||
@ -961,7 +961,7 @@ part001 = startSketchOn(XZ)
|
||||
},
|
||||
{
|
||||
pos: [816, 244],
|
||||
expectedCode: 'angledLine([segAng(seg01), yo], %)',
|
||||
expectedCode: 'angledLine(angle = segAng(seg01), length = yo)',
|
||||
},
|
||||
{
|
||||
pos: [1107, 161],
|
||||
|
@ -1 +1 @@
|
||||
part001 = startSketchOn('XY')yo = startProfileAt([4.83, 12.56], part001) |> 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], %, $seg02) |> line(end = [-13.02, 10.03]) |> close()sketch002 = startSketchOn({ plane = { origin = { x = 7.49, y = 2.4, z = 0 }, xAxis = { x = -0.3, y = 0.95, z = 0 }, yAxis = { x = 0, y = 0, z = 1 }, zAxis = { x = 0.95, y = 0.3, z = 0 } }})sketch001 = startSketchOn({ plane = { origin = { x = 0, y = 0, z = 4 }, xAxis = { x = 1, y = 0, z = 0 }, yAxis = { x = 0, y = 1, z = 0 }, zAxis = { x = 0, y = 0, z = 1 } }})profile002 = startProfileAt([-11.08, 2.39], sketch002) |> line(end = [4.89, 0.9]) |> line(end = [-0.61, -2.41]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close()extrude001 = extrude(profile002, length = 15)profile001 = startProfileAt([7.49, 9.96], sketch001) |> angledLine([0, 5.05], %, $rectangleSegmentA001) |> angledLine([ segAng(rectangleSegmentA001) - 90, 4.81 ], %) |> angledLine([ segAng(rectangleSegmentA001), -segLen(rectangleSegmentA001) ], %) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close()
|
||||
part001 = startSketchOn('XY')yo = startProfileAt([4.83, 12.56], part001) |> line(end = [15.1, 2.48]) |> line(end = [3.15, -9.85], tag = $seg01) |> line(end = [-15.17, -4.1]) |> angledLine(angle = segAng(seg01), 12.35], %, $seg02) |> line(end = [-13.02, 10.03]) |> close()sketch002 = startSketchOn({ plane = { origin = { x = 7.49, y = 2.4, z = 0 }, xAxis = { x = -0.3, y = 0.95, z = 0 }, yAxis = { x = 0, y = 0, z = 1 }, zAxis = { x = 0.95, y = 0.3, z = 0 } }})sketch001 = startSketchOn({ plane = { origin = { x = 0, y = 0, z = 4 }, xAxis = { x = 1, y = 0, z = 0 }, yAxis = { x = 0, y = 1, z = 0 }, zAxis = { x = 0, y = 0, z = 1 } }})profile002 = startProfileAt([-11.08, 2.39], sketch002) |> line(end = [4.89, 0.9]) |> line(end = [-0.61, -2.41]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close()extrude001 = extrude(profile002, length = 15)profile001 = startProfileAt([7.49, 9.96], sketch001) |> angledLine(angle = 0, length = 5.05, tag = $rectangleSegmentA001) |> angledLine([ segAng(rectangleSegmentA001) - 90, 4.81 ], %) |> angledLine([ segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001) ) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close()
|
@ -59,10 +59,11 @@ part001 = startSketchOn(-XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> yLine(length = baseHeight)
|
||||
|> xLine(length = baseLen)
|
||||
|> angledLineToY({
|
||||
|> angledLine(
|
||||
angle = topAng,
|
||||
to = totalHeightHalf,
|
||||
}, %, $seg04)
|
||||
endAbsoluteY = totalHeightHalf,
|
||||
tag = $seg04,
|
||||
)
|
||||
|> xLine(endAbsolute = totalLen, tag = $seg03)
|
||||
|> yLine(length = -armThick, tag = $seg01)
|
||||
|> angledLineThatIntersects({
|
||||
@ -70,11 +71,12 @@ part001 = startSketchOn(-XZ)
|
||||
offset = -armThick,
|
||||
intersectTag = seg04
|
||||
}, %)
|
||||
|> angledLineToY([segAng(seg04) + 180, turns::ZERO], %)
|
||||
|> angledLineToY({
|
||||
|> angledLine(angle = segAng(seg04) + 180, endAbsoluteY = turns::ZERO)
|
||||
|> angledLine(
|
||||
angle = -bottomAng,
|
||||
to = -totalHeightHalf - armThick,
|
||||
}, %, $seg02)
|
||||
endAbsoluteY = -totalHeightHalf - armThick,
|
||||
tag = $seg02,
|
||||
)
|
||||
|> xLine(endAbsolute = segEndX(seg03) + 0)
|
||||
|> yLine(length = -segLen(seg01))
|
||||
|> angledLineThatIntersects({
|
||||
@ -82,7 +84,7 @@ part001 = startSketchOn(-XZ)
|
||||
offset = -armThick,
|
||||
intersectTag = seg02
|
||||
}, %)
|
||||
|> angledLineToY([segAng(seg02) + 180, -baseHeight], %)
|
||||
|> angledLine(angle = segAng(seg02) + 180, endAbsoluteY = -baseHeight)
|
||||
|> xLine(endAbsolute = turns::ZERO)
|
||||
|> close()
|
||||
|> extrude(length = 4)`
|
||||
|
@ -31,15 +31,9 @@ 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({
|
||||
angle = 45,
|
||||
to = (1 - 0.356) / 2 * railHeight + originStart[1]
|
||||
}, %, $edge4)
|
||||
|> angledLine(angle = 45, endAbsoluteY = (1 - 0.356) / 2 * railHeight + originStart[1], tag = $edge4)
|
||||
|> xLine(length = 0.232 * railHeight, tag = $edge5)
|
||||
|> angledLineToY({
|
||||
angle = -45,
|
||||
to = 0.087 * railHeight + originStart[1]
|
||||
}, %, $edge6)
|
||||
|> angledLine(angle = -45, 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 +69,9 @@ 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({
|
||||
angle = 135,
|
||||
to = ((1 - 0.356) / 2 + 0.356) * railHeight + originStart[0]
|
||||
}, %, $edge12) // edge12
|
||||
|> angledLine(angle = 135, endAbsoluteX = ((1 - 0.356) / 2 + 0.356) * railHeight + originStart[0], tag = $edge12) // edge12
|
||||
|> yLine(length = 0.232 * railHeight, tag = $edge13) // 13
|
||||
|> angledLineToX({
|
||||
angle = 45,
|
||||
to = (1 - 0.087) * railHeight + originStart[0]
|
||||
}, %, $edge14) // 14
|
||||
|> angledLine(angle = 45, 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 +107,9 @@ 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({
|
||||
angle = 45,
|
||||
to = ((1 - 0.356) / 2 + 0.356) * railHeight + originStart[1]
|
||||
}, %, $edge20)
|
||||
|> angledLine(angle = 45, endAbsoluteY = ((1 - 0.356) / 2 + 0.356) * railHeight + originStart[1], tag = $edge20)
|
||||
|> xLine(length = -0.232 * railHeight, tag = $edge21)
|
||||
|> angledLineToY({
|
||||
angle = 135,
|
||||
to = (1 - 0.087) * railHeight + originStart[1]
|
||||
}, %, $edge22)
|
||||
|> angledLine(angle = 135, 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 +145,9 @@ 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({
|
||||
angle = 135,
|
||||
to = (1 - 0.356) / 2 * railHeight + originStart[0]
|
||||
}, %, $edge28)
|
||||
|> angledLine(angle = 135, endAbsoluteX = (1 - 0.356) / 2 * railHeight + originStart[0], tag = $edge28)
|
||||
|> yLine(length = -0.232 * railHeight, tag = $edge29)
|
||||
|> angledLineToX({
|
||||
angle = 45,
|
||||
to = 0.087 * railHeight + originStart[0]
|
||||
}, %, $edge30)
|
||||
|> angledLine(angle = 45, 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() }, %)
|
||||
|
@ -23,18 +23,12 @@ tealPlane = offsetPlane(YZ, offset = -halfSize)
|
||||
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)
|
||||
|> 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)
|
||||
|> extrude(length = extrudeLength)
|
||||
|> appearance(color = color, metalness = metalConstant, roughness = roughnessConstant)
|
||||
}
|
||||
|
||||
|
@ -14,15 +14,9 @@ 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)
|
||||
@ -81,15 +75,9 @@ 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(
|
||||
@ -137,15 +125,9 @@ 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,9 @@ fn primaryTube(n, angle001, length001, length002, length003) {
|
||||
|> startProfileAt([0, plateHeight], %)
|
||||
|> line(end = [0, length001])
|
||||
|> tangentialArc({ offset = -80, radius = bendRadius }, %, $arc01)
|
||||
|> angledLine({
|
||||
angle = tangentToEnd(arc01),
|
||||
length = length002
|
||||
}, %)
|
||||
|> angledLine(angle = tangentToEnd(arc01), length = length002)
|
||||
|> tangentialArc({ offset = 85, radius = bendRadius }, %, $arc02)
|
||||
|> angledLine({
|
||||
angle = tangentToEnd(arc02),
|
||||
length = length003
|
||||
}, %)
|
||||
|> 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,9 @@ 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 +39,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 +59,13 @@ sketch002 = startSketchOn(plane001)
|
||||
angleEnd = 60,
|
||||
radius = 0.6
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = 150,
|
||||
length = -segLen(edge3) + 0.035
|
||||
}, %, $edge5)
|
||||
|> angledLine(angle = 150, length = -segLen(edge3) + 0.035, tag = $edge5)
|
||||
|> arc({
|
||||
angleStart = -120,
|
||||
angleEnd = 30,
|
||||
radius = 0.5
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = -60,
|
||||
length = -segLen(edge2) + 0.035
|
||||
}, %, $edge6)
|
||||
|> angledLine(angle = -60, length = -segLen(edge2) + 0.035, tag = $edge6)
|
||||
|> arc({
|
||||
angleStart = 205,
|
||||
angleEnd = 180,
|
||||
@ -123,12 +111,9 @@ extrude002 = extrude(sketch004, length = -0.050)
|
||||
sketch005 = startSketchOn(XZ)
|
||||
|> startProfileAt([0.15, 1.11], %)
|
||||
|> xLine(endAbsolute = carafeDiameter / 2 - 0.2)
|
||||
|> angledLineToX({
|
||||
angle = 30,
|
||||
to = carafeDiameter / 2 - 0.07
|
||||
}, %, $seg1)
|
||||
|> angledLine({ angle = -60, length = 0.050 }, %)
|
||||
|> angledLine({ angle = 30, length = -segLen(seg1) }, %)
|
||||
|> angledLine(angle = 30, 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 +123,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
|
||||
}
|
||||
@ -184,12 +184,12 @@ fn lipFace(plane) {
|
||||
angleEnd = 45.0,
|
||||
radius = 0.500000
|
||||
}, %, $arc000)
|
||||
// |> angledLineOfYLength({ angle: -45, length: lipStep5 }, %)
|
||||
// |> angledLine(angle = -45, lengthY = 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)
|
||||
|
@ -22,7 +22,7 @@ row6 = row5 + keyHeight + spacing
|
||||
sketch001 = startSketchOn(YZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line(end = [-0.14, 0.68], tag = $seg01)
|
||||
|> angledLine([7, row6 + 3 * spacing + keyHeight], %, $seg02)
|
||||
|> angledLine(angle = 7, length = row6 + 3 * spacing + keyHeight, tag = $seg02)
|
||||
|> line(endAbsolute = [5.13, 0], tag = $seg03)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $seg04)
|
||||
|> close()
|
||||
@ -73,17 +73,11 @@ fn keyFn(originStart, keyWidth, keyHeight, repeats, color) {
|
||||
angleEnd = 270,
|
||||
radius = 0.1
|
||||
}, %)
|
||||
|> angledLine([0, keyWidth - .2], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = keyWidth - .2, tag = $rectangleSegmentA001)
|
||||
|> tangentialArc({ radius = 0.1, offset = 90 }, %)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) + 90,
|
||||
keyHeight - .2
|
||||
], %, $rectangleSegmentB001)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA001) + 90, length = keyHeight - .2, tag = $rectangleSegmentB001)
|
||||
|> tangentialArc({ radius = 0.1, offset = 90 }, %)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
], %, $rectangleSegmentC001)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001), tag = $rectangleSegmentC001)
|
||||
|> tangentialArc({ radius = 0.1, offset = 90 }, %)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $rectangleSegmentD001)
|
||||
|> close()
|
||||
@ -151,24 +145,15 @@ fn z(origin, scale, depth) {
|
||||
], %)
|
||||
|> yLine(length = -0.15 * scale)
|
||||
|> xLine(length = 0.15 * scale)
|
||||
|> angledLineToX({
|
||||
angle = 47.15,
|
||||
to = 0.3 * scale + origin[0]
|
||||
}, %, $seg1)
|
||||
|> angledLine(angle = 47.15, 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({
|
||||
angle = 47.15,
|
||||
to = 0.93 * scale + origin[0]
|
||||
}, %)
|
||||
|> angledLine(angle = 47.15, endAbsoluteX = 0.93 * scale + origin[0])
|
||||
|> yLine(length = 0.15 * scale)
|
||||
|> xLine(length = -0.15 * scale)
|
||||
|> angledLine({
|
||||
angle = 47.15,
|
||||
length = -segLen(seg1)
|
||||
}, %, $seg2)
|
||||
|> angledLine(angle = 47.15, length = -segLen(seg1), tag = $seg2)
|
||||
|> yLine(length = segLen(seg3))
|
||||
|> xLine(endAbsolute = 0 + origin[0])
|
||||
|> yLine(length = -0.225 * scale)
|
||||
@ -195,7 +180,7 @@ fn o(origin, scale, depth) {
|
||||
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,
|
||||
@ -215,7 +200,7 @@ fn o(origin, scale, depth) {
|
||||
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,
|
||||
|
@ -9,15 +9,9 @@ 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,7 @@ sketch011 = startSketchOn(plane003)
|
||||
angleEnd = 270 + axisJ2,
|
||||
radius = axisJ2ArmWidth / 2
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = axisJ2,
|
||||
length = axisJ2ArmLength
|
||||
}, %)
|
||||
|> angledLine(angle = axisJ2, length = axisJ2ArmLength)
|
||||
|> arc({
|
||||
angleStart = -90 + axisJ2,
|
||||
angleEnd = 90 + axisJ2,
|
||||
|
@ -16,10 +16,7 @@ sketch017 = startSketchOn(plane002)
|
||||
angleEnd = 270 + axisJ3C,
|
||||
radius = axisJ3CArmWidth / 2
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = axisJ3C,
|
||||
length = axisJ3CArmLength
|
||||
}, %)
|
||||
|> angledLine(angle = axisJ3C, length = axisJ3CArmLength)
|
||||
|> arc({
|
||||
angleStart = 270 + axisJ3C,
|
||||
angleEnd = 90 + axisJ3C,
|
||||
@ -99,31 +96,16 @@ sketch023 = startSketchOn(extrude022, 'START')
|
||||
1.75 + axisJ2ArmLength * cos(toRadians(axisJ2)) + axisJ3CArmLength * cos(toRadians(axisJ3C)),
|
||||
8 + axisJ2ArmLength * sin(toRadians(axisJ2)) + axisJ3CArmLength * sin(toRadians(axisJ3C))
|
||||
], %)
|
||||
|> angledLine({
|
||||
angle = axisJ3C + axisJ4 / 2,
|
||||
length = grabberLength / 4
|
||||
}, %)
|
||||
|> angledLine(angle = axisJ3C + axisJ4 / 2, length = grabberLength / 4)
|
||||
|> arc({
|
||||
angleStart = 150 + axisJ3C + axisJ4 / 2,
|
||||
angleEnd = 30 + axisJ3C + axisJ4 / 2,
|
||||
radius = grabberLength / 3
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = axisJ3C + axisJ4 / 2,
|
||||
length = grabberLength / 6
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = axisJ3C + axisJ4 / 2 + 132,
|
||||
length = grabberLength / 3.5
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = axisJ3C + axisJ4 / 2 + 160,
|
||||
length = grabberLength / 3.5
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = axisJ3C + axisJ4 / 2 + 200,
|
||||
length = grabberLength / 3
|
||||
}, %)
|
||||
|> angledLine(angle = axisJ3C + axisJ4 / 2, length = grabberLength / 6)
|
||||
|> angledLine(angle = axisJ3C + axisJ4 / 2 + 132, length = grabberLength / 3.5)
|
||||
|> angledLine(angle = axisJ3C + axisJ4 / 2 + 160, length = grabberLength / 3.5)
|
||||
|> angledLine(angle = axisJ3C + axisJ4 / 2 + 200, length = grabberLength / 3)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
|
||||
@ -135,31 +117,16 @@ sketch024 = startSketchOn(extrude022, 'START')
|
||||
1.75 + axisJ2ArmLength * cos(toRadians(axisJ2)) + axisJ3CArmLength * cos(toRadians(axisJ3C)),
|
||||
8 + axisJ2ArmLength * sin(toRadians(axisJ2)) + axisJ3CArmLength * sin(toRadians(axisJ3C))
|
||||
], %)
|
||||
|> angledLine({
|
||||
angle = axisJ3C - (axisJ4 / 2),
|
||||
length = grabberLength / 4
|
||||
}, %)
|
||||
|> angledLine(angle = axisJ3C - (axisJ4 / 2), length = grabberLength / 4)
|
||||
|> arc({
|
||||
angleStart = 210 + axisJ3C - (axisJ4 / 2),
|
||||
angleEnd = 330 + axisJ3C - (axisJ4 / 2),
|
||||
radius = grabberLength / 3
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = axisJ3C - (axisJ4 / 2),
|
||||
length = grabberLength / 6
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = axisJ3C - (axisJ4 / 2) - 132,
|
||||
length = grabberLength / 3.5
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = axisJ3C - (axisJ4 / 2) - 160,
|
||||
length = grabberLength / 3.5
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = axisJ3C - (axisJ4 / 2) - 200,
|
||||
length = grabberLength / 3
|
||||
}, %)
|
||||
|> angledLine(angle = axisJ3C - (axisJ4 / 2), length = grabberLength / 6)
|
||||
|> angledLine(angle = axisJ3C - (axisJ4 / 2) - 132, length = grabberLength / 3.5)
|
||||
|> angledLine(angle = axisJ3C - (axisJ4 / 2) - 160, length = grabberLength / 3.5)
|
||||
|> angledLine(angle = axisJ3C - (axisJ4 / 2) - 200, 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()
|
||||
|
||||
|
@ -21,26 +21,11 @@ export fn bolt() {
|
||||
boltHexDrive / 2,
|
||||
boltHexFlatLength / 2
|
||||
], %)
|
||||
|> angledLine({
|
||||
angle = 270,
|
||||
length = boltHexFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = 210,
|
||||
length = boltHexFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = 150,
|
||||
length = boltHexFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = 90,
|
||||
length = boltHexFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = 30,
|
||||
length = boltHexFlatLength
|
||||
}, %)
|
||||
|> angledLine(angle = 270, length = boltHexFlatLength)
|
||||
|> angledLine(angle = 210, length = boltHexFlatLength)
|
||||
|> angledLine(angle = 150, length = boltHexFlatLength)
|
||||
|> angledLine(angle = 90, length = boltHexFlatLength)
|
||||
|> angledLine(angle = 30, length = boltHexFlatLength)
|
||||
|> close()
|
||||
|> extrude(length = -boltHeadLength * 0.75)
|
||||
|
||||
|
@ -15,26 +15,11 @@ export fn hexNut() {
|
||||
hexNutFlatToFlat / 2,
|
||||
hexNutFlatLength / 2
|
||||
], %)
|
||||
|> angledLine({
|
||||
angle = 270,
|
||||
length = hexNutFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = 210,
|
||||
length = hexNutFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = 150,
|
||||
length = hexNutFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = 90,
|
||||
length = hexNutFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = 30,
|
||||
length = hexNutFlatLength
|
||||
}, %)
|
||||
|> angledLine(angle = 270, length = hexNutFlatLength)
|
||||
|> angledLine(angle = 210, length = hexNutFlatLength)
|
||||
|> angledLine(angle = 150, length = hexNutFlatLength)
|
||||
|> angledLine(angle = 90, length = hexNutFlatLength)
|
||||
|> angledLine(angle = 30, length = hexNutFlatLength)
|
||||
|> close()
|
||||
|> extrude(length = hexNutThickness)
|
||||
|
||||
|
@ -17,20 +17,17 @@ 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({
|
||||
angle = 60,
|
||||
to = wallsWidth / 2 + wallThickness / 2
|
||||
}, %)
|
||||
|> angledLine(angle = 60, 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 +41,17 @@ 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({
|
||||
angle = 60,
|
||||
to = wallsWidth / 2 + wallThickness / 2
|
||||
}, %)
|
||||
|> angledLine(angle = 60, 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 +70,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)
|
||||
|
||||
@ -86,12 +80,9 @@ sketch004 = startSketchOn(sketch002, 'END')
|
||||
|> yLine(endAbsolute = height)
|
||||
|> xLine(endAbsolute = wallThickness)
|
||||
|> yLine(endAbsolute = segEndY(seg01))
|
||||
|> angledLineToX({
|
||||
angle = 180 - 60,
|
||||
to = wallsWidth / 2 - (wallThickness / 2)
|
||||
}, %)
|
||||
|> angledLine(angle = 180 - 60, 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([
|
||||
|
@ -56,15 +56,9 @@ extrude001 = extrude(sketch001, length = 5)
|
||||
// Create the second sketch
|
||||
sketch002 = 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()
|
||||
|
||||
@ -74,15 +68,9 @@ extrude002 = extrude(sketch002, length = 13)
|
||||
// Create the third sketch
|
||||
sketch003 = 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()
|
||||
|
||||
@ -92,15 +80,9 @@ extrude003 = extrude(sketch003, length = 13)
|
||||
// Create the fourth sketch
|
||||
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()
|
||||
|
||||
|
@ -54,14 +54,8 @@ 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()
|
||||
|
||||
@ -75,14 +69,8 @@ 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()
|
||||
|
||||
|
@ -41,7 +41,7 @@ bracketProfile = startSketchOn(XZ)
|
||||
radius = exteriorBendRadius,
|
||||
offset = bendAngle
|
||||
}, %)
|
||||
|> angledLineToY([bendAngle, hatHeight - thickness], %, $seg01)
|
||||
|> angledLine(angle = bendAngle, lengthY = hatHeight - thickness, tag = $seg01)
|
||||
|> tangentialArc({
|
||||
radius = interiorBendRadius,
|
||||
offset = -bendAngle
|
||||
@ -52,7 +52,7 @@ bracketProfile = startSketchOn(XZ)
|
||||
radius = interiorBendRadius,
|
||||
offset = -bendAngle
|
||||
}, %)
|
||||
|> angledLine([-bendAngle, segLen(seg01)], %)
|
||||
|> angledLine(angle = -bendAngle, length = segLen(seg01))
|
||||
|> tangentialArc({
|
||||
radius = exteriorBendRadius,
|
||||
offset = bendAngle
|
||||
@ -64,7 +64,7 @@ bracketProfile = startSketchOn(XZ)
|
||||
radius = interiorBendRadius,
|
||||
offset = -bendAngle
|
||||
}, %)
|
||||
|> angledLine([180 - bendAngle, segLen(seg01)], %)
|
||||
|> angledLine(angle = 180 - bendAngle, length = segLen(seg01))
|
||||
|> tangentialArc({
|
||||
radius = exteriorBendRadius,
|
||||
offset = bendAngle
|
||||
@ -75,7 +75,7 @@ bracketProfile = startSketchOn(XZ)
|
||||
radius = exteriorBendRadius,
|
||||
offset = bendAngle
|
||||
}, %)
|
||||
|> angledLine([bendAngle - 180, segLen(seg01)], %)
|
||||
|> angledLine(angle = bendAngle - 180, length = segLen(seg01))
|
||||
|> tangentialArc({
|
||||
radius = interiorBendRadius,
|
||||
offset = -bendAngle
|
||||
|
@ -24,26 +24,26 @@ hexPatternSketch = startSketchOn(boltHead, 'start')
|
||||
boltHexDrive / 2,
|
||||
boltHexFlatLength / 2
|
||||
], %)
|
||||
|> angledLine({
|
||||
|> angledLine(
|
||||
angle = 270,
|
||||
length = boltHexFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
)
|
||||
|> angledLine(
|
||||
angle = 210,
|
||||
length = boltHexFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
)
|
||||
|> angledLine(
|
||||
angle = 150,
|
||||
length = boltHexFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
)
|
||||
|> angledLine(
|
||||
angle = 90,
|
||||
length = boltHexFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
)
|
||||
|> angledLine(
|
||||
angle = 30,
|
||||
length = boltHexFlatLength
|
||||
}, %)
|
||||
)
|
||||
|> close()
|
||||
|> extrude(length = -boltHeadLength * 0.75)
|
||||
boltBody = startSketchOn(boltHead, 'end')
|
||||
|
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
@ -31,28 +31,22 @@ caseIndentSketch = startSketchOn(body, 'END')
|
||||
-width / 2 + offset,
|
||||
height / 2 - (chamferLength + offset / 2 * cos(toRadians(45)))
|
||||
], %)
|
||||
|> angledLineToY({ angle = 45, to = height / 2 - offset }, %)
|
||||
|> angledLine(angle = 45, endAbsoluteY = height / 2 - offset)
|
||||
|> line(endAbsolute = [
|
||||
width / 2 - (chamferLength + offset / 2 * cos(toRadians(45))),
|
||||
height / 2 - offset
|
||||
])
|
||||
|> angledLineToX({ angle = -45, to = width / 2 - offset }, %)
|
||||
|> angledLine(angle = -45, endAbsoluteX = width / 2 - offset)
|
||||
|> line(endAbsolute = [
|
||||
width / 2 - offset,
|
||||
-(height / 2 - (chamferLength + offset / 2 * cos(toRadians(45))))
|
||||
])
|
||||
|> angledLineToY({
|
||||
angle = -135,
|
||||
to = -height / 2 + offset
|
||||
}, %)
|
||||
|> angledLine(angle = -135, endAbsoluteY = -height / 2 + offset)
|
||||
|> line(endAbsolute = [
|
||||
-(width / 2 - (chamferLength + offset / 2 * cos(toRadians(45)))),
|
||||
-height / 2 + offset
|
||||
])
|
||||
|> angledLineToX({
|
||||
angle = -225,
|
||||
to = -width / 2 + offset
|
||||
}, %)
|
||||
|> angledLine(angle = -225, endAbsoluteX = -width / 2 + offset)
|
||||
|> close()
|
||||
extrude002 = extrude(caseIndentSketch, length = -0.0625)
|
||||
|
||||
|
@ -14,9 +14,9 @@ export fn button() {
|
||||
// Sketch the button profile and extrude
|
||||
buttonSketch = startSketchOn(XZ)
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({ angle = 180, length = buttonWidth }, %, $tag1)
|
||||
|> angledLine({ angle = 270, length = buttonHeight }, %, $tag2)
|
||||
|> angledLine({ angle = 0, length = buttonWidth }, %)
|
||||
|> angledLine(angle = 180, length = buttonWidth, tag = $tag1)
|
||||
|> angledLine(angle = 270, length = buttonHeight, tag = $tag2)
|
||||
|> angledLine(angle = 0, length = buttonWidth)
|
||||
|> close()
|
||||
button = extrude(buttonSketch, length = buttonThickness)
|
||||
|> chamfer(
|
||||
|
@ -41,34 +41,22 @@ case = startSketchOn(XZ)
|
||||
-width / 2 + offset + caseTolerance,
|
||||
height / 2 - (chamferLength + (offset + caseTolerance) / 2 * cos(toRadians(45)))
|
||||
], %)
|
||||
|> angledLineToY({
|
||||
angle = 45,
|
||||
to = height / 2 - (offset + caseTolerance)
|
||||
}, %)
|
||||
|> angledLine(angle = 45, endAbsoluteY = height / 2 - (offset + caseTolerance))
|
||||
|> line(endAbsolute = [
|
||||
width / 2 - (chamferLength + (offset + caseTolerance) / 2 * cos(toRadians(45))),
|
||||
height / 2 - (offset + caseTolerance)
|
||||
])
|
||||
|> angledLineToX({
|
||||
angle = -45,
|
||||
to = width / 2 - (offset + caseTolerance)
|
||||
}, %)
|
||||
|> angledLine(angle = -45, endAbsoluteX = width / 2 - (offset + caseTolerance))
|
||||
|> line(endAbsolute = [
|
||||
width / 2 - (offset + caseTolerance),
|
||||
-(height / 2 - (chamferLength + (offset + caseTolerance) / 2 * cos(toRadians(45))))
|
||||
])
|
||||
|> angledLineToY({
|
||||
angle = -135,
|
||||
to = -height / 2 + offset + caseTolerance
|
||||
}, %)
|
||||
|> angledLine(angle = -135, endAbsoluteY = -height / 2 + offset + caseTolerance)
|
||||
|> line(endAbsolute = [
|
||||
-(width / 2 - (chamferLength + (offset + caseTolerance) / 2 * cos(toRadians(45)))),
|
||||
-height / 2 + offset + caseTolerance
|
||||
])
|
||||
|> angledLineToX({
|
||||
angle = -225,
|
||||
to = -width / 2 + offset + caseTolerance
|
||||
}, %)
|
||||
|> angledLine(angle = -225, endAbsoluteX = -width / 2 + offset + caseTolerance)
|
||||
|> close()
|
||||
|> hole(screenSketch, %)
|
||||
|> hole(squareHolePatternSketch, %)
|
||||
|
@ -9,24 +9,15 @@ export fn zLogo(surface, origin, scale) {
|
||||
], %)
|
||||
|> yLine(length = -0.15 * scale)
|
||||
|> xLine(length = 0.15 * scale)
|
||||
|> angledLineToX({
|
||||
angle = 47.15,
|
||||
to = 0.3 * scale + origin[0]
|
||||
}, %, $seg1)
|
||||
|> angledLine(angle = 47.15, 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({
|
||||
angle = 47.15,
|
||||
to = 0.93 * scale + origin[0]
|
||||
}, %)
|
||||
|> angledLine(angle = 47.15, endAbsoluteX = 0.93 * scale + origin[0])
|
||||
|> yLine(length = 0.15 * scale)
|
||||
|> xLine(length = -0.15 * scale)
|
||||
|> angledLine({
|
||||
angle = 47.15,
|
||||
length = -segLen(seg1)
|
||||
}, %, $seg2)
|
||||
|> angledLine(angle = 47.15, length = -segLen(seg1), tag = $seg2)
|
||||
|> yLine(length = segLen(seg3))
|
||||
|> xLine(endAbsolute = 0 + origin[0])
|
||||
|> yLine(length = -0.225 * scale)
|
||||
@ -51,7 +42,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 +63,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,
|
||||
|
@ -30,25 +30,18 @@ new-sim-test test_name render_to_png="true":
|
||||
cat kcl-lib/tests/simtest.tmpl | sed "s/TEST_NAME_HERE/{{test_name}}/" | sed "s/RENDER_TO_PNG/{{render_to_png}}/" >> kcl-lib/src/simulation_tests.rs
|
||||
|
||||
# Run a KCL deterministic simulation test case and accept output.
|
||||
run-sim-test test_name:
|
||||
# Run all the tests for the first time, in the right order.
|
||||
{{cita}} -p kcl-lib -- simulation_tests::{{test_name}}::parse
|
||||
{{cita}} -p kcl-lib -- simulation_tests::{{test_name}}::unparse
|
||||
{{cita}} -p kcl-lib -- tests::{{test_name}}::kcl_test_execute
|
||||
{{cita}} -p kcl-lib -- simulation_tests::{{test_name}}::test_after_engine
|
||||
overwrite-sim-test-sample test_name:
|
||||
EXPECTORATE=overwrite TWENTY_TWENTY=overwrite {{cita}} -p kcl-lib --no-quiet -- simulation_tests::kcl_samples::kcl_test_execute_{{test_name}}
|
||||
|
||||
overwrite-sim-test test_name:
|
||||
EXPECTORATE=overwrite {{cita}} -p kcl-lib --no-quiet -- simulation_tests::{{test_name}}::parse
|
||||
EXPECTORATE=overwrite {{cita}} -p kcl-lib --no-quiet -- simulation_tests::{{test_name}}::unparse
|
||||
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
|
||||
EXPECTORATE=overwrite TWENTY_TWENTY=overwrite {{cita}} -p kcl-lib --no-quiet -- simulation_tests::{{test_name}}::kcl_test_execute
|
||||
|
||||
# Regenerate all the simulation test output.
|
||||
redo-sim-tests:
|
||||
EXPECTORATE=overwrite TWENTY_TWENTY=overwrite {{cita}} -p kcl-lib --no-quiet -- simulation_tests
|
||||
|
||||
test:
|
||||
export RUST_BRACKTRACE="full" && cargo nextest run --workspace --no-fail-fast
|
||||
export RUST_BRACKTRACE="full" && {{cnr}} --workspace --no-fail-fast
|
||||
|
||||
bump-kcl-crate-versions bump='patch':
|
||||
# First build the kcl-bumper tool.
|
||||
|
@ -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)
|
||||
|
@ -1,7 +1,7 @@
|
||||
@settings(defaultLengthUnit = in)
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([75.8, 317.2], %)
|
||||
|> angledLine([0, 268.43], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 268.43, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
217.26
|
||||
|
@ -1,7 +1,7 @@
|
||||
@settings(defaultLengthUnit = in)
|
||||
sketch001 = startSketchOn(XZ)
|
||||
|> startProfileAt([75.8, 317.2], %) // [$startCapTag, $EndCapTag]
|
||||
|> angledLine([0, 268.43], %, $rectangleSegmentA001)
|
||||
|> angledLine(angle = 0, length = 268.43, tag = $rectangleSegmentA001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001) - 90,
|
||||
217.26
|
||||
|
@ -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)
|
||||
@ -647,7 +647,7 @@ const planeYZfl = {
|
||||
// Base flange
|
||||
const sketch001fl = startSketchOn(planeXZfl)
|
||||
|> startProfileAt([bendRad + thickness, 0], %)
|
||||
|> angledLine([0, 2 - bendRad - thickness], %, $rectangleSegmentA001fl)
|
||||
|> angledLine(angle = 0, length = 2 - bendRad - thickness, tag = $rectangleSegmentA001fl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001fl) + 90,
|
||||
railHeight * 1.75
|
||||
@ -663,7 +663,7 @@ const extrude001fl = extrude(sketch001fl, length = thickness)
|
||||
// First flange
|
||||
const sketch002fl = startSketchOn(planeYZfl)
|
||||
|> startProfileAt([-bendRad - thickness, 0], %)
|
||||
|> angledLine([180, 0.89 - bendRad - thickness], %, $rectangleSegmentA002fl)
|
||||
|> angledLine(angle = 180, length = 0.89 - bendRad - thickness, tag = $rectangleSegmentA002fl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA002fl) - 90,
|
||||
railHeight * 1.75
|
||||
@ -699,7 +699,7 @@ const extrude003fl = extrude(sketch003fl, length = railHeight * 1.75)
|
||||
// EIA-310-D standard hole pattern
|
||||
const sketch004fl = startSketchOn(extrude002fl, 'START')
|
||||
|> startProfileAt([0.72 + originStart[1], originStart[2] + 0.15], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA003fl)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA003fl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA003fl) - 90,
|
||||
0.375
|
||||
@ -720,7 +720,7 @@ const extrude004fl = extrude(sketch004fl, length = -thickness)
|
||||
// EIA-310-D standard hole pattern
|
||||
const sketch005fl = startSketchOn(extrude002fl, 'START')
|
||||
|> startProfileAt([0.72 + originStart[1],originStart[2] + 0.15 + .62], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA004fl)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA004fl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA004fl) - 90,
|
||||
0.375
|
||||
@ -744,7 +744,7 @@ const sketch006fl = startSketchOn(extrude002fl, 'START')
|
||||
0.72 + originStart[1],
|
||||
originStart[2] + 0.15 + 0.62 + 0.50
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA005fl)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA005fl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA005fl) - 90,
|
||||
0.375
|
||||
@ -765,7 +765,7 @@ const extrude006fl = extrude(sketch006fl, length = -thickness)
|
||||
// EIA-310-D standard hole pattern
|
||||
const sketch007fl = startSketchOn(extrude001fl, 'START')
|
||||
|> startProfileAt([-1.45 - originStart[0], originStart[2] + 0.15], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA006fl)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA006fl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA006fl) - 90,
|
||||
0.375
|
||||
@ -786,7 +786,7 @@ const extrude007fl = extrude(sketch007fl, length = -thickness)
|
||||
// EIA-310-D standard hole pattern
|
||||
const sketch008fl = startSketchOn(extrude001fl, 'START')
|
||||
|> startProfileAt([-1.45 - originStart[0],originStart[2] + 0.15 + 0.62], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA007fl)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA007fl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA007fl) - 90,
|
||||
0.375
|
||||
@ -810,7 +810,7 @@ const sketch009fl = startSketchOn(extrude001fl, 'START')
|
||||
-1.45 - originStart[0],
|
||||
originStart[2] + 0.15 + 0.62 + 0.5
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA008fl)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA008fl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA008fl) - 90,
|
||||
0.375
|
||||
@ -924,7 +924,7 @@ const planeYZfr = {
|
||||
// Base flange
|
||||
const sketch001fr = startSketchOn(planeXZfr)
|
||||
|> startProfileAt([bendRad + thickness, 0], %)
|
||||
|> angledLine([0, 2 - bendRad - thickness], %, $rectangleSegmentA001fr)
|
||||
|> angledLine(angle = 0, length = 2 - bendRad - thickness, tag = $rectangleSegmentA001fr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001fr) + 90,
|
||||
railHeight * 1.75
|
||||
@ -940,7 +940,7 @@ const extrude001fr = extrude(sketch001fr, length = thickness)
|
||||
// First flange
|
||||
const sketch002fr = startSketchOn(planeYZfr)
|
||||
|> startProfileAt([0.89, 0], %)
|
||||
|> angledLine([180, 0.89 - bendRad - thickness], %, $rectangleSegmentA002fr)
|
||||
|> angledLine(angle = 180, length = 0.89 - bendRad - thickness, tag = $rectangleSegmentA002fr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA002fr) - 90,
|
||||
railHeight * 1.75
|
||||
@ -981,7 +981,7 @@ const sketch004fr = startSketchOn(extrude002fr, 'START')
|
||||
-0.35 + originStart[1] + width - 2,
|
||||
originStart[2] + 0.15
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA003fr)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA003fr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA003fr) - 90,
|
||||
0.375
|
||||
@ -1005,7 +1005,7 @@ const sketch005fr = startSketchOn(extrude002fr, 'START')
|
||||
-0.35 + originStart[1] + width - 2,
|
||||
originStart[2] + 0.15 + .62
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA004fr)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA004fr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA004fr) - 90,
|
||||
0.375
|
||||
@ -1029,7 +1029,7 @@ const sketch006fr = startSketchOn(extrude002fr, 'START')
|
||||
-0.35 + originStart[1] + width - 2,
|
||||
originStart[2] + 0.15 + 0.62 + 0.50
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA005fr)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA005fr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA005fr) - 90,
|
||||
0.375
|
||||
@ -1053,7 +1053,7 @@ const sketch007fr = startSketchOn(extrude001fr, 'START')
|
||||
-1.45 - originStart[0],
|
||||
originStart[2] + 0.15
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA006fr)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA006fr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA006fr) - 90,
|
||||
0.375
|
||||
@ -1077,7 +1077,7 @@ const sketch008fr = startSketchOn(extrude001fr, 'START')
|
||||
-1.45 - originStart[0],
|
||||
originStart[2] + 0.15 + 0.62
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA007fr)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA007fr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA007fr) - 90,
|
||||
0.375
|
||||
@ -1101,7 +1101,7 @@ const sketch009fr = startSketchOn(extrude001fr, 'START')
|
||||
-1.45 - originStart[0],
|
||||
originStart[2] + 0.15 + 0.62 + 0.5
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA008fr)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA008fr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA008fr) - 90,
|
||||
0.375
|
||||
@ -1218,7 +1218,7 @@ const planeYZrr = {
|
||||
// Base flange
|
||||
const sketch001rr = startSketchOn(planeXZrr)
|
||||
|> startProfileAt([bendRad + thickness, 0], %)
|
||||
|> angledLine([0, 2 - bendRad - thickness], %, $rectangleSegmentA001rr)
|
||||
|> angledLine(angle = 0, length = 2 - bendRad - thickness, tag = $rectangleSegmentA001rr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001rr) + 90,
|
||||
railHeight * 1.75
|
||||
@ -1234,7 +1234,7 @@ const extrude001rr = extrude(sketch001rr, length = thickness)
|
||||
// First flange
|
||||
const sketch002rr = startSketchOn(planeYZrr)
|
||||
|> startProfileAt([0.89, 0], %)
|
||||
|> angledLine([180, 0.89 - bendRad - thickness], %, $rectangleSegmentA002rr)
|
||||
|> angledLine(angle = 180, length = 0.89 - bendRad - thickness, tag = $rectangleSegmentA002rr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA002rr) - 90,
|
||||
railHeight * 1.75
|
||||
@ -1275,7 +1275,7 @@ const sketch004rr = startSketchOn(extrude002rr, 'START')
|
||||
-0.35 + originStart[1] + width - 2,
|
||||
originStart[2] + 0.15
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA003rr)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA003rr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA003rr) - 90,
|
||||
0.375
|
||||
@ -1299,7 +1299,7 @@ const sketch005rr = startSketchOn(extrude002rr, 'START')
|
||||
-0.35 + originStart[1] + width - 2,
|
||||
originStart[2] + 0.15 + .62
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA004rr)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA004rr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA004rr) - 90,
|
||||
0.375
|
||||
@ -1323,7 +1323,7 @@ const sketch006rr = startSketchOn(extrude002rr, 'START')
|
||||
-0.35 + originStart[1] + width - 2,
|
||||
originStart[2] + 0.15 + 0.62 + 0.50
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA005rr)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA005rr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA005rr) - 90,
|
||||
0.375
|
||||
@ -1347,7 +1347,7 @@ const sketch007rr = startSketchOn(extrude001rr, 'START')
|
||||
-originStart[0]-serverDepth+1.7,
|
||||
originStart[2] + 0.15
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA006rr)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA006rr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA006rr) - 90,
|
||||
0.375
|
||||
@ -1371,7 +1371,7 @@ const sketch008rr = startSketchOn(extrude001rr, 'START')
|
||||
-originStart[0]-serverDepth+1.7,
|
||||
originStart[2] + 0.15 + 0.62
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA007rr)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA007rr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA007rr) - 90,
|
||||
0.375
|
||||
@ -1395,7 +1395,7 @@ const sketch009rr = startSketchOn(extrude001rr, 'START')
|
||||
-originStart[0]-serverDepth+1.7,
|
||||
originStart[2] + 0.15 + 0.62 + 0.5
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA008rr)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA008rr)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA008rr) - 90,
|
||||
0.375
|
||||
@ -1511,7 +1511,7 @@ const planeYZrl = {
|
||||
// Base flange
|
||||
const sketch001rl = startSketchOn(planeXZrl)
|
||||
|> startProfileAt([bendRad + thickness, 0], %)
|
||||
|> angledLine([0, 2 - bendRad - thickness], %, $rectangleSegmentA001rl)
|
||||
|> angledLine(angle = 0, length = 2 - bendRad - thickness, tag = $rectangleSegmentA001rl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001rl) + 90,
|
||||
railHeight * 1.75
|
||||
@ -1527,7 +1527,7 @@ const extrude001rl = extrude(sketch001rl, length = thickness)
|
||||
// First flange
|
||||
const sketch002rl = startSketchOn(planeYZrl)
|
||||
|> startProfileAt([-bendRad - thickness, 0], %)
|
||||
|> angledLine([180, 0.89 - bendRad - thickness], %, $rectangleSegmentA002rl)
|
||||
|> angledLine(angle = 180, length = 0.89 - bendRad - thickness, tag = $rectangleSegmentA002rl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA002rl) - 90,
|
||||
railHeight * 1.75
|
||||
@ -1568,7 +1568,7 @@ const sketch004rl = startSketchOn(extrude002rl, 'START')
|
||||
-1.38 + 2 + thickness + originStart[1],
|
||||
originStart[2] + 0.15
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA003rl)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA003rl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA003rl) - 90,
|
||||
0.375
|
||||
@ -1592,7 +1592,7 @@ const sketch005rl = startSketchOn(extrude002rl, 'START')
|
||||
-1.38 + 2 + thickness + originStart[1],
|
||||
originStart[2] + 0.15 + .62
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA004rl)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA004rl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA004rl) - 90,
|
||||
0.375
|
||||
@ -1616,7 +1616,7 @@ const sketch006rl = startSketchOn(extrude002rl, 'START')
|
||||
-1.38 + 2 + thickness + originStart[1],
|
||||
originStart[2] + 0.15 + 0.62 + 0.50
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA005rl)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA005rl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA005rl) - 90,
|
||||
0.375
|
||||
@ -1640,7 +1640,7 @@ const sketch007rl = startSketchOn(extrude001rl, 'START')
|
||||
1.75 - originStart[0] - serverDepth,
|
||||
originStart[2] + 0.15
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA006rl)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA006rl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA006rl) - 90,
|
||||
0.375
|
||||
@ -1664,7 +1664,7 @@ const sketch008rl = startSketchOn(extrude001rl, 'START')
|
||||
1.75 - originStart[0] - serverDepth,
|
||||
originStart[2] + 0.15 + 0.62
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA007rl)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA007rl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA007rl) - 90,
|
||||
0.375
|
||||
@ -1688,7 +1688,7 @@ const sketch009rl = startSketchOn(extrude001rl, 'START')
|
||||
1.75 - originStart[0] - serverDepth,
|
||||
originStart[2] + 0.15 + 0.62 + 0.5
|
||||
], %)
|
||||
|> angledLine([0, -0.375], %, $rectangleSegmentA008rl)
|
||||
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA008rl)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA008rl) - 90,
|
||||
0.375
|
||||
@ -1796,8 +1796,8 @@ fn streamServer = (serverPos) => {
|
||||
|
||||
const sketch001s = startSketchOn(planeXYs)
|
||||
|> startProfileAt([1 + 1.2, 1], %)
|
||||
|> angledLine([0, 17.2], %, $rectangleSegmentA001)
|
||||
|> angledLine([segAng(rectangleSegmentA001) + 90, 29], %, $rectangleSegmentB001)
|
||||
|> angledLine(angle = 0, length = 17.2, tag = $rectangleSegmentA001)
|
||||
|> angledLine(angle = segAng(rectangleSegmentA001) + 90, length = 29, tag = $rectangleSegmentB001)
|
||||
|> angledLine([
|
||||
segAng(rectangleSegmentA001),
|
||||
-segLen(rectangleSegmentA001)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user