Update KCL snippets
This commit is contained in:
@ -65,7 +65,7 @@ async function doBasicSketch(
|
|||||||
if (openPanes.includes('code')) {
|
if (openPanes.includes('code')) {
|
||||||
await expect(u.codeLocator)
|
await expect(u.codeLocator)
|
||||||
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${commonPoints.startAt}, sketch001)
|
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${commonPoints.startAt}, sketch001)
|
||||||
|> xLine(${commonPoints.num1}, %)`)
|
|> xLine(length = ${commonPoints.num1})`)
|
||||||
}
|
}
|
||||||
await page.waitForTimeout(500)
|
await page.waitForTimeout(500)
|
||||||
await page.mouse.click(startXPx + PUR * 20, 500 - PUR * 20)
|
await page.mouse.click(startXPx + PUR * 20, 500 - PUR * 20)
|
||||||
@ -74,8 +74,8 @@ async function doBasicSketch(
|
|||||||
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${
|
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${
|
||||||
commonPoints.startAt
|
commonPoints.startAt
|
||||||
}, sketch001)
|
}, sketch001)
|
||||||
|> xLine(${commonPoints.num1}, %)
|
|> xLine(length = ${commonPoints.num1})
|
||||||
|> yLine(${commonPoints.num1 + 0.01}, %)`)
|
|> yLine(length = ${commonPoints.num1 + 0.01})`)
|
||||||
} else {
|
} else {
|
||||||
await page.waitForTimeout(500)
|
await page.waitForTimeout(500)
|
||||||
}
|
}
|
||||||
@ -86,9 +86,9 @@ async function doBasicSketch(
|
|||||||
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${
|
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${
|
||||||
commonPoints.startAt
|
commonPoints.startAt
|
||||||
}, sketch001)
|
}, sketch001)
|
||||||
|> xLine(${commonPoints.num1}, %)
|
|> xLine(length = ${commonPoints.num1})
|
||||||
|> yLine(${commonPoints.num1 + 0.01}, %)
|
|> yLine(length = ${commonPoints.num1 + 0.01})
|
||||||
|> xLine(${commonPoints.num2 * -1}, %)`)
|
|> xLine(length = ${commonPoints.num2 * -1})`)
|
||||||
}
|
}
|
||||||
|
|
||||||
// deselect line tool
|
// deselect line tool
|
||||||
@ -146,9 +146,9 @@ async function doBasicSketch(
|
|||||||
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${
|
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${
|
||||||
commonPoints.startAt
|
commonPoints.startAt
|
||||||
}, sketch001)
|
}, sketch001)
|
||||||
|> xLine(${commonPoints.num1}, %, $seg01)
|
|> xLine(length = ${commonPoints.num1}, tag = $seg01)
|
||||||
|> yLine(${commonPoints.num1 + 0.01}, %)
|
|> yLine(length = ${commonPoints.num1 + 0.01})
|
||||||
|> xLine(-segLen(seg01), %)`)
|
|> xLine(length = -segLen(seg01))`)
|
||||||
}
|
}
|
||||||
|
|
||||||
test.describe('Basic sketch', { tag: ['@skipWin'] }, () => {
|
test.describe('Basic sketch', { tag: ['@skipWin'] }, () => {
|
||||||
|
@ -16,7 +16,7 @@ test.describe('Command bar tests', { tag: ['@skipWin'] }, () => {
|
|||||||
|> startProfileAt([-10, -10], %)
|
|> startProfileAt([-10, -10], %)
|
||||||
|> line(end = [20, 0])
|
|> line(end = [20, 0])
|
||||||
|> line(end = [0, 20])
|
|> line(end = [0, 20])
|
||||||
|> xLine(-20, %)
|
|> xLine(length = -20)
|
||||||
|> close()
|
|> close()
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
|
@ -817,7 +817,7 @@ test.describe('Editor tests', { tag: ['@skipWin'] }, () => {
|
|||||||
await expect(page.locator('.cm-content'))
|
await expect(page.locator('.cm-content'))
|
||||||
.toHaveText(`sketch001 = startSketchOn('XZ')
|
.toHaveText(`sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([3.14, 12], %)
|
|> startProfileAt([3.14, 12], %)
|
||||||
|> xLine(5, %) // lin`)
|
|> xLine(length = 5) // lin`)
|
||||||
|
|
||||||
// expect there to be no KCL errors
|
// expect there to be no KCL errors
|
||||||
await expect(page.locator('.cm-lint-marker-error')).toHaveCount(0)
|
await expect(page.locator('.cm-lint-marker-error')).toHaveCount(0)
|
||||||
@ -890,7 +890,7 @@ test.describe('Editor tests', { tag: ['@skipWin'] }, () => {
|
|||||||
await expect(page.locator('.cm-content'))
|
await expect(page.locator('.cm-content'))
|
||||||
.toHaveText(`sketch001 = startSketchOn('XZ')
|
.toHaveText(`sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([3.14, 12], %)
|
|> startProfileAt([3.14, 12], %)
|
||||||
|> xLine(5, %) // lin`)
|
|> xLine(length = 5) // lin`)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
test('Can undo a click and point extrude with ctrl+z', async ({
|
test('Can undo a click and point extrude with ctrl+z', async ({
|
||||||
|
@ -8,7 +8,7 @@ const FEATURE_TREE_EXAMPLE_CODE = `export fn timesFive(x) {
|
|||||||
export fn triangle() {
|
export fn triangle() {
|
||||||
return startSketchOn('XZ')
|
return startSketchOn('XZ')
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> xLine(10, %)
|
|> xLine(length = 10)
|
||||||
|> line(end = [-10, -5])
|
|> line(end = [-10, -5])
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
@ -28,7 +28,7 @@ plane001 = offsetPlane('XY', offset = 10)
|
|||||||
sketch002 = startSketchOn(plane001)
|
sketch002 = startSketchOn(plane001)
|
||||||
|> startProfileAt([-20, 0], %)
|
|> startProfileAt([-20, 0], %)
|
||||||
|> line(end = [5, -15])
|
|> line(end = [5, -15])
|
||||||
|> xLine(-10, %)
|
|> xLine(length = -10)
|
||||||
|> line(endAbsolute = [-40, 0])
|
|> line(endAbsolute = [-40, 0])
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
|
@ -524,7 +524,7 @@ profile001 = startProfileAt([205.96, 254.59], sketch002)
|
|||||||
const expectedCodeSnippets = {
|
const expectedCodeSnippets = {
|
||||||
sketchOnXzPlane: `sketch001 = startSketchOn('XZ')`,
|
sketchOnXzPlane: `sketch001 = startSketchOn('XZ')`,
|
||||||
pointAtOrigin: `startProfileAt([${originSloppy.kcl[0]}, ${originSloppy.kcl[1]}], sketch001)`,
|
pointAtOrigin: `startProfileAt([${originSloppy.kcl[0]}, ${originSloppy.kcl[1]}], sketch001)`,
|
||||||
segmentOnXAxis: `xLine(${xAxisSloppy.kcl[0]}, %)`,
|
segmentOnXAxis: `xLine(length = ${xAxisSloppy.kcl[0]})`,
|
||||||
afterSegmentDraggedOffYAxis: `startProfileAt([${offYAxis.kcl[0]}, ${offYAxis.kcl[1]}], sketch001)`,
|
afterSegmentDraggedOffYAxis: `startProfileAt([${offYAxis.kcl[0]}, ${offYAxis.kcl[1]}], sketch001)`,
|
||||||
afterSegmentDraggedOnYAxis: `startProfileAt([${yAxisSloppy.kcl[0]}, ${yAxisSloppy.kcl[1]}], sketch001)`,
|
afterSegmentDraggedOnYAxis: `startProfileAt([${yAxisSloppy.kcl[0]}, ${yAxisSloppy.kcl[1]}], sketch001)`,
|
||||||
}
|
}
|
||||||
@ -585,7 +585,7 @@ profile001 = startProfileAt([205.96, 254.59], sketch002)
|
|||||||
openSketch = startSketchOn('XY')
|
openSketch = startSketchOn('XY')
|
||||||
|> startProfileAt([-5, 0], %)
|
|> startProfileAt([-5, 0], %)
|
||||||
|> line(endAbsolute = [0, 5])
|
|> line(endAbsolute = [0, 5])
|
||||||
|> xLine(5, %)
|
|> xLine(length = 5)
|
||||||
|> tangentialArcTo([10, 0], %)
|
|> tangentialArcTo([10, 0], %)
|
||||||
`
|
`
|
||||||
const viewPortSize = { width: 1000, height: 500 }
|
const viewPortSize = { width: 1000, height: 500 }
|
||||||
@ -1350,7 +1350,7 @@ loft001 = loft([sketch001, sketch002])
|
|||||||
}, %)
|
}, %)
|
||||||
sketch002 = startSketchOn('XZ')
|
sketch002 = startSketchOn('XZ')
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> xLine(-500, %)
|
|> xLine(length = -500)
|
||||||
|> tangentialArcTo([-2000, 500], %)
|
|> tangentialArcTo([-2000, 500], %)
|
||||||
`
|
`
|
||||||
await context.addInitScript((initialCode) => {
|
await context.addInitScript((initialCode) => {
|
||||||
@ -1444,7 +1444,7 @@ sketch002 = startSketchOn('XZ')
|
|||||||
}, %)
|
}, %)
|
||||||
sketch002 = startSketchOn('XZ')
|
sketch002 = startSketchOn('XZ')
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> xLine(-500, %)
|
|> xLine(length = -500)
|
||||||
|> line(endAbsolute = [-2000, 500])
|
|> line(endAbsolute = [-2000, 500])
|
||||||
`
|
`
|
||||||
await context.addInitScript((initialCode) => {
|
await context.addInitScript((initialCode) => {
|
||||||
@ -2365,9 +2365,9 @@ chamfer04 = chamfer(extrude001, length = 5, tags = [getOppositeEdge(seg02)])
|
|||||||
}) => {
|
}) => {
|
||||||
const initialCode = `sketch001 = startSketchOn('XY')
|
const initialCode = `sketch001 = startSketchOn('XY')
|
||||||
|> startProfileAt([-20, 20], %)
|
|> startProfileAt([-20, 20], %)
|
||||||
|> xLine(40, %)
|
|> xLine(length = 40)
|
||||||
|> yLine(-60, %)
|
|> yLine(length = -60)
|
||||||
|> xLine(-40, %)
|
|> xLine(length = -40)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
extrude001 = extrude(sketch001, length = 40)
|
extrude001 = extrude(sketch001, length = 40)
|
||||||
@ -2383,7 +2383,7 @@ extrude001 = extrude(sketch001, length = 40)
|
|||||||
const testPoint = { x: 580, y: 180 }
|
const testPoint = { x: 580, y: 180 }
|
||||||
const [clickOnCap] = scene.makeMouseHelpers(testPoint.x, testPoint.y)
|
const [clickOnCap] = scene.makeMouseHelpers(testPoint.x, testPoint.y)
|
||||||
const [clickOnWall] = scene.makeMouseHelpers(testPoint.x, testPoint.y + 70)
|
const [clickOnWall] = scene.makeMouseHelpers(testPoint.x, testPoint.y + 70)
|
||||||
const mutatedCode = 'xLine(-40, %, $seg01)'
|
const mutatedCode = 'xLine(length = -40, tag = $seg01)'
|
||||||
const shellDeclaration =
|
const shellDeclaration =
|
||||||
"shell001 = shell(extrude001, faces = ['end', seg01], thickness = 5)"
|
"shell001 = shell(extrude001, faces = ['end', seg01], thickness = 5)"
|
||||||
|
|
||||||
@ -2549,9 +2549,9 @@ extrude002 = extrude(sketch002, length = 50)
|
|||||||
}) => {
|
}) => {
|
||||||
const sketchCode = `sketch001 = startSketchOn('XY')
|
const sketchCode = `sketch001 = startSketchOn('XY')
|
||||||
profile001 = startProfileAt([-20, 20], sketch001)
|
profile001 = startProfileAt([-20, 20], sketch001)
|
||||||
|> xLine(40, %)
|
|> xLine(length = 40)
|
||||||
|> yLine(-60, %)
|
|> yLine(length = -60)
|
||||||
|> xLine(-40, %)
|
|> xLine(length = -40)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
`
|
`
|
||||||
@ -2637,7 +2637,7 @@ profile001 = startProfileAt([-20, 20], sketch001)
|
|||||||
}, %)
|
}, %)
|
||||||
sketch002 = startSketchOn('XZ')
|
sketch002 = startSketchOn('XZ')
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> xLine(-2000, %)
|
|> xLine(length = -2000)
|
||||||
sweep001 = sweep(sketch001, path = sketch002)
|
sweep001 = sweep(sketch001, path = sketch002)
|
||||||
`
|
`
|
||||||
await context.addInitScript((initialCode) => {
|
await context.addInitScript((initialCode) => {
|
||||||
@ -2798,7 +2798,7 @@ radius = 8.69
|
|||||||
const initialCode = `
|
const initialCode = `
|
||||||
sketch002 = startSketchOn('XY')
|
sketch002 = startSketchOn('XY')
|
||||||
|> startProfileAt([-2.02, 1.79], %)
|
|> startProfileAt([-2.02, 1.79], %)
|
||||||
|> xLine(2.6, %)
|
|> xLine(length = 2.6)
|
||||||
sketch001 = startSketchOn('-XY')
|
sketch001 = startSketchOn('-XY')
|
||||||
|> startProfileAt([-0.48, 1.25], %)
|
|> startProfileAt([-0.48, 1.25], %)
|
||||||
|> angledLine([0, 2.38], %, $rectangleSegmentA001)
|
|> angledLine([0, 2.38], %, $rectangleSegmentA001)
|
||||||
@ -2830,7 +2830,7 @@ radius = 8.69
|
|||||||
await page.getByText(codeToSelecton).click()
|
await page.getByText(codeToSelecton).click()
|
||||||
await toolbar.revolveButton.click()
|
await toolbar.revolveButton.click()
|
||||||
await page.getByText('Edge', { exact: true }).click()
|
await page.getByText('Edge', { exact: true }).click()
|
||||||
const lineCodeToSelection = `|> xLine(2.6, %)`
|
const lineCodeToSelection = `|> xLine(length = 2.6)`
|
||||||
await page.getByText(lineCodeToSelection).click()
|
await page.getByText(lineCodeToSelection).click()
|
||||||
await cmdBar.progressCmdBar()
|
await cmdBar.progressCmdBar()
|
||||||
|
|
||||||
|
@ -13,9 +13,9 @@ profile001 = startProfileAt([57.81, 250.51], sketch001)
|
|||||||
extrude001 = extrude(profile001, length = 200)
|
extrude001 = extrude(profile001, length = 200)
|
||||||
sketch002 = startSketchOn('XZ')
|
sketch002 = startSketchOn('XZ')
|
||||||
|> startProfileAt([-73.64, -42.89], %)
|
|> startProfileAt([-73.64, -42.89], %)
|
||||||
|> xLine(173.71, %)
|
|> xLine(length = 173.71)
|
||||||
|> line(end = [-22.12, -94.4])
|
|> line(end = [-22.12, -94.4])
|
||||||
|> xLine(-156.98, %)
|
|> xLine(length = -156.98)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
extrude002 = extrude(sketch002, length = 50)
|
extrude002 = extrude(sketch002, length = 50)
|
||||||
|
@ -248,7 +248,7 @@ extrude001 = extrude(sketch001, length = 50)
|
|||||||
`exampleSketch = startSketchOn("XZ")
|
`exampleSketch = startSketchOn("XZ")
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> angledLine({ angle: 50, length: 45 }, %)
|
|> angledLine({ angle: 50, length: 45 }, %)
|
||||||
|> yLineTo(0, %)
|
|> yLine(endAbsolute = 0)
|
||||||
|> close()
|
|> close()
|
||||||
|>
|
|>
|
||||||
|
|
||||||
@ -304,7 +304,7 @@ extrude001 = extrude(sketch001, length = 50)
|
|||||||
.toContainText(`exampleSketch = startSketchOn("XZ")
|
.toContainText(`exampleSketch = startSketchOn("XZ")
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> angledLine({ angle: 50, length: 45 }, %)
|
|> angledLine({ angle: 50, length: 45 }, %)
|
||||||
|> yLineTo(0, %)
|
|> yLine(endAbsolute = 0)
|
||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
thing: "blah"`)
|
thing: "blah"`)
|
||||||
|
@ -48,26 +48,26 @@ test.describe('Sketch tests', { tag: ['@skipWin'] }, () => {
|
|||||||
|
|
||||||
part001 = startSketchOn('XY')
|
part001 = startSketchOn('XY')
|
||||||
${startProfileAt2}
|
${startProfileAt2}
|
||||||
|> xLine(width * .5, %)
|
|> xLine(length = width * .5)
|
||||||
|> yLine(height, %)
|
|> yLine(length = height)
|
||||||
|> xLine(-width * .5, %)
|
|> xLine(length = -width * .5)
|
||||||
|> close()
|
|> close()
|
||||||
|> hole(screwHole, %)
|
|> hole(screwHole, %)
|
||||||
|> extrude(length = thickness)
|
|> extrude(length = thickness)
|
||||||
|
|
||||||
part002 = startSketchOn('-XZ')
|
part002 = startSketchOn('-XZ')
|
||||||
${startProfileAt3}
|
${startProfileAt3}
|
||||||
|> xLine(width / 4, %)
|
|> xLine(length = width / 4)
|
||||||
|> tangentialArcTo([width / 2, 0], %)
|
|> tangentialArcTo([width / 2, 0], %)
|
||||||
|> xLine(-width / 4 + wireRadius, %)
|
|> xLine(length = -width / 4 + wireRadius)
|
||||||
|> yLine(wireOffset, %)
|
|> yLine(length = wireOffset)
|
||||||
|> arc({
|
|> arc({
|
||||||
radius = wireRadius,
|
radius = wireRadius,
|
||||||
angleStart = 0,
|
angleStart = 0,
|
||||||
angleEnd = 180
|
angleEnd = 180
|
||||||
}, %)
|
}, %)
|
||||||
|> yLine(-wireOffset, %)
|
|> yLine(length = -wireOffset)
|
||||||
|> xLine(-width / 4, %)
|
|> xLine(length = -width / 4)
|
||||||
|> close()
|
|> close()
|
||||||
|> extrude(length = -height)
|
|> extrude(length = -height)
|
||||||
`
|
`
|
||||||
@ -111,7 +111,7 @@ test.describe('Sketch tests', { tag: ['@skipWin'] }, () => {
|
|||||||
'persistCode',
|
'persistCode',
|
||||||
`sketch001 = startSketchOn('XZ')
|
`sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([2.61, -4.01], %)
|
|> startProfileAt([2.61, -4.01], %)
|
||||||
|> xLine(8.73, %)
|
|> xLine(length = 8.73)
|
||||||
|> tangentialArcTo([8.33, -1.31], %)`
|
|> tangentialArcTo([8.33, -1.31], %)`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@ -157,7 +157,7 @@ test.describe('Sketch tests', { tag: ['@skipWin'] }, () => {
|
|||||||
await expect.poll(u.normalisedEditorCode, { timeout: 1000 })
|
await expect.poll(u.normalisedEditorCode, { timeout: 1000 })
|
||||||
.toBe(`sketch002 = startSketchOn('XZ')
|
.toBe(`sketch002 = startSketchOn('XZ')
|
||||||
sketch001 = startProfileAt([12.34, -12.34], sketch002)
|
sketch001 = startProfileAt([12.34, -12.34], sketch002)
|
||||||
|> yLine(12.34, %)
|
|> yLine(length = 12.34)
|
||||||
|
|
||||||
`)
|
`)
|
||||||
}).toPass({ timeout: 5_000, intervals: [1_000] })
|
}).toPass({ timeout: 5_000, intervals: [1_000] })
|
||||||
@ -693,15 +693,15 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
|
|||||||
|
|
||||||
await click00r(50, 0)
|
await click00r(50, 0)
|
||||||
await page.waitForTimeout(100)
|
await page.waitForTimeout(100)
|
||||||
codeStr += ` |> xLine(${toU(50, 0)[0]}, %)`
|
codeStr += ` |> xLine(length = ${toU(50, 0)[0]})`
|
||||||
await expect(u.codeLocator).toHaveText(codeStr)
|
await expect(u.codeLocator).toHaveText(codeStr)
|
||||||
|
|
||||||
await click00r(0, 50)
|
await click00r(0, 50)
|
||||||
codeStr += ` |> yLine(${toU(0, 50)[1]}, %)`
|
codeStr += ` |> yLine(length = ${toU(0, 50)[1]})`
|
||||||
await expect(u.codeLocator).toHaveText(codeStr)
|
await expect(u.codeLocator).toHaveText(codeStr)
|
||||||
|
|
||||||
await click00r(-50, 0)
|
await click00r(-50, 0)
|
||||||
codeStr += ` |> xLine(${toU(-50, 0)[0]}, %)`
|
codeStr += ` |> xLine(length = ${toU(-50, 0)[0]})`
|
||||||
await expect(u.codeLocator).toHaveText(codeStr)
|
await expect(u.codeLocator).toHaveText(codeStr)
|
||||||
|
|
||||||
// exit the sketch, reset relative clicker
|
// exit the sketch, reset relative clicker
|
||||||
@ -730,15 +730,15 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
|
|||||||
// TODO: I couldn't use `toSU` here because of some rounding error causing
|
// TODO: I couldn't use `toSU` here because of some rounding error causing
|
||||||
// it to be off by 0.01
|
// it to be off by 0.01
|
||||||
await click00r(30, 0)
|
await click00r(30, 0)
|
||||||
codeStr += ` |> xLine(2.04, %)`
|
codeStr += ` |> xLine(length = 2.04)`
|
||||||
await expect(u.codeLocator).toHaveText(codeStr)
|
await expect(u.codeLocator).toHaveText(codeStr)
|
||||||
|
|
||||||
await click00r(0, 30)
|
await click00r(0, 30)
|
||||||
codeStr += ` |> yLine(-2.03, %)`
|
codeStr += ` |> yLine(length = -2.03)`
|
||||||
await expect(u.codeLocator).toHaveText(codeStr)
|
await expect(u.codeLocator).toHaveText(codeStr)
|
||||||
|
|
||||||
await click00r(-30, 0)
|
await click00r(-30, 0)
|
||||||
codeStr += ` |> xLine(-2.04, %)`
|
codeStr += ` |> xLine(length = -2.04)`
|
||||||
await expect(u.codeLocator).toHaveText(codeStr)
|
await expect(u.codeLocator).toHaveText(codeStr)
|
||||||
|
|
||||||
await click00r(undefined, undefined)
|
await click00r(undefined, undefined)
|
||||||
@ -763,8 +763,8 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
|
|||||||
profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff(
|
profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff(
|
||||||
scale * 34.8
|
scale * 34.8
|
||||||
)}], sketch001)
|
)}], sketch001)
|
||||||
|> xLine(${roundOff(scale * 139.19)}, %)
|
|> xLine(length = ${roundOff(scale * 139.19)})
|
||||||
|> yLine(-${roundOff(scale * 139.2)}, %)
|
|> yLine(length = -${roundOff(scale * 139.2)})
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()`
|
|> close()`
|
||||||
|
|
||||||
@ -1020,7 +1020,7 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff(
|
|||||||
|> startProfileAt([-10, -10], %)
|
|> startProfileAt([-10, -10], %)
|
||||||
|> line(end = [20, 0])
|
|> line(end = [20, 0])
|
||||||
|> line(end = [0, 20])
|
|> line(end = [0, 20])
|
||||||
|> xLine(-20, %)
|
|> xLine(length = -20)
|
||||||
`)
|
`)
|
||||||
|
|
||||||
await u.expectCmdLog('[data-message-type="execution-done"]')
|
await u.expectCmdLog('[data-message-type="execution-done"]')
|
||||||
@ -1096,8 +1096,8 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff(
|
|||||||
lugSketch = startSketchOn(plane)
|
lugSketch = startSketchOn(plane)
|
||||||
|> startProfileAt([origin[0] + lugDiameter / 2, origin[1]], %)
|
|> startProfileAt([origin[0] + lugDiameter / 2, origin[1]], %)
|
||||||
|> angledLineOfYLength({ angle = 60, length = lugHeadLength }, %)
|
|> angledLineOfYLength({ angle = 60, length = lugHeadLength }, %)
|
||||||
|> xLineTo(0 + .001, %)
|
|> xLine(endAbsolute = 0 + .001)
|
||||||
|> yLineTo(0, %)
|
|> yLine(endAbsolute = 0)
|
||||||
|> close()
|
|> close()
|
||||||
|> revolve({ axis = "Y" }, %)
|
|> revolve({ axis = "Y" }, %)
|
||||||
|
|
||||||
@ -1370,7 +1370,7 @@ profile001 = startProfileAt([121.52, 168.25], sketch001)
|
|||||||
|> close()
|
|> close()
|
||||||
profile002 = startProfileAt([117.2, 56.08], sketch001)
|
profile002 = startProfileAt([117.2, 56.08], sketch001)
|
||||||
|> line(end = [166.82, 25.89])
|
|> line(end = [166.82, 25.89])
|
||||||
|> yLine(-107.86, %)
|
|> yLine(length = -107.86)
|
||||||
|
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
@ -1456,9 +1456,9 @@ profile002 = startProfileAt([117.2, 56.08], sketch001)
|
|||||||
'persistCode',
|
'persistCode',
|
||||||
`sketch001 = startSketchOn('XZ')
|
`sketch001 = startSketchOn('XZ')
|
||||||
profile002 = startProfileAt([40.68, 87.67], sketch001)
|
profile002 = startProfileAt([40.68, 87.67], sketch001)
|
||||||
|> xLine(239.17, %)
|
|> xLine(length = 239.17)
|
||||||
profile003 = startProfileAt([206.63, -56.73], sketch001)
|
profile003 = startProfileAt([206.63, -56.73], sketch001)
|
||||||
|> xLine(-156.32, %)
|
|> xLine(length = -156.32)
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@ -2316,7 +2316,7 @@ profile003 = startProfileAt([3.19, 13.3], sketch002)
|
|||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
profile004 = startProfileAt([3.15, 9.39], sketch002)
|
profile004 = startProfileAt([3.15, 9.39], sketch002)
|
||||||
|> xLine(6.92, %)
|
|> xLine(length = 6.92)
|
||||||
|> line(end = [-7.41, -2.85])
|
|> line(end = [-7.41, -2.85])
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
@ -2552,7 +2552,7 @@ profile001 = startProfileAt([34, 42.66], sketch001)
|
|||||||
plane001 = offsetPlane('XZ', offset = 50)
|
plane001 = offsetPlane('XZ', offset = 50)
|
||||||
sketch002 = startSketchOn(plane001)
|
sketch002 = startSketchOn(plane001)
|
||||||
profile002 = startProfileAt([39.43, 172.21], sketch002)
|
profile002 = startProfileAt([39.43, 172.21], sketch002)
|
||||||
|> xLine(183.99, %)
|
|> xLine(length = 183.99)
|
||||||
|> line(end = [-77.95, -145.93])
|
|> line(end = [-77.95, -145.93])
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
@ -2605,7 +2605,7 @@ profile001 = startProfileAt([34, 42.66], sketch001)
|
|||||||
plane001 = offsetPlane('XZ', offset = 50)
|
plane001 = offsetPlane('XZ', offset = 50)
|
||||||
sketch002 = startSketchOn(plane001)
|
sketch002 = startSketchOn(plane001)
|
||||||
profile002 = startProfileAt([39.43, 172.21], sketch002)
|
profile002 = startProfileAt([39.43, 172.21], sketch002)
|
||||||
|> xLine(183.99, %)
|
|> xLine(length = 183.99)
|
||||||
|> line(end = [-77.95, -145.93])
|
|> line(end = [-77.95, -145.93])
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
|
@ -71,14 +71,14 @@ armThick = 0.5
|
|||||||
totalLen = 9.5
|
totalLen = 9.5
|
||||||
part001 = startSketchOn('-XZ')
|
part001 = startSketchOn('-XZ')
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> yLine(baseHeight, %)
|
|> yLine(length = baseHeight)
|
||||||
|> xLine(baseLen, %)
|
|> xLine(length = baseLen)
|
||||||
|> angledLineToY({
|
|> angledLineToY({
|
||||||
angle = topAng,
|
angle = topAng,
|
||||||
to = totalHeightHalf,
|
to = totalHeightHalf,
|
||||||
}, %, $seg04)
|
}, %, $seg04)
|
||||||
|> xLineTo(totalLen, %, $seg03)
|
|> xLine(endAbsolute = totalLen, tag = $seg03)
|
||||||
|> yLine(-armThick, %, $seg01)
|
|> yLine(length = -armThick, tag = $seg01)
|
||||||
|> angledLineThatIntersects({
|
|> angledLineThatIntersects({
|
||||||
angle = HALF_TURN,
|
angle = HALF_TURN,
|
||||||
offset = -armThick,
|
offset = -armThick,
|
||||||
@ -89,15 +89,15 @@ part001 = startSketchOn('-XZ')
|
|||||||
angle = -bottomAng,
|
angle = -bottomAng,
|
||||||
to = -totalHeightHalf - armThick,
|
to = -totalHeightHalf - armThick,
|
||||||
}, %, $seg02)
|
}, %, $seg02)
|
||||||
|> xLineTo(segEndX(seg03, %) + 0, %)
|
|> xLine(length = endAbsolute = segEndX(seg03) + 0)
|
||||||
|> yLine(-segLen(seg01, %), %)
|
|> yLine(length = -segLen(seg01, %))
|
||||||
|> angledLineThatIntersects({
|
|> angledLineThatIntersects({
|
||||||
angle = HALF_TURN,
|
angle = HALF_TURN,
|
||||||
offset = -armThick,
|
offset = -armThick,
|
||||||
intersectTag = seg02
|
intersectTag = seg02
|
||||||
}, %)
|
}, %)
|
||||||
|> angledLineToY([segAng(seg02, %) + 180, -baseHeight], %)
|
|> angledLineToY([segAng(seg02, %) + 180, -baseHeight], %)
|
||||||
|> xLineTo(ZERO, %)
|
|> xLine(endAbsolute = ZERO)
|
||||||
|> close()
|
|> close()
|
||||||
|> extrude(length = 4)`
|
|> extrude(length = 4)`
|
||||||
)
|
)
|
||||||
@ -461,7 +461,7 @@ test(
|
|||||||
await page.waitForTimeout(100)
|
await page.waitForTimeout(100)
|
||||||
|
|
||||||
code += `
|
code += `
|
||||||
|> xLine(7.25, %)`
|
|> xLine(length = 7.25)`
|
||||||
await expect(page.locator('.cm-content')).toHaveText(code)
|
await expect(page.locator('.cm-content')).toHaveText(code)
|
||||||
|
|
||||||
await page
|
await page
|
||||||
@ -653,7 +653,7 @@ test.describe(
|
|||||||
await page.waitForTimeout(100)
|
await page.waitForTimeout(100)
|
||||||
|
|
||||||
code += `
|
code += `
|
||||||
|> xLine(7.25, %)`
|
|> xLine(length = 7.25)`
|
||||||
await expect(u.codeLocator).toHaveText(code)
|
await expect(u.codeLocator).toHaveText(code)
|
||||||
|
|
||||||
await page
|
await page
|
||||||
@ -761,7 +761,7 @@ test.describe(
|
|||||||
await page.waitForTimeout(100)
|
await page.waitForTimeout(100)
|
||||||
|
|
||||||
code += `
|
code += `
|
||||||
|> xLine(184.3, %)`
|
|> xLine(length = 184.3)`
|
||||||
await expect(u.codeLocator).toHaveText(code)
|
await expect(u.codeLocator).toHaveText(code)
|
||||||
|
|
||||||
await page
|
await page
|
||||||
|
@ -79,9 +79,9 @@ export const TEST_CODE_GIZMO = `part001 = startSketchOn('XZ')
|
|||||||
|> line(end = [7.13, 4 + 0])
|
|> line(end = [7.13, 4 + 0])
|
||||||
|> angledLine({ angle: 3 + 0, length: 3.14 + 0 }, %)
|
|> angledLine({ angle: 3 + 0, length: 3.14 + 0 }, %)
|
||||||
|> line(endAbsolute = [20.14 + 0, -0.14 + 0])
|
|> line(endAbsolute = [20.14 + 0, -0.14 + 0])
|
||||||
|> xLineTo(29 + 0, %)
|
|> xLine(endAbsolute = 29 + 0)
|
||||||
|> yLine(-3.14 + 0, %, $a)
|
|> yLine(length = -3.14 + 0, tag = $a)
|
||||||
|> xLine(1.63, %)
|
|> xLine(length = 1.63)
|
||||||
|> angledLineOfXLength({ angle: 3 + 0, length: 3.14 }, %)
|
|> angledLineOfXLength({ angle: 3 + 0, length: 3.14 }, %)
|
||||||
|> angledLineOfYLength({ angle: 30, length: 3 + 0 }, %)
|
|> angledLineOfYLength({ angle: 30, length: 3 + 0 }, %)
|
||||||
|> angledLineToX({ angle: 22.14 + 0, to: 12 }, %)
|
|> angledLineToX({ angle: 22.14 + 0, to: 12 }, %)
|
||||||
@ -146,7 +146,7 @@ sketch001 = startSketchOn(box, revolveAxis)
|
|||||||
|
|
||||||
sketch001 = startSketchOn('XZ')
|
sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([0.0, 0.0], %)
|
|> startProfileAt([0.0, 0.0], %)
|
||||||
|> xLine(0.0, %)
|
|> xLine(length = 0.0)
|
||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
`
|
`
|
||||||
|
@ -122,7 +122,7 @@ test.describe('Test network and connection issues', () => {
|
|||||||
|
|
||||||
await expect(page.locator('.cm-content'))
|
await expect(page.locator('.cm-content'))
|
||||||
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${commonPoints.startAt}, sketch001)
|
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${commonPoints.startAt}, sketch001)
|
||||||
|> xLine(${commonPoints.num1}, %)`)
|
|> xLine(length = ${commonPoints.num1})`)
|
||||||
|
|
||||||
// Expect the network to be up
|
// Expect the network to be up
|
||||||
await expect(networkToggle).toContainText('Connected')
|
await expect(networkToggle).toContainText('Connected')
|
||||||
@ -215,7 +215,7 @@ test.describe('Test network and connection issues', () => {
|
|||||||
await expect.poll(u.normalisedEditorCode)
|
await expect.poll(u.normalisedEditorCode)
|
||||||
.toBe(`sketch001 = startSketchOn('XZ')
|
.toBe(`sketch001 = startSketchOn('XZ')
|
||||||
profile001 = startProfileAt([12.34, -12.34], sketch001)
|
profile001 = startProfileAt([12.34, -12.34], sketch001)
|
||||||
|> xLine(12.34, %)
|
|> xLine(length = 12.34)
|
||||||
|> line(end = [-12.34, 12.34])
|
|> line(end = [-12.34, 12.34])
|
||||||
|
|
||||||
`)
|
`)
|
||||||
@ -225,9 +225,9 @@ profile001 = startProfileAt([12.34, -12.34], sketch001)
|
|||||||
await expect.poll(u.normalisedEditorCode)
|
await expect.poll(u.normalisedEditorCode)
|
||||||
.toBe(`sketch001 = startSketchOn('XZ')
|
.toBe(`sketch001 = startSketchOn('XZ')
|
||||||
profile001 = startProfileAt([12.34, -12.34], sketch001)
|
profile001 = startProfileAt([12.34, -12.34], sketch001)
|
||||||
|> xLine(12.34, %)
|
|> xLine(length = 12.34)
|
||||||
|> line(end = [-12.34, 12.34])
|
|> line(end = [-12.34, 12.34])
|
||||||
|> xLine(-12.34, %)
|
|> xLine(length = -12.34)
|
||||||
|
|
||||||
`)
|
`)
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => {
|
|||||||
|> startProfileAt([-10, -10], %)
|
|> startProfileAt([-10, -10], %)
|
||||||
|> line(end = [20, 0])
|
|> line(end = [20, 0])
|
||||||
|> line(end = [0, 20])
|
|> line(end = [0, 20])
|
||||||
|> xLine(-20, %)
|
|> xLine(length = -20)
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@ -57,7 +57,7 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => {
|
|||||||
.click()
|
.click()
|
||||||
|
|
||||||
await expect(page.locator('.cm-content')).toHaveText(
|
await expect(page.locator('.cm-content')).toHaveText(
|
||||||
`length001 = 20sketch001 = startSketchOn('XY') |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> angledLine([90, length001], %) |> xLine(-20, %)`
|
`length001 = 20sketch001 = startSketchOn('XY') |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> angledLine([90, length001], %) |> xLine(length = -20)`
|
||||||
)
|
)
|
||||||
|
|
||||||
// Make sure we didn't pop out of sketch mode.
|
// Make sure we didn't pop out of sketch mode.
|
||||||
@ -89,9 +89,9 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => {
|
|||||||
|> line(end = [41.19, 58.97 + 5])
|
|> line(end = [41.19, 58.97 + 5])
|
||||||
part002 = startSketchOn('XZ')
|
part002 = startSketchOn('XZ')
|
||||||
|> startProfileAt([299.05, 120], %)
|
|> startProfileAt([299.05, 120], %)
|
||||||
|> xLine(-385.34, %, $seg_what)
|
|> xLine(length = -385.34, tag = $seg_what)
|
||||||
|> yLine(-170.06, %)
|
|> yLine(length = -170.06)
|
||||||
|> xLine(segLen(seg_what), %)
|
|> xLine(length = segLen(seg_what))
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@ -153,9 +153,9 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => {
|
|||||||
|> line(end = [51.19, 48.97])
|
|> line(end = [51.19, 48.97])
|
||||||
part002 = startSketchOn('XZ')
|
part002 = startSketchOn('XZ')
|
||||||
|> startProfileAt([299.05, 231.45], %)
|
|> startProfileAt([299.05, 231.45], %)
|
||||||
|> xLine(-425.34, %, $seg_what)
|
|> xLine(length = -425.34, tag = $seg_what)
|
||||||
|> yLine(-264.06, %)
|
|> yLine(length = -264.06)
|
||||||
|> xLine(segLen(seg_what), %)
|
|> xLine(length = segLen(seg_what))
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -285,9 +285,9 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => {
|
|||||||
|> line(end = [51.19, 48.97])
|
|> line(end = [51.19, 48.97])
|
||||||
part002 = startSketchOn('XZ')
|
part002 = startSketchOn('XZ')
|
||||||
|> startProfileAt([299.05, 231.45], %)
|
|> startProfileAt([299.05, 231.45], %)
|
||||||
|> xLine(-425.34, %, $seg_what)
|
|> xLine(length = -425.34, tag = $seg_what)
|
||||||
|> yLine(-264.06, %)
|
|> yLine(length = -264.06)
|
||||||
|> xLine(segLen(seg_what), %)
|
|> xLine(length = segLen(seg_what))
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@ -395,9 +395,9 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => {
|
|||||||
|> line(end = [51.19, 48.97])
|
|> line(end = [51.19, 48.97])
|
||||||
part002 = startSketchOn('XZ')
|
part002 = startSketchOn('XZ')
|
||||||
|> startProfileAt([299.05, 231.45], %)
|
|> startProfileAt([299.05, 231.45], %)
|
||||||
|> xLine(-425.34, %, $seg_what)
|
|> xLine(length = -425.34, tag = $seg_what)
|
||||||
|> yLine(-264.06, %)
|
|> yLine(length = -264.06)
|
||||||
|> xLine(segLen(seg_what), %)
|
|> xLine(length = segLen(seg_what))
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@ -508,9 +508,9 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => {
|
|||||||
|> line(end = [51.19, 48.97])
|
|> line(end = [51.19, 48.97])
|
||||||
part002 = startSketchOn('XZ')
|
part002 = startSketchOn('XZ')
|
||||||
|> startProfileAt([299.05, 231.45], %)
|
|> startProfileAt([299.05, 231.45], %)
|
||||||
|> xLine(-425.34, %, $seg_what)
|
|> xLine(length = -425.34, tag = $seg_what)
|
||||||
|> yLine(-264.06, %)
|
|> yLine(length = -264.06)
|
||||||
|> xLine(segLen(seg_what), %)
|
|> xLine(length = segLen(seg_what))
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@ -610,9 +610,9 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => {
|
|||||||
|> line(end = [51.19, 48.97])
|
|> line(end = [51.19, 48.97])
|
||||||
part002 = startSketchOn('XZ')
|
part002 = startSketchOn('XZ')
|
||||||
|> startProfileAt([299.05, 231.45], %)
|
|> startProfileAt([299.05, 231.45], %)
|
||||||
|> xLine(-425.34, %, $seg_what)
|
|> xLine(length = -425.34, tag = $seg_what)
|
||||||
|> yLine(-264.06, %)
|
|> yLine(length = -264.06)
|
||||||
|> xLine(segLen(seg_what), %)
|
|> xLine(length = segLen(seg_what))
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@ -696,9 +696,9 @@ part001 = startSketchOn('XZ')
|
|||||||
|> line(end = [51.19, 48.97])
|
|> line(end = [51.19, 48.97])
|
||||||
part002 = startSketchOn('XZ')
|
part002 = startSketchOn('XZ')
|
||||||
|> startProfileAt([299.05, 231.45], %)
|
|> startProfileAt([299.05, 231.45], %)
|
||||||
|> xLine(-425.34, %, $seg_what)
|
|> xLine(length = -425.34, tag = $seg_what)
|
||||||
|> yLine(-264.06, %)
|
|> yLine(length = -264.06)
|
||||||
|> xLine(segLen(seg_what), %)
|
|> xLine(length = segLen(seg_what))
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@ -748,16 +748,16 @@ part002 = startSketchOn('XZ')
|
|||||||
{
|
{
|
||||||
constraintName: 'Vertical',
|
constraintName: 'Vertical',
|
||||||
codeAfter: [
|
codeAfter: [
|
||||||
`|> yLine(130.4, %)`,
|
`|> yLine(length = 130.4)`,
|
||||||
`|> yLine(77.79, %)`,
|
`|> yLine(length = 77.79)`,
|
||||||
`|> yLine(48.97, %)`,
|
`|> yLine(length = 48.97)`,
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
codeAfter: [
|
codeAfter: [
|
||||||
`|> xLine(74.36, %)`,
|
`|> xLine(length = 74.36)`,
|
||||||
`|> xLine(9.16, %)`,
|
`|> xLine(length = 9.16)`,
|
||||||
`|> xLine(51.19, %)`,
|
`|> xLine(length = 51.19)`,
|
||||||
],
|
],
|
||||||
constraintName: 'Horizontal',
|
constraintName: 'Horizontal',
|
||||||
},
|
},
|
||||||
@ -776,9 +776,9 @@ part002 = startSketchOn('XZ')
|
|||||||
|> line(end = [51.19, 48.97])
|
|> line(end = [51.19, 48.97])
|
||||||
part002 = startSketchOn('XZ')
|
part002 = startSketchOn('XZ')
|
||||||
|> startProfileAt([299.05, 231.45], %)
|
|> startProfileAt([299.05, 231.45], %)
|
||||||
|> xLine(-425.34, %, $seg_what)
|
|> xLine(length = -425.34, tag = $seg_what)
|
||||||
|> yLine(-264.06, %)
|
|> yLine(length = -264.06)
|
||||||
|> xLine(segLen(seg_what), %)
|
|> xLine(length = segLen(seg_what))
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@ -876,9 +876,9 @@ part002 = startSketchOn('XZ')
|
|||||||
|> line(end = [9.16, 77.79])
|
|> line(end = [9.16, 77.79])
|
||||||
part002 = startSketchOn('XZ')
|
part002 = startSketchOn('XZ')
|
||||||
|> startProfileAt([299.05, 231.45], %)
|
|> startProfileAt([299.05, 231.45], %)
|
||||||
|> xLine(-425.34, %, $seg_what)
|
|> xLine(length = -425.34, tag = $seg_what)
|
||||||
|> yLine(-264.06, %)
|
|> yLine(length = -264.06)
|
||||||
|> xLine(segLen(seg_what), %)
|
|> xLine(length = segLen(seg_what))
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@ -957,9 +957,9 @@ part002 = startSketchOn('XZ')
|
|||||||
|> line(end = [9.16, 77.79])
|
|> line(end = [9.16, 77.79])
|
||||||
part002 = startSketchOn('XZ')
|
part002 = startSketchOn('XZ')
|
||||||
|> startProfileAt([299.05, 231.45], %)
|
|> startProfileAt([299.05, 231.45], %)
|
||||||
|> xLine(-425.34, %, $seg_what)
|
|> xLine(length = -425.34, tag = $seg_what)
|
||||||
|> yLine(-264.06, %)
|
|> yLine(length = -264.06)
|
||||||
|> xLine(segLen(seg_what), %)
|
|> xLine(length = segLen(seg_what))
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@ -1061,7 +1061,7 @@ part002 = startSketchOn('XZ')
|
|||||||
|
|
||||||
await pollEditorLinesSelectedLength(page, 1)
|
await pollEditorLinesSelectedLength(page, 1)
|
||||||
let activeLinesContent = await page.locator('.cm-activeLine').all()
|
let activeLinesContent = await page.locator('.cm-activeLine').all()
|
||||||
await expect(activeLinesContent[0]).toHaveText(`|> xLine(3.13, %)`)
|
await expect(activeLinesContent[0]).toHaveText(`|> xLine(length = 3.13)`)
|
||||||
|
|
||||||
// Wait for code editor to settle.
|
// Wait for code editor to settle.
|
||||||
await page.waitForTimeout(2000)
|
await page.waitForTimeout(2000)
|
||||||
@ -1105,7 +1105,7 @@ part002 = startSketchOn('XZ')
|
|||||||
|
|
||||||
await pollEditorLinesSelectedLength(page, 1)
|
await pollEditorLinesSelectedLength(page, 1)
|
||||||
activeLinesContent = await page.locator('.cm-activeLine').all()
|
activeLinesContent = await page.locator('.cm-activeLine').all()
|
||||||
await expect(activeLinesContent[0]).toHaveText(`|> xLine(length001, %)`)
|
await expect(activeLinesContent[0]).toHaveText(`|> xLine(length = length001)`)
|
||||||
|
|
||||||
// checking the count of the overlays is a good proxy check that the client sketch scene is in a good state
|
// checking the count of the overlays is a good proxy check that the client sketch scene is in a good state
|
||||||
await expect(page.getByTestId('segment-overlay')).toHaveCount(2)
|
await expect(page.getByTestId('segment-overlay')).toHaveCount(2)
|
||||||
|
@ -212,10 +212,10 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
|> line(end = [0.5, -14 + 0])
|
|> line(end = [0.5, -14 + 0])
|
||||||
|> angledLine({ angle = 3 + 0, length = 32 + 0 }, %)
|
|> angledLine({ angle = 3 + 0, length = 32 + 0 }, %)
|
||||||
|> line(endAbsolute = [5 + 33, 20 + 11.5 + 0])
|
|> line(endAbsolute = [5 + 33, 20 + 11.5 + 0])
|
||||||
|> xLineTo(5 + 9 - 5, %)
|
|> xLine(endAbsolute = 5 + 9 - 5)
|
||||||
|> yLineTo(20 + -10.77, %, $a)
|
|> yLine(endAbsolute = 20 + -10.77, tag = $a)
|
||||||
|> xLine(26.04, %)
|
|> xLine(length = 26.04)
|
||||||
|> yLine(21.14 + 0, %)
|
|> yLine(length = 21.14 + 0)
|
||||||
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
||||||
|> angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)
|
|> angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)
|
||||||
|> angledLineToX({ angle = 3 + 0, to = 5 + 26 }, %)
|
|> angledLineToX({ angle = 3 + 0, to = 5 + 26 }, %)
|
||||||
@ -239,7 +239,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
await u.expectCmdLog('[data-message-type="execution-done"]')
|
await u.expectCmdLog('[data-message-type="execution-done"]')
|
||||||
await u.closeDebugPanel()
|
await u.closeDebugPanel()
|
||||||
|
|
||||||
await page.getByText('xLineTo(5 + 9 - 5, %)').click()
|
await page.getByText('xLine(endAbsolute = 5 + 9 - 5)').click()
|
||||||
await page.waitForTimeout(100)
|
await page.waitForTimeout(100)
|
||||||
await page.getByRole('button', { name: 'Edit Sketch' }).click()
|
await page.getByRole('button', { name: 'Edit Sketch' }).click()
|
||||||
await page.waitForTimeout(500)
|
await page.waitForTimeout(500)
|
||||||
@ -358,9 +358,9 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
await clickConstrained({
|
await clickConstrained({
|
||||||
hoverPos: { x: xLineTo.x, y: xLineTo.y },
|
hoverPos: { x: xLineTo.x, y: xLineTo.y },
|
||||||
constraintType: 'xAbsolute',
|
constraintType: 'xAbsolute',
|
||||||
expectBeforeUnconstrained: 'xLineTo(5 + 9 - 5, %)',
|
expectBeforeUnconstrained: 'xLine(endAbsolute = 5 + 9 - 5)',
|
||||||
expectAfterUnconstrained: 'xLineTo(9, %)',
|
expectAfterUnconstrained: 'xLine(endAbsolute = 9)',
|
||||||
expectFinal: 'xLineTo(xAbs002, %)',
|
expectFinal: 'xLine(endAbsolute = xAbs002)',
|
||||||
ang: ang + 180,
|
ang: ang + 180,
|
||||||
steps: 8,
|
steps: 8,
|
||||||
locator: '[data-overlay-toolbar-index="3"]',
|
locator: '[data-overlay-toolbar-index="3"]',
|
||||||
@ -386,10 +386,10 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
|> line(end = [0.5, yRel001])
|
|> line(end = [0.5, yRel001])
|
||||||
|> angledLine({ angle = angle001, length = len001 }, %)
|
|> angledLine({ angle = angle001, length = len001 }, %)
|
||||||
|> line(endAbsolute = [33, yAbs001])
|
|> line(endAbsolute = [33, yAbs001])
|
||||||
|> xLineTo(xAbs002, %)
|
|> xLine(endAbsolute = xAbs002)
|
||||||
|> yLineTo(-10.77, %, $a)
|
|> yLine(endAbsolute = -10.77, tag = $a)
|
||||||
|> xLine(26.04, %)
|
|> xLine(length = 26.04)
|
||||||
|> yLine(21.14 + 0, %)
|
|> yLine(length = 21.14 + 0)
|
||||||
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
@ -404,7 +404,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
await u.expectCmdLog('[data-message-type="execution-done"]')
|
await u.expectCmdLog('[data-message-type="execution-done"]')
|
||||||
await u.closeDebugPanel()
|
await u.closeDebugPanel()
|
||||||
|
|
||||||
await page.getByText('xLine(26.04, %)').click()
|
await page.getByText('xLine(length = 26.04)').click()
|
||||||
await page.waitForTimeout(100)
|
await page.waitForTimeout(100)
|
||||||
await page.getByRole('button', { name: 'Edit Sketch' }).click()
|
await page.getByRole('button', { name: 'Edit Sketch' }).click()
|
||||||
await page.waitForTimeout(500)
|
await page.waitForTimeout(500)
|
||||||
@ -424,9 +424,9 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
await clickUnconstrained({
|
await clickUnconstrained({
|
||||||
hoverPos: { x: yLineTo.x, y: yLineTo.y - 200 },
|
hoverPos: { x: yLineTo.x, y: yLineTo.y - 200 },
|
||||||
constraintType: 'yAbsolute',
|
constraintType: 'yAbsolute',
|
||||||
expectBeforeUnconstrained: 'yLineTo(-10.77, %, $a)',
|
expectBeforeUnconstrained: 'yLine(endAbsolute = -10.77, tag = $a)',
|
||||||
expectAfterUnconstrained: 'yLineTo(yAbs002, %, $a)',
|
expectAfterUnconstrained: 'yLine(endAbsolute = yAbs002, tag = $a)',
|
||||||
expectFinal: 'yLineTo(-10.77, %, $a)',
|
expectFinal: 'yLine(endAbsolute = -10.77, tag = $a)',
|
||||||
ang: ang + 180,
|
ang: ang + 180,
|
||||||
locator: '[data-overlay-toolbar-index="4"]',
|
locator: '[data-overlay-toolbar-index="4"]',
|
||||||
})
|
})
|
||||||
@ -437,9 +437,9 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
await clickUnconstrained({
|
await clickUnconstrained({
|
||||||
hoverPos: { x: xLine.x, y: xLine.y },
|
hoverPos: { x: xLine.x, y: xLine.y },
|
||||||
constraintType: 'xRelative',
|
constraintType: 'xRelative',
|
||||||
expectBeforeUnconstrained: 'xLine(26.04, %)',
|
expectBeforeUnconstrained: 'xLine(length = 26.04)',
|
||||||
expectAfterUnconstrained: 'xLine(xRel002, %)',
|
expectAfterUnconstrained: 'xLine(length = xRel002)',
|
||||||
expectFinal: 'xLine(26.04, %)',
|
expectFinal: 'xLine(length = 26.04)',
|
||||||
steps: 10,
|
steps: 10,
|
||||||
ang: ang + 180,
|
ang: ang + 180,
|
||||||
locator: '[data-overlay-toolbar-index="5"]',
|
locator: '[data-overlay-toolbar-index="5"]',
|
||||||
@ -459,10 +459,10 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
|> line(end = [0.5, -14 + 0])
|
|> line(end = [0.5, -14 + 0])
|
||||||
|> angledLine({ angle = 3 + 0, length = 32 + 0 }, %)
|
|> angledLine({ angle = 3 + 0, length = 32 + 0 }, %)
|
||||||
|> line(endAbsolute = [33, 11.5 + 0])
|
|> line(endAbsolute = [33, 11.5 + 0])
|
||||||
|> xLineTo(9 - 5, %)
|
|> xLine(endAbsolute = 9 - 5)
|
||||||
|> yLineTo(-10.77, %, $a)
|
|> yLine(endAbsolute = -10.77, tag = $a)
|
||||||
|> xLine(26.04, %)
|
|> xLine(length = 26.04)
|
||||||
|> yLine(21.14 + 0, %)
|
|> yLine(length = 21.14 + 0)
|
||||||
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
||||||
|> angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)
|
|> angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)
|
||||||
|> angledLineToX({ angle = 3 + 0, to = 26 }, %)
|
|> angledLineToX({ angle = 3 + 0, to = 26 }, %)
|
||||||
@ -488,7 +488,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
await u.closeDebugPanel()
|
await u.closeDebugPanel()
|
||||||
await page.waitForTimeout(500)
|
await page.waitForTimeout(500)
|
||||||
|
|
||||||
await page.getByText('xLineTo(9 - 5, %)').click()
|
await page.getByText('xLine(endAbsolute = 9 - 5)').click()
|
||||||
await page.waitForTimeout(100)
|
await page.waitForTimeout(100)
|
||||||
await page.getByRole('button', { name: 'Edit Sketch' }).click()
|
await page.getByRole('button', { name: 'Edit Sketch' }).click()
|
||||||
await page.waitForTimeout(500)
|
await page.waitForTimeout(500)
|
||||||
@ -506,9 +506,9 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
await clickConstrained({
|
await clickConstrained({
|
||||||
hoverPos: { x: yLine.x, y: yLine.y },
|
hoverPos: { x: yLine.x, y: yLine.y },
|
||||||
constraintType: 'yRelative',
|
constraintType: 'yRelative',
|
||||||
expectBeforeUnconstrained: 'yLine(21.14 + 0, %)',
|
expectBeforeUnconstrained: 'yLine(length = 21.14 + 0)',
|
||||||
expectAfterUnconstrained: 'yLine(21.14, %)',
|
expectAfterUnconstrained: 'yLine(length = 21.14)',
|
||||||
expectFinal: 'yLine(yRel001, %)',
|
expectFinal: 'yLine(length = yRel001)',
|
||||||
ang: ang + 180,
|
ang: ang + 180,
|
||||||
locator: '[data-overlay-toolbar-index="6"]',
|
locator: '[data-overlay-toolbar-index="6"]',
|
||||||
})
|
})
|
||||||
@ -591,10 +591,10 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
|> line(end = [0.5, -14 + 0])
|
|> line(end = [0.5, -14 + 0])
|
||||||
|> angledLine({ angle = 3 + 0, length = 32 + 0 }, %)
|
|> angledLine({ angle = 3 + 0, length = 32 + 0 }, %)
|
||||||
|> line(endAbsolute = [33, 11.5 + 0])
|
|> line(endAbsolute = [33, 11.5 + 0])
|
||||||
|> xLineTo(9 - 5, %)
|
|> xLine(endAbsolute = 9 - 5)
|
||||||
|> yLineTo(-10.77, %, $a)
|
|> yLine(endAbsolute = -10.77, tag = $a)
|
||||||
|> xLine(26.04, %)
|
|> xLine(length = 26.04)
|
||||||
|> yLine(21.14 + 0, %)
|
|> yLine(length = 21.14 + 0)
|
||||||
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
||||||
|> angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)
|
|> angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)
|
||||||
|> angledLineToX({ angle = 3 + 0, to = 26 }, %)
|
|> angledLineToX({ angle = 3 + 0, to = 26 }, %)
|
||||||
@ -619,7 +619,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
await u.expectCmdLog('[data-message-type="execution-done"]')
|
await u.expectCmdLog('[data-message-type="execution-done"]')
|
||||||
await u.closeDebugPanel()
|
await u.closeDebugPanel()
|
||||||
|
|
||||||
await page.getByText('xLineTo(9 - 5, %)').click()
|
await page.getByText('xLine(endAbsolute = 9 - 5)').click()
|
||||||
await page.waitForTimeout(100)
|
await page.waitForTimeout(100)
|
||||||
await page.getByRole('button', { name: 'Edit Sketch' }).click()
|
await page.getByRole('button', { name: 'Edit Sketch' }).click()
|
||||||
await page.waitForTimeout(500)
|
await page.waitForTimeout(500)
|
||||||
@ -755,10 +755,10 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
|> line(end = [0.5, -14 + 0])
|
|> line(end = [0.5, -14 + 0])
|
||||||
|> angledLine({ angle = 3 + 0, length = 32 + 0 }, %)
|
|> angledLine({ angle = 3 + 0, length = 32 + 0 }, %)
|
||||||
|> line(endAbsolute = [33, 11.5 + 0])
|
|> line(endAbsolute = [33, 11.5 + 0])
|
||||||
|> xLineTo(9 - 5, %)
|
|> xLine(endAbsolute = 9 - 5)
|
||||||
|> yLineTo(-10.77, %, $a)
|
|> yLine(endAbsolute = -10.77, tag = $a)
|
||||||
|> xLine(26.04, %)
|
|> xLine(length = 26.04)
|
||||||
|> yLine(21.14 + 0, %)
|
|> yLine(length = 21.14 + 0)
|
||||||
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
||||||
|> angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)
|
|> angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)
|
||||||
|> angledLineToX({ angle = 3 + 0, to = 26 }, %)
|
|> angledLineToX({ angle = 3 + 0, to = 26 }, %)
|
||||||
@ -783,7 +783,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
await u.expectCmdLog('[data-message-type="execution-done"]')
|
await u.expectCmdLog('[data-message-type="execution-done"]')
|
||||||
await u.closeDebugPanel()
|
await u.closeDebugPanel()
|
||||||
|
|
||||||
await page.getByText('xLineTo(9 - 5, %)').click()
|
await page.getByText('xLine(endAbsolute = 9 - 5)').click()
|
||||||
await page.waitForTimeout(100)
|
await page.waitForTimeout(100)
|
||||||
await page.getByRole('button', { name: 'Edit Sketch' }).click()
|
await page.getByRole('button', { name: 'Edit Sketch' }).click()
|
||||||
await page.waitForTimeout(500)
|
await page.waitForTimeout(500)
|
||||||
@ -947,10 +947,10 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
|> line(end = [0.5, -14 + 0])
|
|> line(end = [0.5, -14 + 0])
|
||||||
|> angledLine({ angle = 3 + 0, length = 32 + 0 }, %)
|
|> angledLine({ angle = 3 + 0, length = 32 + 0 }, %)
|
||||||
|> line(endAbsolute = [33, 11.5 + 0])
|
|> line(endAbsolute = [33, 11.5 + 0])
|
||||||
|> xLineTo(9 - 5, %)
|
|> xLine(endAbsolute = 9 - 5)
|
||||||
|> yLineTo(-10.77, %, $a)
|
|> yLine(endAbsolute = -10.77, tag = $a)
|
||||||
|> xLine(26.04, %)
|
|> xLine(length = 26.04)
|
||||||
|> yLine(21.14 + 0, %)
|
|> yLine(length = 21.14 + 0)
|
||||||
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
|> angledLineOfXLength({ angle = 181 + 0, length = 23.14 }, %)
|
||||||
|> angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)
|
|> angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)
|
||||||
|> angledLineToX({ angle = 3 + 0, to = 26 }, %)
|
|> angledLineToX({ angle = 3 + 0, to = 26 }, %)
|
||||||
@ -976,7 +976,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
await u.expectCmdLog('[data-message-type="execution-done"]')
|
await u.expectCmdLog('[data-message-type="execution-done"]')
|
||||||
await u.closeDebugPanel()
|
await u.closeDebugPanel()
|
||||||
|
|
||||||
await page.getByText('xLineTo(9 - 5, %)').click()
|
await page.getByText('xLine(endAbsolute = 9 - 5)').click()
|
||||||
await page.waitForTimeout(100)
|
await page.waitForTimeout(100)
|
||||||
await page.getByRole('button', { name: 'Edit Sketch' }).click()
|
await page.getByRole('button', { name: 'Edit Sketch' }).click()
|
||||||
await page.waitForTimeout(500)
|
await page.waitForTimeout(500)
|
||||||
@ -1060,7 +1060,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
ang = await u.getAngle(`[data-overlay-index="${6}"]`)
|
ang = await u.getAngle(`[data-overlay-index="${6}"]`)
|
||||||
await deleteSegmentSequence({
|
await deleteSegmentSequence({
|
||||||
hoverPos: { x: segmentToDelete.x, y: segmentToDelete.y },
|
hoverPos: { x: segmentToDelete.x, y: segmentToDelete.y },
|
||||||
codeToBeDeleted: 'yLine(21.14 + 0, %)',
|
codeToBeDeleted: 'yLine(length = 21.14 + 0)',
|
||||||
stdLibFnName: 'yLine',
|
stdLibFnName: 'yLine',
|
||||||
ang: ang + 180,
|
ang: ang + 180,
|
||||||
locator: '[data-overlay-toolbar-index="6"]',
|
locator: '[data-overlay-toolbar-index="6"]',
|
||||||
@ -1070,7 +1070,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
ang = await u.getAngle(`[data-overlay-index="${5}"]`)
|
ang = await u.getAngle(`[data-overlay-index="${5}"]`)
|
||||||
await deleteSegmentSequence({
|
await deleteSegmentSequence({
|
||||||
hoverPos: { x: segmentToDelete.x, y: segmentToDelete.y },
|
hoverPos: { x: segmentToDelete.x, y: segmentToDelete.y },
|
||||||
codeToBeDeleted: 'xLine(26.04, %)',
|
codeToBeDeleted: 'xLine(length = 26.04)',
|
||||||
stdLibFnName: 'xLine',
|
stdLibFnName: 'xLine',
|
||||||
ang: ang + 180,
|
ang: ang + 180,
|
||||||
locator: '[data-overlay-toolbar-index="5"]',
|
locator: '[data-overlay-toolbar-index="5"]',
|
||||||
@ -1080,7 +1080,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
ang = await u.getAngle(`[data-overlay-index="${4}"]`)
|
ang = await u.getAngle(`[data-overlay-index="${4}"]`)
|
||||||
await deleteSegmentSequence({
|
await deleteSegmentSequence({
|
||||||
hoverPos: { x: segmentToDelete.x, y: segmentToDelete.y },
|
hoverPos: { x: segmentToDelete.x, y: segmentToDelete.y },
|
||||||
codeToBeDeleted: 'yLineTo(-10.77, %, $a)',
|
codeToBeDeleted: 'yLine(endAbsolute = -10.77, tag = $a)',
|
||||||
stdLibFnName: 'yLineTo',
|
stdLibFnName: 'yLineTo',
|
||||||
ang: ang + 180,
|
ang: ang + 180,
|
||||||
locator: '[data-overlay-toolbar-index="4"]',
|
locator: '[data-overlay-toolbar-index="4"]',
|
||||||
@ -1090,7 +1090,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
ang = await u.getAngle(`[data-overlay-index="${3}"]`)
|
ang = await u.getAngle(`[data-overlay-index="${3}"]`)
|
||||||
await deleteSegmentSequence({
|
await deleteSegmentSequence({
|
||||||
hoverPos: { x: segmentToDelete.x, y: segmentToDelete.y },
|
hoverPos: { x: segmentToDelete.x, y: segmentToDelete.y },
|
||||||
codeToBeDeleted: 'xLineTo(9 - 5, %)',
|
codeToBeDeleted: 'xLine(endAbsolute = 9 - 5)',
|
||||||
stdLibFnName: 'xLineTo',
|
stdLibFnName: 'xLineTo',
|
||||||
ang: ang + 180,
|
ang: ang + 180,
|
||||||
locator: '[data-overlay-toolbar-index="3"]',
|
locator: '[data-overlay-toolbar-index="3"]',
|
||||||
@ -1155,10 +1155,10 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
const cases = [
|
const cases = [
|
||||||
'line(end = [22, 2], tag = $seg01)',
|
'line(end = [22, 2], tag = $seg01)',
|
||||||
'angledLine([5, 23.03], %, $seg01)',
|
'angledLine([5, 23.03], %, $seg01)',
|
||||||
'xLine(23, %, $seg01)',
|
'xLine(length = 23, tag = $seg01)',
|
||||||
'yLine(-8, %, $seg01)',
|
'yLine(length = -8, tag = $seg01)',
|
||||||
'xLineTo(30, %, $seg01)',
|
'xLine(endAbsolute = 30, tag = $seg01)',
|
||||||
'yLineTo(-4, %, $seg01)',
|
'yLine(endAbsolute = -4, tag = $seg01)',
|
||||||
'angledLineOfXLength([3, 30], %, $seg01)',
|
'angledLineOfXLength([3, 30], %, $seg01)',
|
||||||
'angledLineOfXLength({ angle = 3, length = 30 }, %, $seg01)',
|
'angledLineOfXLength({ angle = 3, length = 30 }, %, $seg01)',
|
||||||
'angledLineOfYLength([3, 1.5], %, $seg01)',
|
'angledLineOfYLength([3, 1.5], %, $seg01)',
|
||||||
@ -1298,19 +1298,19 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
|||||||
after: `line(end = [22.94, 2.01], tag = $seg01)`,
|
after: `line(end = [22.94, 2.01], tag = $seg01)`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
before: `xLine(23 + 0, %, $seg01)`,
|
before: `xLine(length = 23 + 0, tag = $seg01)`,
|
||||||
after: `line(end = [23, 0], tag = $seg01)`,
|
after: `line(end = [23, 0], tag = $seg01)`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
before: `yLine(-8 + 0, %, $seg01)`,
|
before: `yLine(length = -8 + 0, tag = $seg01)`,
|
||||||
after: `line(end = [0, -8], tag = $seg01)`,
|
after: `line(end = [0, -8], tag = $seg01)`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
before: `xLineTo(30 + 0, %, $seg01)`,
|
before: `xLine(endAbsolute = 30 + 0, tag = $seg01)`,
|
||||||
after: `line(end = [25, 0], tag = $seg01)`,
|
after: `line(end = [25, 0], tag = $seg01)`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
before: `yLineTo(-4 + 0, %, $seg01)`,
|
before: `yLine(endAbsolute = -4 + 0, tag = $seg01)`,
|
||||||
after: `line(end = [0, -10], tag = $seg01)`,
|
after: `line(end = [0, -10], tag = $seg01)`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -75,7 +75,7 @@ test.describe('Testing selections', { tag: ['@skipWin'] }, () => {
|
|||||||
|
|
||||||
await expect(page.locator('.cm-content'))
|
await expect(page.locator('.cm-content'))
|
||||||
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${commonPoints.startAt}, sketch001)
|
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${commonPoints.startAt}, sketch001)
|
||||||
|> xLine(${commonPoints.num1}, %)`)
|
|> xLine(length = ${commonPoints.num1})`)
|
||||||
|
|
||||||
await page.waitForTimeout(100)
|
await page.waitForTimeout(100)
|
||||||
await page.mouse.click(startXPx + PUR * 20, 500 - PUR * 20)
|
await page.mouse.click(startXPx + PUR * 20, 500 - PUR * 20)
|
||||||
@ -83,17 +83,17 @@ test.describe('Testing selections', { tag: ['@skipWin'] }, () => {
|
|||||||
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${
|
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${
|
||||||
commonPoints.startAt
|
commonPoints.startAt
|
||||||
}, sketch001)
|
}, sketch001)
|
||||||
|> xLine(${commonPoints.num1}, %)
|
|> xLine(length = ${commonPoints.num1})
|
||||||
|> yLine(${commonPoints.num1 + 0.01}, %)`)
|
|> yLine(length = ${commonPoints.num1 + 0.01})`)
|
||||||
await page.waitForTimeout(100)
|
await page.waitForTimeout(100)
|
||||||
await page.mouse.click(startXPx, 500 - PUR * 20)
|
await page.mouse.click(startXPx, 500 - PUR * 20)
|
||||||
await expect(page.locator('.cm-content'))
|
await expect(page.locator('.cm-content'))
|
||||||
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${
|
.toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${
|
||||||
commonPoints.startAt
|
commonPoints.startAt
|
||||||
}, sketch001)
|
}, sketch001)
|
||||||
|> xLine(${commonPoints.num1}, %)
|
|> xLine(length = ${commonPoints.num1})
|
||||||
|> yLine(${commonPoints.num1 + 0.01}, %)
|
|> yLine(length = ${commonPoints.num1 + 0.01})
|
||||||
|> xLine(${commonPoints.num2 * -1}, %)`)
|
|> xLine(length = ${commonPoints.num2 * -1})`)
|
||||||
|
|
||||||
// deselect line tool
|
// deselect line tool
|
||||||
await page.getByRole('button', { name: 'line Line', exact: true }).click()
|
await page.getByRole('button', { name: 'line Line', exact: true }).click()
|
||||||
@ -158,7 +158,7 @@ test.describe('Testing selections', { tag: ['@skipWin'] }, () => {
|
|||||||
|
|
||||||
// check the same selection again by putting cursor in code first then selecting axis
|
// check the same selection again by putting cursor in code first then selecting axis
|
||||||
await test.step(`Same selection but code selection then axis`, async () => {
|
await test.step(`Same selection but code selection then axis`, async () => {
|
||||||
await page.getByText(` |> xLine(${commonPoints.num2 * -1}, %)`).click()
|
await page.getByText(` |> xLine(length = ${commonPoints.num2 * -1})`).click()
|
||||||
await page.keyboard.down('Shift')
|
await page.keyboard.down('Shift')
|
||||||
await constrainButton.click()
|
await constrainButton.click()
|
||||||
await expect(absXButton).toBeDisabled()
|
await expect(absXButton).toBeDisabled()
|
||||||
@ -182,7 +182,7 @@ test.describe('Testing selections', { tag: ['@skipWin'] }, () => {
|
|||||||
process.platform === 'linux' ? 'Control' : 'Meta'
|
process.platform === 'linux' ? 'Control' : 'Meta'
|
||||||
)
|
)
|
||||||
await page.waitForTimeout(100)
|
await page.waitForTimeout(100)
|
||||||
await page.getByText(` |> xLine(${commonPoints.num2 * -1}, %)`).click()
|
await page.getByText(` |> xLine(length = ${commonPoints.num2 * -1})`).click()
|
||||||
|
|
||||||
await expect(page.locator('.cm-cursor')).toHaveCount(2)
|
await expect(page.locator('.cm-cursor')).toHaveCount(2)
|
||||||
await page.waitForTimeout(500)
|
await page.waitForTimeout(500)
|
||||||
@ -536,9 +536,9 @@ profile003 = startProfileAt([40.16, -120.48], sketch006)
|
|||||||
|> line(end = [7.13, 4 + 0])
|
|> line(end = [7.13, 4 + 0])
|
||||||
|> angledLine({ angle = 3 + 0, length = 3.14 + 0 }, %)
|
|> angledLine({ angle = 3 + 0, length = 3.14 + 0 }, %)
|
||||||
|> line(endAbsolute = [20.14 + 0, -0.14 + 0])
|
|> line(endAbsolute = [20.14 + 0, -0.14 + 0])
|
||||||
|> xLineTo(29 + 0, %)
|
|> xLine(endAbsolute = 29 + 0)
|
||||||
|> yLine(-3.14 + 0, %, $a)
|
|> yLine(length = -3.14 + 0, tag = $a)
|
||||||
|> xLine(1.63, %)
|
|> xLine(length = 1.63)
|
||||||
|> angledLineOfXLength({ angle = 3 + 0, length = 3.14 }, %)
|
|> angledLineOfXLength({ angle = 3 + 0, length = 3.14 }, %)
|
||||||
|> angledLineOfYLength({ angle = 30, length = 3 + 0 }, %)
|
|> angledLineOfYLength({ angle = 30, length = 3 + 0 }, %)
|
||||||
|> angledLineToX({ angle = 22.14 + 0, to = 12 }, %)
|
|> angledLineToX({ angle = 22.14 + 0, to = 12 }, %)
|
||||||
|
@ -52,14 +52,14 @@ armThick = 0.5
|
|||||||
totalLen = 9.5
|
totalLen = 9.5
|
||||||
part001 = startSketchOn('-XZ')
|
part001 = startSketchOn('-XZ')
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> yLine(baseHeight, %)
|
|> yLine(length = baseHeight)
|
||||||
|> xLine(baseLen, %)
|
|> xLine(length = baseLen)
|
||||||
|> angledLineToY({
|
|> angledLineToY({
|
||||||
angle = topAng,
|
angle = topAng,
|
||||||
to = totalHeightHalf,
|
to = totalHeightHalf,
|
||||||
}, %, $seg04)
|
}, %, $seg04)
|
||||||
|> xLineTo(totalLen, %, $seg03)
|
|> xLine(endAbsolute = totalLen, tag = $seg03)
|
||||||
|> yLine(-armThick, %, $seg01)
|
|> yLine(length = -armThick, tag = $seg01)
|
||||||
|> angledLineThatIntersects({
|
|> angledLineThatIntersects({
|
||||||
angle = HALF_TURN,
|
angle = HALF_TURN,
|
||||||
offset = -armThick,
|
offset = -armThick,
|
||||||
@ -70,15 +70,15 @@ part001 = startSketchOn('-XZ')
|
|||||||
angle = -bottomAng,
|
angle = -bottomAng,
|
||||||
to = -totalHeightHalf - armThick,
|
to = -totalHeightHalf - armThick,
|
||||||
}, %, $seg02)
|
}, %, $seg02)
|
||||||
|> xLineTo(segEndX(seg03) + 0, %)
|
|> xLine(endAbsolute = segEndX(seg03) + 0)
|
||||||
|> yLine(-segLen(seg01), %)
|
|> yLine(length = -segLen(seg01))
|
||||||
|> angledLineThatIntersects({
|
|> angledLineThatIntersects({
|
||||||
angle = HALF_TURN,
|
angle = HALF_TURN,
|
||||||
offset = -armThick,
|
offset = -armThick,
|
||||||
intersectTag = seg02
|
intersectTag = seg02
|
||||||
}, %)
|
}, %)
|
||||||
|> angledLineToY([segAng(seg02) + 180, -baseHeight], %)
|
|> angledLineToY([segAng(seg02) + 180, -baseHeight], %)
|
||||||
|> xLineTo(ZERO, %)
|
|> xLine(endAbsolute = ZERO)
|
||||||
|> close()
|
|> close()
|
||||||
|> extrude(length = 4)`
|
|> extrude(length = 4)`
|
||||||
)
|
)
|
||||||
|
@ -592,10 +592,10 @@ ${!replace1 ? ` |> ${line}\n` : ''} |> angledLine([-65, ${
|
|||||||
'line(endAbsolute = [306.21, 198.85], tag = $a)',
|
'line(endAbsolute = [306.21, 198.85], tag = $a)',
|
||||||
['110.48', '119.73'],
|
['110.48', '119.73'],
|
||||||
],
|
],
|
||||||
['yLine', 'yLine(198.85, %, $a)', ['198.85', '90']],
|
['yLine', 'yLine(length = 198.85, tag = $a)', ['198.85', '90']],
|
||||||
['xLine', 'xLine(198.85, %, $a)', ['198.85', '0']],
|
['xLine', 'xLine(length = 198.85, tag = $a)', ['198.85', '0']],
|
||||||
['yLineTo', 'yLineTo(198.85, %, $a)', ['95.94', '90']],
|
['yLineTo', 'yLine(endAbsolute = 198.85, tag = $a)', ['95.94', '90']],
|
||||||
['xLineTo', 'xLineTo(198.85, %, $a)', ['162.14', '180']],
|
['xLineTo', 'xLine(endAbsolute = 198.85, tag = $a)', ['162.14', '180']],
|
||||||
[
|
[
|
||||||
'angledLine',
|
'angledLine',
|
||||||
'angledLine({ angle: 45.5, length: 198.85 }, %, $a)',
|
'angledLine({ angle: 45.5, length: 198.85 }, %, $a)',
|
||||||
@ -658,10 +658,10 @@ describe('Testing removeSingleConstraintInfo', () => {
|
|||||||
|> line(end = [3 + 0, 4 + 0])
|
|> line(end = [3 + 0, 4 + 0])
|
||||||
|> angledLine({ angle = 3 + 0, length = 3.14 + 0 }, %)
|
|> angledLine({ angle = 3 + 0, length = 3.14 + 0 }, %)
|
||||||
|> line(endAbsolute = [6.14 + 0, 3.14 + 0])
|
|> line(endAbsolute = [6.14 + 0, 3.14 + 0])
|
||||||
|> xLineTo(8 + 0, %)
|
|> xLine(endAbsolute = 8 + 0)
|
||||||
|> yLineTo(5 + 0, %)
|
|> yLine(endAbsolute = 5 + 0)
|
||||||
|> yLine(3.14 + 0, %, $a)
|
|> yLine(length = 3.14 + 0, tag = $a)
|
||||||
|> xLine(3.14 + 0, %)
|
|> xLine(length = 3.14 + 0)
|
||||||
|> angledLineOfXLength({ angle = 3 + 0, length = 3.14 + 0 }, %)
|
|> angledLineOfXLength({ angle = 3 + 0, length = 3.14 + 0 }, %)
|
||||||
|> angledLineOfYLength({ angle = 30 + 0, length = 3 + 0 }, %)
|
|> angledLineOfYLength({ angle = 30 + 0, length = 3 + 0 }, %)
|
||||||
|> angledLineToX({ angle = 12.14 + 0, to = 12 + 0 }, %)
|
|> angledLineToX({ angle = 12.14 + 0, to = 12 + 0 }, %)
|
||||||
@ -680,10 +680,10 @@ describe('Testing removeSingleConstraintInfo', () => {
|
|||||||
'angle',
|
'angle',
|
||||||
],
|
],
|
||||||
['line(endAbsolute = [6.14 + 0, 3.14 + 0])', 'arrayIndex', 0],
|
['line(endAbsolute = [6.14 + 0, 3.14 + 0])', 'arrayIndex', 0],
|
||||||
['xLineTo(8, %)', '', ''],
|
['xLine(endAbsolute = 8)', '', ''],
|
||||||
['yLineTo(5, %)', '', ''],
|
['yLine(endAbsolute = 5)', '', ''],
|
||||||
['yLine(3.14, %, $a)', '', ''],
|
['yLine(length = 3.14, tag = $a)', '', ''],
|
||||||
['xLine(3.14, %)', '', ''],
|
['xLine(length = 3.14)', '', ''],
|
||||||
[
|
[
|
||||||
'angledLineOfXLength({ angle = 3, length = 3.14 + 0 }, %)',
|
'angledLineOfXLength({ angle = 3, length = 3.14 + 0 }, %)',
|
||||||
'objectProperty',
|
'objectProperty',
|
||||||
|
@ -51,8 +51,8 @@ objExpShouldNotBeIncluded = { a: 1, b: 2, c: 3 }
|
|||||||
|
|
||||||
part001 = startSketchOn('XY')
|
part001 = startSketchOn('XY')
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> yLineTo(1, %)
|
|> yLine(endAbsolute = 1)
|
||||||
|> xLine(3.84, %) // selection-range-7ish-before-this
|
|> xLine(length = 3.84) // selection-range-7ish-before-this
|
||||||
|
|
||||||
variableBelowShouldNotBeIncluded = 3
|
variableBelowShouldNotBeIncluded = 3
|
||||||
`
|
`
|
||||||
@ -690,11 +690,11 @@ describe('Testing specific sketch getNodeFromPath workflow', () => {
|
|||||||
it('should parse the code', () => {
|
it('should parse the code', () => {
|
||||||
const openSketch = `sketch001 = startSketchOn('XZ')
|
const openSketch = `sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([0.02, 0.22], %)
|
|> startProfileAt([0.02, 0.22], %)
|
||||||
|> xLine(0.39, %)
|
|> xLine(length = 0.39)
|
||||||
|> line([0.02, -0.17], %)
|
|> line([0.02, -0.17], %)
|
||||||
|> yLine(-0.15, %)
|
|> yLine(length = -0.15)
|
||||||
|> line([-0.21, -0.02], %)
|
|> line([-0.21, -0.02], %)
|
||||||
|> xLine(-0.15, %)
|
|> xLine(length = -0.15)
|
||||||
|> line([-0.02, 0.21], %)
|
|> line([-0.02, 0.21], %)
|
||||||
|> line([-0.08, 0.05], %)`
|
|> line([-0.08, 0.05], %)`
|
||||||
const ast = assertParse(openSketch)
|
const ast = assertParse(openSketch)
|
||||||
@ -704,11 +704,11 @@ describe('Testing specific sketch getNodeFromPath workflow', () => {
|
|||||||
it('should find the location to add new lineTo', () => {
|
it('should find the location to add new lineTo', () => {
|
||||||
const openSketch = `sketch001 = startSketchOn('XZ')
|
const openSketch = `sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([0.02, 0.22], %)
|
|> startProfileAt([0.02, 0.22], %)
|
||||||
|> xLine(0.39, %)
|
|> xLine(length = 0.39)
|
||||||
|> line([0.02, -0.17], %)
|
|> line([0.02, -0.17], %)
|
||||||
|> yLine(-0.15, %)
|
|> yLine(length = -0.15)
|
||||||
|> line([-0.21, -0.02], %)
|
|> line([-0.21, -0.02], %)
|
||||||
|> xLine(-0.15, %)
|
|> xLine(length = -0.15)
|
||||||
|> line([-0.02, 0.21], %)
|
|> line([-0.02, 0.21], %)
|
||||||
|> line([-0.08, 0.05], %)`
|
|> line([-0.08, 0.05], %)`
|
||||||
const ast = assertParse(openSketch)
|
const ast = assertParse(openSketch)
|
||||||
@ -744,11 +744,11 @@ describe('Testing specific sketch getNodeFromPath workflow', () => {
|
|||||||
const recasted = recast(modifiedAst)
|
const recasted = recast(modifiedAst)
|
||||||
const expectedCode = `sketch001 = startSketchOn('XZ')
|
const expectedCode = `sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([0.02, 0.22], %)
|
|> startProfileAt([0.02, 0.22], %)
|
||||||
|> xLine(0.39, %)
|
|> xLine(length = 0.39)
|
||||||
|> line([0.02, -0.17], %)
|
|> line([0.02, -0.17], %)
|
||||||
|> yLine(-0.15, %)
|
|> yLine(length = -0.15)
|
||||||
|> line([-0.21, -0.02], %)
|
|> line([-0.21, -0.02], %)
|
||||||
|> xLine(-0.15, %)
|
|> xLine(length = -0.15)
|
||||||
|> line([-0.02, 0.21], %)
|
|> line([-0.02, 0.21], %)
|
||||||
|> line([-0.08, 0.05], %)
|
|> line([-0.08, 0.05], %)
|
||||||
|> lineTo([profileStartX(%), profileStartY(%)], %)
|
|> lineTo([profileStartX(%), profileStartY(%)], %)
|
||||||
@ -758,11 +758,11 @@ describe('Testing specific sketch getNodeFromPath workflow', () => {
|
|||||||
it('it should find the location to add close', () => {
|
it('it should find the location to add close', () => {
|
||||||
const openSketch = `sketch001 = startSketchOn('XZ')
|
const openSketch = `sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([0.02, 0.22], %)
|
|> startProfileAt([0.02, 0.22], %)
|
||||||
|> xLine(0.39, %)
|
|> xLine(length = 0.39)
|
||||||
|> line([0.02, -0.17], %)
|
|> line([0.02, -0.17], %)
|
||||||
|> yLine(-0.15, %)
|
|> yLine(length = -0.15)
|
||||||
|> line([-0.21, -0.02], %)
|
|> line([-0.21, -0.02], %)
|
||||||
|> xLine(-0.15, %)
|
|> xLine(length = -0.15)
|
||||||
|> line([-0.02, 0.21], %)
|
|> line([-0.02, 0.21], %)
|
||||||
|> line([-0.08, 0.05], %)
|
|> line([-0.08, 0.05], %)
|
||||||
|> lineTo([profileStartX(%), profileStartY(%)], %)
|
|> lineTo([profileStartX(%), profileStartY(%)], %)
|
||||||
@ -784,11 +784,11 @@ describe('Testing specific sketch getNodeFromPath workflow', () => {
|
|||||||
const recasted = recast(modifiedAst)
|
const recasted = recast(modifiedAst)
|
||||||
const expectedCode = `sketch001 = startSketchOn('XZ')
|
const expectedCode = `sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([0.02, 0.22], %)
|
|> startProfileAt([0.02, 0.22], %)
|
||||||
|> xLine(0.39, %)
|
|> xLine(length = 0.39)
|
||||||
|> line([0.02, -0.17], %)
|
|> line([0.02, -0.17], %)
|
||||||
|> yLine(-0.15, %)
|
|> yLine(length = -0.15)
|
||||||
|> line([-0.21, -0.02], %)
|
|> line([-0.21, -0.02], %)
|
||||||
|> xLine(-0.15, %)
|
|> xLine(length = -0.15)
|
||||||
|> line([-0.02, 0.21], %)
|
|> line([-0.02, 0.21], %)
|
||||||
|> line([-0.08, 0.05], %)
|
|> line([-0.08, 0.05], %)
|
||||||
|> lineTo([profileStartX(%), profileStartY(%)], %)
|
|> lineTo([profileStartX(%), profileStartY(%)], %)
|
||||||
|
@ -334,10 +334,10 @@ describe('testing getConstraintInfo', () => {
|
|||||||
length = 3.14,
|
length = 3.14,
|
||||||
}, %)
|
}, %)
|
||||||
|> line(endAbsolute = [6.14, 3.14])
|
|> line(endAbsolute = [6.14, 3.14])
|
||||||
|> xLineTo(8, %)
|
|> xLine(endAbsolute = 8)
|
||||||
|> yLineTo(5, %)
|
|> yLine(endAbsolute = 5)
|
||||||
|> yLine(3.14, %, $a)
|
|> yLine(length = 3.14, tag = $a)
|
||||||
|> xLine(3.14, %)
|
|> xLine(length = 3.14)
|
||||||
|> angledLineOfXLength({
|
|> angledLineOfXLength({
|
||||||
angle = 3.14,
|
angle = 3.14,
|
||||||
length = 3.14,
|
length = 3.14,
|
||||||
@ -708,10 +708,10 @@ describe('testing getConstraintInfo', () => {
|
|||||||
|> line(end = [3, 4])
|
|> line(end = [3, 4])
|
||||||
|> angledLine([3.14, 3.14], %)
|
|> angledLine([3.14, 3.14], %)
|
||||||
|> line(endAbsolute = [6.14, 3.14])
|
|> line(endAbsolute = [6.14, 3.14])
|
||||||
|> xLineTo(8, %)
|
|> xLine(endAbsolute = 8)
|
||||||
|> yLineTo(5, %)
|
|> yLine(endAbsolute = 5)
|
||||||
|> yLine(3.14, %, $a)
|
|> yLine(length = 3.14, tag = $a)
|
||||||
|> xLine(3.14, %)
|
|> xLine(length = 3.14)
|
||||||
|> angledLineOfXLength([3.14, 3.14], %)
|
|> angledLineOfXLength([3.14, 3.14], %)
|
||||||
|> angledLineOfYLength([30, 3], %)
|
|> angledLineOfYLength([30, 3], %)
|
||||||
|> angledLineToX([12, 12], %)
|
|> angledLineToX([12, 12], %)
|
||||||
@ -865,10 +865,10 @@ describe('testing getConstraintInfo', () => {
|
|||||||
|> line(end = [3 + 0, 4 + 0])
|
|> line(end = [3 + 0, 4 + 0])
|
||||||
|> angledLine({ angle = 3.14 + 0, length = 3.14 + 0 }, %)
|
|> angledLine({ angle = 3.14 + 0, length = 3.14 + 0 }, %)
|
||||||
|> line(endAbsolute = [6.14 + 0, 3.14 + 0])
|
|> line(endAbsolute = [6.14 + 0, 3.14 + 0])
|
||||||
|> xLineTo(8 + 0, %)
|
|> xLine(endAbsolute = 8 + 0)
|
||||||
|> yLineTo(5 + 0, %)
|
|> yLine(endAbsolute = 5 + 0)
|
||||||
|> yLine(3.14 + 0, %, $a)
|
|> yLine(length = 3.14 + 0, tag = $a)
|
||||||
|> xLine(3.14 + 0, %)
|
|> xLine(length = 3.14 + 0)
|
||||||
|> angledLineOfXLength({ angle = 3.14 + 0, length = 3.14 + 0 }, %)
|
|> angledLineOfXLength({ angle = 3.14 + 0, length = 3.14 + 0 }, %)
|
||||||
|> angledLineOfYLength({ angle = 30 + 0, length = 3 + 0 }, %)
|
|> angledLineOfYLength({ angle = 30 + 0, length = 3 + 0 }, %)
|
||||||
|> angledLineToX({ angle = 12.14 + 0, to = 12 + 0 }, %)
|
|> angledLineToX({ angle = 12.14 + 0, to = 12 + 0 }, %)
|
||||||
|
@ -80,10 +80,10 @@ describe('testing swapping out sketch calls with xLine/xLineTo', () => {
|
|||||||
` |> angledLineOfYLength({ angle = 104, length = 1.58 }, %, $abc5)`,
|
` |> angledLineOfYLength({ angle = 104, length = 1.58 }, %, $abc5)`,
|
||||||
` |> angledLineToX({ angle = 55, to = -2.89 }, %, $abc6)`,
|
` |> angledLineToX({ angle = 55, to = -2.89 }, %, $abc6)`,
|
||||||
` |> angledLineToY({ angle = 330, to = 2.53 }, %, $abc7)`,
|
` |> angledLineToY({ angle = 330, to = 2.53 }, %, $abc7)`,
|
||||||
` |> xLine(1.47, %, $abc8)`,
|
` |> xLine(length = 1.47, tag = $abc8)`,
|
||||||
` |> yLine(1.57, %, $abc9)`,
|
` |> yLine(length = 1.57, tag = $abc9)`,
|
||||||
` |> xLineTo(1.49, %, $abc10)`,
|
` |> xLine(endAbsolute = 1.49, tag = $abc10)`,
|
||||||
` |> yLineTo(2.64, %, $abc11)`,
|
` |> yLine(endAbsolute = 2.64, tag = $abc11)`,
|
||||||
` |> line(endAbsolute = [2.55, 3.58]) // lineTo`,
|
` |> line(endAbsolute = [2.55, 3.58]) // lineTo`,
|
||||||
` |> line(end = [0.73, -0.75])`,
|
` |> line(end = [0.73, -0.75])`,
|
||||||
` |> angledLine([63, 1.38], %) // angledLine`,
|
` |> angledLine([63, 1.38], %) // angledLine`,
|
||||||
@ -91,15 +91,15 @@ describe('testing swapping out sketch calls with xLine/xLineTo', () => {
|
|||||||
` |> angledLineOfYLength([50, 1.35], %) // angledLineOfYLength`,
|
` |> angledLineOfYLength([50, 1.35], %) // angledLineOfYLength`,
|
||||||
` |> angledLineToX([291, 6.66], %) // angledLineToX`,
|
` |> angledLineToX([291, 6.66], %) // angledLineToX`,
|
||||||
` |> angledLineToY([228, 2.14], %) // angledLineToY`,
|
` |> angledLineToY([228, 2.14], %) // angledLineToY`,
|
||||||
` |> xLine(-1.33, %)`,
|
` |> xLine(length = -1.33)`,
|
||||||
` |> yLine(-1.07, %)`,
|
` |> yLine(length = -1.07)`,
|
||||||
` |> xLineTo(3.27, %)`,
|
` |> xLine(endAbsolute = 3.27)`,
|
||||||
` |> yLineTo(2.14, %)`,
|
` |> yLine(endAbsolute = 2.14)`,
|
||||||
]
|
]
|
||||||
const bigExample = bigExampleArr.join('\n')
|
const bigExample = bigExampleArr.join('\n')
|
||||||
it('line with tag converts to xLine', async () => {
|
it('line with tag converts to xLine', async () => {
|
||||||
const callToSwap = 'line(end = [-2.04, -0.7], tag = $abc2)'
|
const callToSwap = 'line(end = [-2.04, -0.7], tag = $abc2)'
|
||||||
const expectedLine = 'xLine(-2.04, %, $abc2)'
|
const expectedLine = 'xLine(length = -2.04, tag = $abc2)'
|
||||||
const { newCode, originalRange } = await testingSwapSketchFnCall({
|
const { newCode, originalRange } = await testingSwapSketchFnCall({
|
||||||
inputCode: bigExample,
|
inputCode: bigExample,
|
||||||
callToSwap,
|
callToSwap,
|
||||||
@ -111,7 +111,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo', () => {
|
|||||||
})
|
})
|
||||||
it('line w/o tag converts to xLine', async () => {
|
it('line w/o tag converts to xLine', async () => {
|
||||||
const callToSwap = 'line(end = [0.73, -0.75])'
|
const callToSwap = 'line(end = [0.73, -0.75])'
|
||||||
const expectedLine = 'xLine(0.73, %)'
|
const expectedLine = 'xLine(length = 0.73)'
|
||||||
const { newCode, originalRange } = await testingSwapSketchFnCall({
|
const { newCode, originalRange } = await testingSwapSketchFnCall({
|
||||||
inputCode: bigExample,
|
inputCode: bigExample,
|
||||||
callToSwap,
|
callToSwap,
|
||||||
@ -127,7 +127,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo', () => {
|
|||||||
callToSwap: 'line(endAbsolute = [1, 1], tag = $abc1)',
|
callToSwap: 'line(endAbsolute = [1, 1], tag = $abc1)',
|
||||||
constraintType: 'horizontal',
|
constraintType: 'horizontal',
|
||||||
})
|
})
|
||||||
const expectedLine = 'xLineTo(1, %, $abc1)'
|
const expectedLine = 'xLine(endAbsolute = 1, tag = $abc1)'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -138,7 +138,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo', () => {
|
|||||||
callToSwap: 'line(endAbsolute = [2.55, 3.58])',
|
callToSwap: 'line(endAbsolute = [2.55, 3.58])',
|
||||||
constraintType: 'horizontal',
|
constraintType: 'horizontal',
|
||||||
})
|
})
|
||||||
const expectedLine = 'xLineTo(2.55, %) // lineTo'
|
const expectedLine = 'xLine(endAbsolute = 2.55) // lineTo'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -149,7 +149,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo', () => {
|
|||||||
callToSwap: 'angledLine({ angle = 157, length = 1.69 }, %, $abc3)',
|
callToSwap: 'angledLine({ angle = 157, length = 1.69 }, %, $abc3)',
|
||||||
constraintType: 'horizontal',
|
constraintType: 'horizontal',
|
||||||
})
|
})
|
||||||
const expectedLine = 'xLine(-1.56, %, $abc3)'
|
const expectedLine = 'xLine(length = -1.56, tag = $abc3)'
|
||||||
console.log(newCode)
|
console.log(newCode)
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
@ -161,7 +161,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo', () => {
|
|||||||
callToSwap: 'angledLine([63, 1.38], %)',
|
callToSwap: 'angledLine([63, 1.38], %)',
|
||||||
constraintType: 'horizontal',
|
constraintType: 'horizontal',
|
||||||
})
|
})
|
||||||
const expectedLine = 'xLine(0.63, %) // angledLine'
|
const expectedLine = 'xLine(length = 0.63) // angledLine'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -173,7 +173,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo', () => {
|
|||||||
'angledLineOfXLength({ angle = 217, length = 0.86 }, %, $abc4)',
|
'angledLineOfXLength({ angle = 217, length = 0.86 }, %, $abc4)',
|
||||||
constraintType: 'horizontal',
|
constraintType: 'horizontal',
|
||||||
})
|
})
|
||||||
const expectedLine = 'xLine(-0.86, %, $abc4)'
|
const expectedLine = 'xLine(length = -0.86, tag = $abc4)'
|
||||||
// hmm "-0.86" is correct since the angle is 104, but need to make sure this is compatible `-myVar`
|
// hmm "-0.86" is correct since the angle is 104, but need to make sure this is compatible `-myVar`
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
@ -185,7 +185,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo', () => {
|
|||||||
callToSwap: 'angledLineOfXLength([319, 1.15], %)',
|
callToSwap: 'angledLineOfXLength([319, 1.15], %)',
|
||||||
constraintType: 'horizontal',
|
constraintType: 'horizontal',
|
||||||
})
|
})
|
||||||
const expectedLine = 'xLine(1.15, %) // angledLineOfXLength'
|
const expectedLine = 'xLine(length = 1.15) // angledLineOfXLength'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -197,7 +197,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo', () => {
|
|||||||
'angledLineOfYLength({ angle = 104, length = 1.58 }, %, $abc5)',
|
'angledLineOfYLength({ angle = 104, length = 1.58 }, %, $abc5)',
|
||||||
constraintType: 'vertical',
|
constraintType: 'vertical',
|
||||||
})
|
})
|
||||||
const expectedLine = 'yLine(1.58, %, $abc5)'
|
const expectedLine = 'yLine(length = 1.58, tag = $abc5)'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -208,7 +208,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo', () => {
|
|||||||
callToSwap: 'angledLineOfYLength([50, 1.35], %)',
|
callToSwap: 'angledLineOfYLength([50, 1.35], %)',
|
||||||
constraintType: 'vertical',
|
constraintType: 'vertical',
|
||||||
})
|
})
|
||||||
const expectedLine = 'yLine(1.35, %) // angledLineOfYLength'
|
const expectedLine = 'yLine(length = 1.35) // angledLineOfYLength'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -219,7 +219,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo', () => {
|
|||||||
callToSwap: 'angledLineToX({ angle = 55, to = -2.89 }, %, $abc6)',
|
callToSwap: 'angledLineToX({ angle = 55, to = -2.89 }, %, $abc6)',
|
||||||
constraintType: 'horizontal',
|
constraintType: 'horizontal',
|
||||||
})
|
})
|
||||||
const expectedLine = 'xLineTo(-2.89, %, $abc6)'
|
const expectedLine = 'xLine(endAbsolute = -2.89, tag = $abc6)'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -230,7 +230,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo', () => {
|
|||||||
callToSwap: 'angledLineToX([291, 6.66], %)',
|
callToSwap: 'angledLineToX([291, 6.66], %)',
|
||||||
constraintType: 'horizontal',
|
constraintType: 'horizontal',
|
||||||
})
|
})
|
||||||
const expectedLine = 'xLineTo(6.66, %) // angledLineToX'
|
const expectedLine = 'xLine(endAbsolute = 6.66) // angledLineToX'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -241,7 +241,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo', () => {
|
|||||||
callToSwap: 'angledLineToY({ angle = 330, to = 2.53 }, %, $abc7)',
|
callToSwap: 'angledLineToY({ angle = 330, to = 2.53 }, %, $abc7)',
|
||||||
constraintType: 'vertical',
|
constraintType: 'vertical',
|
||||||
})
|
})
|
||||||
const expectedLine = 'yLineTo(2.53, %, $abc7)'
|
const expectedLine = 'yLine(endAbsolute = 2.53, tag = $abc7)'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -252,7 +252,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo', () => {
|
|||||||
callToSwap: 'angledLineToY([228, 2.14], %)',
|
callToSwap: 'angledLineToY([228, 2.14], %)',
|
||||||
constraintType: 'vertical',
|
constraintType: 'vertical',
|
||||||
})
|
})
|
||||||
const expectedLine = 'yLineTo(2.14, %) // angledLineToY'
|
const expectedLine = 'yLine(endAbsolute = 2.14) // angledLineToY'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -289,7 +289,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo while keeping var
|
|||||||
callToSwap: 'line(end = [lineX, 2.13])',
|
callToSwap: 'line(end = [lineX, 2.13])',
|
||||||
constraintType: 'horizontal',
|
constraintType: 'horizontal',
|
||||||
})
|
})
|
||||||
const expectedLine = 'xLine(lineX, %)'
|
const expectedLine = 'xLine(length = lineX)'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -300,7 +300,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo while keeping var
|
|||||||
callToSwap: 'line(endAbsolute = [lineToX, 2.85])',
|
callToSwap: 'line(endAbsolute = [lineToX, 2.85])',
|
||||||
constraintType: 'horizontal',
|
constraintType: 'horizontal',
|
||||||
})
|
})
|
||||||
const expectedLine = 'xLineTo(lineToX, %)'
|
const expectedLine = 'xLine(endAbsolute = lineToX)'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -311,7 +311,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo while keeping var
|
|||||||
callToSwap: 'angledLineOfXLength([329, angledLineOfXLengthX], %)',
|
callToSwap: 'angledLineOfXLength([329, angledLineOfXLengthX], %)',
|
||||||
constraintType: 'horizontal',
|
constraintType: 'horizontal',
|
||||||
})
|
})
|
||||||
const expectedLine = 'xLine(angledLineOfXLengthX, %)'
|
const expectedLine = 'xLine(length = angledLineOfXLengthX)'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -322,7 +322,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo while keeping var
|
|||||||
callToSwap: 'angledLineOfYLength([222, angledLineOfYLengthY], %)',
|
callToSwap: 'angledLineOfYLength([222, angledLineOfYLengthY], %)',
|
||||||
constraintType: 'vertical',
|
constraintType: 'vertical',
|
||||||
})
|
})
|
||||||
const expectedLine = 'yLine(-angledLineOfYLengthY, %)'
|
const expectedLine = 'yLine(length = -angledLineOfYLengthY)'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -333,7 +333,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo while keeping var
|
|||||||
callToSwap: 'angledLineToX([330, angledLineToXx], %)',
|
callToSwap: 'angledLineToX([330, angledLineToXx], %)',
|
||||||
constraintType: 'horizontal',
|
constraintType: 'horizontal',
|
||||||
})
|
})
|
||||||
const expectedLine = 'xLineTo(angledLineToXx, %)'
|
const expectedLine = 'xLine(endAbsolute = angledLineToXx)'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -344,7 +344,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo while keeping var
|
|||||||
callToSwap: 'angledLineToY([217, angledLineToYy], %)',
|
callToSwap: 'angledLineToY([217, angledLineToYy], %)',
|
||||||
constraintType: 'vertical',
|
constraintType: 'vertical',
|
||||||
})
|
})
|
||||||
const expectedLine = 'yLineTo(angledLineToYy, %)'
|
const expectedLine = 'yLine(endAbsolute = angledLineToYy)'
|
||||||
expect(newCode).toContain(expectedLine)
|
expect(newCode).toContain(expectedLine)
|
||||||
// new line should start at the same place as the old line
|
// new line should start at the same place as the old line
|
||||||
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
expect(originalRange[0]).toBe(newCode.indexOf(expectedLine))
|
||||||
@ -366,9 +366,9 @@ describe('testing getSketchSegmentIndexFromSourceRange', () => {
|
|||||||
part001 = startSketchOn('XY')
|
part001 = startSketchOn('XY')
|
||||||
|> startProfileAt([0, 0.04], %) // segment-in-start
|
|> startProfileAt([0, 0.04], %) // segment-in-start
|
||||||
|> line(end = [0, 0.4])
|
|> line(end = [0, 0.4])
|
||||||
|> xLine(3.48, %)
|
|> xLine(length = 3.48)
|
||||||
|> line(end = [2.14, 1.35]) // normal-segment
|
|> line(end = [2.14, 1.35]) // normal-segment
|
||||||
|> xLine(3.54, %)`
|
|> xLine(length = 3.54)`
|
||||||
it('normal case works', async () => {
|
it('normal case works', async () => {
|
||||||
const execState = await enginelessExecutor(assertParse(code))
|
const execState = await enginelessExecutor(assertParse(code))
|
||||||
const index = code.indexOf('// normal-segment') - 7
|
const index = code.indexOf('// normal-segment') - 7
|
||||||
|
@ -94,10 +94,10 @@ export function isSketchVariablesLinked(
|
|||||||
to check or it finds a match.
|
to check or it finds a match.
|
||||||
that way it can find fn calls that are linked to each other through variables eg:
|
that way it can find fn calls that are linked to each other through variables eg:
|
||||||
const part001 = startSketchAt([0, 0])
|
const part001 = startSketchAt([0, 0])
|
||||||
|> xLineTo(1.69, %)
|
|> xLine(endAbsolute = 1.69)
|
||||||
|> line(end = [myVar, 0.38]) // ❗️ <- cursor in this fn call (the primary)
|
|> line(end = [myVar, 0.38]) // ❗️ <- cursor in this fn call (the primary)
|
||||||
|> line(end = [0.41, baz])
|
|> line(end = [0.41, baz])
|
||||||
|> xLine(0.91, %)
|
|> xLine(length = 0.91)
|
||||||
|> angledLine([37, 2], %)
|
|> angledLine([37, 2], %)
|
||||||
const yo = line(end = [myVar, 0.38], tag = part001)
|
const yo = line(end = [myVar, 0.38], tag = part001)
|
||||||
|> line(end = [1, 1])
|
|> line(end = [1, 1])
|
||||||
|
@ -59,16 +59,16 @@ describe('testing getConstraintType', () => {
|
|||||||
})
|
})
|
||||||
const helper2 = getConstraintTypeFromSourceHelper2
|
const helper2 = getConstraintTypeFromSourceHelper2
|
||||||
it('testing xLine', () => {
|
it('testing xLine', () => {
|
||||||
expect(helper2(`xLine(5, %)`)).toBe('yRelative')
|
expect(helper2(`xLine(length = 5)`)).toBe('yRelative')
|
||||||
})
|
})
|
||||||
it('testing yLine', () => {
|
it('testing yLine', () => {
|
||||||
expect(helper2(`yLine(5, %)`)).toBe('xRelative')
|
expect(helper2(`yLine(length = 5)`)).toBe('xRelative')
|
||||||
})
|
})
|
||||||
it('testing xLineTo', () => {
|
it('testing xLineTo', () => {
|
||||||
expect(helper2(`xLineTo(5, %)`)).toBe('yAbsolute')
|
expect(helper2(`xLine(endAbsolute = 5)`)).toBe('yAbsolute')
|
||||||
})
|
})
|
||||||
it('testing yLineTo', () => {
|
it('testing yLineTo', () => {
|
||||||
expect(helper2(`yLineTo(5, %)`)).toBe('xAbsolute')
|
expect(helper2(`yLine(endAbsolute = 5)`)).toBe('xAbsolute')
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -254,10 +254,10 @@ part001 = startSketchOn('XY')
|
|||||||
|> angledLineOfYLength([myAng, 0.7], %) // ln-angledLineOfYLength-angle should become angledLine
|
|> angledLineOfYLength([myAng, 0.7], %) // ln-angledLineOfYLength-angle should become angledLine
|
||||||
|> angledLineOfYLength([35, myVar], %) // ln-angledLineOfYLength-yRelative use legAngY
|
|> angledLineOfYLength([35, myVar], %) // ln-angledLineOfYLength-yRelative use legAngY
|
||||||
|> angledLineOfYLength([305, myVar], %) // ln-angledLineOfYLength-yRelative with angle > 90 use binExp
|
|> angledLineOfYLength([305, myVar], %) // ln-angledLineOfYLength-yRelative with angle > 90 use binExp
|
||||||
|> xLine(1.03, %) // ln-xLine-free should sub in segLen
|
|> xLine(length = 1.03) // ln-xLine-free should sub in segLen
|
||||||
|> yLine(1.04, %) // ln-yLine-free should sub in segLen
|
|> yLine(length = 1.04) // ln-yLine-free should sub in segLen
|
||||||
|> xLineTo(30, %) // ln-xLineTo-free should convert to xLine
|
|> xLine(endAbsolute = 30) // ln-xLineTo-free should convert to xLine
|
||||||
|> yLineTo(20, %) // ln-yLineTo-free should convert to yLine
|
|> yLine(endAbsolute = 20) // ln-yLineTo-free should convert to yLine
|
||||||
`
|
`
|
||||||
const expectModifiedScript = `myVar = 3
|
const expectModifiedScript = `myVar = 3
|
||||||
myVar2 = 5
|
myVar2 = 5
|
||||||
@ -326,10 +326,10 @@ part001 = startSketchOn('XY')
|
|||||||
270 + legAngY(segLen(seg01), myVar),
|
270 + legAngY(segLen(seg01), myVar),
|
||||||
min(segLen(seg01), myVar)
|
min(segLen(seg01), myVar)
|
||||||
], %) // ln-angledLineOfYLength-yRelative with angle > 90 use binExp
|
], %) // ln-angledLineOfYLength-yRelative with angle > 90 use binExp
|
||||||
|> xLine(segLen(seg01), %) // ln-xLine-free should sub in segLen
|
|> xLine(length = segLen(seg01)) // ln-xLine-free should sub in segLen
|
||||||
|> yLine(segLen(seg01), %) // ln-yLine-free should sub in segLen
|
|> yLine(length = segLen(seg01)) // ln-yLine-free should sub in segLen
|
||||||
|> xLine(segLen(seg01), %) // ln-xLineTo-free should convert to xLine
|
|> xLine(length = segLen(seg01)) // ln-xLineTo-free should convert to xLine
|
||||||
|> yLine(segLen(seg01), %) // ln-yLineTo-free should convert to yLine
|
|> yLine(length = segLen(seg01)) // ln-yLineTo-free should convert to yLine
|
||||||
`
|
`
|
||||||
it('should transform the ast', async () => {
|
it('should transform the ast', async () => {
|
||||||
const ast = assertParse(inputScript)
|
const ast = assertParse(inputScript)
|
||||||
@ -400,25 +400,25 @@ myVar3 = -10
|
|||||||
part001 = startSketchOn('XY')
|
part001 = startSketchOn('XY')
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> line(endAbsolute = [1, 1])
|
|> line(endAbsolute = [1, 1])
|
||||||
|> xLine(-6.28, %) // select for horizontal constraint 1
|
|> xLine(length = -6.28) // select for horizontal constraint 1
|
||||||
|> line(end = [-1.07, myVar]) // select for vertical constraint 1
|
|> line(end = [-1.07, myVar]) // select for vertical constraint 1
|
||||||
|> xLine(myVar, %) // select for horizontal constraint 2
|
|> xLine(length = myVar) // select for horizontal constraint 2
|
||||||
|> line(end = [6.35, -1.12]) // select for vertical constraint 2
|
|> line(end = [6.35, -1.12]) // select for vertical constraint 2
|
||||||
|> xLineTo(5, %) // select for horizontal constraint 3
|
|> xLine(endAbsolute = 5) // select for horizontal constraint 3
|
||||||
|> line(endAbsolute = [3, 11]) // select for vertical constraint 3
|
|> line(endAbsolute = [3, 11]) // select for vertical constraint 3
|
||||||
|> xLineTo(myVar2, %) // select for horizontal constraint 4
|
|> xLine(endAbsolute = myVar2) // select for horizontal constraint 4
|
||||||
|> line(endAbsolute = [4.08, myVar2]) // select for vertical constraint 4
|
|> line(endAbsolute = [4.08, myVar2]) // select for vertical constraint 4
|
||||||
|> xLine(-1.22, %) // select for horizontal constraint 5
|
|> xLine(length = -1.22) // select for horizontal constraint 5
|
||||||
|> angledLine([103, 1.44], %) // select for vertical constraint 5
|
|> angledLine([103, 1.44], %) // select for vertical constraint 5
|
||||||
|> xLine(-myVar, %) // select for horizontal constraint 6
|
|> xLine(length = -myVar) // select for horizontal constraint 6
|
||||||
|> angledLine([129, myVar], %) // select for vertical constraint 6
|
|> angledLine([129, myVar], %) // select for vertical constraint 6
|
||||||
|> xLine(-1.05, %) // select for horizontal constraint 7
|
|> xLine(length = -1.05) // select for horizontal constraint 7
|
||||||
|> angledLineOfYLength([196, 1.11], %) // select for vertical constraint 7
|
|> angledLineOfYLength([196, 1.11], %) // select for vertical constraint 7
|
||||||
|> xLine(-myVar, %) // select for horizontal constraint 8
|
|> xLine(length = -myVar) // select for horizontal constraint 8
|
||||||
|> angledLineOfYLength([248, myVar], %) // select for vertical constraint 8
|
|> angledLineOfYLength([248, myVar], %) // select for vertical constraint 8
|
||||||
|> xLineTo(-10.92, %) // select for horizontal constraint 9
|
|> xLine(endAbsolute = -10.92) // select for horizontal constraint 9
|
||||||
|> angledLineToY([223, 7.68], %) // select for vertical constraint 9
|
|> angledLineToY([223, 7.68], %) // select for vertical constraint 9
|
||||||
|> xLineTo(myVar3, %) // select for horizontal constraint 10
|
|> xLine(endAbsolute = myVar3) // select for horizontal constraint 10
|
||||||
|> angledLineToY([301, myVar], %) // select for vertical constraint 10
|
|> angledLineToY([301, myVar], %) // select for vertical constraint 10
|
||||||
`
|
`
|
||||||
const ast = assertParse(inputScript)
|
const ast = assertParse(inputScript)
|
||||||
@ -461,25 +461,25 @@ part001 = startSketchOn('XY')
|
|||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> line(endAbsolute = [1, 1])
|
|> line(endAbsolute = [1, 1])
|
||||||
|> line(end = [-6.28, 1.4]) // select for horizontal constraint 1
|
|> line(end = [-6.28, 1.4]) // select for horizontal constraint 1
|
||||||
|> yLine(myVar, %) // select for vertical constraint 1
|
|> yLine(length = myVar) // select for vertical constraint 1
|
||||||
|> line(end = [myVar, 4.32]) // select for horizontal constraint 2
|
|> line(end = [myVar, 4.32]) // select for horizontal constraint 2
|
||||||
|> yLine(-1.12, %) // select for vertical constraint 2
|
|> yLine(length = -1.12) // select for vertical constraint 2
|
||||||
|> line(endAbsolute = [5, 8]) // select for horizontal constraint 3
|
|> line(endAbsolute = [5, 8]) // select for horizontal constraint 3
|
||||||
|> yLineTo(11, %) // select for vertical constraint 3
|
|> yLine(endAbsolute = 11) // select for vertical constraint 3
|
||||||
|> line(endAbsolute = [myVar2, 12.63]) // select for horizontal constraint 4
|
|> line(endAbsolute = [myVar2, 12.63]) // select for horizontal constraint 4
|
||||||
|> yLineTo(myVar2, %) // select for vertical constraint 4
|
|> yLine(endAbsolute = myVar2) // select for vertical constraint 4
|
||||||
|> angledLine([156, 1.34], %) // select for horizontal constraint 5
|
|> angledLine([156, 1.34], %) // select for horizontal constraint 5
|
||||||
|> yLine(1.4, %) // select for vertical constraint 5
|
|> yLine(length = 1.4) // select for vertical constraint 5
|
||||||
|> angledLine([-178, myVar], %) // select for horizontal constraint 6
|
|> angledLine([-178, myVar], %) // select for horizontal constraint 6
|
||||||
|> yLine(myVar, %) // select for vertical constraint 6
|
|> yLine(length = myVar) // select for vertical constraint 6
|
||||||
|> angledLineOfXLength([237, 1.05], %) // select for horizontal constraint 7
|
|> angledLineOfXLength([237, 1.05], %) // select for horizontal constraint 7
|
||||||
|> yLine(-1.11, %) // select for vertical constraint 7
|
|> yLine(length = -1.11) // select for vertical constraint 7
|
||||||
|> angledLineOfXLength([194, myVar], %) // select for horizontal constraint 8
|
|> angledLineOfXLength([194, myVar], %) // select for horizontal constraint 8
|
||||||
|> yLine(-myVar, %) // select for vertical constraint 8
|
|> yLine(length = -myVar) // select for vertical constraint 8
|
||||||
|> angledLineToX([202, -10.92], %) // select for horizontal constraint 9
|
|> angledLineToX([202, -10.92], %) // select for horizontal constraint 9
|
||||||
|> yLineTo(7.68, %) // select for vertical constraint 9
|
|> yLine(endAbsolute = 7.68) // select for vertical constraint 9
|
||||||
|> angledLineToX([333, myVar3], %) // select for horizontal constraint 10
|
|> angledLineToX([333, myVar3], %) // select for horizontal constraint 10
|
||||||
|> yLineTo(myVar, %) // select for vertical constraint 10
|
|> yLine(endAbsolute = myVar) // select for vertical constraint 10
|
||||||
`
|
`
|
||||||
const ast = assertParse(inputScript)
|
const ast = assertParse(inputScript)
|
||||||
|
|
||||||
@ -627,19 +627,19 @@ halfArmAngle = armAngle / 2
|
|||||||
part001 = startSketchOn('XY')
|
part001 = startSketchOn('XY')
|
||||||
|> startProfileAt([-0.01, -0.05], %)
|
|> startProfileAt([-0.01, -0.05], %)
|
||||||
|> line(end = [0.01, 0.94 + 0]) // partial
|
|> line(end = [0.01, 0.94 + 0]) // partial
|
||||||
|> xLine(3.03, %) // partial
|
|> xLine(length = 3.03) // partial
|
||||||
|> angledLine({
|
|> angledLine({
|
||||||
angle: halfArmAngle,
|
angle: halfArmAngle,
|
||||||
length: 2.45,
|
length: 2.45,
|
||||||
}, %, $seg01bing) // partial
|
}, %, $seg01bing) // partial
|
||||||
|> xLine(4.4, %) // partial
|
|> xLine(length = 4.4) // partial
|
||||||
|> yLine(-1, %) // partial
|
|> yLine(length = -1) // partial
|
||||||
|> xLine(-4.2 + 0, %) // full
|
|> xLine(length = -4.2 + 0) // full
|
||||||
|> angledLine([segAng(seg01bing) + 180, 1.79], %) // partial
|
|> angledLine([segAng(seg01bing) + 180, 1.79], %) // partial
|
||||||
|> line(end = [1.44, -0.74]) // free
|
|> line(end = [1.44, -0.74]) // free
|
||||||
|> xLine(3.36, %) // partial
|
|> xLine(length = 3.36) // partial
|
||||||
|> line(end = [1.49, 1.06]) // free
|
|> line(end = [1.49, 1.06]) // free
|
||||||
|> xLine(-3.43 + 0, %) // full
|
|> xLine(length = -3.43 + 0) // full
|
||||||
|> angledLineOfXLength([243 + 0, 1.2 + 0], %) // full`
|
|> angledLineOfXLength([243 + 0, 1.2 + 0], %) // full`
|
||||||
const ast = assertParse(code)
|
const ast = assertParse(code)
|
||||||
const constraintLevels: ConstraintLevel[] = ['full', 'partial', 'free']
|
const constraintLevels: ConstraintLevel[] = ['full', 'partial', 'free']
|
||||||
|
@ -21,11 +21,11 @@ mountingHoleDiameter = 0.5
|
|||||||
|
|
||||||
sketch001 = startSketchOn('XZ')
|
sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> xLine(shelfMountL - thickness, %, $seg01)
|
|> xLine(length = shelfMountL - thickness, tag = $seg01)
|
||||||
|> yLine(thickness, %, $seg02)
|
|> yLine(length = thickness, tag = $seg02)
|
||||||
|> xLine(-shelfMountL, %, $seg03)
|
|> xLine(length = -shelfMountL, tag = $seg03)
|
||||||
|> yLine(-wallMountL, %, $seg04)
|
|> yLine(length = -wallMountL, tag = $seg04)
|
||||||
|> xLine(thickness, %, $seg05)
|
|> xLine(length = thickness, tag = $seg05)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $seg06)
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $seg06)
|
||||||
|> close()
|
|> close()
|
||||||
|> extrude(%, length = width)
|
|> extrude(%, length = width)
|
||||||
|
@ -16,9 +16,9 @@ beforeAll(async () => {
|
|||||||
describe('testing source range to artifact conversion', () => {
|
describe('testing source range to artifact conversion', () => {
|
||||||
const MY_CODE = `sketch001 = startSketchOn('XZ')
|
const MY_CODE = `sketch001 = startSketchOn('XZ')
|
||||||
profile001 = startProfileAt([105.55, 105.55], sketch001)
|
profile001 = startProfileAt([105.55, 105.55], sketch001)
|
||||||
|> xLine(332.55, %, $seg01)
|
|> xLine(length = 332.55, tag = $seg01)
|
||||||
|> yLine(-310.12, %, $seg02)
|
|> yLine(length = -310.12, tag = $seg02)
|
||||||
|> xLine(-373.65, %)
|
|> xLine(length = -373.65)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
extrude001 = extrude(profile001, length = 500)
|
extrude001 = extrude(profile001, length = 500)
|
||||||
@ -1126,7 +1126,7 @@ profile004 = circle({
|
|||||||
[
|
[
|
||||||
'segment 2',
|
'segment 2',
|
||||||
{
|
{
|
||||||
snippet: 'yLine(-310.12, %, $seg02)',
|
snippet: 'yLine(length = -310.12, tag = $seg02)',
|
||||||
artifactDetails: {
|
artifactDetails: {
|
||||||
type: 'segment',
|
type: 'segment',
|
||||||
range: [149, 149, 0],
|
range: [149, 149, 0],
|
||||||
|
@ -987,7 +987,7 @@ const objExpShouldNotBeIncluded = { a: 1, b: 2, c: 3 }
|
|||||||
|
|
||||||
const part001 = startSketchOn('XY')
|
const part001 = startSketchOn('XY')
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> yLineTo(1, %)
|
|> yLine(endAbsolute = 1)
|
||||||
|> xLine(length = 3.84) // selection-range-7ish-before-this
|
|> xLine(length = 3.84) // selection-range-7ish-before-this
|
||||||
|
|
||||||
const variableBelowShouldNotBeIncluded = 3
|
const variableBelowShouldNotBeIncluded = 3
|
||||||
@ -1723,7 +1723,7 @@ let w = f() + f()
|
|||||||
let code = r#"sketch001 = startSketchOn('XZ')
|
let code = r#"sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([61.74, 206.13], %)
|
|> startProfileAt([61.74, 206.13], %)
|
||||||
|> xLine(length = 305.11, tag = $seg01)
|
|> xLine(length = 305.11, tag = $seg01)
|
||||||
|> yLine(-291.85, %)
|
|> yLine(length = -291.85)
|
||||||
|> xLine(length = -segLen(seg01))
|
|> xLine(length = -segLen(seg01))
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
@ -1748,7 +1748,7 @@ let w = f() + f()
|
|||||||
let code = r#"sketch001 = startSketchOn('XZ')
|
let code = r#"sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([62.74, 206.13], %)
|
|> startProfileAt([62.74, 206.13], %)
|
||||||
|> xLine(length = 305.11, tag = $seg01)
|
|> xLine(length = 305.11, tag = $seg01)
|
||||||
|> yLine(-291.85, %)
|
|> yLine(length = -291.85)
|
||||||
|> xLine(length = -segLen(seg01))
|
|> xLine(length = -segLen(seg01))
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
@ -1774,7 +1774,7 @@ let w = f() + f()
|
|||||||
let code = r#"sketch001 = startSketchOn('XZ')
|
let code = r#"sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([61.74, 206.13], %)
|
|> startProfileAt([61.74, 206.13], %)
|
||||||
|> xLine(length = 305.11, tag = $seg01)
|
|> xLine(length = 305.11, tag = $seg01)
|
||||||
|> yLine(-291.85, %)
|
|> yLine(length = -291.85)
|
||||||
|> xLine(length = -segLen(seg01))
|
|> xLine(length = -segLen(seg01))
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
|
@ -4202,7 +4202,7 @@ e
|
|||||||
/// angle = 30,
|
/// angle = 30,
|
||||||
/// length = 3 / cos(toRadians(30)),
|
/// length = 3 / cos(toRadians(30)),
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close(%)
|
/// |> close(%)
|
||||||
///
|
///
|
||||||
/// example = extrude(5, exampleSketch)
|
/// example = extrude(5, exampleSketch)
|
||||||
|
@ -108,7 +108,7 @@ pub async fn sqrt(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
|
|||||||
/// angle = 50,
|
/// angle = 50,
|
||||||
/// length = sqrt(2500),
|
/// length = sqrt(2500),
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// example = extrude(exampleSketch, length = 5)
|
/// example = extrude(exampleSketch, length = 5)
|
||||||
@ -173,7 +173,7 @@ pub async fn round(_exec_state: &mut ExecState, args: Args) -> Result<KclValue,
|
|||||||
/// |> startProfileAt([0, 0], %)
|
/// |> startProfileAt([0, 0], %)
|
||||||
/// |> line(endAbsolute = [12, 10])
|
/// |> line(endAbsolute = [12, 10])
|
||||||
/// |> line(end = [round(7.02986), 0])
|
/// |> line(end = [round(7.02986), 0])
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// extrude001 = extrude(sketch001, length = 5)
|
/// extrude001 = extrude(sketch001, length = 5)
|
||||||
@ -201,7 +201,7 @@ pub async fn floor(_exec_state: &mut ExecState, args: Args) -> Result<KclValue,
|
|||||||
/// |> startProfileAt([0, 0], %)
|
/// |> startProfileAt([0, 0], %)
|
||||||
/// |> line(endAbsolute = [12, 10])
|
/// |> line(endAbsolute = [12, 10])
|
||||||
/// |> line(end = [floor(7.02986), 0])
|
/// |> line(end = [floor(7.02986), 0])
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// extrude001 = extrude(sketch001, length = 5)
|
/// extrude001 = extrude(sketch001, length = 5)
|
||||||
@ -229,7 +229,7 @@ pub async fn ceil(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
|
|||||||
/// |> startProfileAt([0, 0], %)
|
/// |> startProfileAt([0, 0], %)
|
||||||
/// |> line(endAbsolute = [12, 10])
|
/// |> line(endAbsolute = [12, 10])
|
||||||
/// |> line(end = [ceil(7.02986), 0])
|
/// |> line(end = [ceil(7.02986), 0])
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// extrude001 = extrude(sketch001, length = 5)
|
/// extrude001 = extrude(sketch001, length = 5)
|
||||||
@ -347,7 +347,7 @@ pub async fn pow(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, Kc
|
|||||||
/// angle = 50,
|
/// angle = 50,
|
||||||
/// length = pow(5, 2),
|
/// length = pow(5, 2),
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// example = extrude(exampleSketch, length = 5)
|
/// example = extrude(exampleSketch, length = 5)
|
||||||
@ -408,7 +408,7 @@ pub async fn asin(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
|
|||||||
/// angle = toDegrees(asin(0.5)),
|
/// angle = toDegrees(asin(0.5)),
|
||||||
/// length = 20,
|
/// length = 20,
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// extrude001 = extrude(sketch001, length = 5)
|
/// extrude001 = extrude(sketch001, length = 5)
|
||||||
@ -438,7 +438,7 @@ pub async fn atan(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
|
|||||||
/// angle = toDegrees(atan(1.25)),
|
/// angle = toDegrees(atan(1.25)),
|
||||||
/// length = 20,
|
/// length = 20,
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// extrude001 = extrude(sketch001, length = 5)
|
/// extrude001 = extrude(sketch001, length = 5)
|
||||||
@ -468,7 +468,7 @@ pub async fn atan2(_exec_state: &mut ExecState, args: Args) -> Result<KclValue,
|
|||||||
/// angle = toDegrees(atan2(1.25, 2)),
|
/// angle = toDegrees(atan2(1.25, 2)),
|
||||||
/// length = 20,
|
/// length = 20,
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// extrude001 = extrude(sketch001, length = 5)
|
/// extrude001 = extrude(sketch001, length = 5)
|
||||||
@ -632,7 +632,7 @@ pub async fn e(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclE
|
|||||||
/// angle = 30,
|
/// angle = 30,
|
||||||
/// length = 2 * e() ^ 2,
|
/// length = 2 * e() ^ 2,
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// example = extrude(exampleSketch, length = 10)
|
/// example = extrude(exampleSketch, length = 10)
|
||||||
@ -664,7 +664,7 @@ pub async fn tau(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, Kc
|
|||||||
/// angle = 50,
|
/// angle = 50,
|
||||||
/// length = 10 * tau(),
|
/// length = 10 * tau(),
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// example = extrude(exampleSketch, length = 5)
|
/// example = extrude(exampleSketch, length = 5)
|
||||||
@ -695,7 +695,7 @@ pub async fn to_radians(_exec_state: &mut ExecState, args: Args) -> Result<KclVa
|
|||||||
/// angle = 50,
|
/// angle = 50,
|
||||||
/// length = 70 * cos(toRadians(45)),
|
/// length = 70 * cos(toRadians(45)),
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// example = extrude(exampleSketch, length = 5)
|
/// example = extrude(exampleSketch, length = 5)
|
||||||
@ -725,7 +725,7 @@ pub async fn to_degrees(_exec_state: &mut ExecState, args: Args) -> Result<KclVa
|
|||||||
/// angle = 50,
|
/// angle = 50,
|
||||||
/// length = 70 * cos(toDegrees(pi()/4)),
|
/// length = 70 * cos(toDegrees(pi()/4)),
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// example = extrude(exampleSketch, length = 5)
|
/// example = extrude(exampleSketch, length = 5)
|
||||||
|
@ -657,7 +657,7 @@ pub async fn angle_to_match_length_y(exec_state: &mut ExecState, args: Args) ->
|
|||||||
/// angle = angleToMatchLengthY(seg01, 15, %),
|
/// angle = angleToMatchLengthY(seg01, 15, %),
|
||||||
/// length = 5,
|
/// length = 5,
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// extrusion = extrude(sketch001, length = 5)
|
/// extrusion = extrude(sketch001, length = 5)
|
||||||
|
@ -950,7 +950,7 @@ fn rect(x, y, w, h) {
|
|||||||
startSketchOn('XY')
|
startSketchOn('XY')
|
||||||
|> startProfileAt([x, y], %)
|
|> startProfileAt([x, y], %)
|
||||||
|> xLine(length = w)
|
|> xLine(length = w)
|
||||||
|> yLine(h, %)
|
|> yLine(length = h)
|
||||||
|> xLine(length = -w)
|
|> xLine(length = -w)
|
||||||
|> close()
|
|> close()
|
||||||
|> extrude(d, %)
|
|> extrude(d, %)
|
||||||
@ -969,9 +969,9 @@ fn quad(x1, y1, x2, y2, x3, y3, x4, y4) {
|
|||||||
fn crosshair(x, y) {
|
fn crosshair(x, y) {
|
||||||
startSketchOn('XY')
|
startSketchOn('XY')
|
||||||
|> startProfileAt([x, y], %)
|
|> startProfileAt([x, y], %)
|
||||||
|> yLine(1, %)
|
|> yLine(length = 1)
|
||||||
|> yLine(-2, %)
|
|> yLine(length = -2)
|
||||||
|> yLine(1, %)
|
|> yLine(length = 1)
|
||||||
|> xLine(length = 1)
|
|> xLine(length = 1)
|
||||||
|> xLine(length = -2)
|
|> xLine(length = -2)
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ export PI = 3.14159265358979323846264338327950288_
|
|||||||
/// angle = 30,
|
/// angle = 30,
|
||||||
/// length = 2 * E ^ 2,
|
/// length = 2 * E ^ 2,
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// example = extrude(exampleSketch, length = 10)
|
/// example = extrude(exampleSketch, length = 10)
|
||||||
@ -37,7 +37,7 @@ export E = 2.71828182845904523536028747135266250_
|
|||||||
/// angle = 50,
|
/// angle = 50,
|
||||||
/// length = 10 * TAU,
|
/// length = 10 * TAU,
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// example = extrude(exampleSketch, length = 5)
|
/// example = extrude(exampleSketch, length = 5)
|
||||||
@ -53,7 +53,7 @@ export TAU = 6.28318530717958647692528676655900577_
|
|||||||
/// angle = 30,
|
/// angle = 30,
|
||||||
/// length = 3 / cos(toRadians(30)),
|
/// length = 3 / cos(toRadians(30)),
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// example = extrude(exampleSketch, length = 5)
|
/// example = extrude(exampleSketch, length = 5)
|
||||||
@ -70,7 +70,7 @@ export fn cos(num: number(rad)): number(_) {}
|
|||||||
/// angle = 50,
|
/// angle = 50,
|
||||||
/// length = 15 / sin(toDegrees(135)),
|
/// length = 15 / sin(toDegrees(135)),
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// example = extrude(exampleSketch, length = 5)
|
/// example = extrude(exampleSketch, length = 5)
|
||||||
@ -87,7 +87,7 @@ export fn sin(num: number(rad)): number(_) {}
|
|||||||
/// angle = 50,
|
/// angle = 50,
|
||||||
/// length = 50 * tan(1/2),
|
/// length = 50 * tan(1/2),
|
||||||
/// }, %)
|
/// }, %)
|
||||||
/// |> yLineTo(0, %)
|
/// |> yLine(endAbsolute = 0)
|
||||||
/// |> close()
|
/// |> close()
|
||||||
///
|
///
|
||||||
/// example = extrude(exampleSketch, length = 5)
|
/// example = extrude(exampleSketch, length = 5)
|
||||||
|
@ -10,38 +10,38 @@ corner_radius = 5.0
|
|||||||
brace_base = startSketchAt([corner_radius, 0])
|
brace_base = startSketchAt([corner_radius, 0])
|
||||||
|> line(end = [width - corner_radius, 0.0])
|
|> line(end = [width - corner_radius, 0.0])
|
||||||
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
||||||
|> yLine(25.0 - corner_radius, %)
|
|> yLine(length = 25.0 - corner_radius)
|
||||||
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
||||||
|> xLine(length = -(d_wrist_circumference[0] - (corner_radius * 2)))
|
|> xLine(length = -(d_wrist_circumference[0] - (corner_radius * 2)))
|
||||||
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
||||||
|> yLine(length - 25.0 - 23.0 - (corner_radius * 2), %)
|
|> yLine(length = length - 25.0 - 23.0 - (corner_radius * 2))
|
||||||
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
||||||
|> xLine(length = 15.0 - (corner_radius * 2))
|
|> xLine(length = 15.0 - (corner_radius * 2))
|
||||||
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
||||||
|> yLine(23.0 - corner_radius, %)
|
|> yLine(length = 23.0 - corner_radius)
|
||||||
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
||||||
|> xLine(length = -(hand_thickness + 15.0 + 15.0 - (corner_radius * 2)))
|
|> xLine(length = -(hand_thickness + 15.0 + 15.0 - (corner_radius * 2)))
|
||||||
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
||||||
|> yLine(-(23.0 - corner_radius), %)
|
|> yLine(length = -(23.0 - corner_radius))
|
||||||
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
||||||
|> xLine(length = 15.0 - (corner_radius * 2))
|
|> xLine(length = 15.0 - (corner_radius * 2))
|
||||||
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
||||||
|> yLine(-(length - 25.0 - 23.0 - (corner_radius * 2)), %)
|
|> yLine(length = -(length - 25.0 - 23.0 - (corner_radius * 2)))
|
||||||
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
||||||
|> xLine(length = -(d_wrist_circumference[1] + d_wrist_circumference[2] + d_wrist_circumference[3] - hand_thickness - corner_radius))
|
|> xLine(length = -(d_wrist_circumference[1] + d_wrist_circumference[2] + d_wrist_circumference[3] - hand_thickness - corner_radius))
|
||||||
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
||||||
|> yLine(-(25.0 - corner_radius), %)
|
|> yLine(length = -(25.0 - corner_radius))
|
||||||
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
||||||
|> close(%)
|
|> close(%)
|
||||||
|
|
||||||
inner = startSketchAt([0, 0])
|
inner = startSketchAt([0, 0])
|
||||||
|> xLine(length = 1.0)
|
|> xLine(length = 1.0)
|
||||||
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
||||||
|> yLine(25.0 - (corner_radius * 2), %)
|
|> yLine(length = 25.0 - (corner_radius * 2))
|
||||||
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
||||||
|> xLine(length = -1.0)
|
|> xLine(length = -1.0)
|
||||||
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
||||||
|> yLine(-(25.0 - (corner_radius * 2)), %)
|
|> yLine(length = -(25.0 - (corner_radius * 2)))
|
||||||
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
||||||
|> close(%)
|
|> close(%)
|
||||||
|
|
||||||
|
@ -13,9 +13,9 @@ sketch001 = startSketchOn('-YZ')
|
|||||||
|> startProfileAt([back_walls_width / 2, 0], %)
|
|> startProfileAt([back_walls_width / 2, 0], %)
|
||||||
|> xLine(length = wall_thickness / 2)
|
|> xLine(length = wall_thickness / 2)
|
||||||
|> angledLineToX({ angle = 45, to = back_walls_width }, %, $seg01)
|
|> angledLineToX({ angle = 45, to = back_walls_width }, %, $seg01)
|
||||||
|> yLineTo(height, %)
|
|> yLine(endAbsolute = height)
|
||||||
|> xLine(length = -wall_thickness)
|
|> xLine(length = -wall_thickness)
|
||||||
|> yLineTo(segEndY(seg01), %)
|
|> yLine(endAbsolute = segEndY(seg01))
|
||||||
|> angledLineToX({
|
|> angledLineToX({
|
||||||
angle = 45,
|
angle = 45,
|
||||||
to = back_walls_width / 2 + wall_thickness / 2
|
to = back_walls_width / 2 + wall_thickness / 2
|
||||||
@ -25,9 +25,9 @@ sketch001 = startSketchOn('-YZ')
|
|||||||
angle = 180 - 45,
|
angle = 180 - 45,
|
||||||
to = wall_thickness
|
to = wall_thickness
|
||||||
}, %)
|
}, %)
|
||||||
|> yLineTo(height, %)
|
|> yLine(endAbsolute = height)
|
||||||
|> xLine(endAbsolute = 0)
|
|> xLine(endAbsolute = 0)
|
||||||
|> yLineTo(segEndY(seg01), %)
|
|> yLine(endAbsolute = segEndY(seg01))
|
||||||
|> angledLineToY({ angle = 180 - 45, to = 0 }, %)
|
|> angledLineToY({ angle = 180 - 45, to = 0 }, %)
|
||||||
|> close(%)
|
|> close(%)
|
||||||
part001 = revolve({
|
part001 = revolve({
|
||||||
@ -44,9 +44,9 @@ sketch002 = startSketchOn('-YZ')
|
|||||||
|> startProfileAt([back_walls_width / 2, 0], %)
|
|> startProfileAt([back_walls_width / 2, 0], %)
|
||||||
|> xLine(length = wall_thickness / 2)
|
|> xLine(length = wall_thickness / 2)
|
||||||
|> angledLineToX({ angle = 45, to = back_walls_width }, %, $seg02)
|
|> angledLineToX({ angle = 45, to = back_walls_width }, %, $seg02)
|
||||||
|> yLineTo(height, %)
|
|> yLine(endAbsolute = height)
|
||||||
|> xLine(length = -wall_thickness)
|
|> xLine(length = -wall_thickness)
|
||||||
|> yLineTo(segEndY(seg01), %)
|
|> yLine(endAbsolute = segEndY(seg01))
|
||||||
|> angledLineToX({
|
|> angledLineToX({
|
||||||
angle = 45,
|
angle = 45,
|
||||||
to = back_walls_width / 2 + wall_thickness / 2
|
to = back_walls_width / 2 + wall_thickness / 2
|
||||||
@ -56,9 +56,9 @@ sketch002 = startSketchOn('-YZ')
|
|||||||
angle = 180 - 45,
|
angle = 180 - 45,
|
||||||
to = wall_thickness
|
to = wall_thickness
|
||||||
}, %)
|
}, %)
|
||||||
|> yLineTo(height, %)
|
|> yLine(endAbsolute = height)
|
||||||
|> xLine(endAbsolute = 0)
|
|> xLine(endAbsolute = 0)
|
||||||
|> yLineTo(segEndY(seg02), %)
|
|> yLine(endAbsolute = segEndY(seg02))
|
||||||
|> angledLineToY({ angle = 180 - 45, to = 0 }, %)
|
|> angledLineToY({ angle = 180 - 45, to = 0 }, %)
|
||||||
|> close(%)
|
|> close(%)
|
||||||
|> extrude(length = back_length - height)
|
|> extrude(length = back_length - height)
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
sketch001 = startSketchOn('XZ')
|
sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([-4.35, -12.26], %)
|
|> startProfileAt([-4.35, -12.26], %)
|
||||||
|> yLine(10.2, %)
|
|> yLine(length = 10.2)
|
||||||
|> line(end = [0.54, -0.03])
|
|> line(end = [0.54, -0.03])
|
||||||
|> tangentialArcTo([20.4, 14.61], %)
|
|> tangentialArcTo([20.4, 14.61], %)
|
||||||
|> yLine(-26.76, %)
|
|> yLine(length = -26.76)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $seg01)
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $seg01)
|
||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
|
@ -10,38 +10,38 @@ let corner_radius = 5.0
|
|||||||
let brace_base = startSketchAt([corner_radius, 0])
|
let brace_base = startSketchAt([corner_radius, 0])
|
||||||
|> line(end = [width - corner_radius, 0.0])
|
|> line(end = [width - corner_radius, 0.0])
|
||||||
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
||||||
|> yLine(25.0 - corner_radius, %)
|
|> yLine(length = 25.0 - corner_radius)
|
||||||
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
||||||
|> xLine(length = -(d_wrist_circumference[0] - (corner_radius * 2)))
|
|> xLine(length = -(d_wrist_circumference[0] - (corner_radius * 2)))
|
||||||
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
||||||
|> yLine(length - 25.0 - 23.0 - (corner_radius * 2), %)
|
|> yLine(length = length - 25.0 - 23.0 - (corner_radius * 2))
|
||||||
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
||||||
|> xLine(length = 15.0 - (corner_radius * 2))
|
|> xLine(length = 15.0 - (corner_radius * 2))
|
||||||
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
||||||
|> yLine(23.0 - corner_radius, %)
|
|> yLine(length = 23.0 - corner_radius)
|
||||||
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
||||||
|> xLine(length = -(hand_thickness + 15.0 + 15.0 - (corner_radius * 2)))
|
|> xLine(length = -(hand_thickness + 15.0 + 15.0 - (corner_radius * 2)))
|
||||||
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
||||||
|> yLine(-(23.0 - corner_radius), %)
|
|> yLine(length = -(23.0 - corner_radius))
|
||||||
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
||||||
|> xLine(length = 15.0 - (corner_radius * 2))
|
|> xLine(length = 15.0 - (corner_radius * 2))
|
||||||
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
||||||
|> yLine(-(length - 25.0 - 23.0 - (corner_radius * 2)), %)
|
|> yLine(length = -(length - 25.0 - 23.0 - (corner_radius * 2)))
|
||||||
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
||||||
|> xLine(length = -(d_wrist_circumference[1] + d_wrist_circumference[2] + d_wrist_circumference[3] - hand_thickness - corner_radius))
|
|> xLine(length = -(d_wrist_circumference[1] + d_wrist_circumference[2] + d_wrist_circumference[3] - hand_thickness - corner_radius))
|
||||||
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
||||||
|> yLine(-(25.0 - corner_radius), %)
|
|> yLine(length = -(25.0 - corner_radius))
|
||||||
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
let inner = startSketchAt([0, 0])
|
let inner = startSketchAt([0, 0])
|
||||||
|> xLine(length = 1.0)
|
|> xLine(length = 1.0)
|
||||||
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|
||||||
|> yLine(25.0 - (corner_radius * 2), %)
|
|> yLine(length = 25.0 - (corner_radius * 2))
|
||||||
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|
||||||
|> xLine(length = -1.0)
|
|> xLine(length = -1.0)
|
||||||
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|
||||||
|> yLine(-(25.0 - (corner_radius * 2)), %)
|
|> yLine(length = -(25.0 - (corner_radius * 2)))
|
||||||
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|
||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
|
@ -13,18 +13,18 @@ sketch001 = startSketchOn('-YZ')
|
|||||||
|> startProfileAt([back_walls_width / 2, 0], %)
|
|> startProfileAt([back_walls_width / 2, 0], %)
|
||||||
|> xLine(length = wall_thickness / 2)
|
|> xLine(length = wall_thickness / 2)
|
||||||
|> angledLineToX({ angle: 45, to: back_walls_width }, %, $seg01)
|
|> angledLineToX({ angle: 45, to: back_walls_width }, %, $seg01)
|
||||||
|> yLineTo(height, %)
|
|> yLine(endAbsolute = height)
|
||||||
|> xLine(length = -wall_thickness)
|
|> xLine(length = -wall_thickness)
|
||||||
|> yLineTo(segEndY(seg01), %)
|
|> yLine(endAbsolute = segEndY(seg01))
|
||||||
|> angledLineToX({
|
|> angledLineToX({
|
||||||
angle: 45,
|
angle: 45,
|
||||||
to: back_walls_width / 2 + wall_thickness / 2
|
to: back_walls_width / 2 + wall_thickness / 2
|
||||||
}, %)
|
}, %)
|
||||||
|> xLine(length = -wall_thickness)
|
|> xLine(length = -wall_thickness)
|
||||||
|> angledLineToX({ angle: 180 - 45, to: wall_thickness }, %)
|
|> angledLineToX({ angle: 180 - 45, to: wall_thickness }, %)
|
||||||
|> yLineTo(height, %)
|
|> yLine(endAbsolute = height)
|
||||||
|> xLine(endAbsolute = 0)
|
|> xLine(endAbsolute = 0)
|
||||||
|> yLineTo(segEndY(seg01), %)
|
|> yLine(endAbsolute = segEndY(seg01))
|
||||||
|> angledLineToY({ angle: 180 - 45, to: 0 }, %)
|
|> angledLineToY({ angle: 180 - 45, to: 0 }, %)
|
||||||
|> close()
|
|> close()
|
||||||
part001 = revolve({
|
part001 = revolve({
|
||||||
@ -41,18 +41,18 @@ sketch002 = startSketchOn('-YZ')
|
|||||||
|> startProfileAt([back_walls_width / 2, 0], %)
|
|> startProfileAt([back_walls_width / 2, 0], %)
|
||||||
|> xLine(length = wall_thickness / 2)
|
|> xLine(length = wall_thickness / 2)
|
||||||
|> angledLineToX({ angle: 45, to: back_walls_width }, %, $seg02)
|
|> angledLineToX({ angle: 45, to: back_walls_width }, %, $seg02)
|
||||||
|> yLineTo(height, %)
|
|> yLine(endAbsolute = height)
|
||||||
|> xLine(length = -wall_thickness)
|
|> xLine(length = -wall_thickness)
|
||||||
|> yLineTo(segEndY(seg01), %)
|
|> yLine(endAbsolute = segEndY(seg01))
|
||||||
|> angledLineToX({
|
|> angledLineToX({
|
||||||
angle: 45,
|
angle: 45,
|
||||||
to: back_walls_width / 2 + wall_thickness / 2
|
to: back_walls_width / 2 + wall_thickness / 2
|
||||||
}, %)
|
}, %)
|
||||||
|> xLine(length = -wall_thickness)
|
|> xLine(length = -wall_thickness)
|
||||||
|> angledLineToX({ angle: 180 - 45, to: wall_thickness }, %)
|
|> angledLineToX({ angle: 180 - 45, to: wall_thickness }, %)
|
||||||
|> yLineTo(height, %)
|
|> yLine(endAbsolute = height)
|
||||||
|> xLine(endAbsolute = 0)
|
|> xLine(endAbsolute = 0)
|
||||||
|> yLineTo(segEndY(seg02), %)
|
|> yLine(endAbsolute = segEndY(seg02))
|
||||||
|> angledLineToY({ angle: 180 - 45, to: 0 }, %)
|
|> angledLineToY({ angle: 180 - 45, to: 0 }, %)
|
||||||
|> close()
|
|> close()
|
||||||
|> extrude(length = back_length - height)
|
|> extrude(length = back_length - height)
|
@ -17,14 +17,14 @@ const sketch001 = startSketchOn('XZ')
|
|||||||
angleStart: 90,
|
angleStart: 90,
|
||||||
radius: radius - templateGap
|
radius: radius - templateGap
|
||||||
}, %)
|
}, %)
|
||||||
|> yLineTo(-templateGap * 2 - (templateDiameter / 2), %, $seg05)
|
|> yLine(endAbsolute = -templateGap * 2 - (templateDiameter / 2), tag = $seg05)
|
||||||
|> xLineTo(endAbsolute = slateWidthHalf + templateThickness, tag = $seg04)
|
|> xLineTo(endAbsolute = slateWidthHalf + templateThickness, tag = $seg04)
|
||||||
|> yLine(-length002, %, $seg03)
|
|> yLine(length = -length002, tag = $seg03)
|
||||||
|> xLineTo(endAbsolute = 0, tag = $seg02)
|
|> xLineTo(endAbsolute = 0, tag = $seg02)
|
||||||
|> xLine(length = -segLen(seg02), %)
|
|> xLine(length = length = -segLen(seg02))
|
||||||
|> yLine(segLen(seg03, %), %)
|
|> yLine(length = segLen(seg03, %))
|
||||||
|> xLine(length = segLen(seg04), %)
|
|> xLine(length = length = segLen(seg04))
|
||||||
|> yLine(segLen(seg05, %), %)
|
|> yLine(length = segLen(seg05, %))
|
||||||
|> arc({
|
|> arc({
|
||||||
angleEnd: 90,
|
angleEnd: 90,
|
||||||
angleStart: 180,
|
angleStart: 180,
|
||||||
|
@ -26,7 +26,7 @@ fn caster = (originStart) => {
|
|||||||
const sketch001c = startSketchOn(plane001c)
|
const sketch001c = startSketchOn(plane001c)
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> xLine(length = 3.543)
|
|> xLine(length = 3.543)
|
||||||
|> yLine(3.543, %)
|
|> yLine(length = 3.543)
|
||||||
|> xLine(length = -3.543)
|
|> xLine(length = -3.543)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
@ -119,12 +119,12 @@ const extrude001l = extrude(sketch001l, length = 1)
|
|||||||
|
|
||||||
const sketch002l = startSketchOn(plane001)
|
const sketch002l = startSketchOn(plane001)
|
||||||
|> startProfileAt([serverDepth + .8, 0], %)
|
|> startProfileAt([serverDepth + .8, 0], %)
|
||||||
|> yLine(railHeight * 1.75 + 2, %)
|
|> yLine(length = railHeight * 1.75 + 2)
|
||||||
|> angledLineToX({
|
|> angledLineToX({
|
||||||
angle: -135,
|
angle: -135,
|
||||||
to: serverDepth - 1 + .8
|
to: serverDepth - 1 + .8
|
||||||
}, %)
|
}, %)
|
||||||
|> yLine(-railHeight * 1.75, %)
|
|> yLine(length = -railHeight * 1.75)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
const extrude002l = extrude(sketch002l, length = 1)
|
const extrude002l = extrude(sketch002l, length = 1)
|
||||||
@ -146,12 +146,12 @@ const extrude003l = extrude(sketch003l, length = 1)
|
|||||||
|
|
||||||
const sketch004l = startSketchOn(plane001)
|
const sketch004l = startSketchOn(plane001)
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> yLine(railHeight * 1.75 + 2, %)
|
|> yLine(length = railHeight * 1.75 + 2)
|
||||||
|> angledLineToY({
|
|> angledLineToY({
|
||||||
angle: 135,
|
angle: 135,
|
||||||
to: railHeight * 1.75 + 2 - 1
|
to: railHeight * 1.75 + 2 - 1
|
||||||
}, %)
|
}, %)
|
||||||
|> yLine(-railHeight * 1.75, %)
|
|> yLine(length = -railHeight * 1.75)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
const extrude004l = extrude(sketch004l, length = 1)
|
const extrude004l = extrude(sketch004l, length = 1)
|
||||||
@ -222,9 +222,9 @@ const extrude001w = extrude(sketch001w, length = 1)
|
|||||||
|
|
||||||
const sketch002w = startSketchOn(plane002)
|
const sketch002w = startSketchOn(plane002)
|
||||||
|> startProfileAt([depth, 0], %)
|
|> startProfileAt([depth, 0], %)
|
||||||
|> yLine(railHeight * 1.75 + 2, %)
|
|> yLine(length = railHeight * 1.75 + 2)
|
||||||
|> angledLineToX({ angle: -135, to: depth - 1 }, %)
|
|> angledLineToX({ angle: -135, to: depth - 1 }, %)
|
||||||
|> yLine(-railHeight * 1.75, %)
|
|> yLine(length = -railHeight * 1.75)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
const extrude002w = extrude(sketch002w, length = 1)
|
const extrude002w = extrude(sketch002w, length = 1)
|
||||||
@ -243,12 +243,12 @@ const extrude003w = extrude(sketch003w, length = 1)
|
|||||||
|
|
||||||
const sketch004w = startSketchOn(plane002)
|
const sketch004w = startSketchOn(plane002)
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> yLine(railHeight * 1.75 + 2, %)
|
|> yLine(length = railHeight * 1.75 + 2)
|
||||||
|> angledLineToY({
|
|> angledLineToY({
|
||||||
angle: 135,
|
angle: 135,
|
||||||
to: railHeight * 1.75 + 2 - 1
|
to: railHeight * 1.75 + 2 - 1
|
||||||
}, %)
|
}, %)
|
||||||
|> yLine(-railHeight * 1.75, %)
|
|> yLine(length = -railHeight * 1.75)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
const extrude004w = extrude(sketch004w, length = 1)
|
const extrude004w = extrude(sketch004w, length = 1)
|
||||||
@ -268,7 +268,7 @@ const sketch006w = startSketchOn(plane002)
|
|||||||
40.6 - (35.5 * sin(23 * pi() / 180)) + 1.75 / 2
|
40.6 - (35.5 * sin(23 * pi() / 180)) + 1.75 / 2
|
||||||
], %)
|
], %)
|
||||||
|> angledLineToX({ angle: -23 + 90, to: depth - 1 }, %)
|
|> angledLineToX({ angle: -23 + 90, to: depth - 1 }, %)
|
||||||
|> yLine(2.56, %)
|
|> yLine(length = 2.56)
|
||||||
|> angledLineThatIntersects({
|
|> angledLineThatIntersects({
|
||||||
angle: -23 + 90 + 180,
|
angle: -23 + 90 + 180,
|
||||||
intersectTag: lineToIntersect,
|
intersectTag: lineToIntersect,
|
||||||
@ -357,7 +357,7 @@ const sketch013w = startSketchOn(plane002)
|
|||||||
], %)
|
], %)
|
||||||
|> angledLine({ angle: -23, length: 1 }, %)
|
|> angledLine({ angle: -23, length: 1 }, %)
|
||||||
|> angledLineToX({ angle: -23 + 90, to: 1 }, %)
|
|> angledLineToX({ angle: -23 + 90, to: 1 }, %)
|
||||||
|> yLine(2.56, %)
|
|> yLine(length = 2.56)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
const extrude013w = extrude(sketch013w, length = 1)
|
const extrude013w = extrude(sketch013w, length = 1)
|
||||||
@ -462,7 +462,7 @@ const extrude020w = extrude(sketch020w, length = 1)
|
|||||||
const sketch021w = startSketchOn(plane002)
|
const sketch021w = startSketchOn(plane002)
|
||||||
|> startProfileAt([1, 21.9], %)
|
|> startProfileAt([1, 21.9], %)
|
||||||
|> angledLineToX({ angle: -23, to: depth - 1 }, %)
|
|> angledLineToX({ angle: -23, to: depth - 1 }, %)
|
||||||
|> yLine(-1.1, %)
|
|> yLine(length = -1.1)
|
||||||
|> angledLineToX({ angle: -23, to: 1 }, %)
|
|> angledLineToX({ angle: -23, to: 1 }, %)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
@ -691,7 +691,7 @@ const sketch003fl = startSketchOn(planeXYfl)
|
|||||||
angleEnd: 270,
|
angleEnd: 270,
|
||||||
radius: bendRad
|
radius: bendRad
|
||||||
}, %)
|
}, %)
|
||||||
|> yLine(-thickness, %)
|
|> yLine(length = -thickness)
|
||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
const extrude003fl = extrude(sketch003fl, length = railHeight * 1.75)
|
const extrude003fl = extrude(sketch003fl, length = railHeight * 1.75)
|
||||||
@ -965,7 +965,7 @@ const sketch003fr = startSketchOn(planeXYfr)
|
|||||||
angleEnd: -90,
|
angleEnd: -90,
|
||||||
radius: bendRad
|
radius: bendRad
|
||||||
}, %)
|
}, %)
|
||||||
|> yLine(-thickness, %)
|
|> yLine(length = -thickness)
|
||||||
|> arc({
|
|> arc({
|
||||||
angleStart: -90,
|
angleStart: -90,
|
||||||
angleEnd: 0,
|
angleEnd: 0,
|
||||||
@ -1259,7 +1259,7 @@ const sketch003rr = startSketchOn(planeXYrr)
|
|||||||
angleEnd: 90,
|
angleEnd: 90,
|
||||||
radius: bendRad+thickness
|
radius: bendRad+thickness
|
||||||
}, %)
|
}, %)
|
||||||
|> yLine(-thickness, %)
|
|> yLine(length = -thickness)
|
||||||
|> arc({
|
|> arc({
|
||||||
angleStart: 90,
|
angleStart: 90,
|
||||||
angleEnd: 0,
|
angleEnd: 0,
|
||||||
@ -1808,23 +1808,23 @@ fn streamServer = (serverPos) => {
|
|||||||
|
|
||||||
const sketch002s = startSketchOn(planeXZs)
|
const sketch002s = startSketchOn(planeXZs)
|
||||||
|> startProfileAt([-1, 4.114 + 1 + serverPos * 1.75], %)
|
|> startProfileAt([-1, 4.114 + 1 + serverPos * 1.75], %)
|
||||||
|> yLine(6.98, %)
|
|> yLine(length = 6.98)
|
||||||
|> xLine(length = 0.2)
|
|> xLine(length = 0.2)
|
||||||
|> yLine(-0.36, %)
|
|> yLine(length = -0.36)
|
||||||
|> xLine(length = 0.5)
|
|> xLine(length = 0.5)
|
||||||
|> tangentialArcTo([
|
|> tangentialArcTo([
|
||||||
0.3,
|
0.3,
|
||||||
17.15 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
17.15 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
||||||
], %)
|
], %)
|
||||||
|> yLine(-1.77, %)
|
|> yLine(length = -1.77)
|
||||||
|> tangentialArcTo([
|
|> tangentialArcTo([
|
||||||
-0.13,
|
-0.13,
|
||||||
14.89 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
14.89 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
||||||
], %)
|
], %)
|
||||||
|> xLine(length = -0.52)
|
|> xLine(length = -0.52)
|
||||||
|> yLine(-0.42, %)
|
|> yLine(length = -0.42)
|
||||||
|> line(end = [0.34, -0.15])
|
|> line(end = [0.34, -0.15])
|
||||||
|> yLine(-2.97, %)
|
|> yLine(length = -2.97)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
@ -1832,23 +1832,23 @@ fn streamServer = (serverPos) => {
|
|||||||
|
|
||||||
const sketch003s = startSketchOn(planeXZs2)
|
const sketch003s = startSketchOn(planeXZs2)
|
||||||
|> startProfileAt([-1, 4.114 + 1 + serverPos * 1.75], %)
|
|> startProfileAt([-1, 4.114 + 1 + serverPos * 1.75], %)
|
||||||
|> yLine(6.98, %)
|
|> yLine(length = 6.98)
|
||||||
|> xLine(length = 0.2)
|
|> xLine(length = 0.2)
|
||||||
|> yLine(-0.36, %)
|
|> yLine(length = -0.36)
|
||||||
|> xLine(length = 0.5)
|
|> xLine(length = 0.5)
|
||||||
|> tangentialArcTo([
|
|> tangentialArcTo([
|
||||||
0.3,
|
0.3,
|
||||||
17.15 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
17.15 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
||||||
], %)
|
], %)
|
||||||
|> yLine(-1.77, %)
|
|> yLine(length = -1.77)
|
||||||
|> tangentialArcTo([
|
|> tangentialArcTo([
|
||||||
-0.13,
|
-0.13,
|
||||||
14.89 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
14.89 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
||||||
], %)
|
], %)
|
||||||
|> xLine(length = -0.52)
|
|> xLine(length = -0.52)
|
||||||
|> yLine(-0.42, %)
|
|> yLine(length = -0.42)
|
||||||
|> line(end = [0.34, -0.15])
|
|> line(end = [0.34, -0.15])
|
||||||
|> yLine(-2.97, %)
|
|> yLine(length = -2.97)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ fn caster = (originStart) => {
|
|||||||
const sketch001c = startSketchOn(plane001c)
|
const sketch001c = startSketchOn(plane001c)
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> xLine(length = 3.543)
|
|> xLine(length = 3.543)
|
||||||
|> yLine(3.543, %)
|
|> yLine(length = 3.543)
|
||||||
|> xLine(length = -3.543)
|
|> xLine(length = -3.543)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
@ -117,12 +117,12 @@ const extrude001l = extrude(sketch001l, length = 1)
|
|||||||
|
|
||||||
const sketch002l = startSketchOn(plane001)
|
const sketch002l = startSketchOn(plane001)
|
||||||
|> startProfileAt([serverDepth + .8, 0], %)
|
|> startProfileAt([serverDepth + .8, 0], %)
|
||||||
|> yLine(railHeight * 1.75 + 2, %)
|
|> yLine(length = railHeight * 1.75 + 2)
|
||||||
|> angledLineToX({
|
|> angledLineToX({
|
||||||
angle: -135,
|
angle: -135,
|
||||||
to: serverDepth - 1 + .8
|
to: serverDepth - 1 + .8
|
||||||
}, %)
|
}, %)
|
||||||
|> yLine(-railHeight * 1.75, %)
|
|> yLine(length = -railHeight * 1.75)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
const extrude002l = extrude(sketch002l, length = 1)
|
const extrude002l = extrude(sketch002l, length = 1)
|
||||||
@ -144,12 +144,12 @@ const extrude003l = extrude(sketch003l, length = 1)
|
|||||||
|
|
||||||
const sketch004l = startSketchOn(plane001)
|
const sketch004l = startSketchOn(plane001)
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> yLine(railHeight * 1.75 + 2, %)
|
|> yLine(length = railHeight * 1.75 + 2)
|
||||||
|> angledLineToY({
|
|> angledLineToY({
|
||||||
angle: 135,
|
angle: 135,
|
||||||
to: railHeight * 1.75 + 2 - 1
|
to: railHeight * 1.75 + 2 - 1
|
||||||
}, %)
|
}, %)
|
||||||
|> yLine(-railHeight * 1.75, %)
|
|> yLine(length = -railHeight * 1.75)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
const extrude004l = extrude(sketch004l, length = 1)
|
const extrude004l = extrude(sketch004l, length = 1)
|
||||||
@ -220,9 +220,9 @@ const extrude001w = extrude(sketch001w, length = 1)
|
|||||||
|
|
||||||
const sketch002w = startSketchOn(plane002)
|
const sketch002w = startSketchOn(plane002)
|
||||||
|> startProfileAt([depth, 0], %)
|
|> startProfileAt([depth, 0], %)
|
||||||
|> yLine(railHeight * 1.75 + 2, %)
|
|> yLine(length = railHeight * 1.75 + 2)
|
||||||
|> angledLineToX({ angle: -135, to: depth - 1 }, %)
|
|> angledLineToX({ angle: -135, to: depth - 1 }, %)
|
||||||
|> yLine(-railHeight * 1.75, %)
|
|> yLine(length = -railHeight * 1.75)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
const extrude002w = extrude(sketch002w, length = 1)
|
const extrude002w = extrude(sketch002w, length = 1)
|
||||||
@ -241,12 +241,12 @@ const extrude003w = extrude(sketch003w, length = 1)
|
|||||||
|
|
||||||
const sketch004w = startSketchOn(plane002)
|
const sketch004w = startSketchOn(plane002)
|
||||||
|> startProfileAt([0, 0], %)
|
|> startProfileAt([0, 0], %)
|
||||||
|> yLine(railHeight * 1.75 + 2, %)
|
|> yLine(length = railHeight * 1.75 + 2)
|
||||||
|> angledLineToY({
|
|> angledLineToY({
|
||||||
angle: 135,
|
angle: 135,
|
||||||
to: railHeight * 1.75 + 2 - 1
|
to: railHeight * 1.75 + 2 - 1
|
||||||
}, %)
|
}, %)
|
||||||
|> yLine(-railHeight * 1.75, %)
|
|> yLine(length = -railHeight * 1.75)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
const extrude004w = extrude(sketch004w, length = 1)
|
const extrude004w = extrude(sketch004w, length = 1)
|
||||||
@ -266,7 +266,7 @@ const sketch006w = startSketchOn(plane002)
|
|||||||
40.6 - (35.5 * sin(23 * pi() / 180)) + 1.75 / 2
|
40.6 - (35.5 * sin(23 * pi() / 180)) + 1.75 / 2
|
||||||
], %)
|
], %)
|
||||||
|> angledLineToX({ angle: -23 + 90, to: depth - 1 }, %)
|
|> angledLineToX({ angle: -23 + 90, to: depth - 1 }, %)
|
||||||
|> yLine(2.56, %)
|
|> yLine(length = 2.56)
|
||||||
|> angledLineThatIntersects({
|
|> angledLineThatIntersects({
|
||||||
angle: -23 + 90 + 180,
|
angle: -23 + 90 + 180,
|
||||||
intersectTag: lineToIntersect,
|
intersectTag: lineToIntersect,
|
||||||
@ -355,7 +355,7 @@ const sketch013w = startSketchOn(plane002)
|
|||||||
], %)
|
], %)
|
||||||
|> angledLine({ angle: -23, length: 1 }, %)
|
|> angledLine({ angle: -23, length: 1 }, %)
|
||||||
|> angledLineToX({ angle: -23 + 90, to: 1 }, %)
|
|> angledLineToX({ angle: -23 + 90, to: 1 }, %)
|
||||||
|> yLine(2.56, %)
|
|> yLine(length = 2.56)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
const extrude013w = extrude(sketch013w, length = 1)
|
const extrude013w = extrude(sketch013w, length = 1)
|
||||||
@ -460,7 +460,7 @@ const extrude020w = extrude(sketch020w, length = 1)
|
|||||||
const sketch021w = startSketchOn(plane002)
|
const sketch021w = startSketchOn(plane002)
|
||||||
|> startProfileAt([1, 21.9], %)
|
|> startProfileAt([1, 21.9], %)
|
||||||
|> angledLineToX({ angle: -23, to: depth - 1 }, %)
|
|> angledLineToX({ angle: -23, to: depth - 1 }, %)
|
||||||
|> yLine(-1.1, %)
|
|> yLine(length = -1.1)
|
||||||
|> angledLineToX({ angle: -23, to: 1 }, %)
|
|> angledLineToX({ angle: -23, to: 1 }, %)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
@ -700,7 +700,7 @@ const sketch003fl = startSketchOn(planeXYfl)
|
|||||||
angleEnd: 270,
|
angleEnd: 270,
|
||||||
radius: bendRad
|
radius: bendRad
|
||||||
}, %)
|
}, %)
|
||||||
|> yLine(-thickness, %)
|
|> yLine(length = -thickness)
|
||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
const extrude003fl = extrude(sketch003fl, length = railHeight * 1.75)
|
const extrude003fl = extrude(sketch003fl, length = railHeight * 1.75)
|
||||||
@ -845,7 +845,7 @@ const sketch003fr = startSketchOn(planeXYfr)
|
|||||||
angleEnd: -90,
|
angleEnd: -90,
|
||||||
radius: bendRad
|
radius: bendRad
|
||||||
}, %)
|
}, %)
|
||||||
|> yLine(-thickness, %)
|
|> yLine(length = -thickness)
|
||||||
|> arc({
|
|> arc({
|
||||||
angleStart: -90,
|
angleStart: -90,
|
||||||
angleEnd: 0,
|
angleEnd: 0,
|
||||||
@ -995,7 +995,7 @@ const sketch003rr = startSketchOn(planeXYrr)
|
|||||||
angleEnd: 90,
|
angleEnd: 90,
|
||||||
radius: bendRad + thickness
|
radius: bendRad + thickness
|
||||||
}, %)
|
}, %)
|
||||||
|> yLine(-thickness, %)
|
|> yLine(length = -thickness)
|
||||||
|> arc({
|
|> arc({
|
||||||
angleStart: 90,
|
angleStart: 90,
|
||||||
angleEnd: 0,
|
angleEnd: 0,
|
||||||
@ -1255,23 +1255,23 @@ fn streamServer = (serverPos) => {
|
|||||||
|
|
||||||
const sketch002s = startSketchOn(planeXZs)
|
const sketch002s = startSketchOn(planeXZs)
|
||||||
|> startProfileAt([-1, 4.114 + 1 + serverPos * 1.75], %)
|
|> startProfileAt([-1, 4.114 + 1 + serverPos * 1.75], %)
|
||||||
|> yLine(6.98, %)
|
|> yLine(length = 6.98)
|
||||||
|> xLine(length = 0.2)
|
|> xLine(length = 0.2)
|
||||||
|> yLine(-0.36, %)
|
|> yLine(length = -0.36)
|
||||||
|> xLine(length = 0.5)
|
|> xLine(length = 0.5)
|
||||||
|> tangentialArcTo([
|
|> tangentialArcTo([
|
||||||
0.3,
|
0.3,
|
||||||
17.15 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
17.15 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
||||||
], %)
|
], %)
|
||||||
|> yLine(-1.77, %)
|
|> yLine(length = -1.77)
|
||||||
|> tangentialArcTo([
|
|> tangentialArcTo([
|
||||||
-0.13,
|
-0.13,
|
||||||
14.89 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
14.89 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
||||||
], %)
|
], %)
|
||||||
|> xLine(length = -0.52)
|
|> xLine(length = -0.52)
|
||||||
|> yLine(-0.42, %)
|
|> yLine(length = -0.42)
|
||||||
|> line(end = [0.34, -0.15])
|
|> line(end = [0.34, -0.15])
|
||||||
|> yLine(-2.97, %)
|
|> yLine(length = -2.97)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
@ -1279,23 +1279,23 @@ fn streamServer = (serverPos) => {
|
|||||||
|
|
||||||
const sketch003s = startSketchOn(planeXZs2)
|
const sketch003s = startSketchOn(planeXZs2)
|
||||||
|> startProfileAt([-1, 4.114 + 1 + serverPos * 1.75], %)
|
|> startProfileAt([-1, 4.114 + 1 + serverPos * 1.75], %)
|
||||||
|> yLine(6.98, %)
|
|> yLine(length = 6.98)
|
||||||
|> xLine(length = 0.2)
|
|> xLine(length = 0.2)
|
||||||
|> yLine(-0.36, %)
|
|> yLine(length = -0.36)
|
||||||
|> xLine(length = 0.5)
|
|> xLine(length = 0.5)
|
||||||
|> tangentialArcTo([
|
|> tangentialArcTo([
|
||||||
0.3,
|
0.3,
|
||||||
17.15 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
17.15 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
||||||
], %)
|
], %)
|
||||||
|> yLine(-1.77, %)
|
|> yLine(length = -1.77)
|
||||||
|> tangentialArcTo([
|
|> tangentialArcTo([
|
||||||
-0.13,
|
-0.13,
|
||||||
14.89 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
14.89 + 4.114 + 1 + serverPos * 1.75 - 11.114
|
||||||
], %)
|
], %)
|
||||||
|> xLine(length = -0.52)
|
|> xLine(length = -0.52)
|
||||||
|> yLine(-0.42, %)
|
|> yLine(length = -0.42)
|
||||||
|> line(end = [0.34, -0.15])
|
|> line(end = [0.34, -0.15])
|
||||||
|> yLine(-2.97, %)
|
|> yLine(length = -2.97)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
|
@ -1541,7 +1541,7 @@ async fn kcl_test_shell_with_tag() {
|
|||||||
let code = r#"sketch001 = startSketchOn('XZ')
|
let code = r#"sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([61.74, 206.13], %)
|
|> startProfileAt([61.74, 206.13], %)
|
||||||
|> xLine(length = 305.11, tag = $seg01)
|
|> xLine(length = 305.11, tag = $seg01)
|
||||||
|> yLine(-291.85, %)
|
|> yLine(length = -291.85)
|
||||||
|> xLine(length = -segLen(seg01))
|
|> xLine(length = -segLen(seg01))
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
@ -2005,7 +2005,7 @@ async fn kcl_test_error_no_auth_websocket() {
|
|||||||
let code = r#"const sketch001 = startSketchOn('XZ')
|
let code = r#"const sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([61.74, 206.13], %)
|
|> startProfileAt([61.74, 206.13], %)
|
||||||
|> xLine(length = 305.11, tag = $seg01)
|
|> xLine(length = 305.11, tag = $seg01)
|
||||||
|> yLine(-291.85, %)
|
|> yLine(length = -291.85)
|
||||||
|> xLine(length = -segLen(seg01))
|
|> xLine(length = -segLen(seg01))
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
|
Reference in New Issue
Block a user