Remove last remnants of legacy positional call (#6678)

* Remove last remnants of legacy positional call

* Update docs

* Fix segAng()

* Fix more docs

* Update docs again
This commit is contained in:
Jonathan Tran
2025-05-02 21:07:31 -04:00
committed by GitHub
parent 19f5031ef7
commit bc818f10c3
30 changed files with 146 additions and 1067 deletions

View File

@ -210,7 +210,7 @@ As per the example above you can use the tag identifier to get a reference to th
tagged object. The syntax for this is `myTag`. tagged object. The syntax for this is `myTag`.
In the example above we use the tag identifier to get the angle of the segment In the example above we use the tag identifier to get the angle of the segment
`segAng(rectangleSegmentA001, %)`. `segAng(rectangleSegmentA001)`.
### `Start` ### `Start`

View File

@ -210,7 +210,7 @@ As per the example above you can use the tag identifier to get a reference to th
tagged object. The syntax for this is `myTag`. tagged object. The syntax for this is `myTag`.
In the example above we use the tag identifier to get the angle of the segment In the example above we use the tag identifier to get the angle of the segment
`segAng(rectangleSegmentA001, %)`. `segAng(rectangleSegmentA001)`.
### `Start` ### `Start`

View File

@ -35,7 +35,7 @@ As per the example above you can use the tag identifier to get a reference to th
tagged object. The syntax for this is `myTag`. tagged object. The syntax for this is `myTag`.
In the example above we use the tag identifier to get the angle of the segment In the example above we use the tag identifier to get the angle of the segment
`segAng(rectangleSegmentA001, %)`. `segAng(rectangleSegmentA001)`.
### Tag Scope ### Tag Scope
@ -81,11 +81,13 @@ fn rect(origin) {
|> angledLine( |> angledLine(
angle = segAng(rectangleSegmentA001) - 90, angle = segAng(rectangleSegmentA001) - 90,
length = 196.99 length = 196.99
, %, $rectangleSegmentB001) tag = $rectangleSegmentB001,
)
|> angledLine( |> angledLine(
angle = segAng(rectangleSegmentA001), angle = segAng(rectangleSegmentA001),
length = -segLen(rectangleSegmentA001) length = -segLen(rectangleSegmentA001)
, %, $rectangleSegmentC001) tag = $rectangleSegmentC001,
)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close() |> close()
} }

View File

@ -78,16 +78,16 @@ part001 = startSketchOn(-XZ)
|> xLine(endAbsolute = totalLen, tag = $seg03) |> xLine(endAbsolute = totalLen, tag = $seg03)
|> yLine(length = -armThick, tag = $seg01) |> yLine(length = -armThick, tag = $seg01)
|> angledLineThatIntersects(angle = turns::HALF_TURN, offset = -armThick, intersectTag = seg04) |> angledLineThatIntersects(angle = turns::HALF_TURN, offset = -armThick, intersectTag = seg04)
|> angledLine(angle = segAng(seg04, %) + 180, endAbsoluteY = turns::ZERO) |> angledLine(angle = segAng(seg04) + 180, endAbsoluteY = turns::ZERO)
|> angledLine( |> angledLine(
angle = -bottomAng, angle = -bottomAng,
endAbsoluteY = -totalHeightHalf - armThick, endAbsoluteY = -totalHeightHalf - armThick,
tag = $seg02, tag = $seg02,
) )
|> xLine(length = endAbsolute = segEndX(seg03) + 0) |> xLine(length = endAbsolute = segEndX(seg03) + 0)
|> yLine(length = -segLen(seg01, %)) |> yLine(length = -segLen(seg01))
|> angledLineThatIntersects(angle = turns::HALF_TURN, offset = -armThick, intersectTag = seg02) |> angledLineThatIntersects(angle = turns::HALF_TURN, offset = -armThick, intersectTag = seg02)
|> angledLine(angle = segAng(seg02, %) + 180, endAbsoluteY = -baseHeight) |> angledLine(angle = segAng(seg02) + 180, endAbsoluteY = -baseHeight)
|> xLine(endAbsolute = turns::ZERO) |> xLine(endAbsolute = turns::ZERO)
|> close() |> close()
|> extrude(length = 4)` |> extrude(length = 4)`

View File

@ -781,7 +781,7 @@ profile001 = startProfile(sketch001, at = [56.37, 120.33])
interiorAbsolute = [360.16, 231.76], interiorAbsolute = [360.16, 231.76],
endAbsolute = [391.48, 131.54], endAbsolute = [391.48, 131.54],
) )
|> yLine(-131.54, %) |> yLine(length = -131.54)
|> arc(angleStart = 33.53, angleEnd = -141.07, radius = 126.46) |> arc(angleStart = 33.53, angleEnd = -141.07, radius = 126.46)
` `
) )

View File

