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`.
In the example above we use the tag identifier to get the angle of the segment
`segAng(rectangleSegmentA001, %)`.
`segAng(rectangleSegmentA001)`.
### `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`.
In the example above we use the tag identifier to get the angle of the segment
`segAng(rectangleSegmentA001, %)`.
`segAng(rectangleSegmentA001)`.
### `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`.
In the example above we use the tag identifier to get the angle of the segment
`segAng(rectangleSegmentA001, %)`.
`segAng(rectangleSegmentA001)`.
### Tag Scope
@ -81,11 +81,13 @@ fn rect(origin) {
|> angledLine(
angle = segAng(rectangleSegmentA001) - 90,
length = 196.99
, %, $rectangleSegmentB001)
tag = $rectangleSegmentB001,
)
|> angledLine(
angle = segAng(rectangleSegmentA001),
length = -segLen(rectangleSegmentA001)
, %, $rectangleSegmentC001)
tag = $rectangleSegmentC001,
)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
}

View File

@ -78,16 +78,16 @@ part001 = startSketchOn(-XZ)
|> xLine(endAbsolute = totalLen, tag = $seg03)
|> yLine(length = -armThick, tag = $seg01)
|> 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(
angle = -bottomAng,
endAbsoluteY = -totalHeightHalf - armThick,
tag = $seg02,
)
|> xLine(length = endAbsolute = segEndX(seg03) + 0)
|> yLine(length = -segLen(seg01, %))
|> yLine(length = -segLen(seg01))
|> 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)
|> close()
|> extrude(length = 4)`

View File

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

View File

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

View File

@ -5,4 +5,4 @@ part001 = startSketchOn(XY)
|> line(end = [0, -10], tag = $thing2)
|> close(tag = $thing3)
|> 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)
|> startProfile(at = [0, border + miniHdmiDistance - (miniHdmiWidth / 2)])
|> lineTo([
|> line(endAbsolute = [
0,
border + miniHdmiDistance + miniHdmiWidth / 2
], %)
|> lineTo([
])
|> line(endAbsolute = [
1,
border + miniHdmiDistance + miniHdmiWidth / 2
], %)
|> lineTo([
])
|> line(endAbsolute = [
1,
border + miniHdmiDistance - (miniHdmiWidth / 2)
], %)
])
|> close()
case = startSketchOn(XY)

View File

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

View File

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

View File

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

View File

@ -26,13 +26,13 @@ tubeFace = {
zAxis = { x = 0, y = 0, z = 1 }
}
// Make the base
s = startSketchOn('XY')
s = startSketchOn(XY)
|> startProfile(at = [-totalWidth / 2, -totalLength / 2])
|> line([totalWidth, 0], %)
|> line([0, totalLength], %)
|> line([-totalWidth, 0], %)
|> close(%)
|> extrude(height, %)
|> line(end = [totalWidth, 0])
|> line(end = [0, totalLength])
|> line(end = [-totalWidth, 0])
|> close()
|> 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.
shellExtrude = startSketchOn(s, "start")
@ -40,11 +40,11 @@ shellExtrude = startSketchOn(s, "start")
-(totalWidth / 2 - t),
-(totalLength / 2 - t)
])
|> line([totalWidth - (2 * t), 0], %)
|> line([0, totalLength - (2 * t)], %)
|> line([-(totalWidth - (2 * t)), 0], %)
|> close(%)
|> extrude(-(height - t), %)
|> line(end = [totalWidth - (2 * t), 0])
|> line(end = [0, totalLength - (2 * t)])
|> line(end = [-(totalWidth - (2 * t)), 0])
|> close()
|> extrude(length = -(height - t))
fn tr(i) {
j = i + 1
@ -57,7 +57,7 @@ fn tr(i) {
// Create the pegs on the top of the base
totalBumps = (wbumps * lbumps)-1
peg = startSketchOn(s, 'end')
peg = startSketchOn(s, face = END)
|> circle( center = [
-(pitch*(wbumps-1)/2),
-(pitch*(lbumps-1)/2)
@ -72,6 +72,6 @@ peg = startSketchOn(s, 'end')
instances = lbumps,
distance = pitch
)
|> extrude(bumpHeight, %)
// |> patternTransform(instances = int(totalBumps-1), transform = tr)
|> extrude(length = bumpHeight)
// |> patternTransform(instances = totalBumps-1, transform = tr)

View File

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

View File

@ -61,7 +61,7 @@ export type string
/// tagged object. The syntax for this is `myTag`.
///
/// In the example above we use the tag identifier to get the angle of the segment
/// `segAng(rectangleSegmentA001, %)`.
/// `segAng(rectangleSegmentA001)`.
///
/// ### Tag Scope
///
@ -107,11 +107,13 @@ export type string
/// |> angledLine(
/// angle = segAng(rectangleSegmentA001) - 90,
/// length = 196.99
/// , %, $rectangleSegmentB001)
/// tag = $rectangleSegmentB001,
/// )
/// |> angledLine(
/// angle = segAng(rectangleSegmentA001),
/// length = -segLen(rectangleSegmentA001)
/// , %, $rectangleSegmentC001)
/// tag = $rectangleSegmentC001,
/// )
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
/// |> 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'
} else if (snappedToTangent) {
// Generate tag for previous arc segment and use it for the angle of angledLine:
// |> tangentialArcTo([5, -10], %, $arc001)
// |> angledLine({ angle = tangentToEnd(arc001), length = 12 }, %)
// |> tangentialArc(endAbsolute = [5, -10], tag = $arc001)
// |> angledLine(angle = tangentToEnd(arc001), length = 12)
const previousSegmentPathToNode = getNodePathFromSourceRange(
modifiedAst,

View File

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

View File

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

View File

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

View File

@ -1215,19 +1215,19 @@ export function updateSketchNodePathsWithInsertIndex({
* ```ts
* part001 = startSketchOn(XZ)
|> startProfile(at = [1, 2])
|> line([3, 4], %)
|> line([5, 6], %)
|> close(%)
extrude001 = extrude(5, part001)
|> line(end = [3, 4])
|> line(end = [5, 6])
|> close()
extrude001 = extrude(part001, length = 5)
```
into
```ts
sketch001 = startSketchOn(XZ)
part001 = startProfile(sketch001, at = [1, 2])
|> line([3, 4], %)
|> line([5, 6], %)
|> close(%)
extrude001 = extrude(5, part001)
|> line(end = [3, 4])
|> line(end = [5, 6])
|> close()
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
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])
|> ${line}
|> line(endAbsolute = [0.46, -5.82])
// |> rx(45, %)
// |> rx(45)
`
const code = genCode(lineToChange)
const expectedCode = genCode(lineAfterChange)
@ -143,7 +143,7 @@ describe('testing addTagForSketchOnFace', () => {
// Enable rotations #152
const genCode = (line: string) => `mySketch001 = startSketchOn(XY)
|> startProfile(at = [0, 0])
// |> rx(45, %)
// |> rx(45)
|> ${line}
|> line(endAbsolute = [0.46, -5.82])
`

View File

@ -2365,9 +2365,9 @@ export const angledLine: SketchLineHelperKw = {
const { node: pipe } = _node1
// 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:
// angledLine({ angle = tangentToEnd(arc001) + turns::HALF_TURN, length = 12 }, %)
// angledLine(angle = tangentToEnd(arc001) + turns::HALF_TURN, length = 12)
const newAngleVal = snaps?.previousArcTag
? snaps.negativeTangentDirection
? createBinaryExpression([

View File

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