@ -14,37 +14,26 @@ f(1)
Program(ExpressionStatement(CallExpression(VariableName, Program(ExpressionStatement(CallExpression(VariableName,
ArgumentList(Number)))) ArgumentList(Number))))
# deprecated multiple anon args # unlabeled first arg and labeled arg
f(1, 2) line(sketch001, end = [thickness, 0])
==> ==>
Program(ExpressionStatement(CallExpression(VariableName, Program(ExpressionStatement(CallExpression(VariableName,
ArgumentList(Number, ArgumentList(VariableName,
Number)))) LabeledArgument(ArgumentLabel,
Equals,
ArrayExpression(VariableName,
Number))))))
# deprecated trailing % # % and labeled arg
startSketchOn('XY') startSketchOn(XY)
|> line([thickness, 0], %)
==>
Program(ExpressionStatement(PipeExpression(CallExpression(VariableName,
ArgumentList(String)),
PipeOperator,
CallExpression(VariableName,
ArgumentList(ArrayExpression(VariableName,
Number),
PipeSubstitution)))))
# % and named arg
startSketchOn('XY')
|> line(%, end = [thickness, 0]) |> line(%, end = [thickness, 0])
==> ==>
Program(ExpressionStatement(PipeExpression(CallExpression(VariableName, Program(ExpressionStatement(PipeExpression(CallExpression(VariableName,
ArgumentList(String)), ArgumentList(VariableName)),
PipeOperator, PipeOperator,
CallExpression(VariableName, CallExpression(VariableName,
ArgumentList(PipeSubstitution, ArgumentList(PipeSubstitution,
@ -53,14 +42,14 @@ Program(ExpressionStatement(PipeExpression(CallExpression(VariableName,
ArrayExpression(VariableName, ArrayExpression(VariableName,
Number))))))) Number)))))))
# implied % and named arg # implied % and labeled arg
startSketchOn('XY') startSketchOn(XY)
|> line(end = [thickness, 0]) |> line(end = [thickness, 0])
==> ==>
Program(ExpressionStatement(PipeExpression(CallExpression(VariableName, Program(ExpressionStatement(PipeExpression(CallExpression(VariableName,
ArgumentList(String)), ArgumentList(VariableName)),
PipeOperator, PipeOperator,
CallExpression(VariableName, CallExpression(VariableName,
ArgumentList(LabeledArgument(ArgumentLabel, ArgumentList(LabeledArgument(ArgumentLabel,
@ -68,7 +57,7 @@ Program(ExpressionStatement(PipeExpression(CallExpression(VariableName,
ArrayExpression(VariableName, ArrayExpression(VariableName,
Number))))))) Number)))))))
# multiple named arg # multiple labeled arg
ngon(plane = "XY", numSides = 5, radius = pentR) ngon(plane = "XY", numSides = 5, radius = pentR)

View File

@ -5,4 +5,4 @@ part001 = startSketchOn(XY)
|> line(end = [0, -10], tag = $thing2) |> line(end = [0, -10], tag = $thing2)
|> close(tag = $thing3) |> close(tag = $thing3)
|> extrude(length = 10) |> extrude(length = 10)
|> fillet(radius = 2, tags = [getNextAdjacentEdge(thing3)], %) |> fillet(radius = 2, tags = [getNextAdjacentEdge(thing3)])

View File

@ -1,9 +0,0 @@
part001 = startSketchOn(XY)
|> startProfile(at = [0, 0])
|> line(end = [1, 3.82], tag = $seg01)
|> angled(
angle = -angleToMatchLengthX(seg01, 3, %),
endAbsoluteX = 3,
)
|> close()
|> extrude(length = 10)

View File

@ -1,9 +0,0 @@
part001 = startSketchOn(XY)
|> startProfile(at = [0, 0])
|> line(end = [1, 3.82], tag = $seg01)
|> angledLine(
angle = -angleToMatchLengthY(seg01, 3, %),
endAbsoluteX = 3,
)
|> close()
|> extrude(length = 10)

View File

@ -24,18 +24,18 @@ connectorPadding = 4
miniHdmiHole = startSketchOn(XY) miniHdmiHole = startSketchOn(XY)
|> startProfile(at = [0, border + miniHdmiDistance - (miniHdmiWidth / 2)]) |> startProfile(at = [0, border + miniHdmiDistance - (miniHdmiWidth / 2)])
|> lineTo([ |> line(endAbsolute = [
0, 0,
border + miniHdmiDistance + miniHdmiWidth / 2 border + miniHdmiDistance + miniHdmiWidth / 2
], %) ])
|> lineTo([ |> line(endAbsolute = [
1, 1,
border + miniHdmiDistance + miniHdmiWidth / 2 border + miniHdmiDistance + miniHdmiWidth / 2
], %) ])
|> lineTo([ |> line(endAbsolute = [
1, 1,
border + miniHdmiDistance - (miniHdmiWidth / 2) border + miniHdmiDistance - (miniHdmiWidth / 2)
], %) ])
|> close() |> close()
case = startSketchOn(XY) case = startSketchOn(XY)

View File

@ -37,6 +37,6 @@ plumbus0 =
|> fillet( |> fillet(
radius = 5, radius = 5,
tags = [c2.tags.arc_tag, getOppositeEdge(c2.tags.arc_tag)] tags = [c2.tags.arc_tag, getOppositeEdge(c2.tags.arc_tag)]
, %) )

View File

@ -31,22 +31,22 @@ fn caster(@originStart) {
|> subtract2d(tool = circle(center = [ |> subtract2d(tool = circle(center = [
(3.543 - 2.756) / 2, (3.543 - 2.756) / 2,
(3.543 - 2.756) / 2 (3.543 - 2.756) / 2
], radius = 8.8 / 2 / 25.4), %) ], radius = 8.8 / 2 / 25.4))
|> subtract2d(tool = circle(center = [ |> subtract2d(tool = circle(center = [
(3.543 - 2.756) / 2 + 2.756, (3.543 - 2.756) / 2 + 2.756,
(3.543 - 2.756) / 2 (3.543 - 2.756) / 2
], radius = 8.8 / 2 / 25.4 ), %) ], radius = 8.8 / 2 / 25.4 ))
|> subtract2d(tool = circle(center = [ |> subtract2d(tool = circle(center = [
(3.543 - 2.756) / 2, (3.543 - 2.756) / 2,
(3.543 - 2.756) / 2 + 2.756 (3.543 - 2.756) / 2 + 2.756
], radius = 8.8 / 2 / 25.4 ), %) ], radius = 8.8 / 2 / 25.4 ))
|> subtract2d(tool = circle(center = [ |> subtract2d(tool = circle(center = [
(3.543 - 2.756) / 2 + 2.756, (3.543 - 2.756) / 2 + 2.756,
(3.543 - 2.756) / 2 + 2.756 (3.543 - 2.756) / 2 + 2.756
], radius = 8.8 / 2 / 25.4 ), %) ], radius = 8.8 / 2 / 25.4 ))
|> extrude(length = -.25) |> extrude(length = -.25)
sketch002c = startSketchOn(sketch001c, face = 'START') sketch002c = startSketchOn(sketch001c, face = START)
|> startProfile(at = [-originStart[0], 2.2 + originStart[1]]) |> startProfile(at = [-originStart[0], 2.2 + originStart[1]])
|> arc( |> arc(
angle_start = 30, angle_start = 30,
@ -460,10 +460,10 @@ sketch007 = startSketchOn(plane003)
|> line(end = [-width + 1, -depth + serverDepth + 3.8]) |> line(end = [-width + 1, -depth + serverDepth + 3.8])
|> line(end = [1, 0]) |> line(end = [1, 0])
|> line(end = [0, -.75]) |> line(end = [0, -.75])
|> line([ |> line(end = [
width - 2, width - 2,
depth - serverDepth - 5 + .6 depth - serverDepth - 5 + .6
], %) ])
|> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close() |> close()
extrude007 = extrude(sketch007, length = 1) extrude007 = extrude(sketch007, length = 1)
@ -501,10 +501,10 @@ sketch007t = startSketchOn(plane004)
|> line(end = [-width + 1, -depth + serverDepth + 3.8]) |> line(end = [-width + 1, -depth + serverDepth + 3.8])
|> line(end = [1, 0]) |> line(end = [1, 0])
|> line(end = [0, -.75]) |> line(end = [0, -.75])
|> line([ |> line(end = [
width - 2, width - 2,
depth - serverDepth - 5 + .6 depth - serverDepth - 5 + .6
], %) ])
|> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close() |> close()
extrude007t = extrude(sketch007t, length = -1) extrude007t = extrude(sketch007t, length = -1)
@ -584,7 +584,7 @@ sketch003fl = startSketchOn(planeXYfl)
extrude003fl = extrude(sketch003fl, length = railHeight * 1.75) extrude003fl = extrude(sketch003fl, length = railHeight * 1.75)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch004fl = startSketchOn(extrude002fl, face = 'START') sketch004fl = startSketchOn(extrude002fl, face = START)
|> startProfile(at = [0.72 + originStart[1], originStart[2] + 0.15]) |> startProfile(at = [0.72 + originStart[1], originStart[2] + 0.15])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA003fl) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA003fl)
|> angledLine(angle = segAng(rectangleSegmentA003fl) - 90, length = 0.375, tag = $rectangleSegmentB003fl) |> angledLine(angle = segAng(rectangleSegmentA003fl) - 90, length = 0.375, tag = $rectangleSegmentB003fl)
@ -599,7 +599,7 @@ sketch004fl = startSketchOn(extrude002fl, face = 'START')
extrude004fl = extrude(sketch004fl, length = -thickness) extrude004fl = extrude(sketch004fl, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch005fl = startSketchOn(extrude002fl, face = 'START') sketch005fl = startSketchOn(extrude002fl, face = START)
|> startProfile(at = [0.72 + originStart[1],originStart[2] + 0.15 + .62]) |> startProfile(at = [0.72 + originStart[1],originStart[2] + 0.15 + .62])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA004fl) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA004fl)
|> angledLine(angle = segAng(rectangleSegmentA004fl) - 90, length = 0.375, tag = $rectangleSegmentB004fl) |> angledLine(angle = segAng(rectangleSegmentA004fl) - 90, length = 0.375, tag = $rectangleSegmentB004fl)
@ -614,7 +614,7 @@ sketch005fl = startSketchOn(extrude002fl, face = 'START')
extrude005fl = extrude(sketch005fl, length = -thickness) extrude005fl = extrude(sketch005fl, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch006fl = startSketchOn(extrude002fl, face = 'START') sketch006fl = startSketchOn(extrude002fl, face = START)
|> startProfile(at = [0.72 + originStart[1], originStart[2] + 0.15 + 0.62 + 0.50]) |> startProfile(at = [0.72 + originStart[1], originStart[2] + 0.15 + 0.62 + 0.50])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA005fl) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA005fl)
|> angledLine(angle = segAng(rectangleSegmentA005fl) - 90, length = 0.375, tag = $rectangleSegmentB005fl) |> angledLine(angle = segAng(rectangleSegmentA005fl) - 90, length = 0.375, tag = $rectangleSegmentB005fl)
@ -629,7 +629,7 @@ sketch006fl = startSketchOn(extrude002fl, face = 'START')
extrude006fl = extrude(sketch006fl, length = -thickness) extrude006fl = extrude(sketch006fl, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch007fl = startSketchOn(extrude001fl, face = 'START') sketch007fl = startSketchOn(extrude001fl, face = START)
|> startProfile(at = [-1.45 - originStart[0], originStart[2] + 0.15]) |> startProfile(at = [-1.45 - originStart[0], originStart[2] + 0.15])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA006fl) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA006fl)
|> angledLine(angle = segAng(rectangleSegmentA006fl) - 90, length = 0.375, tag = $rectangleSegmentB006fl) |> angledLine(angle = segAng(rectangleSegmentA006fl) - 90, length = 0.375, tag = $rectangleSegmentB006fl)
@ -644,7 +644,7 @@ sketch007fl = startSketchOn(extrude001fl, face = 'START')
extrude007fl = extrude(sketch007fl, length = -thickness) extrude007fl = extrude(sketch007fl, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch008fl = startSketchOn(extrude001fl, face = 'START') sketch008fl = startSketchOn(extrude001fl, face = START)
|> startProfile(at = [-1.45 - originStart[0],originStart[2] + 0.15 + 0.62]) |> startProfile(at = [-1.45 - originStart[0],originStart[2] + 0.15 + 0.62])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA007fl) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA007fl)
|> angledLine(angle = segAng(rectangleSegmentA007fl) - 90, length = 0.375, tag = $rectangleSegmentB007fl) |> angledLine(angle = segAng(rectangleSegmentA007fl) - 90, length = 0.375, tag = $rectangleSegmentB007fl)
@ -659,7 +659,7 @@ sketch008fl = startSketchOn(extrude001fl, face = 'START')
extrude008fl = extrude(sketch008fl, length = -thickness) extrude008fl = extrude(sketch008fl, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch009fl = startSketchOn(extrude001fl, face = 'START') sketch009fl = startSketchOn(extrude001fl, face = START)
|> startProfile(at = [-1.45 - originStart[0], originStart[2] + 0.15 + 0.62 + 0.5]) |> startProfile(at = [-1.45 - originStart[0], originStart[2] + 0.15 + 0.62 + 0.5])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA008fl) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA008fl)
|> angledLine(angle = segAng(rectangleSegmentA008fl) - 90, length = 0.375, tag = $rectangleSegmentB008fl) |> angledLine(angle = segAng(rectangleSegmentA008fl) - 90, length = 0.375, tag = $rectangleSegmentB008fl)
@ -674,7 +674,7 @@ sketch009fl = startSketchOn(extrude001fl, face = 'START')
extrude009fl = extrude(sketch009fl, length = -thickness) extrude009fl = extrude(sketch009fl, length = -thickness)
// define slots // define slots
sketch010fl = startSketchOn(extrude001fl, face = 'START') sketch010fl = startSketchOn(extrude001fl, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + .81 - (.438 / 2)]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + .81 - (.438 / 2)])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [-0.66 - originStart[0],originStart[2] + .81 + .438 / 2]) |> tangentialArc(endAbsolute = [-0.66 - originStart[0],originStart[2] + .81 + .438 / 2])
@ -689,7 +689,7 @@ sketch010fl = startSketchOn(extrude001fl, face = 'START')
extrude010fl = extrude(sketch010fl, length = -thickness) extrude010fl = extrude(sketch010fl, length = -thickness)
// define slots // define slots
sketch011fl = startSketchOn(extrude001fl, face = 'START') sketch011fl = startSketchOn(extrude001fl, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + railHeight * 1.75 / 2 + .438 / 2]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + railHeight * 1.75 / 2 + .438 / 2])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -703,7 +703,7 @@ sketch011fl = startSketchOn(extrude001fl, face = 'START')
extrude011fl = extrude(sketch011fl, length = -thickness) extrude011fl = extrude(sketch011fl, length = -thickness)
// define slots // define slots
sketch012fl = startSketchOn(extrude001fl, face = 'START') sketch012fl = startSketchOn(extrude001fl, face = START)
|> startProfile(at = [ |> startProfile(at = [
-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + -1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] +
railHeight * 1.75 - .81 + .438 / 2 railHeight * 1.75 - .81 + .438 / 2
@ -786,7 +786,7 @@ sketch003fr = startSketchOn(planeXYfr)
extrude003fr = extrude(sketch003fr, length = railHeight * 1.75) extrude003fr = extrude(sketch003fr, length = railHeight * 1.75)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch004fr = startSketchOn(extrude002fr, face = 'START') sketch004fr = startSketchOn(extrude002fr, face = START)
|> startProfile(at = [-0.35 + originStart[1] + width - 2, originStart[2] + 0.15]) |> startProfile(at = [-0.35 + originStart[1] + width - 2, originStart[2] + 0.15])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA003fr) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA003fr)
|> angledLine(angle = segAng(rectangleSegmentA003fr) - 90, length = 0.375, tag = $rectangleSegmentB003fr) |> angledLine(angle = segAng(rectangleSegmentA003fr) - 90, length = 0.375, tag = $rectangleSegmentB003fr)
@ -801,7 +801,7 @@ sketch004fr = startSketchOn(extrude002fr, face = 'START')
extrude004fr = extrude(sketch004fr, length = -thickness) extrude004fr = extrude(sketch004fr, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch005fr = startSketchOn(extrude002fr, face = 'START') sketch005fr = startSketchOn(extrude002fr, face = START)
|> startProfile(at = [-0.35 + originStart[1] + width - 2, originStart[2] + 0.15 + .62]) |> startProfile(at = [-0.35 + originStart[1] + width - 2, originStart[2] + 0.15 + .62])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA004fr) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA004fr)
|> angledLine(angle = segAng(rectangleSegmentA004fr) - 90, length = 0.375, tag = $rectangleSegmentB004fr) |> angledLine(angle = segAng(rectangleSegmentA004fr) - 90, length = 0.375, tag = $rectangleSegmentB004fr)
@ -816,7 +816,7 @@ sketch005fr = startSketchOn(extrude002fr, face = 'START')
extrude005fr = extrude(sketch005fr, length = -thickness) extrude005fr = extrude(sketch005fr, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch006fr = startSketchOn(extrude002fr, face = 'START') sketch006fr = startSketchOn(extrude002fr, face = START)
|> startProfile(at = [-0.35 + originStart[1] + width - 2, originStart[2] + 0.15 + 0.62 + 0.50]) |> startProfile(at = [-0.35 + originStart[1] + width - 2, originStart[2] + 0.15 + 0.62 + 0.50])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA005fr) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA005fr)
|> angledLine(angle = segAng(rectangleSegmentA005fr) - 90, length = 0.375, tag = $rectangleSegmentB005fr) |> angledLine(angle = segAng(rectangleSegmentA005fr) - 90, length = 0.375, tag = $rectangleSegmentB005fr)
@ -831,7 +831,7 @@ sketch006fr = startSketchOn(extrude002fr, face = 'START')
extrude006fr = extrude(sketch006fr, length = -thickness) extrude006fr = extrude(sketch006fr, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch007fr = startSketchOn(extrude001fr, face = 'START') sketch007fr = startSketchOn(extrude001fr, face = START)
|> startProfile(at = [-1.45 - originStart[0], originStart[2] + 0.15]) |> startProfile(at = [-1.45 - originStart[0], originStart[2] + 0.15])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA006fr) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA006fr)
|> angledLine(angle = segAng(rectangleSegmentA006fr) - 90, length = 0.375, tag = $rectangleSegmentB006fr) |> angledLine(angle = segAng(rectangleSegmentA006fr) - 90, length = 0.375, tag = $rectangleSegmentB006fr)
@ -846,7 +846,7 @@ sketch007fr = startSketchOn(extrude001fr, face = 'START')
extrude007fr = extrude(sketch007fr, length = -thickness) extrude007fr = extrude(sketch007fr, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch008fr = startSketchOn(extrude001fr, face = 'START') sketch008fr = startSketchOn(extrude001fr, face = START)
|> startProfile(at = [-1.45 - originStart[0], originStart[2] + 0.15 + 0.62]) |> startProfile(at = [-1.45 - originStart[0], originStart[2] + 0.15 + 0.62])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA007fr) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA007fr)
|> angledLine(angle = segAng(rectangleSegmentA007fr) - 90, length = 0.375, tag = $rectangleSegmentB007fr) |> angledLine(angle = segAng(rectangleSegmentA007fr) - 90, length = 0.375, tag = $rectangleSegmentB007fr)
@ -861,7 +861,7 @@ sketch008fr = startSketchOn(extrude001fr, face = 'START')
extrude008fr = extrude(sketch008fr, length = -thickness) extrude008fr = extrude(sketch008fr, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch009fr = startSketchOn(extrude001fr, face = 'START') sketch009fr = startSketchOn(extrude001fr, face = START)
|> startProfile(at = [-1.45 - originStart[0], originStart[2] + 0.15 + 0.62 + 0.5]) |> startProfile(at = [-1.45 - originStart[0], originStart[2] + 0.15 + 0.62 + 0.5])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA008fr) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA008fr)
|> angledLine(angle = segAng(rectangleSegmentA008fr) - 90, length = 0.375, tag = $rectangleSegmentB008fr) |> angledLine(angle = segAng(rectangleSegmentA008fr) - 90, length = 0.375, tag = $rectangleSegmentB008fr)
@ -876,7 +876,7 @@ sketch009fr = startSketchOn(extrude001fr, face = 'START')
extrude009fr = extrude(sketch009fr, length = -thickness) extrude009fr = extrude(sketch009fr, length = -thickness)
// define slots // define slots
sketch010fr = startSketchOn(extrude001fr, face = 'START') sketch010fr = startSketchOn(extrude001fr, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + .81 - (.438 / 2)]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + .81 - (.438 / 2)])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -894,7 +894,7 @@ sketch010fr = startSketchOn(extrude001fr, face = 'START')
extrude010fr = extrude(sketch010fr, length = -thickness) extrude010fr = extrude(sketch010fr, length = -thickness)
// define slots // define slots
sketch011fr = startSketchOn(extrude001fr, face = 'START') sketch011fr = startSketchOn(extrude001fr, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + railHeight * 1.75 / 2 + .438 / 2]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + railHeight * 1.75 / 2 + .438 / 2])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -908,7 +908,7 @@ sketch011fr = startSketchOn(extrude001fr, face = 'START')
extrude011fr = extrude(sketch011fr, length = -thickness) extrude011fr = extrude(sketch011fr, length = -thickness)
// define slots // define slots
sketch012fr = startSketchOn(extrude001fr, face = 'START') sketch012fr = startSketchOn(extrude001fr, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + railHeight * 1.75 - .81 + .438 / 2]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + railHeight * 1.75 - .81 + .438 / 2])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -988,7 +988,7 @@ sketch003rr = startSketchOn(planeXYrr)
extrude003rr = extrude(sketch003rr, length = railHeight * 1.75) extrude003rr = extrude(sketch003rr, length = railHeight * 1.75)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch004rr = startSketchOn(extrude002rr, face = 'START') sketch004rr = startSketchOn(extrude002rr, face = START)
|> startProfile(at = [-0.35 + originStart[1] + width - 2, originStart[2] + 0.15]) |> startProfile(at = [-0.35 + originStart[1] + width - 2, originStart[2] + 0.15])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA003rr) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA003rr)
|> angledLine(angle = segAng(rectangleSegmentA003rr) - 90, length = 0.375, tag = $rectangleSegmentB003rr) |> angledLine(angle = segAng(rectangleSegmentA003rr) - 90, length = 0.375, tag = $rectangleSegmentB003rr)
@ -1003,7 +1003,7 @@ sketch004rr = startSketchOn(extrude002rr, face = 'START')
extrude004rr = extrude(sketch004rr, length = -thickness) extrude004rr = extrude(sketch004rr, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch005rr = startSketchOn(extrude002rr, face = 'START') sketch005rr = startSketchOn(extrude002rr, face = START)
|> startProfile(at = [-0.35 + originStart[1] + width - 2, originStart[2] + 0.15 + .62]) |> startProfile(at = [-0.35 + originStart[1] + width - 2, originStart[2] + 0.15 + .62])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA004rr) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA004rr)
|> angledLine(angle = segAng(rectangleSegmentA004rr) - 90, length = 0.375, tag = $rectangleSegmentB004rr) |> angledLine(angle = segAng(rectangleSegmentA004rr) - 90, length = 0.375, tag = $rectangleSegmentB004rr)
@ -1018,7 +1018,7 @@ sketch005rr = startSketchOn(extrude002rr, face = 'START')
extrude005rr = extrude(sketch005rr, length = -thickness) extrude005rr = extrude(sketch005rr, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch006rr = startSketchOn(extrude002rr, face = 'START') sketch006rr = startSketchOn(extrude002rr, face = START)
|> startProfile(at = [-0.35 + originStart[1] + width - 2, originStart[2] + 0.15 + 0.62 + 0.50]) |> startProfile(at = [-0.35 + originStart[1] + width - 2, originStart[2] + 0.15 + 0.62 + 0.50])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA005rr) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA005rr)
|> angledLine(angle = segAng(rectangleSegmentA005rr) - 90, length = 0.375, tag = $rectangleSegmentB005rr) |> angledLine(angle = segAng(rectangleSegmentA005rr) - 90, length = 0.375, tag = $rectangleSegmentB005rr)
@ -1033,7 +1033,7 @@ sketch006rr = startSketchOn(extrude002rr, face = 'START')
extrude006rr = extrude(sketch006rr, length = -thickness) extrude006rr = extrude(sketch006rr, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch007rr = startSketchOn(extrude001rr, face = 'START') sketch007rr = startSketchOn(extrude001rr, face = START)
|> startProfile(at = [-originStart[0]-serverDepth+1.7, originStart[2] + 0.15]) |> startProfile(at = [-originStart[0]-serverDepth+1.7, originStart[2] + 0.15])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA006rr) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA006rr)
|> angledLine(angle = segAng(rectangleSegmentA006rr) - 90, length = 0.375, tag = $rectangleSegmentB006rr) |> angledLine(angle = segAng(rectangleSegmentA006rr) - 90, length = 0.375, tag = $rectangleSegmentB006rr)
@ -1048,7 +1048,7 @@ sketch007rr = startSketchOn(extrude001rr, face = 'START')
extrude007rr = extrude(sketch007rr, length = -thickness) extrude007rr = extrude(sketch007rr, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch008rr = startSketchOn(extrude001rr, face = 'START') sketch008rr = startSketchOn(extrude001rr, face = START)
|> startProfile(at = [-originStart[0]-serverDepth+1.7, originStart[2] + 0.15 + 0.62]) |> startProfile(at = [-originStart[0]-serverDepth+1.7, originStart[2] + 0.15 + 0.62])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA007rr) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA007rr)
|> angledLine(angle = segAng(rectangleSegmentA007rr) - 90, length = 0.375, tag = $rectangleSegmentB007rr) |> angledLine(angle = segAng(rectangleSegmentA007rr) - 90, length = 0.375, tag = $rectangleSegmentB007rr)
@ -1063,7 +1063,7 @@ sketch008rr = startSketchOn(extrude001rr, face = 'START')
extrude008rr = extrude(sketch008rr, length = -thickness) extrude008rr = extrude(sketch008rr, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch009rr = startSketchOn(extrude001rr, face = 'START') sketch009rr = startSketchOn(extrude001rr, face = START)
|> startProfile(at = [-originStart[0]-serverDepth+1.7, originStart[2] + 0.15 + 0.62 + 0.5]) |> startProfile(at = [-originStart[0]-serverDepth+1.7, originStart[2] + 0.15 + 0.62 + 0.5])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA008rr) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA008rr)
|> angledLine(angle = segAng(rectangleSegmentA008rr) - 90, length = 0.375, tag = $rectangleSegmentB008rr) |> angledLine(angle = segAng(rectangleSegmentA008rr) - 90, length = 0.375, tag = $rectangleSegmentB008rr)
@ -1078,7 +1078,7 @@ sketch009rr = startSketchOn(extrude001rr, face = 'START')
extrude009rr = extrude(sketch009rr, length = -thickness) extrude009rr = extrude(sketch009rr, length = -thickness)
// define slots // define slots
sketch010rr = startSketchOn(extrude001rr, face = 'START') sketch010rr = startSketchOn(extrude001rr, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0]+1.5-serverDepth, originStart[2] + .81 - (.438 / 2)]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0]+1.5-serverDepth, originStart[2] + .81 - (.438 / 2)])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -1096,7 +1096,7 @@ sketch010rr = startSketchOn(extrude001rr, face = 'START')
extrude010rr = extrude(sketch010rr, length = -thickness) extrude010rr = extrude(sketch010rr, length = -thickness)
// define slots // define slots
sketch011rr = startSketchOn(extrude001rr, face = 'START') sketch011rr = startSketchOn(extrude001rr, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0]+1.5-serverDepth, originStart[2] + railHeight * 1.75 / 2 + .438 / 2]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0]+1.5-serverDepth, originStart[2] + railHeight * 1.75 / 2 + .438 / 2])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -1110,7 +1110,7 @@ sketch011rr = startSketchOn(extrude001rr, face = 'START')
extrude011rr = extrude(sketch011rr, length = -thickness) extrude011rr = extrude(sketch011rr, length = -thickness)
// define slots // define slots
sketch012rr = startSketchOn(extrude001rr, face = 'START') sketch012rr = startSketchOn(extrude001rr, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0]+1.5-serverDepth, originStart[2] + railHeight * 1.75 - .81 + .438 / 2]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0]+1.5-serverDepth, originStart[2] + railHeight * 1.75 - .81 + .438 / 2])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -1189,7 +1189,7 @@ sketch003rl = startSketchOn(planeXYrl)
extrude003rl = extrude(sketch003rl, length = railHeight * 1.75) extrude003rl = extrude(sketch003rl, length = railHeight * 1.75)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch004rl = startSketchOn(extrude002rl, face = 'START') sketch004rl = startSketchOn(extrude002rl, face = START)
|> startProfile(at = [-1.38 + 2 + thickness + originStart[1], originStart[2] + 0.15]) |> startProfile(at = [-1.38 + 2 + thickness + originStart[1], originStart[2] + 0.15])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA003rl) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA003rl)
|> angledLine(angle = segAng(rectangleSegmentA003rl) - 90, length = 0.375, tag = $rectangleSegmentB003rl) |> angledLine(angle = segAng(rectangleSegmentA003rl) - 90, length = 0.375, tag = $rectangleSegmentB003rl)
@ -1204,7 +1204,7 @@ sketch004rl = startSketchOn(extrude002rl, face = 'START')
extrude004rl = extrude(sketch004rl, length = -thickness) extrude004rl = extrude(sketch004rl, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch005rl = startSketchOn(extrude002rl, face = 'START') sketch005rl = startSketchOn(extrude002rl, face = START)
|> startProfile(at = [-1.38 + 2 + thickness + originStart[1], originStart[2] + 0.15 + .62]) |> startProfile(at = [-1.38 + 2 + thickness + originStart[1], originStart[2] + 0.15 + .62])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA004rl) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA004rl)
|> angledLine(angle = segAng(rectangleSegmentA004rl) - 90, length = 0.375, tag = $rectangleSegmentB004rl) |> angledLine(angle = segAng(rectangleSegmentA004rl) - 90, length = 0.375, tag = $rectangleSegmentB004rl)
@ -1219,7 +1219,7 @@ sketch005rl = startSketchOn(extrude002rl, face = 'START')
extrude005rl = extrude(sketch005rl, length = -thickness) extrude005rl = extrude(sketch005rl, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch006rl = startSketchOn(extrude002rl, face = 'START') sketch006rl = startSketchOn(extrude002rl, face = START)
|> startProfile(at = [-1.38 + 2 + thickness + originStart[1], originStart[2] + 0.15 + 0.62 + 0.50]) |> startProfile(at = [-1.38 + 2 + thickness + originStart[1], originStart[2] + 0.15 + 0.62 + 0.50])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA005rl) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA005rl)
|> angledLine(angle = segAng(rectangleSegmentA005rl) - 90, length = 0.375, tag = $rectangleSegmentB005rl) |> angledLine(angle = segAng(rectangleSegmentA005rl) - 90, length = 0.375, tag = $rectangleSegmentB005rl)
@ -1234,7 +1234,7 @@ sketch006rl = startSketchOn(extrude002rl, face = 'START')
extrude006rl = extrude(sketch006rl, length = -thickness) extrude006rl = extrude(sketch006rl, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch007rl = startSketchOn(extrude001rl, face = 'START') sketch007rl = startSketchOn(extrude001rl, face = START)
|> startProfile(at = [1.75 - originStart[0] - serverDepth, originStart[2] + 0.15]) |> startProfile(at = [1.75 - originStart[0] - serverDepth, originStart[2] + 0.15])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA006rl) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA006rl)
|> angledLine(angle = segAng(rectangleSegmentA006rl) - 90, length = 0.375, tag = $rectangleSegmentB006rl) |> angledLine(angle = segAng(rectangleSegmentA006rl) - 90, length = 0.375, tag = $rectangleSegmentB006rl)
@ -1249,7 +1249,7 @@ sketch007rl = startSketchOn(extrude001rl, face = 'START')
extrude007rl = extrude(sketch007rl, length = -thickness) extrude007rl = extrude(sketch007rl, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch008rl = startSketchOn(extrude001rl, face = 'START') sketch008rl = startSketchOn(extrude001rl, face = START)
|> startProfile(at = [1.75 - originStart[0] - serverDepth, originStart[2] + 0.15 + 0.62]) |> startProfile(at = [1.75 - originStart[0] - serverDepth, originStart[2] + 0.15 + 0.62])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA007rl) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA007rl)
|> angledLine(angle = segAng(rectangleSegmentA007rl) - 90, length = 0.375, tag = $rectangleSegmentB007rl) |> angledLine(angle = segAng(rectangleSegmentA007rl) - 90, length = 0.375, tag = $rectangleSegmentB007rl)
@ -1264,7 +1264,7 @@ sketch008rl = startSketchOn(extrude001rl, face = 'START')
extrude008rl = extrude(sketch008rl, length = -thickness) extrude008rl = extrude(sketch008rl, length = -thickness)
// EIA-310-D standard hole pattern // EIA-310-D standard hole pattern
sketch009rl = startSketchOn(extrude001rl, face = 'START') sketch009rl = startSketchOn(extrude001rl, face = START)
|> startProfile(at = [1.75 - originStart[0] - serverDepth, originStart[2] + 0.15 + 0.62 + 0.5]) |> startProfile(at = [1.75 - originStart[0] - serverDepth, originStart[2] + 0.15 + 0.62 + 0.5])
|> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA008rl) |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA008rl)
|> angledLine(angle = segAng(rectangleSegmentA008rl) - 90, length = 0.375, tag = $rectangleSegmentB008rl) |> angledLine(angle = segAng(rectangleSegmentA008rl) - 90, length = 0.375, tag = $rectangleSegmentB008rl)
@ -1279,7 +1279,7 @@ sketch009rl = startSketchOn(extrude001rl, face = 'START')
extrude009rl = extrude(sketch009rl, length = -thickness) extrude009rl = extrude(sketch009rl, length = -thickness)
// define slots // define slots
sketch010rl = startSketchOn(extrude001rl, face = 'START') sketch010rl = startSketchOn(extrude001rl, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5, originStart[2] + .81 - (.438 / 2)]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5, originStart[2] + .81 - (.438 / 2)])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -1297,7 +1297,7 @@ sketch010rl = startSketchOn(extrude001rl, face = 'START')
extrude010rl = extrude(sketch010rl, length = -thickness) extrude010rl = extrude(sketch010rl, length = -thickness)
// define slots // define slots
sketch011rl = startSketchOn(extrude001rl, face = 'START') sketch011rl = startSketchOn(extrude001rl, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5, originStart[2] + railHeight * 1.75 / 2 + .438 / 2]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5, originStart[2] + railHeight * 1.75 / 2 + .438 / 2])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -1311,7 +1311,7 @@ sketch011rl = startSketchOn(extrude001rl, face = 'START')
extrude011rl = extrude(sketch011rl, length = -thickness) extrude011rl = extrude(sketch011rl, length = -thickness)
// define slots // define slots
sketch012rl = startSketchOn(extrude001rl, face = 'START') sketch012rl = startSketchOn(extrude001rl, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5, originStart[2] + railHeight * 1.75 - .81 + .438 / 2]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5, originStart[2] + railHeight * 1.75 - .81 + .438 / 2])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [

View File

@ -29,22 +29,22 @@ fn caster(@originStart) {
|> subtract2d(tool = circle(center = [ |> subtract2d(tool = circle(center = [
(3.543 - 2.756) / 2, (3.543 - 2.756) / 2,
(3.543 - 2.756) / 2 (3.543 - 2.756) / 2
], radius= 8.8 / 2 / 25.4), %) ], radius= 8.8 / 2 / 25.4))
|> subtract2d(tool = circle(center = [ |> subtract2d(tool = circle(center = [
(3.543 - 2.756) / 2 + 2.756, (3.543 - 2.756) / 2 + 2.756,
(3.543 - 2.756) / 2 (3.543 - 2.756) / 2
], radius= 8.8 / 2 / 25.4), %) ], radius= 8.8 / 2 / 25.4))
|> subtract2d(tool = circle(center = [ |> subtract2d(tool = circle(center = [
(3.543 - 2.756) / 2, (3.543 - 2.756) / 2,
(3.543 - 2.756) / 2 + 2.756 (3.543 - 2.756) / 2 + 2.756
], radius= 8.8 / 2 / 25.4), %) ], radius= 8.8 / 2 / 25.4))
|> subtract2d(tool = circle(center = [ |> subtract2d(tool = circle(center = [
(3.543 - 2.756) / 2 + 2.756, (3.543 - 2.756) / 2 + 2.756,
(3.543 - 2.756) / 2 + 2.756 (3.543 - 2.756) / 2 + 2.756
], radius= 8.8 / 2 / 25.4), %) ], radius= 8.8 / 2 / 25.4))
|> extrude(length = -.25) |> extrude(length = -.25)
sketch002c = startSketchOn(sketch001c, face = 'START') sketch002c = startSketchOn(sketch001c, face = START)
|> startProfile(at = [-originStart[0], 2.2 + originStart[1]]) |> startProfile(at = [-originStart[0], 2.2 + originStart[1]])
|> arc( |> arc(
angle_start = 30, angle_start = 30,
@ -450,10 +450,10 @@ sketch007 = startSketchOn(plane003)
|> line(end = [-width + 1, -depth + serverDepth + 3.8]) |> line(end = [-width + 1, -depth + serverDepth + 3.8])
|> line(end = [1, 0]) |> line(end = [1, 0])
|> line(end = [0, -.75]) |> line(end = [0, -.75])
|> line([ |> line(end = [
width - 2, width - 2,
depth - serverDepth - 5 + .6 depth - serverDepth - 5 + .6
], %) ])
|> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close() |> close()
extrude007 = extrude(sketch007, length = 1) extrude007 = extrude(sketch007, length = 1)
@ -491,10 +491,10 @@ sketch007t = startSketchOn(plane004)
|> line(end = [-width + 1, -depth + serverDepth + 3.8]) |> line(end = [-width + 1, -depth + serverDepth + 3.8])
|> line(end = [1, 0]) |> line(end = [1, 0])
|> line(end = [0, -.75]) |> line(end = [0, -.75])
|> line([ |> line(end = [
width - 2, width - 2,
depth - serverDepth - 5 + .6 depth - serverDepth - 5 + .6
], %) ])
|> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close() |> close()
extrude007t = extrude(sketch007t, length = -1) extrude007t = extrude(sketch007t, length = -1)
@ -582,7 +582,7 @@ sketch003fl = startSketchOn(planeXYfl)
extrude003fl = extrude(sketch003fl, length = railHeight * 1.75) extrude003fl = extrude(sketch003fl, length = railHeight * 1.75)
// define slots // define slots
sketch010fl = startSketchOn(extrude001fl, face = 'START') sketch010fl = startSketchOn(extrude001fl, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + .81 - (.438 / 2)]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + .81 - (.438 / 2)])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -600,7 +600,7 @@ sketch010fl = startSketchOn(extrude001fl, face = 'START')
extrude010fl = extrude(sketch010fl, length = -thickness) extrude010fl = extrude(sketch010fl, length = -thickness)
// define slots // define slots
sketch011fl = startSketchOn(extrude001fl, face = 'START') sketch011fl = startSketchOn(extrude001fl, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + railHeight * 1.75 / 2 + .438 / 2]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + railHeight * 1.75 / 2 + .438 / 2])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -614,7 +614,7 @@ sketch011fl = startSketchOn(extrude001fl, face = 'START')
extrude011fl = extrude(sketch011fl, length = -thickness) extrude011fl = extrude(sketch011fl, length = -thickness)
// define slots // define slots
sketch012fl = startSketchOn(extrude001fl, face = 'START') sketch012fl = startSketchOn(extrude001fl, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + railHeight * 1.75 - .81 + .438 / 2]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + railHeight * 1.75 - .81 + .438 / 2])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -694,7 +694,7 @@ sketch003fr = startSketchOn(planeXYfr)
extrude003fr = extrude(sketch003fr, length = railHeight * 1.75) extrude003fr = extrude(sketch003fr, length = railHeight * 1.75)
// define slots // define slots
sketch010fr = startSketchOn(extrude001fr, face = 'START') sketch010fr = startSketchOn(extrude001fr, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + .81 - (.438 / 2)]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + .81 - (.438 / 2)])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -712,7 +712,7 @@ sketch010fr = startSketchOn(extrude001fr, face = 'START')
extrude010fr = extrude(sketch010fr, length = -thickness) extrude010fr = extrude(sketch010fr, length = -thickness)
// define slots // define slots
sketch011fr = startSketchOn(extrude001fr, face = 'START') sketch011fr = startSketchOn(extrude001fr, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + railHeight * 1.75 / 2 + .438 / 2]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + railHeight * 1.75 / 2 + .438 / 2])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -726,7 +726,7 @@ sketch011fr = startSketchOn(extrude001fr, face = 'START')
extrude011fr = extrude(sketch011fr, length = -thickness) extrude011fr = extrude(sketch011fr, length = -thickness)
// define slots // define slots
sketch012fr = startSketchOn(extrude001fr, face = 'START') sketch012fr = startSketchOn(extrude001fr, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + railHeight * 1.75 - .81 + .438 / 2]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] + railHeight * 1.75 - .81 + .438 / 2])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -806,7 +806,7 @@ sketch003rr = startSketchOn(planeXYrr)
extrude003rr = extrude(sketch003rr, length = railHeight * 1.75) extrude003rr = extrude(sketch003rr, length = railHeight * 1.75)
// define slots // define slots
sketch010rr = startSketchOn(extrude001rr, face = 'START') sketch010rr = startSketchOn(extrude001rr, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] + 1.5 - serverDepth, originStart[2] + .81 - (.438 / 2)]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] + 1.5 - serverDepth, originStart[2] + .81 - (.438 / 2)])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -824,7 +824,7 @@ sketch010rr = startSketchOn(extrude001rr, face = 'START')
extrude010rr = extrude(sketch010rr, length = -thickness) extrude010rr = extrude(sketch010rr, length = -thickness)
// define slots // define slots
sketch011rr = startSketchOn(extrude001rr, face = 'START') sketch011rr = startSketchOn(extrude001rr, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] + 1.5 - serverDepth, originStart[2] + railHeight * 1.75 / 2 + .438 / 2]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] + 1.5 - serverDepth, originStart[2] + railHeight * 1.75 / 2 + .438 / 2])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -838,7 +838,7 @@ sketch011rr = startSketchOn(extrude001rr, face = 'START')
extrude011rr = extrude(sketch011rr, length = -thickness) extrude011rr = extrude(sketch011rr, length = -thickness)
// define slots // define slots
sketch012rr = startSketchOn(extrude001rr, face = 'START') sketch012rr = startSketchOn(extrude001rr, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] + 1.5 - serverDepth, originStart[2] + railHeight * 1.75 - .81 + .438 / 2]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] + 1.5 - serverDepth, originStart[2] + railHeight * 1.75 - .81 + .438 / 2])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -917,7 +917,7 @@ sketch003rl = startSketchOn(planeXYrl)
extrude003rl = extrude(sketch003rl, length = railHeight * 1.75) extrude003rl = extrude(sketch003rl, length = railHeight * 1.75)
// define slots // define slots
sketch010rl = startSketchOn(extrude001rl, face = 'START') sketch010rl = startSketchOn(extrude001rl, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5, originStart[2] + .81 - (.438 / 2)]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5, originStart[2] + .81 - (.438 / 2)])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -935,7 +935,7 @@ sketch010rl = startSketchOn(extrude001rl, face = 'START')
extrude010rl = extrude(sketch010rl, length = -thickness) extrude010rl = extrude(sketch010rl, length = -thickness)
// define slots // define slots
sketch011rl = startSketchOn(extrude001rl, face = 'START') sketch011rl = startSketchOn(extrude001rl, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5, originStart[2] + railHeight * 1.75 / 2 + .438 / 2]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5, originStart[2] + railHeight * 1.75 / 2 + .438 / 2])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [
@ -949,7 +949,7 @@ sketch011rl = startSketchOn(extrude001rl, face = 'START')
extrude011rl = extrude(sketch011rl, length = -thickness) extrude011rl = extrude(sketch011rl, length = -thickness)
// define slots // define slots
sketch012rl = startSketchOn(extrude001rl, face = 'START') sketch012rl = startSketchOn(extrude001rl, face = START)
|> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5, originStart[2] + railHeight * 1.75 - .81 + .438 / 2]) |> startProfile(at = [-1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5, originStart[2] + railHeight * 1.75 - .81 + .438 / 2])
|> xLine(length = 0.75 - .438) |> xLine(length = 0.75 - .438)
|> tangentialArc(endAbsolute = [ |> tangentialArc(endAbsolute = [

View File

@ -26,13 +26,13 @@ tubeFace = {
zAxis = { x = 0, y = 0, z = 1 } zAxis = { x = 0, y = 0, z = 1 }
} }
// Make the base // Make the base
s = startSketchOn('XY') s = startSketchOn(XY)
|> startProfile(at = [-totalWidth / 2, -totalLength / 2]) |> startProfile(at = [-totalWidth / 2, -totalLength / 2])
|> line([totalWidth, 0], %) |> line(end = [totalWidth, 0])
|> line([0, totalLength], %) |> line(end = [0, totalLength])
|> line([-totalWidth, 0], %) |> line(end = [-totalWidth, 0])
|> close(%) |> close()
|> extrude(height, %) |> extrude(length = height)
// Sketch and extrude a rectangular shape to create the shell underneath the lego. This is a hack until we have a shell function. // Sketch and extrude a rectangular shape to create the shell underneath the lego. This is a hack until we have a shell function.
shellExtrude = startSketchOn(s, "start") shellExtrude = startSketchOn(s, "start")
@ -40,11 +40,11 @@ shellExtrude = startSketchOn(s, "start")
-(totalWidth / 2 - t), -(totalWidth / 2 - t),
-(totalLength / 2 - t) -(totalLength / 2 - t)
]) ])
|> line([totalWidth - (2 * t), 0], %) |> line(end = [totalWidth - (2 * t), 0])
|> line([0, totalLength - (2 * t)], %) |> line(end = [0, totalLength - (2 * t)])
|> line([-(totalWidth - (2 * t)), 0], %) |> line(end = [-(totalWidth - (2 * t)), 0])
|> close(%) |> close()
|> extrude(-(height - t), %) |> extrude(length = -(height - t))
fn tr(i) { fn tr(i) {
j = i + 1 j = i + 1
@ -57,7 +57,7 @@ fn tr(i) {
// Create the pegs on the top of the base // Create the pegs on the top of the base
totalBumps = (wbumps * lbumps)-1 totalBumps = (wbumps * lbumps)-1
peg = startSketchOn(s, 'end') peg = startSketchOn(s, face = END)
|> circle( center = [ |> circle( center = [
-(pitch*(wbumps-1)/2), -(pitch*(wbumps-1)/2),
-(pitch*(lbumps-1)/2) -(pitch*(lbumps-1)/2)
@ -72,6 +72,6 @@ peg = startSketchOn(s, 'end')
instances = lbumps, instances = lbumps,
distance = pitch distance = pitch
) )
|> extrude(bumpHeight, %) |> extrude(length = bumpHeight)
// |> patternTransform(instances = int(totalBumps-1), transform = tr) // |> patternTransform(instances = totalBumps-1, transform = tr)

View File

@ -265,13 +265,13 @@ impl Backend {
r#"fn cube(pos, scale) { r#"fn cube(pos, scale) {
sg = startSketchOn(XY) sg = startSketchOn(XY)
|> startProfile(at = pos) |> startProfile(at = pos)
|> line([0, scale], %) |> line(end = [0, scale])
|> line([scale, 0], %) |> line(end = [scale, 0])
|> line([0, -scale], %) |> line(end = [0, -scale])
return sg return sg
} }
part001 = cube([0,0], 20) part001 = cube(pos = [0,0], scale = 20)
|> close(%) |> close()
|> extrude(length=20)"# |> extrude(length=20)"#
.to_string(), .to_string(),
); );

View File

@ -61,7 +61,7 @@ export type string
/// tagged object. The syntax for this is `myTag`. /// tagged object. The syntax for this is `myTag`.
/// ///
/// In the example above we use the tag identifier to get the angle of the segment /// In the example above we use the tag identifier to get the angle of the segment
/// `segAng(rectangleSegmentA001, %)`. /// `segAng(rectangleSegmentA001)`.
/// ///
/// ### Tag Scope /// ### Tag Scope
/// ///
@ -107,11 +107,13 @@ export type string
/// |> angledLine( /// |> angledLine(
/// angle = segAng(rectangleSegmentA001) - 90, /// angle = segAng(rectangleSegmentA001) - 90,
/// length = 196.99 /// length = 196.99
/// , %, $rectangleSegmentB001) /// tag = $rectangleSegmentB001,
/// )
/// |> angledLine( /// |> angledLine(
/// angle = segAng(rectangleSegmentA001), /// angle = segAng(rectangleSegmentA001),
/// length = -segLen(rectangleSegmentA001) /// length = -segLen(rectangleSegmentA001)
/// , %, $rectangleSegmentC001) /// tag = $rectangleSegmentC001,
/// )
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) /// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
/// |> close() /// |> close()
/// } /// }

View File

@ -1,432 +0,0 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Result of parsing big_number_angle_to_match_length_x.kcl
---
{
"Ok": {
"body": [
{
"commentStart": 0,
"declaration": {
"commentStart": 0,
"end": 0,
"id": {
"commentStart": 0,
"end": 0,
"name": "part001",
"start": 0,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"raw": "'XY'",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": "XY"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "at",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
"commentStart": 0,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"commentStart": 0,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "startProfile",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
"commentStart": 0,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
{
"commentStart": 0,
"end": 0,
"raw": "3.82",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 3.82,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "tag",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"end": 0,
"start": 0,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "seg01"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "line",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "angle",
"start": 0,
"type": "Identifier"
},
"arg": {
"argument": {
"arguments": [
{
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "seg01",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"commentStart": 0,
"end": 0,
"raw": "3",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 3.0,
"suffix": "None"
}
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "angleToMatchLengthX",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"commentStart": 0,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsoluteX",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"end": 0,
"raw": "3",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 3.0,
"suffix": "None"
}
}
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "angledLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "close",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"end": 0,
"raw": "10",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 10.0,
"suffix": "None"
}
}
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
"commentStart": 0,
"end": 0,
"start": 0
}
}

View File

@ -1,6 +0,0 @@
part001 = startSketchOn(XY)
|> startProfile(at = [0, 0])
|> line(end = [1, 3.82], tag = $seg01)
|> angledLine(angle = -angleToMatchLengthX(seg01, 3, %), endAbsoluteX = 3)
|> close(%)
|> extrude(length = 10)

View File

@ -1,10 +0,0 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Result of unparsing big_number_angle_to_match_length_x.kcl
---
part001 = startSketchOn(XY)
|> startProfile(at = [0, 0])
|> line(end = [1, 3.82], tag = $seg01)
|> angledLine(angle = -angleToMatchLengthX(seg01, 3, %), endAbsoluteX = 3)
|> close(%)
|> extrude(length = 10)

View File

@ -1,432 +0,0 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Result of parsing big_number_angle_to_match_length_y.kcl
---
{
"Ok": {
"body": [
{
"commentStart": 0,
"declaration": {
"commentStart": 0,
"end": 0,
"id": {
"commentStart": 0,
"end": 0,
"name": "part001",
"start": 0,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"raw": "'XY'",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": "XY"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "at",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
"commentStart": 0,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"commentStart": 0,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "startProfile",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
"commentStart": 0,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
{
"commentStart": 0,
"end": 0,
"raw": "3.82",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 3.82,
"suffix": "None"
}
}
],
"end": 0,
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "tag",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"end": 0,
"start": 0,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "seg01"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "line",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "angle",
"start": 0,
"type": "Identifier"
},
"arg": {
"argument": {
"arguments": [
{
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "seg01",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
{
"commentStart": 0,
"end": 0,
"raw": "3",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 3.0,
"suffix": "None"
}
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "angleToMatchLengthY",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
"commentStart": 0,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsoluteX",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"end": 0,
"raw": "3",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 3.0,
"suffix": "None"
}
}
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "angledLine",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "close",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"end": 0,
"raw": "10",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 10.0,
"suffix": "None"
}
}
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
"commentStart": 0,
"end": 0,
"start": 0
}
}

View File

@ -1,6 +0,0 @@
part001 = startSketchOn(XY)
|> startProfile(at = [0, 0])
|> line(end = [1, 3.82], tag = $seg01)
|> angledLine(angle = -angleToMatchLengthY(seg01, 3, %), endAbsoluteX = 3)
|> close(%)
|> extrude(length = 10)

View File

@ -1,10 +0,0 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Result of unparsing big_number_angle_to_match_length_y.kcl
---
part001 = startSketchOn(XY)
|> startProfile(at = [0, 0])
|> line(end = [1, 3.82], tag = $seg01)
|> angledLine(angle = -angleToMatchLengthY(seg01, 3, %), endAbsoluteX = 3)
|> close(%)
|> extrude(length = 10)

View File

@ -1091,8 +1091,8 @@ export class SceneEntities {
resolvedFunctionName = 'tangentialArc' resolvedFunctionName = 'tangentialArc'
} else if (snappedToTangent) { } else if (snappedToTangent) {
// Generate tag for previous arc segment and use it for the angle of angledLine: // Generate tag for previous arc segment and use it for the angle of angledLine:
// |> tangentialArcTo([5, -10], %, $arc001) // |> tangentialArc(endAbsolute = [5, -10], tag = $arc001)
// |> angledLine({ angle = tangentToEnd(arc001), length = 12 }, %) // |> angledLine(angle = tangentToEnd(arc001), length = 12)
const previousSegmentPathToNode = getNodePathFromSourceRange( const previousSegmentPathToNode = getNodePathFromSourceRange(
modifiedAst, modifiedAst,

View File

@ -28,7 +28,7 @@ describe('processMemory', () => {
|> line(endAbsolute = [-3.35, 0.17]) |> line(endAbsolute = [-3.35, 0.17])
|> line(endAbsolute = [0.98, 5.16]) |> line(endAbsolute = [0.98, 5.16])
|> line(endAbsolute = [2.15, 4.32]) |> line(endAbsolute = [2.15, 4.32])
// |> rx(90, %)` // |> rx(90)`
const ast = assertParse(code) const ast = assertParse(code)
const execState = await enginelessExecutor(ast) const execState = await enginelessExecutor(ast)
const output = processMemory(execState.variables) const output = processMemory(execState.variables)

View File

@ -14,7 +14,7 @@ mySketch001 = startSketchOn(XY)
|> startProfile(at = [0, 0]) |> startProfile(at = [0, 0])
|> line(endAbsolute = [-1.59, -1.54]) |> line(endAbsolute = [-1.59, -1.54])
|> line(endAbsolute = [0.46, -5.82]) |> line(endAbsolute = [0.46, -5.82])
// |> rx(45, %)` // |> rx(45)`
const execState = await enginelessExecutor(assertParse(code)) const execState = await enginelessExecutor(assertParse(code))
const sketch001 = execState.variables['mySketch001'] const sketch001 = execState.variables['mySketch001']
expect(sketch001).toEqual({ expect(sketch001).toEqual({
@ -72,7 +72,7 @@ mySketch001 = startSketchOn(XY)
|> startProfile(at = [0, 0]) |> startProfile(at = [0, 0])
|> line(endAbsolute = [-1.59, -1.54]) |> line(endAbsolute = [-1.59, -1.54])
|> line(endAbsolute = [0.46, -5.82]) |> line(endAbsolute = [0.46, -5.82])
// |> rx(45, %) // |> rx(45)
|> extrude(length = 2)` |> extrude(length = 2)`
const execState = await enginelessExecutor(assertParse(code)) const execState = await enginelessExecutor(assertParse(code))
const sketch001 = execState.variables['mySketch001'] const sketch001 = execState.variables['mySketch001']
@ -152,9 +152,9 @@ sk1 = startSketchOn(XY)
|> line(endAbsolute = [-2.5, 0]) |> line(endAbsolute = [-2.5, 0])
|> line(endAbsolute = [0, 10], tag = $p) |> line(endAbsolute = [0, 10], tag = $p)
|> line(endAbsolute = [2.5, 0]) |> line(endAbsolute = [2.5, 0])
// |> rx(45, %) // |> rx(45)
// |> translate([1,0,1], %) // |> translate(x = 1, y = 0, z = 1)
// |> ry(5, %) // |> ry(5)
theExtrude = extrude(sk1, length = 2) theExtrude = extrude(sk1, length = 2)
// theTransf = getExtrudeWallTransform('p', theExtrude) // theTransf = getExtrudeWallTransform('p', theExtrude)
sk2 = startSketchOn(XY) sk2 = startSketchOn(XY)
@ -162,7 +162,7 @@ sk2 = startSketchOn(XY)
|> line(endAbsolute = [-2.5, 0]) |> line(endAbsolute = [-2.5, 0])
|> line(endAbsolute = [0, 3], tag = $o) |> line(endAbsolute = [0, 3], tag = $o)
|> line(endAbsolute = [2.5, 0]) |> line(endAbsolute = [2.5, 0])
// |> transform(theTransf, %) // |> transform(theTransf)
|> extrude(length = 2) |> extrude(length = 2)
` `

View File

@ -154,7 +154,7 @@ newVar = myVar + 1`
' |> line(endAbsolute = [1,1])', ' |> line(endAbsolute = [1,1])',
' |> line(endAbsolute = [0, 1], tag = $myPath)', ' |> line(endAbsolute = [0, 1], tag = $myPath)',
' |> line(endAbsolute = [1,1])', ' |> line(endAbsolute = [1,1])',
// ' |> rx(90, %)', // ' |> rx(90)',
].join('\n') ].join('\n')
const mem = await exe(code) const mem = await exe(code)
expect(mem['mySk1']).toEqual({ expect(mem['mySk1']).toEqual({

View File

@ -1215,19 +1215,19 @@ export function updateSketchNodePathsWithInsertIndex({
* ```ts * ```ts
* part001 = startSketchOn(XZ) * part001 = startSketchOn(XZ)
|> startProfile(at = [1, 2]) |> startProfile(at = [1, 2])
|> line([3, 4], %) |> line(end = [3, 4])
|> line([5, 6], %) |> line(end = [5, 6])
|> close(%) |> close()
extrude001 = extrude(5, part001) extrude001 = extrude(part001, length = 5)
``` ```
into into
```ts ```ts
sketch001 = startSketchOn(XZ) sketch001 = startSketchOn(XZ)
part001 = startProfile(sketch001, at = [1, 2]) part001 = startProfile(sketch001, at = [1, 2])
|> line([3, 4], %) |> line(end = [3, 4])
|> line([5, 6], %) |> line(end = [5, 6])
|> close(%) |> close()
extrude001 = extrude(5, part001) extrude001 = extrude(part001, length = 5)
``` ```
Notice that the `startSketchOn` is what gets the new variable name, this is so part001 still has the same data as before Notice that the `startSketchOn` is what gets the new variable name, this is so part001 still has the same data as before
making it safe for later code that uses part001 (the extrude in this example) making it safe for later code that uses part001 (the extrude in this example)

View File

@ -108,7 +108,7 @@ describe('testing changeSketchArguments', () => {
|> startProfile(at = [0, 0]) |> startProfile(at = [0, 0])
|> ${line} |> ${line}
|> line(endAbsolute = [0.46, -5.82]) |> line(endAbsolute = [0.46, -5.82])
// |> rx(45, %) // |> rx(45)
` `
const code = genCode(lineToChange) const code = genCode(lineToChange)
const expectedCode = genCode(lineAfterChange) const expectedCode = genCode(lineAfterChange)
@ -143,7 +143,7 @@ describe('testing addTagForSketchOnFace', () => {
// Enable rotations #152 // Enable rotations #152
const genCode = (line: string) => `mySketch001 = startSketchOn(XY) const genCode = (line: string) => `mySketch001 = startSketchOn(XY)
|> startProfile(at = [0, 0]) |> startProfile(at = [0, 0])
// |> rx(45, %) // |> rx(45)
|> ${line} |> ${line}
|> line(endAbsolute = [0.46, -5.82]) |> line(endAbsolute = [0.46, -5.82])
` `

View File

@ -2365,9 +2365,9 @@ export const angledLine: SketchLineHelperKw = {
const { node: pipe } = _node1 const { node: pipe } = _node1
// When snapping to previous arc's tangent direction, create this expression: // When snapping to previous arc's tangent direction, create this expression:
// angledLine({ angle = tangentToEnd(arc001), length = 12 }, %) // angledLine(angle = tangentToEnd(arc001), length = 12)
// Or if snapping to the negative direction: // Or if snapping to the negative direction:
// angledLine({ angle = tangentToEnd(arc001) + turns::HALF_TURN, length = 12 }, %) // angledLine(angle = tangentToEnd(arc001) + turns::HALF_TURN, length = 12)
const newAngleVal = snaps?.previousArcTag const newAngleVal = snaps?.previousArcTag
? snaps.negativeTangentDirection ? snaps.negativeTangentDirection
? createBinaryExpression([ ? createBinaryExpression([

View File

@ -265,7 +265,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo while keeping var
`angledLineToYy = -0.76`, `angledLineToYy = -0.76`,
`part001 = startSketchOn(XY)`, `part001 = startSketchOn(XY)`,
` |> startProfile(at = [0, 0])`, ` |> startProfile(at = [0, 0])`,
// ` |> rx(90, %)`, // ` |> rx(90)`,
` |> line(endAbsolute = [1, 1])`, ` |> line(endAbsolute = [1, 1])`,
` |> line(end = [lineX, 2.13])`, ` |> line(end = [lineX, 2.13])`,
` |> line(endAbsolute = [lineToX, 2.85])`, ` |> line(endAbsolute = [lineToX, 2.85])`,