BREAKING: Change tangential arc to keyword args (#6266)

* Change tangentialArc, tangentialArcTo, and tangentialArcToRelative to keyword args

* Change tangentialArc offset to angle and convert to kw arg calls

* Fix lints

* Fix sketch errors and all unit tests passing

* Fix tangentialArcTo calls in KCL samples

* Update tangentialArc in samples

* Update sim test output

* Fix formatting

* Fix mistake in merge

* Fix gear rack sample

* Update output after more samples fixes

* Update gear rack output

* Add end label to docs snippet

* Fix to not add endAbsolute for an arc with radius or angle arguments

* Update docs outputs

* Fix formatting

* Fix executor tests

* Fix formatting

* Fix bench input files

* Fix spelling

* Improve error messages

---------

Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev>
This commit is contained in:
Jonathan Tran
2025-04-11 14:17:20 -04:00
committed by GitHub
parent 66f95d25f6
commit 319c60d4fa
129 changed files with 13063 additions and 17144 deletions

View File

@ -188,9 +188,9 @@ example = extrude(exampleSketch, length = 1)
sweepPath = startSketchOn(XZ)
|> startProfileAt([0.05, 0.05], %)
|> line(end = [0, 7])
|> tangentialArc({ offset = 90, radius = 5 }, %)
|> tangentialArc(angle = 90, radius = 5)
|> line(end = [-3, 0])
|> tangentialArc({ offset = -90, radius = 5 }, %)
|> tangentialArc(angle = -90, radius = 5)
|> line(end = [0, 7])
pipeHole = startSketchOn(XY)

View File

@ -65,7 +65,7 @@ case = startSketchOn(-XZ)
|> startProfileAt([-size, -size], %)
|> line(end = [2 * size, 0])
|> line(end = [0, 2 * size])
|> tangentialArcTo([-size, size], %)
|> tangentialArc(endAbsolute = [-size, size])
|> close()
|> extrude(length = 65)

View File

@ -128,8 +128,6 @@ layout: manual
* [`sweep`](kcl/sweep)
* [`tangentToEnd`](kcl/tangentToEnd)
* [`tangentialArc`](kcl/tangentialArc)
* [`tangentialArcTo`](kcl/tangentialArcTo)
* [`tangentialArcToRelative`](kcl/tangentialArcToRelative)
* [`toDegrees`](kcl/toDegrees)
* [`toRadians`](kcl/toRadians)
* [`translate`](kcl/translate)

View File

@ -57,7 +57,7 @@ case = startSketchOn(XY)
|> startProfileAt([-size, -size], %)
|> line(end = [2 * size, 0])
|> line(end = [0, 2 * size])
|> tangentialArcTo([-size, size], %)
|> tangentialArc(endAbsolute = [-size, size])
|> close(%)
|> extrude(length = 65)
@ -88,7 +88,7 @@ case = startSketchOn(XY)
|> startProfileAt([-size, -size], %)
|> line(end = [2 * size, 0])
|> line(end = [0, 2 * size])
|> tangentialArcTo([-size, size], %)
|> tangentialArc(endAbsolute = [-size, size])
|> close(%)
|> extrude(length = 65)

View File

@ -65,9 +65,9 @@ rotate(
sweepPath = startSketchOn(XZ)
|> startProfileAt([0.05, 0.05], %)
|> line(end = [0, 7])
|> tangentialArc({ offset = 90, radius = 5 }, %)
|> tangentialArc(angle = 90, radius = 5)
|> line(end = [-3, 0])
|> tangentialArc({ offset = -90, radius = 5 }, %)
|> tangentialArc(angle = -90, radius = 5)
|> line(end = [0, 7])
// Create a hole for the pipe.
@ -90,9 +90,9 @@ sweepSketch = startSketchOn(XY)
sweepPath = startSketchOn(XZ)
|> startProfileAt([0.05, 0.05], %)
|> line(end = [0, 7])
|> tangentialArc({ offset = 90, radius = 5 }, %)
|> tangentialArc(angle = 90, radius = 5)
|> line(end = [-3, 0])
|> tangentialArc({ offset = -90, radius = 5 }, %)
|> tangentialArc(angle = -90, radius = 5)
|> line(end = [0, 7])
// Create a hole for the pipe.
@ -115,9 +115,9 @@ sweepSketch = startSketchOn(XY)
sweepPath = startSketchOn(XZ)
|> startProfileAt([0.05, 0.05], %)
|> line(end = [0, 7])
|> tangentialArc({ offset = 90, radius = 5 }, %)
|> tangentialArc(angle = 90, radius = 5)
|> line(end = [-3, 0])
|> tangentialArc({ offset = -90, radius = 5 }, %)
|> tangentialArc(angle = -90, radius = 5)
|> line(end = [0, 7])
// Create a hole for the pipe.
@ -162,7 +162,7 @@ circleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)
sketch002 = startSketchOn(YZ)
sweepPath = startProfileAt([0, 0], sketch002)
|> yLine(length = 231.81)
|> tangentialArc({ radius = 80, offset = -90 }, %)
|> tangentialArc(radius = 80, angle = -90)
|> xLine(length = 384.93)
parts = sweep([rectangleSketch, circleSketch], path = sweepPath)

View File

@ -49,9 +49,9 @@ scale(
sweepPath = startSketchOn(XZ)
|> startProfileAt([0.05, 0.05], %)
|> line(end = [0, 7])
|> tangentialArc({ offset = 90, radius = 5 }, %)
|> tangentialArc(angle = 90, radius = 5)
|> line(end = [-3, 0])
|> tangentialArc({ offset = -90, radius = 5 }, %)
|> tangentialArc(angle = -90, radius = 5)
|> line(end = [0, 7])
// Create a hole for the pipe.
@ -96,7 +96,7 @@ circleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)
sketch002 = startSketchOn(YZ)
sweepPath = startProfileAt([0, 0], sketch002)
|> yLine(length = 231.81)
|> tangentialArc({ radius = 80, offset = -90 }, %)
|> tangentialArc(radius = 80, angle = -90)
|> xLine(length = 384.93)
parts = sweep([rectangleSketch, circleSketch], path = sweepPath)

View File

@ -30,7 +30,7 @@ segLen(tag: TagIdentifier): number
exampleSketch = startSketchOn(XZ)
|> startProfileAt([0, 0], %)
|> angledLine(angle = 60, length = 10, tag = $thing)
|> tangentialArc({ offset = -120, radius = 5 }, %)
|> tangentialArc(angle = -120, radius = 5)
|> angledLine(angle = -60, length = segLen(thing))
|> close()

View File

@ -103,7 +103,7 @@ case = startSketchOn(-XZ)
|> startProfileAt([-size, -size], %)
|> line(end = [2 * size, 0])
|> line(end = [0, 2 * size])
|> tangentialArcTo([-size, size], %)
|> tangentialArc(endAbsolute = [-size, size])
|> close()
|> extrude(length = 65)
@ -128,7 +128,7 @@ case = startSketchOn(XY)
|> startProfileAt([-size, -size], %)
|> line(end = [2 * size, 0])
|> line(end = [0, 2 * size])
|> tangentialArcTo([-size, size], %)
|> tangentialArc(endAbsolute = [-size, size])
|> close()
|> extrude(length = 65)
@ -156,7 +156,7 @@ case = startSketchOn(XY)
|> startProfileAt([-size, -size], %)
|> line(end = [2 * size, 0])
|> line(end = [0, 2 * size])
|> tangentialArcTo([-size, size], %)
|> tangentialArc(endAbsolute = [-size, size])
|> close()
|> extrude(length = 65)

View File

@ -103,9 +103,9 @@ example = extrude(sketch001, length = 10)
sketch0011 = startSketchOn(XY)
|> startProfileAt([6.77, 0], %)
|> yLine(length = 1.27)
|> tangentialArcTo([5.96, 2.37], %)
|> tangentialArcTo([-6.2, 2.44], %)
|> tangentialArcTo([-6.6, 1.82], %)
|> tangentialArc(endAbsolute = [5.96, 2.37])
|> tangentialArc(endAbsolute = [-6.2, 2.44])
|> tangentialArc(endAbsolute = [-6.6, 1.82])
|> yLine(length = -1.82)
|> mirror2d( axis = X )
|> extrude(length = 10)

File diff suppressed because it is too large Load Diff

View File

@ -47,9 +47,9 @@ sweep(
sweepPath = startSketchOn(XZ)
|> startProfileAt([0.05, 0.05], %)
|> line(end = [0, 7])
|> tangentialArc({ offset = 90, radius = 5 }, %)
|> tangentialArc(angle = 90, radius = 5)
|> line(end = [-3, 0])
|> tangentialArc({ offset = -90, radius = 5 }, %)
|> tangentialArc(angle = -90, radius = 5)
|> line(end = [0, 7])
// Create a hole for the pipe.
@ -102,7 +102,7 @@ circleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)
sketch002 = startSketchOn(YZ)
sweepPath = startProfileAt([0, 0], sketch002)
|> yLine(length = 231.81)
|> tangentialArc({ radius = 80, offset = -90 }, %)
|> tangentialArc(radius = 80, angle = -90)
|> xLine(length = 384.93)
sweep([rectangleSketch, circleSketch], path = sweepPath)
@ -120,7 +120,7 @@ circleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)
sketch002 = startSketchOn(YZ)
sweepPath = startProfileAt([0, 0], sketch002)
|> yLine(length = 231.81)
|> tangentialArc({ radius = 80, offset = -90 }, %)
|> tangentialArc(radius = 80, angle = -90)
|> xLine(length = 384.93)
sweep(circleSketch, path = sweepPath, sectional = true)

View File

@ -31,9 +31,9 @@ tangentToEnd(tag: TagIdentifier): number
pillSketch = startSketchOn(XZ)
|> startProfileAt([0, 0], %)
|> line(end = [20, 0])
|> tangentialArcToRelative([0, 10], %, $arc1)
|> tangentialArc(end = [0, 10], tag = $arc1)
|> angledLine(angle = tangentToEnd(arc1), length = 20)
|> tangentialArcToRelative([0, -10], %)
|> tangentialArc(end = [0, -10])
|> close()
pillExtrude = extrude(pillSketch, length = 10)
@ -46,9 +46,9 @@ pillExtrude = extrude(pillSketch, length = 10)
pillSketch = startSketchOn(XZ)
|> startProfileAt([0, 0], %)
|> line(end = [0, 20])
|> tangentialArcTo([10, 20], %, $arc1)
|> tangentialArc(endAbsolute = [10, 20], tag = $arc1)
|> angledLine(angle = tangentToEnd(arc1), length = 20)
|> tangentialArcToRelative([-10, 0], %)
|> tangentialArc(end = [-10, 0])
|> close()
pillExtrude = extrude(pillSketch, length = 10)

File diff suppressed because one or more lines are too long

View File

@ -45,9 +45,9 @@ translate(
sweepPath = startSketchOn(XZ)
|> startProfileAt([0.05, 0.05], %)
|> line(end = [0, 7])
|> tangentialArc({ offset = 90, radius = 5 }, %)
|> tangentialArc(angle = 90, radius = 5)
|> line(end = [-3, 0])
|> tangentialArc({ offset = -90, radius = 5 }, %)
|> tangentialArc(angle = -90, radius = 5)
|> line(end = [0, 7])
// Create a hole for the pipe.
@ -97,7 +97,7 @@ circleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)
sketch002 = startSketchOn(YZ)
sweepPath = startProfileAt([0, 0], sketch002)
|> yLine(length = 231.81)
|> tangentialArc({ radius = 80, offset = -90 }, %)
|> tangentialArc(radius = 80, angle = -90)
|> xLine(length = 384.93)
parts = sweep([rectangleSketch, circleSketch], path = sweepPath)

View File

@ -920,7 +920,7 @@ sketch001 = startSketchOn(XZ)
`sketch001 = startSketchOn(XZ)
|> startProfileAt([4.61, -14.01], %)
|> line(end = [12.73, -0.09])
|> tangentialArcTo([24.95, -5.38], %)
|> tangentialArc(endAbsolute = [24.95, -5.38])
|> close()`
)
})
@ -969,7 +969,7 @@ sketch001 = startSketchOn(XZ)
// expect the code to have changed
await expect(page.locator('.cm-content')).toHaveText(
`sketch001 = startSketchOn(XZ) |> startProfileAt([4.61, -14.01], %) |> line(end = [12.73, -0.09]) |> tangentialArcTo([24.95, -5.38], %) |> close()extrude001 = extrude(sketch001, length = 5)`
`sketch001 = startSketchOn(XZ) |> startProfileAt([4.61, -14.01], %) |> line(end = [12.73, -0.09]) |> tangentialArc(endAbsolute = [24.95, -5.38]) |> close()extrude001 = extrude(sketch001, length = 5)`
)
// Now hit undo
@ -982,7 +982,7 @@ sketch001 = startSketchOn(XZ)
.toHaveText(`sketch001 = startSketchOn(XZ)
|> startProfileAt([4.61, -14.01], %)
|> line(end = [12.73, -0.09])
|> tangentialArcTo([24.95, -5.38], %)
|> tangentialArc(endAbsolute = [24.95, -5.38])
|> close()`)
})
@ -998,7 +998,7 @@ sketch001 = startSketchOn(XZ)
sketch001 = startSketchOn(XZ)
|> startProfileAt([4.61, -10.01], %)
|> line(end = [12.73, -0.09])
|> tangentialArcTo([24.95, -0.38], %)
|> tangentialArc(endAbsolute = [24.95, -0.38])
|> close()
|> extrude(length = 5)`
)
@ -1072,7 +1072,7 @@ sketch001 = startSketchOn(XZ)
// we wait so it saves the code
await page.waitForTimeout(800)
// drag tangentialArcTo handle
// drag tangentialArc handle
const tangentEnd = await u.getBoundingBox('[data-overlay-index="1"]')
await page.dragAndDrop('#stream', '#stream', {
sourcePosition: { x: tangentEnd.x + 10, y: tangentEnd.y - 5 },
@ -1089,7 +1089,7 @@ sketch001 = startSketchOn(XZ)
`sketch001 = startSketchOn(XZ)
|> startProfileAt([2.71, -2.71], %)
|> line(end = [15.4, -2.78])
|> tangentialArcTo([27.6, -3.05], %)
|> tangentialArc(endAbsolute = [27.6, -3.05])
|> close()
|> extrude(length = 5)`,
{ shouldNormalise: true }
@ -1104,7 +1104,7 @@ sketch001 = startSketchOn(XZ)
`sketch001 = startSketchOn(XZ)
|> startProfileAt([2.71, -2.71], %)
|> line(end = [15.4, -2.78])
|> tangentialArcTo([24.95, -0.38], %)
|> tangentialArc(endAbsolute = [24.95, -0.38])
|> close()
|> extrude(length = 5)`,
{ shouldNormalise: true }
@ -1119,7 +1119,7 @@ sketch001 = startSketchOn(XZ)
`sketch001 = startSketchOn(XZ)
|> startProfileAt([2.71, -2.71], %)
|> line(end = [12.73, -0.09])
|> tangentialArcTo([24.95, -0.38], %)
|> tangentialArc(endAbsolute = [24.95, -0.38])
|> close()
|> extrude(length = 5)`,
{ shouldNormalise: true }
@ -1135,7 +1135,7 @@ sketch001 = startSketchOn(XZ)
`sketch001 = startSketchOn(XZ)
|> startProfileAt([4.61, -10.01], %)
|> line(end = [12.73, -0.09])
|> tangentialArcTo([24.95, -0.38], %)
|> tangentialArc(endAbsolute = [24.95, -0.38])
|> close()
|> extrude(length = 5)`,
{ shouldNormalise: true }

View File

@ -550,7 +550,7 @@ openSketch = startSketchOn(XY)
|> startProfileAt([-5, 0], %)
|> line(endAbsolute = [0, 5])
|> xLine(length = 5)
|> tangentialArcTo([10, 0], %)
|> tangentialArc(endAbsolute = [10, 0])
`
const viewPortSize = { width: 1000, height: 500 }
await page.setBodyDimensions(viewPortSize)
@ -634,8 +634,8 @@ openSketch = startSketchOn(XY)
// Wait for enter sketch mode to complete
await page.waitForTimeout(500)
await editor.expectState({
activeLines: [`|>tangentialArcTo([10,0],%)`],
highlightedCode: 'tangentialArcTo([10,0],%)',
activeLines: [`|>tangentialArc(endAbsolute=[10,0])`],
highlightedCode: 'tangentialArc(endAbsolute=[10,0])',
diagnostics: [],
})
})
@ -1624,7 +1624,7 @@ profile001 = circle(sketch001, center = [0, 0], radius = 500)
sketch002 = startSketchOn(XZ)
|> startProfileAt([0, 0], %)
|> xLine(length = -500)
|> tangentialArcTo([-2000, 500], %)`,
|> tangentialArc(endAbsolute = [-2000, 500])`,
},
{
targetType: 'rectangle',
@ -1640,7 +1640,7 @@ profile001 = startProfileAt([-400, -400], sketch001)
sketch002 = startSketchOn(XZ)
|> startProfileAt([0, 0], %)
|> xLine(length = -500)
|> tangentialArcTo([-2000, 500], %)`,
|> tangentialArc(endAbsolute = [-2000, 500])`,
},
]
sweepCases.map(({ initialCode, targetType, testPoint }) => {

View File

@ -63,7 +63,7 @@ test.describe('Sketch tests', { tag: ['@skipWin'] }, () => {
part002 = startSketchOn(-XZ)
${startProfileAt3}
|> xLine(length = width / 4)
|> tangentialArcTo([width / 2, 0], %)
|> tangentialArc(endAbsolute = [width / 2, 0])
|> xLine(length = -width / 4 + wireRadius)
|> yLine(length = wireOffset)
|> arc({
@ -119,7 +119,7 @@ test.describe('Sketch tests', { tag: ['@skipWin'] }, () => {
sketch001 = startSketchOn(XZ)
|> startProfileAt([2.61, -4.01], %)
|> xLine(length = 8.73)
|> tangentialArcTo([8.33, -1.31], %)`
|> tangentialArc(endAbsolute = [8.33, -1.31])`
)
})
@ -130,7 +130,7 @@ sketch001 = startSketchOn(XZ)
await expect(async () => {
await page.mouse.click(700, 200)
await page.getByText('tangentialArcTo([8.33, -1.31], %)').click()
await page.getByText('tangentialArc(endAbsolute = [8.33, -1.31])').click()
await expect(
page.getByRole('button', { name: 'Edit Sketch' })
).toBeEnabled({ timeout: 2000 })
@ -139,7 +139,7 @@ sketch001 = startSketchOn(XZ)
await page.waitForTimeout(600) // wait for animation
await page.getByText('tangentialArcTo([8.33, -1.31], %)').click()
await page.getByText('tangentialArc(endAbsolute = [8.33, -1.31])').click()
await page.keyboard.press('End')
await page.keyboard.down('Shift')
await page.keyboard.press('ArrowUp')
@ -212,7 +212,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
`sketch001 = startSketchOn(XZ)
|> startProfileAt([4.61, -14.01], %)
|> line(end = [12.73, -0.09])
|> tangentialArcTo([24.95, -5.38], %)
|> tangentialArc(endAbsolute = [24.95, -5.38])
|> arcTo({
interior = [20.18, -1.7],
end = [11.82, -1.16]
@ -262,7 +262,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
await expect(u.codeLocator).toHaveText(`sketch001 = startSketchOn(XZ)
|> startProfileAt([4.61, -14.01], %)
|> line(end = [12.73, -0.09])
|> tangentialArcTo([24.95, -5.38], %)
|> tangentialArc(endAbsolute = [24.95, -5.38])
|> arcTo({
interior = [20.18, -1.7],
end = [11.82, -1.16]
@ -326,7 +326,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
prevContent = await page.locator('.cm-content').innerText()
}
// drag tangentialArcTo handle
// drag tangentialArc handle
const tangentEnd = await u.getBoundingBox('[data-overlay-index="1"]')
await page.mouse.move(tangentEnd.x, tangentEnd.y - 5)
await page.mouse.down()
@ -407,7 +407,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
.toHaveText(`sketch001 = startSketchOn(XZ)
|> startProfileAt([6.44, -12.07], %)
|> line(end = [14.72, 1.97])
|> tangentialArcTo([26.92, -3.32], %)
|> tangentialArc(endAbsolute = [26.92, -3.32])
|> arcTo({
interior = [18.11, -3.73],
end = [9.77, -3.19]
@ -577,7 +577,7 @@ sketch001 = startSketchOn(XZ)
sketch001 = startSketchOn(XZ)
|> startProfileAt([4.61, -10.01], %)
|> line(end = [12.73, -0.09])
|> tangentialArcTo([24.95, -0.38], %)
|> tangentialArc(endAbsolute = [24.95, -0.38])
|> close()
|> extrude(length = 5)`
)
@ -646,7 +646,7 @@ sketch001 = startSketchOn(XZ)
await expect(page.locator('.cm-content')).not.toHaveText(prevContent)
prevContent = await page.locator('.cm-content').innerText()
// drag tangentialArcTo handle
// drag tangentialArc handle
const tangentEnd = await u.getBoundingBox('[data-overlay-index="1"]')
await page.dragAndDrop('#stream', '#stream', {
sourcePosition: { x: tangentEnd.x + 10, y: tangentEnd.y - 5 },
@ -663,7 +663,7 @@ sketch001 = startSketchOn(XZ)
`sketch001 = startSketchOn(XZ)
|> startProfileAt([7.12, -12.68], %)
|> line(end = [12.68, -1.09])
|> tangentialArcTo([24.89, 0.68], %)
|> tangentialArc(endAbsolute = [24.89, 0.68])
|> close()
|> extrude(length = 5)`,
{ shouldNormalise: true }
@ -685,7 +685,7 @@ sketch001 = startSketchOn(XZ)
sketch001 = startSketchOn(XZ)
|> startProfileAt([4.61, -14.01], %)
|> line(end = [12.73, -0.09])
|> tangentialArcTo([24.95, -5.38], %)
|> tangentialArc(endAbsolute = [24.95, -5.38])
|> close()
|> revolve(axis = X)`
)
@ -757,7 +757,7 @@ sketch001 = startSketchOn(XZ)
await expect(page.locator('.cm-content')).not.toHaveText(prevContent)
prevContent = await page.locator('.cm-content').innerText()
// drag tangentialArcTo handle
// drag tangentialArc handle
const tangentEnd = await u.getBoundingBox('[data-overlay-index="1"]')
await page.mouse.move(tangentEnd.x, tangentEnd.y - 5)
await page.mouse.down()
@ -771,7 +771,7 @@ sketch001 = startSketchOn(XZ)
`sketch001 = startSketchOn(XZ)
|> startProfileAt([6.44, -12.07], %)
|> line(end = [14.72, 1.97])
|> tangentialArcTo([24.95, -5.38], %)
|> tangentialArc(endAbsolute = [24.95, -5.38])
|> line(end = [1.97, 2.06])
|> close()
|> revolve(axis = X)`,
@ -1653,7 +1653,7 @@ profile003 = startProfileAt([206.63, -56.73], sketch001)
await page.waitForTimeout(600)
})
const codeFromTangentialArc = ` |> tangentialArcTo([39.49, 88.22], %)`
const codeFromTangentialArc = ` |> tangentialArc(endAbsolute = [39.49, 88.22])`
await test.step('check that tangential tool does not snap to other profile starts', async () => {
await toolbar.tangentialArcBtn.click()
await page.waitForTimeout(1000)
@ -1675,7 +1675,7 @@ profile003 = startProfileAt([206.63, -56.73], sketch001)
// check pixel is now gray at tanArcLocation to verify code has executed
await scene.expectPixelColor([26, 26, 26], tanArcLocation, 15)
await editor.expectEditor.not.toContain(
`tangentialArcTo([39.49, 88.22], %)`
`tangentialArc(endAbsolute = [39.49, 88.22])`
)
})
@ -1876,7 +1876,7 @@ profile003 = startProfileAt([206.63, -56.73], sketch001)
await endArcStartLine()
await editor.expectEditor.toContain(
`|> tangentialArcTo([16.61, 4.14], %)`
`|> tangentialArc(endAbsolute = [16.61, 4.14])`
)
// Add a three-point arc segment
@ -2416,7 +2416,7 @@ sketch001 = startSketchOn(XZ)
profile001 = startProfileAt([-63.43, 193.08], sketch001)
|> line(end = [168.52, 149.87])
|> line(end = [190.29, -39.18])
|> tangentialArcTo([319.63, 129.65], %)
|> tangentialArc(endAbsolute = [319.63, 129.65])
|> line(end = [-217.65, -21.76])
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()

View File

@ -684,7 +684,7 @@ test.describe(
await page.mouse.click(startXPx + PUR * 30, 500 - PUR * 20)
code += `
|> tangentialArcTo([551.2, -62.01], %)`
|> tangentialArc(endAbsolute = [551.2, -62.01])`
await expect(u.codeLocator).toHaveText(code)
// click tangential arc tool again to unequip it
@ -778,7 +778,7 @@ test.describe(
await page.mouse.click(startXPx + PUR * 30, 500 - PUR * 20)
code += `
|> tangentialArcTo([551.2, -62.01], %)`
|> tangentialArc(endAbsolute = [551.2, -62.01])`
await expect(u.codeLocator).toHaveText(code)
await page

View File

@ -98,7 +98,7 @@ part001 = startSketchOn(XZ)
intersectTag: a,
offset: 0
}, %)
|> tangentialArcTo([13.14 + 0, 13.14], %)
|> tangentialArc(endAbsolute = [13.14 + 0, 13.14])
|> close()
|> extrude(length = 5 + 7)
`

View File

@ -229,7 +229,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
intersectTag = a,
offset = 9
}, %)
|> tangentialArcTo([5 + 3.14 + 13, 20 + 3.14], %)
|> tangentialArc(endAbsolute = [5 + 3.14 + 13, 20 + 3.14])
`
)
})
@ -477,7 +477,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
intersectTag = a,
offset = 9
}, %)
|> tangentialArcTo([3.14 + 13, 3.14], %)
|> tangentialArc(endAbsolute = [3.14 + 13, 3.14])
`
)
localStorage.setItem('disableAxis', 'true')
@ -602,7 +602,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
intersectTag = a,
offset = 9
}, %)
|> tangentialArcTo([3.14 + 13, 1.14], %)
|> tangentialArc(endAbsolute = [3.14 + 13, 1.14])
`
)
localStorage.setItem('disableAxis', 'true')
@ -735,11 +735,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
locator: '[data-overlay-toolbar-index="11"]',
})
})
test('for segment [tangentialArcTo]', async ({
page,
editor,
homePage,
}) => {
test('for segment [tangentialArc]', async ({ page, editor, homePage }) => {
await page.addInitScript(async () => {
localStorage.setItem(
'persistCode',
@ -762,7 +758,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
intersectTag = a,
offset = 9
}, %)
|> tangentialArcTo([3.14 + 13, -3.14], %)
|> tangentialArc(endAbsolute = [3.14 + 13, -3.14])
`
)
localStorage.setItem('disableAxis', 'true')
@ -787,28 +783,29 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
const clickUnconstrained = _clickUnconstrained(page, editor)
const clickConstrained = _clickConstrained(page, editor)
const tangentialArcTo = await u.getBoundingBox(
'[data-overlay-index="12"]'
)
const tangentialArc = await u.getBoundingBox('[data-overlay-index="12"]')
let ang = await u.getAngle('[data-overlay-index="12"]')
console.log('tangentialArcTo')
console.log('tangentialArc')
await clickConstrained({
hoverPos: { x: tangentialArcTo.x, y: tangentialArcTo.y },
hoverPos: { x: tangentialArc.x, y: tangentialArc.y },
constraintType: 'xAbsolute',
expectBeforeUnconstrained: 'tangentialArcTo([3.14 + 13, -3.14], %)',
expectAfterUnconstrained: 'tangentialArcTo([16.14, -3.14], %)',
expectFinal: 'tangentialArcTo([xAbs001, -3.14], %)',
expectBeforeUnconstrained:
'tangentialArc(endAbsolute = [3.14 + 13, -3.14])',
expectAfterUnconstrained: 'tangentialArc(endAbsolute = [16.14, -3.14])',
expectFinal: 'tangentialArc(endAbsolute = [xAbs001, -3.14])',
ang: ang + 180,
steps: 6,
locator: '[data-overlay-toolbar-index="12"]',
})
console.log('tangentialArcTo2')
console.log('tangentialArc2')
await clickUnconstrained({
hoverPos: { x: tangentialArcTo.x, y: tangentialArcTo.y },
hoverPos: { x: tangentialArc.x, y: tangentialArc.y },
constraintType: 'yAbsolute',
expectBeforeUnconstrained: 'tangentialArcTo([xAbs001, -3.14], %)',
expectAfterUnconstrained: 'tangentialArcTo([xAbs001, yAbs001], %)',
expectFinal: 'tangentialArcTo([xAbs001, -3.14], %)',
expectBeforeUnconstrained:
'tangentialArc(endAbsolute = [xAbs001, -3.14])',
expectAfterUnconstrained:
'tangentialArc(endAbsolute = [xAbs001, yAbs001])',
expectFinal: 'tangentialArc(endAbsolute = [xAbs001, -3.14])',
ang: ang + 180,
steps: 10,
locator: '[data-overlay-toolbar-index="12"]',
@ -1091,7 +1088,7 @@ part001 = startSketchOn(XZ)
intersectTag = a,
offset = 9
}, %)
|> tangentialArcTo([3.14 + 13, 1.14], %)
|> tangentialArc(endAbsolute = [3.14 + 13, 1.14])
|> arcTo({
interior = [16.25, 5.12],
end = [21.61, 4.15]
@ -1161,8 +1158,8 @@ part001 = startSketchOn(XZ)
ang = await u.getAngle('[data-overlay-index="12"]')
await deleteSegmentSequence({
hoverPos: { x: segmentToDelete.x, y: segmentToDelete.y },
codeToBeDeleted: 'tangentialArcTo([3.14 + 13, 1.14], %)',
stdLibFnName: 'tangentialArcTo',
codeToBeDeleted: 'tangentialArc(endAbsolute = [3.14 + 13, 1.14])',
stdLibFnName: 'tangentialArc',
ang: ang + 180,
steps: 6,
locator: '[data-overlay-toolbar-index="12"]',

View File

@ -535,7 +535,7 @@ part001 = startSketchOn(XZ)
intersectTag = a,
offset = 0
}, %)
|> tangentialArcTo([13.14 + 0, 13.14], %)
|> tangentialArc(endAbsolute = [13.14 + 0, 13.14])
|> close()
|> extrude(length = 5 + 7)
`
@ -574,7 +574,7 @@ part001 = startSketchOn(XZ)
const extrusionTopCap: Coords2d = [800, 240]
const flatExtrusionFace: Coords2d = [960, 160]
const tangentialArcTo: Coords2d = [840, 160]
const tangentialArc: Coords2d = [840, 160]
const close: Coords2d = [720, 200]
const nothing: Coords2d = [600, 200]
const closeEdge: Coords2d = [744, 233]
@ -671,28 +671,28 @@ part001 = startSketchOn(XZ)
)
await checkCodeAtHoverPosition(
'tangentialArcTo',
tangentialArcTo,
'tangentialArcTo([13.14+0,13.14],%)extrude(length=5+7)',
'tangentialArcTo([13.14 + 0, 13.14], %)'
'tangentialArc',
tangentialArc,
'tangentialArc(endAbsolute=[13.14+0,13.14])extrude(length=5+7)',
'tangentialArc(endAbsolute = [13.14 + 0, 13.14])'
)
await checkCodeAtHoverPosition(
'tangentialArcEdge',
tangentialArcEdge,
`tangentialArcTo([13.14+0,13.14],%)`,
'tangentialArcTo([13.14 + 0, 13.14], %)'
`tangentialArc(endAbsolute=[13.14+0,13.14])`,
'tangentialArc(endAbsolute = [13.14 + 0, 13.14])'
)
await checkCodeAtHoverPosition(
'tangentialArcOppositeEdge',
tangentialArcOppositeEdge,
`tangentialArcTo([13.14+0,13.14],%)`,
'tangentialArcTo([13.14 + 0, 13.14], %)'
`tangentialArc(endAbsolute=[13.14+0,13.14])`,
'tangentialArc(endAbsolute = [13.14 + 0, 13.14])'
)
await checkCodeAtHoverPosition(
'tangentialArcAdjacentEdge',
tangentialArcAdjacentEdge,
`tangentialArcTo([13.14+0,13.14],%)`,
'tangentialArcTo([13.14 + 0, 13.14], %)'
`tangentialArc(endAbsolute=[13.14+0,13.14])`,
'tangentialArc(endAbsolute = [13.14 + 0, 13.14])'
)
await checkCodeAtHoverPosition(
@ -940,7 +940,7 @@ part001 = startSketchOn(XZ)
},
{
pos: [1107, 161],
expectedCode: 'tangentialArcTo([167.95, -28.85], %)',
expectedCode: 'tangentialArc(endAbsolute = [167.95, -28.85])',
},
] as const
await page.addInitScript(

View File

@ -10,25 +10,25 @@ fn dividerSketch(plane) {
sketch000 = startSketchOn(plane)
|> startProfileAt([-16.82, 21.2], %)
|> line(end = [-0.13, -1.27])
|> tangentialArcTo([-15.94, profileStartY(%) - 7.73], %)
|> tangentialArcTo([-16.6, profileStartY(%) - 15.52], %)
|> tangentialArcTo([-18.38, profileStartY(%) - 18.63], %)
|> tangentialArc(endAbsolute = [-15.94, profileStartY(%) - 7.73])
|> tangentialArc(endAbsolute = [-16.6, profileStartY(%) - 15.52])
|> tangentialArc(endAbsolute = [-18.38, profileStartY(%) - 18.63])
|> line(end = [-1.25, -2.6])
|> xLine(length = 6.04)
|> line(end = [6.68, 7.87])
|> tangentialArcTo([10.06, profileStartY(%) - 12.69], %)
|> tangentialArc(endAbsolute = [10.06, profileStartY(%) - 12.69])
|> line(end = [7.28, -8.47])
|> xLine(length = 5.98)
|> line(end = [-1.3, 3.01])
|> tangentialArcTo([22.45, profileStartY(%) - 2.84], %)
|> tangentialArcTo([25.08, profileStartY(%) + 6.42], %)
|> tangentialArc(endAbsolute = [22.45, profileStartY(%) - 2.84])
|> tangentialArc(endAbsolute = [25.08, profileStartY(%) + 6.42])
|> line(end = [2.35, 16.36])
|> line(end = [1.78, 1.15])
|> tangentialArcTo([23.93, profileStartY(%) + 27.29], %)
|> tangentialArc(endAbsolute = [23.93, profileStartY(%) + 27.29])
|> line(end = [-1.92, 0.21])
|> line(end = [-3.74, -26.54])
|> tangentialArcTo([15.13, profileStartY(%) - 1.72], %)
|> tangentialArcTo(profileStart(%), %)
|> tangentialArc(endAbsolute = [15.13, profileStartY(%) - 1.72])
|> tangentialArc(endAbsolute = profileStart(%))
|> close()
return sketch000
}

View File

@ -17,66 +17,42 @@ brakeCaliperSketch = startSketchOn(XY)
0,
rotorTotalThickness + caliperTolerance - caliperInnerEdgeRadius
])
|> tangentialArc({
offset = 90,
radius = caliperInnerEdgeRadius
}, %)
|> tangentialArc(angle = 90, radius = caliperInnerEdgeRadius)
|> line(end = [
-caliperPadLength + 2 * caliperInnerEdgeRadius,
0
])
|> tangentialArc({
offset = -90,
radius = caliperInnerEdgeRadius
}, %)
|> tangentialArc(angle = -90, radius = caliperInnerEdgeRadius)
|> line(end = [
0,
caliperThickness - (caliperInnerEdgeRadius * 2)
])
|> tangentialArc({
offset = -90,
radius = caliperInnerEdgeRadius
}, %)
|> tangentialArc(angle = -90, radius = caliperInnerEdgeRadius)
|> line(end = [
caliperPadLength + caliperThickness - caliperOuterEdgeRadius - caliperInnerEdgeRadius,
0
])
|> tangentialArc({
offset = -90,
radius = caliperOuterEdgeRadius
}, %)
|> tangentialArc(angle = -90, radius = caliperOuterEdgeRadius)
|> line(end = [
0,
-2 * caliperTolerance - (2 * caliperThickness) - rotorTotalThickness + 2 * caliperOuterEdgeRadius
])
|> tangentialArc({
offset = -90,
radius = caliperOuterEdgeRadius
}, %)
|> tangentialArc(angle = -90, radius = caliperOuterEdgeRadius)
|> line(end = [
-caliperPadLength - caliperThickness + caliperOuterEdgeRadius + caliperInnerEdgeRadius,
0
])
|> tangentialArc({
offset = -90,
radius = caliperInnerEdgeRadius
}, %)
|> tangentialArc(angle = -90, radius = caliperInnerEdgeRadius)
|> line(end = [
0,
caliperThickness - (2 * caliperInnerEdgeRadius)
])
|> tangentialArc({
offset = -90,
radius = caliperInnerEdgeRadius
}, %)
|> tangentialArc(angle = -90, radius = caliperInnerEdgeRadius)
|> line(end = [
caliperPadLength - (2 * caliperInnerEdgeRadius),
0
])
|> tangentialArc({
offset = 90,
radius = caliperInnerEdgeRadius
}, %)
|> tangentialArc(angle = 90, radius = caliperInnerEdgeRadius)
|> close()
// Revolve the brake caliper sketch

View File

@ -17,7 +17,7 @@ tireSketch = startSketchOn(XY)
],
tag = $edge1,
)
|> tangentialArc({ offset = -90, radius = bendRadius }, %)
|> tangentialArc(angle = -90, radius = bendRadius)
|> line(endAbsolute = [
tireOuterDiameter / 2,
tireDepth / 2 - tireTreadOffset
@ -36,7 +36,7 @@ tireSketch = startSketchOn(XY)
tireOuterDiameter / 2,
-tireDepth / 2 + bendRadius
])
|> tangentialArc({ offset = -90, radius = bendRadius }, %)
|> tangentialArc(angle = -90, radius = bendRadius)
|> line(endAbsolute = [tireInnerDiameter / 2, -tireDepth / 2], tag = $edge2)
|> close()

View File

@ -26,7 +26,7 @@ fn lug(plane, length, diameter) {
|> angledLine(angle = 70, lengthY = lugHeadLength)
|> xLine(endAbsolute = lugDiameter / 2)
|> yLine(endAbsolute = lugLength)
|> tangentialArc({ offset = 90, radius = fromMm(3) }, %)
|> tangentialArc(angle = 90, radius = fromMm(3))
|> xLine(endAbsolute = 0 + .001, tag = $c1)
|> yLine(endAbsolute = lugThreadDepth)
|> xLine(endAbsolute = lugThreadDiameter)

View File

@ -19,17 +19,11 @@ fn cycloidalGear(gearPitch, gearHeight, holeDiameter, helixAngle) {
angleEnd = -90 + helixAngleP,
radius = gearPitch
}, %)
|> tangentialArc({
radius = gearPitch * 1.67,
offset = 60
}, %)
|> tangentialArc({ radius = gearPitch, offset = -180 }, %)
|> tangentialArc({
radius = gearPitch * 1.67,
offset = 60
}, %)
|> tangentialArc({ radius = gearPitch, offset = -180 }, %)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(radius = gearPitch * 1.67, angle = 60)
|> tangentialArc(radius = gearPitch, angle = -180)
|> tangentialArc(radius = gearPitch * 1.67, angle = 60)
|> tangentialArc(radius = gearPitch, angle = -180)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close(%)
|> hole(circle(center = [0, 0], radius = holeDiameter / 2), %)
return gearProfile

View File

@ -184,15 +184,15 @@ handlePlane = startSketchOn(offsetPlane(XY, offset = handleHeightAboveTheFloor))
handleProfilePath = startProfileAt([0 + handleOffset, 0], handlePlane)
|> yLine(length = -handleLengthSegmentA)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
handleFillet + handleOffset,
-handleDepth
], %)
])
|> xLine(length = handleLengthSegmentB)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
handleOffset + handleWidth,
-handleLengthSegmentA
], %)
])
|> yLine(length = handleLengthSegmentA)
handleSectionPlane = startSketchOn(XZ)
handleProfileSection = circle(

View File

@ -33,9 +33,9 @@ fn primaryTube(n, angle001, length001, length002, length003) {
sweepPath = startSketchOn(sweepPlane)
|> startProfileAt([0, plateHeight], %)
|> line(end = [0, length001])
|> tangentialArc({ offset = -80, radius = bendRadius }, %, $arc01)
|> tangentialArc(angle = -80, radius = bendRadius, tag = $arc01)
|> angledLine(angle = tangentToEnd(arc01), length = length002)
|> tangentialArc({ offset = 85, radius = bendRadius }, %, $arc02)
|> tangentialArc(angle = 85, radius = bendRadius, tag = $arc02)
|> angledLine(angle = tangentToEnd(arc02), length = length003)
// Create the cross section of each tube and sweep them
@ -57,21 +57,21 @@ primaryTube(3, 25.2, 5, 5, 3)
flangeSketch = startSketchOn(XY)
|> startProfileAt([3 + 1.3, -1.25], %)
|> xLine(length = -2.6, tag = $seg01)
|> tangentialArc({ radius = .3, offset = -40 }, %)
|> tangentialArc({ radius = .9, offset = 80 }, %)
|> tangentialArc({ radius = .3, offset = -40 }, %)
|> tangentialArc(radius = .3, angle = -40)
|> tangentialArc(radius = .9, angle = 80)
|> tangentialArc(radius = .3, angle = -40)
|> xLine(length = -1.4, tag = $seg03)
|> yLine(length = segLen(seg01), tag = $seg04)
|> xLine(length = 3.1, tag = $seg05)
|> tangentialArc({ radius = .3, offset = -40 }, %)
|> tangentialArc({ radius = 1.5, offset = 80 }, %)
|> tangentialArc({ radius = .3, offset = -40 }, %)
|> tangentialArc(radius = .3, angle = -40)
|> tangentialArc(radius = 1.5, angle = 80)
|> tangentialArc(radius = .3, angle = -40)
|> xLine(length = segLen(seg05), tag = $seg07)
|> yLine(endAbsolute = profileStartY(%), tag = $seg08)
|> xLine(length = -segLen(seg03), tag = $seg09)
|> tangentialArc({ radius = .3, offset = -40 }, %)
|> tangentialArc({ radius = .9, offset = 80 }, %)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(radius = .3, angle = -40)
|> tangentialArc(radius = .9, angle = 80)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
// Create openings in the flange to accommodate each tube

View File

@ -36,9 +36,9 @@ fn slot(sketch1, start, end, width) {
ystart = width / 2 * sin(toRadians(angle - 90)) + start[1]
slotSketch = startProfileAt([xstart, ystart], sketch1)
|> angledLine(angle = angle, length = dist)
|> tangentialArc({ radius = width / 2, offset = 180 }, %)
|> tangentialArc(radius = width / 2, angle = 180)
|> angledLine(angle = angle, length = -dist)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
return slotSketch
}

View File

@ -127,7 +127,7 @@ sketch006 = startSketchOn(XZ)
|> yLine(length = 10)
|> line(end = [0.6, 0])
|> yLine(length = -.05)
|> tangentialArc({ radius = 0.6, offset = -90 }, %)
|> tangentialArc(radius = 0.6, angle = -90)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> revolve(axis = Y)
@ -192,15 +192,15 @@ sketch011 = startSketchOn(XZ)
sketch012 = startSketchOn(offsetPlane(XZ, offset = handleThickness / 2))
|> startProfileAt([2.3, 6.4], %)
|> line(end = [0.56, 0])
|> tangentialArcTo([4.1, 5.26], %)
|> tangentialArcTo([4.17, 1.6], %)
|> tangentialArcTo([3.13, 0.61], %)
|> tangentialArc(endAbsolute = [4.1, 5.26])
|> tangentialArc(endAbsolute = [4.17, 1.6])
|> tangentialArc(endAbsolute = [3.13, 0.61])
|> line(end = [-1.09, 0])
|> line(end = [0, 0.43])
|> line(end = [0.99, -0.02])
|> tangentialArcTo([3.63, 1.6], %)
|> tangentialArcTo([3.56, 5.15], %)
|> tangentialArcTo([2.72, 5.88], %)
|> tangentialArc(endAbsolute = [3.63, 1.6])
|> tangentialArc(endAbsolute = [3.56, 5.15])
|> tangentialArc(endAbsolute = [2.72, 5.88])
|> line(end = [-0.4, 0])
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()

View File

@ -24,13 +24,13 @@ rackBody = startSketchOn(XY)
fn tooth() {
toothSketch = startSketchOn(XY)
|> startProfileAt([-length / 2 + 0.567672, minHeight], %)
|> tangentialArcToRelative([0.157636, 0.110378], %)
|> tangentialArc(end = [0.157636, 0.110378])
|> line(end = [0.329118, 0.904244])
|> tangentialArcToRelative([0.157636, 0.110378], %)
|> tangentialArc(end = [0.157636, 0.110378])
|> line(end = [0.186505, 0])
|> tangentialArcToRelative([0.157636, -0.110378], %)
|> tangentialArc(end = [0.157636, -0.110378])
|> line(end = [0.329118, -0.904244])
|> tangentialArcToRelative([0.157636, -0.110378], %)
|> tangentialArc(end = [0.157636, -0.110378])
|> close()
|> extrude(length = width)
return toothSketch
@ -44,7 +44,7 @@ teeth = tooth()
endCapTooth = startSketchOn(XY)
|> startProfileAt([-length / 2, 11.849525], %)
|> line(end = [0.314524, -0.864147])
|> tangentialArcToRelative([0.157636, -0.110378], %)
|> tangentialArc(end = [0.157636, -0.110378])
|> line(endAbsolute = [-length / 2, minHeight])
|> close()
|> extrude(length = width)
@ -53,7 +53,7 @@ endCapTooth = startSketchOn(XY)
endCapTooth2 = startSketchOn(XY)
|> startProfileAt([length / 2, 11.849525], %)
|> line(end = [-0.314524, -0.864147])
|> tangentialArcToRelative([-0.157636, -0.110378], %)
|> tangentialArc(end = [-0.157636, -0.110378])
|> line(endAbsolute = [length / 2, minHeight])
|> close()
|> extrude(length = width)

View File

@ -18,7 +18,7 @@ iBeam = startSketchOn(-XZ)
|> xLine(length = flangeWidth / 2)
|> yLine(length = -flangeThickness)
|> xLine(endAbsolute = webThickness / 2 + rootRadius)
|> tangentialArc({ radius = rootRadius, offset = 90 }, %)
|> tangentialArc(radius = rootRadius, angle = 90)
|> yLine(endAbsolute = 0)
|> mirror2d(axis = X)
|> mirror2d(axis = Y)

View File

@ -74,11 +74,11 @@ fn keyFn(originStart, keyWidth, keyHeight, repeats, color) {
radius = 0.1
}, %)
|> angledLine(angle = 0, length = keyWidth - .2, tag = $rectangleSegmentA001)
|> tangentialArc({ radius = 0.1, offset = 90 }, %)
|> tangentialArc(radius = 0.1, angle = 90)
|> angledLine(angle = segAng(rectangleSegmentA001) + 90, length = keyHeight - .2, tag = $rectangleSegmentB001)
|> tangentialArc({ radius = 0.1, offset = 90 }, %)
|> tangentialArc(radius = 0.1, angle = 90)
|> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001), tag = $rectangleSegmentC001)
|> tangentialArc({ radius = 0.1, offset = 90 }, %)
|> tangentialArc(radius = 0.1, angle = 90)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $rectangleSegmentD001)
|> close()
|> extrude(length = keyDepth)

View File

@ -69,7 +69,7 @@ customPlane = {
}
sketch003 = startSketchOn(customPlane)
|> startProfileAt([0, 0], %)
|> tangentialArc({ offset = 60, radius = height }, %)
|> tangentialArc(angle = 60, radius = height)
|> angledLine(angle = 60, endAbsoluteY = 0)
|> close()
|> extrude(length = wallThickness)
@ -85,11 +85,11 @@ sketch004 = startSketchOn(sketch002, 'END')
|> angledLine(angle = 60, endAbsoluteY = segEndY(seg01))
|> yLine(endAbsolute = height)
|> xLine(length = wallThickness)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
(frontLength - wallsWidth) / 2 + wallsWidth,
height - ((height - exitHeight) / 2)
], %)
|> tangentialArcTo([frontLength, exitHeight], %)
])
|> tangentialArc(endAbsolute = [frontLength, exitHeight])
|> yLine(endAbsolute = 0)
|> close(tag = $seg04)
|> extrude(length = wallThickness)
@ -110,11 +110,11 @@ sketch005 = startSketchOn(customPlane2)
|> startProfileAt([0, 0], %)
|> yLine(endAbsolute = height)
|> xLine(endAbsolute = wallsWidth)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
(frontLength - wallsWidth) / 2 + wallsWidth,
height - ((height - exitHeight) / 2)
], %)
|> tangentialArcTo([frontLength, exitHeight], %)
])
|> tangentialArc(endAbsolute = [frontLength, exitHeight])
|> yLine(endAbsolute = 0, tag = $seg03)
|> close()
|> extrude(length = wallThickness)

View File

@ -37,49 +37,25 @@ bracketProfile = startSketchOn(XZ)
0
], %)
|> xLine(length = flangeLength)
|> tangentialArc({
radius = exteriorBendRadius,
offset = bendAngle
}, %)
|> tangentialArc(radius = exteriorBendRadius, angle = bendAngle)
|> angledLine(angle = bendAngle, endAbsoluteY = hatHeight - thickness, tag = $seg01)
|> tangentialArc({
radius = interiorBendRadius,
offset = -bendAngle
}, %)
|> tangentialArc(radius = interiorBendRadius, angle = -bendAngle)
|> xLine(endAbsolute = 0, tag = $seg02)
|> xLine(length = segLen(seg02))
|> tangentialArc({
radius = interiorBendRadius,
offset = -bendAngle
}, %)
|> tangentialArc(radius = interiorBendRadius, angle = -bendAngle)
|> angledLine(angle = -bendAngle, length = segLen(seg01))
|> tangentialArc({
radius = exteriorBendRadius,
offset = bendAngle
}, %)
|> tangentialArc(radius = exteriorBendRadius, angle = bendAngle)
|> xLine(length = flangeLength)
|> yLine(length = thickness, tag = $seg03)
|> xLine(length = -flangeLength, tag = $seg04)
|> tangentialArc({
radius = interiorBendRadius,
offset = -bendAngle
}, %)
|> tangentialArc(radius = interiorBendRadius, angle = -bendAngle)
|> angledLine(angle = 180 - bendAngle, length = segLen(seg01))
|> tangentialArc({
radius = exteriorBendRadius,
offset = bendAngle
}, %)
|> tangentialArc(radius = exteriorBendRadius, angle = bendAngle)
|> xLine(endAbsolute = 0, tag = $seg05)
|> xLine(length = -segLen(seg05))
|> tangentialArc({
radius = exteriorBendRadius,
offset = bendAngle
}, %)
|> tangentialArc(radius = exteriorBendRadius, angle = bendAngle)
|> angledLine(angle = bendAngle - 180, length = segLen(seg01))
|> tangentialArc({
radius = interiorBendRadius,
offset = -bendAngle
}, %)
|> tangentialArc(radius = interiorBendRadius, angle = -bendAngle)
|> xLine(length = -flangeLength, tag = $seg06)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $seg07)
|> close()

View File

@ -10,41 +10,41 @@ let corner_radius = 5.0
let brace_base = startSketchOn(XY)
|> startProfileAt([corner_radius, 0], %)
|> line(end = [width - corner_radius, 0.0])
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|> tangentialArc(end = [corner_radius, corner_radius])
|> yLine(length = 25.0 - corner_radius)
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|> tangentialArc(end = [-corner_radius, corner_radius])
|> xLine(length = -(d_wrist_circumference[0] - (corner_radius * 2)))
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|> tangentialArc(end = [-corner_radius, corner_radius])
|> yLine(length = length - 25.0 - 23.0 - (corner_radius * 2))
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|> tangentialArc(end = [corner_radius, corner_radius])
|> xLine(length = 15.0 - (corner_radius * 2))
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|> tangentialArc(end = [corner_radius, corner_radius])
|> yLine(length = 23.0 - corner_radius)
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|> tangentialArc(end = [-corner_radius, corner_radius])
|> xLine(length = -(hand_thickness + 15.0 + 15.0 - (corner_radius * 2)))
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|> tangentialArc(end = [-corner_radius, -corner_radius])
|> yLine(length = -(23.0 - corner_radius))
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|> tangentialArc(end = [corner_radius, -corner_radius])
|> xLine(length = 15.0 - (corner_radius * 2))
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|> tangentialArc(end = [corner_radius, -corner_radius])
|> yLine(length = -(length - 25.0 - 23.0 - (corner_radius * 2)))
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|> tangentialArc(end = [-corner_radius, -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], %)
|> tangentialArc(end = [-corner_radius, -corner_radius])
|> yLine(length = -(25.0 - corner_radius))
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|> tangentialArc(end = [corner_radius, -corner_radius])
|> close()
let inner = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> xLine(length = 1.0)
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|> tangentialArc(end = [corner_radius, corner_radius])
|> yLine(length = 25.0 - (corner_radius * 2))
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|> tangentialArc(end = [-corner_radius, corner_radius])
|> xLine(length = -1.0)
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|> tangentialArc(end = [-corner_radius, -corner_radius])
|> yLine(length = -(25.0 - (corner_radius * 2)))
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|> tangentialArc(end = [corner_radius, -corner_radius])
|> close()
let final = brace_base

View File

@ -11,17 +11,17 @@ const wallMountL = 8
const bracket = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line(end = [0, wallMountL])
|> tangentialArc({
radius: filletR,
offset: 90
}, %)
|> tangentialArc(
radius = filletR,
angle = 90,
)
|> line(end = [-shelfMountL, 0])
|> line(end = [0, -thickness])
|> line(end = [shelfMountL, 0])
|> tangentialArc({
radius: filletR - thickness,
offset: -90
}, %)
|> tangentialArc(
radius = filletR - thickness,
angle = -90,
)
|> line(end = [0, -wallMountL])
|> close()
|> extrude(length = width)

View File

@ -763,9 +763,9 @@ const sketch010fl = startSketchOn(extrude001fl, 'START')
originStart[2] + .81 - (.438 / 2)
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([-0.66 - originStart[0],originStart[2] + .81 + .438 / 2], %)
|> tangentialArc(endAbsolute = [-0.66 - originStart[0],originStart[2] + .81 + .438 / 2])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, 1],
@ -781,12 +781,12 @@ const sketch011fl = startSketchOn(extrude001fl, 'START')
originStart[2] + railHeight * 1.75 / 2 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
-0.66 - originStart[0],originStart[2]+
railHeight * 1.75 / 2 - (.438 / 2)
], %)
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0],
originStart[2] + railHeight * 1.75 / 2 - (.438 / 2)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
const extrude011fl = extrude(sketch011fl, length = -thickness)
@ -798,12 +798,12 @@ const sketch012fl = startSketchOn(extrude001fl, 'START')
railHeight * 1.75 - .81 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0], originStart[2]+
railHeight * 1.75 - .81 - (.438 / 2)
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, -1],
@ -1006,12 +1006,12 @@ const sketch010fr = startSketchOn(extrude001fr, 'START')
originStart[2] + .81 - (.438 / 2)
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0],
originStart[2] + .81 + .438 / 2
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, 1],
@ -1027,12 +1027,12 @@ const sketch011fr = startSketchOn(extrude001fr, 'START')
originStart[2] + railHeight * 1.75 / 2 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0],
originStart[2] + railHeight * 1.75 / 2 - (.438 / 2)
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
const extrude011fr = extrude(sketch011fr, length = -thickness)
@ -1044,12 +1044,12 @@ const sketch012fr = startSketchOn(extrude001fr, 'START')
originStart[2] + railHeight * 1.75 - .81 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0],
originStart[2] + railHeight * 1.75 - .81 - (.438 / 2)
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, -1],
@ -1252,12 +1252,12 @@ const sketch010rr = startSketchOn(extrude001rr, 'START')
originStart[2] + .81 - (.438 / 2)
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0]+1.5-serverDepth,
originStart[2] + .81 + .438 / 2
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, 1],
@ -1273,12 +1273,12 @@ const sketch011rr = startSketchOn(extrude001rr, 'START')
originStart[2] + railHeight * 1.75 / 2 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0]+1.5-serverDepth,
originStart[2] + railHeight * 1.75 / 2 - (.438 / 2)
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
const extrude011rr = extrude(sketch011rr, length = -thickness)
@ -1290,12 +1290,12 @@ const sketch012rr = startSketchOn(extrude001rr, 'START')
originStart[2] + railHeight * 1.75 - .81 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0]+1.5-serverDepth,
originStart[2] + railHeight * 1.75 - .81 - (.438 / 2)
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, -1],
@ -1497,12 +1497,12 @@ const sketch010rl = startSketchOn(extrude001rl, 'START')
originStart[2] + .81 - (.438 / 2)
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0] - serverDepth + 1.5,
originStart[2] + .81 + .438 / 2
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, 1],
@ -1518,12 +1518,12 @@ const sketch011rl = startSketchOn(extrude001rl, 'START')
originStart[2] + railHeight * 1.75 / 2 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0] - serverDepth + 1.5,
originStart[2] + railHeight * 1.75 / 2 - (.438 / 2)
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
const extrude011rl = extrude(sketch011rl, length = -thickness)
@ -1535,12 +1535,12 @@ const sketch012rl = startSketchOn(extrude001rl, 'START')
originStart[2] + railHeight * 1.75 - .81 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0] - serverDepth + 1.5,
originStart[2] + railHeight * 1.75 - .81 - (.438 / 2)
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, -1],
@ -1593,15 +1593,15 @@ fn streamServer = (serverPos) => {
|> xLine(length = 0.2)
|> yLine(length = -0.36)
|> xLine(length = 0.5)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
0.3,
17.15 + 4.114 + 1 + serverPos * 1.75 - 11.114
], %)
])
|> yLine(length = -1.77)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.13,
14.89 + 4.114 + 1 + serverPos * 1.75 - 11.114
], %)
])
|> xLine(length = -0.52)
|> yLine(length = -0.42)
|> line(end = [0.34, -0.15])
@ -1617,15 +1617,15 @@ fn streamServer = (serverPos) => {
|> xLine(length = 0.2)
|> yLine(length = -0.36)
|> xLine(length = 0.5)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
0.3,
17.15 + 4.114 + 1 + serverPos * 1.75 - 11.114
], %)
])
|> yLine(length = -1.77)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.13,
14.89 + 4.114 + 1 + serverPos * 1.75 - 11.114
], %)
])
|> xLine(length = -0.52)
|> yLine(length = -0.42)
|> line(end = [0.34, -0.15])

View File

@ -676,12 +676,12 @@ const sketch010fl = startSketchOn(extrude001fl, 'START')
originStart[2] + .81 - (.438 / 2)
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0],
originStart[2] + .81 + .438 / 2
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, 1],
@ -697,12 +697,12 @@ const sketch011fl = startSketchOn(extrude001fl, 'START')
originStart[2] + railHeight * 1.75 / 2 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0],
originStart[2] + railHeight * 1.75 / 2 - (.438 / 2)
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
const extrude011fl = extrude(sketch011fl, length = -thickness)
@ -714,12 +714,12 @@ const sketch012fl = startSketchOn(extrude001fl, 'START')
originStart[2] + railHeight * 1.75 - .81 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0],
originStart[2] + railHeight * 1.75 - .81 - (.438 / 2)
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, -1],
@ -814,12 +814,12 @@ const sketch010fr = startSketchOn(extrude001fr, 'START')
originStart[2] + .81 - (.438 / 2)
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0],
originStart[2] + .81 + .438 / 2
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, 1],
@ -835,12 +835,12 @@ const sketch011fr = startSketchOn(extrude001fr, 'START')
originStart[2] + railHeight * 1.75 / 2 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0],
originStart[2] + railHeight * 1.75 / 2 - (.438 / 2)
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
const extrude011fr = extrude(sketch011fr, length = -thickness)
@ -852,12 +852,12 @@ const sketch012fr = startSketchOn(extrude001fr, 'START')
originStart[2] + railHeight * 1.75 - .81 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0],
originStart[2] + railHeight * 1.75 - .81 - (.438 / 2)
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, -1],
@ -952,12 +952,12 @@ const sketch010rr = startSketchOn(extrude001rr, 'START')
originStart[2] + .81 - (.438 / 2)
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0] + 1.5 - serverDepth,
originStart[2] + .81 + .438 / 2
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, 1],
@ -973,12 +973,12 @@ const sketch011rr = startSketchOn(extrude001rr, 'START')
originStart[2] + railHeight * 1.75 / 2 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0] + 1.5 - serverDepth,
originStart[2] + railHeight * 1.75 / 2 - (.438 / 2)
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
const extrude011rr = extrude(sketch011rr, length = -thickness)
@ -990,12 +990,12 @@ const sketch012rr = startSketchOn(extrude001rr, 'START')
originStart[2] + railHeight * 1.75 - .81 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0] + 1.5 - serverDepth,
originStart[2] + railHeight * 1.75 - .81 - (.438 / 2)
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, -1],
@ -1089,12 +1089,12 @@ const sketch010rl = startSketchOn(extrude001rl, 'START')
originStart[2] + .81 - (.438 / 2)
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0] - serverDepth + 1.5,
originStart[2] + .81 + .438 / 2
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, 1],
@ -1110,12 +1110,12 @@ const sketch011rl = startSketchOn(extrude001rl, 'START')
originStart[2] + railHeight * 1.75 / 2 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0] - serverDepth + 1.5,
originStart[2] + railHeight * 1.75 / 2 - (.438 / 2)
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
const extrude011rl = extrude(sketch011rl, length = -thickness)
@ -1127,12 +1127,12 @@ const sketch012rl = startSketchOn(extrude001rl, 'START')
originStart[2] + railHeight * 1.75 - .81 + .438 / 2
], %)
|> xLine(length = 0.75 - .438)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.66 - originStart[0] - serverDepth + 1.5,
originStart[2] + railHeight * 1.75 - .81 - (.438 / 2)
], %)
])
|> xLine(length = -0.75 + .438)
|> tangentialArcTo([profileStartX(%), profileStartY(%)], %)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
axis = [0, -1],
@ -1184,15 +1184,15 @@ fn streamServer = (serverPos) => {
|> xLine(length = 0.2)
|> yLine(length = -0.36)
|> xLine(length = 0.5)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
0.3,
17.15 + 4.114 + 1 + serverPos * 1.75 - 11.114
], %)
])
|> yLine(length = -1.77)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.13,
14.89 + 4.114 + 1 + serverPos * 1.75 - 11.114
], %)
])
|> xLine(length = -0.52)
|> yLine(length = -0.42)
|> line(end = [0.34, -0.15])
@ -1208,15 +1208,15 @@ fn streamServer = (serverPos) => {
|> xLine(length = 0.2)
|> yLine(length = -0.36)
|> xLine(length = 0.5)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
0.3,
17.15 + 4.114 + 1 + serverPos * 1.75 - 11.114
], %)
])
|> yLine(length = -1.77)
|> tangentialArcTo([
|> tangentialArc(endAbsolute = [
-0.13,
14.89 + 4.114 + 1 + serverPos * 1.75 - 11.114
], %)
])
|> xLine(length = -0.52)
|> yLine(length = -0.42)
|> line(end = [0.34, -0.15])

View File

@ -10,16 +10,17 @@ startSketchOn(XY)
angle = angleStart,
length = .000001,
)
|> tangentialArc({
offset: angleOffset,
|> tangentialArc(
angle = angleOffset,
radius: r,
}, %, $arc1)
|> tangentialArc({
offset: angleOffset,
radius: 0.5*r,
}, %, $arc2)
|> tangentialArc({
offset: -angleOffset,
radius: 0.5*r,
}, %, $arc3)
tag = $arc1,
)
|> tangentialArc(
angle = angleOffset,
radius = 0.5*r,
tag = $arc2)
|> tangentialArc(
angle = -angleOffset,
radius = 0.5*r,
tag = $arc3)
|> xLine(endAbsolute = 1)

View File

@ -1,6 +1,6 @@
const boxSketch = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line(end = [0, 10])
|> tangentialArc({radius: 5, offset: 90}, %)
|> tangentialArc(radius = 5, angle = 90)
|> line(end = [5, -15])
|> extrude(length = 10)

View File

@ -159,7 +159,7 @@ async fn kcl_test_basic_tangential_arc_with_point() {
let code = r#"boxSketch = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line(end = [0, 10])
|> tangentialArcToRelative([-5, 5], %)
|> tangentialArc(end = [-5, 5])
|> line(end = [5, -15])
|> extrude(length = 10)
"#;
@ -173,7 +173,7 @@ async fn kcl_test_basic_tangential_arc_to() {
let code = r#"boxSketch = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line(end = [0, 10])
|> tangentialArcTo([-5, 15], %)
|> tangentialArc(endAbsolute = [-5, 15])
|> line(end = [5, -15])
|> extrude(length = 10)
"#;
@ -224,14 +224,14 @@ wallMountL = 8
bracket = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line(end = [0, wallMountL])
|> tangentialArc({ radius= filletR, offset: 90 }, %)
|> tangentialArc(radius = filletR, angle = 90 )
|> line(end = [-shelfMountL, 0])
|> line(end = [0, -thickness])
|> line(end = [shelfMountL, 0])
|> tangentialArc({
radius= filletR - thickness,
offset: -90
}, %)
|> tangentialArc(
radius = filletR - thickness,
angle = -90,
)
|> line(end = [0, -wallMountL])
|> close()
|> extrude(length = width)
@ -306,7 +306,7 @@ thing = other_circle([2, 2], 20)
#[tokio::test(flavor = "multi_thread")]
async fn kcl_test_rounded_with_holes() {
let code = r#"fn tarc = (to, sktch, tag?) => {
return tangentialArcTo(to, sktch, tag)
return tangentialArc(sktch, endAbsolute = to, tag = tag)
}
fn roundedRectangle = (pos, w, l, cornerRadius) => {
@ -705,7 +705,7 @@ async fn kcl_test_error_sketch_on_arc_face() {
let code = r#"fn cube = (pos, scale) => {
sg = startSketchOn(XY)
|> startProfileAt(pos, %)
|> tangentialArcToRelative([0, scale], %, $here)
|> tangentialArc(end = [0, scale], tag = $here)
|> line(end = [scale, 0])
|> line(end = [0, -scale])
@ -1342,7 +1342,7 @@ async fn kcl_test_error_empty_start_sketch_on_string() {
|> line(end = [190.03, -118.13])
|> line(end = [-33.38, -202.86])
|> line(end = [-315.86, -64.2])
|> tangentialArcTo([-147.66, 121.34], %)
|> tangentialArc(endAbsolute = [-147.66, 121.34])
|> close()
|> extrude(length = 100)
@ -1352,10 +1352,11 @@ secondSketch = startSketchOn(part001, '')
"#;
let result = execute_and_snapshot(code, None).await;
assert!(result.is_err());
let err = result.unwrap_err();
let err = err.as_kcl_error().unwrap();
assert_eq!(
result.err().unwrap().to_string(),
r#"semantic: KclErrorDetails { source_ranges: [SourceRange([297, 299, 0])], message: "Argument at index 1 was supposed to be type Option<FaceTag> but found string (text)" }"#
err.message(),
"Argument at index 1 was supposed to be type Option<FaceTag> but found string (text)"
);
}

View File

@ -7,6 +7,7 @@ use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use super::types::NumericType;
use crate::{
errors::{KclError, KclErrorDetails, Severity},
execution::{
@ -22,8 +23,6 @@ use crate::{
CompilationError,
};
use super::types::NumericType;
/// State for executing a program.
#[derive(Debug, Clone)]
pub struct ExecState {

View File

@ -807,6 +807,7 @@ pub enum UnitAngle {
impl UnitAngle {
fn adjust_to(self, value: f64, to: UnitAngle) -> f64 {
use std::f64::consts::PI;
use UnitAngle::*;
if !*CHECK_NUMERIC_TYPES {
@ -1171,9 +1172,8 @@ impl KclValue {
#[cfg(test)]
mod test {
use crate::execution::{parse_execute, ExecTestResults};
use super::*;
use crate::execution::{parse_execute, ExecTestResults};
fn values(exec_state: &mut ExecState) -> Vec<KclValue> {
vec![

View File

@ -241,15 +241,9 @@ pub async fn appearance(exec_state: &mut ExecState, args: Args) -> Result<KclVal
/// sweepPath = startSketchOn(XZ)
/// |> startProfileAt([0.05, 0.05], %)
/// |> line(end = [0, 7])
/// |> tangentialArc({
/// offset: 90,
/// radius: 5
/// }, %)
/// |> tangentialArc(angle = 90, radius = 5)
/// |> line(end = [-3, 0])
/// |> tangentialArc({
/// offset: -90,
/// radius: 5
/// }, %)
/// |> tangentialArc(angle = -90, radius = 5)
/// |> line(end = [0, 7])
///
/// pipeHole = startSketchOn(XY)

View File

@ -151,6 +151,10 @@ impl Args {
let Some(arg) = self.kw_args.labeled.get(label) else {
return Ok(None);
};
if let KclValue::KclNone { .. } = arg.value {
// It is set, but it's an optional parameter that wasn't provided.
return Ok(None);
}
T::from_kcl_val(&arg.value).map(Some).ok_or_else(|| {
KclError::Type(KclErrorDetails {

View File

@ -9,8 +9,7 @@ use kcmc::{
length_unit::LengthUnit,
ok_response::OkModelingCmdResponse,
output::ExtrusionFaceInfo,
shared::ExtrusionFaceCapType,
shared::Opposite,
shared::{ExtrusionFaceCapType, Opposite},
websocket::{ModelingCmdReq, OkWebSocketResponseData},
ModelingCmd,
};

View File

@ -85,8 +85,6 @@ lazy_static! {
Box::new(crate::std::sketch::Arc),
Box::new(crate::std::sketch::ArcTo),
Box::new(crate::std::sketch::TangentialArc),
Box::new(crate::std::sketch::TangentialArcTo),
Box::new(crate::std::sketch::TangentialArcToRelative),
Box::new(crate::std::sketch::BezierCurve),
Box::new(crate::std::sketch::Hole),
Box::new(crate::std::patterns::PatternLinear2D),

View File

@ -824,7 +824,7 @@ pub async fn pattern_linear_3d(exec_state: &mut ExecState, args: Args) -> Result
/// |> startProfileAt([-size, -size], %)
/// |> line(end = [2 * size, 0])
/// |> line(end = [0, 2 * size])
/// |> tangentialArcTo([-size, size], %)
/// |> tangentialArc(endAbsolute = [-size, size])
/// |> close(%)
/// |> extrude(length = 65)
///
@ -852,7 +852,7 @@ pub async fn pattern_linear_3d(exec_state: &mut ExecState, args: Args) -> Result
/// |> startProfileAt([-size, -size], %)
/// |> line(end = [2 * size, 0])
/// |> line(end = [0, 2 * size])
/// |> tangentialArcTo([-size, size], %)
/// |> tangentialArc(endAbsolute = [-size, size])
/// |> close(%)
/// |> extrude(length = 65)
///

View File

@ -1,7 +1,12 @@
//! Standard library revolution surfaces.
use anyhow::Result;
use kcmc::{each_cmd as mcmd, length_unit::LengthUnit, shared::Angle, shared::Opposite, ModelingCmd};
use kcmc::{
each_cmd as mcmd,
length_unit::LengthUnit,
shared::{Angle, Opposite},
ModelingCmd,
};
use kittycad_modeling_cmds::{self as kcmc, shared::Point3d};
use super::DEFAULT_TOLERANCE;

View File

@ -393,10 +393,7 @@ pub async fn segment_length(exec_state: &mut ExecState, args: Args) -> Result<Kc
/// length = 10,
/// tag = $thing,
/// )
/// |> tangentialArc({
/// offset = -120,
/// radius = 5,
/// }, %)
/// |> tangentialArc(angle = -120, radius = 5)
/// |> angledLine(
/// angle = -60,
/// length = segLen(thing),
@ -485,12 +482,12 @@ pub async fn tangent_to_end(exec_state: &mut ExecState, args: Args) -> Result<Kc
/// pillSketch = startSketchOn('XZ')
/// |> startProfileAt([0, 0], %)
/// |> line(end = [20, 0])
/// |> tangentialArcToRelative([0, 10], %, $arc1)
/// |> tangentialArc(end = [0, 10], tag = $arc1)
/// |> angledLine(
/// angle = tangentToEnd(arc1),
/// length = 20,
/// )
/// |> tangentialArcToRelative([0, -10], %)
/// |> tangentialArc(end = [0, -10])
/// |> close()
///
/// pillExtrude = extrude(pillSketch, length = 10)
@ -501,12 +498,12 @@ pub async fn tangent_to_end(exec_state: &mut ExecState, args: Args) -> Result<Kc
/// pillSketch = startSketchOn('XZ')
/// |> startProfileAt([0, 0], %)
/// |> line(end = [0, 20])
/// |> tangentialArcTo([10, 20], %, $arc1)
/// |> tangentialArc(endAbsolute = [10, 20], tag = $arc1)
/// |> angledLine(
/// angle = tangentToEnd(arc1),
/// length = 20,
/// )
/// |> tangentialArcToRelative([-10, 0], %)
/// |> tangentialArc(end = [-10, 0])
/// |> close()
///
/// pillExtrude = extrude(pillSketch, length = 10)

View File

@ -104,7 +104,7 @@ pub async fn shell(exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
/// |> startProfileAt([-size, -size], %)
/// |> line(end = [2 * size, 0])
/// |> line(end = [0, 2 * size])
/// |> tangentialArcTo([-size, size], %)
/// |> tangentialArc(endAbsolute = [-size, size])
/// |> close()
/// |> extrude(length = 65)
///
@ -127,7 +127,7 @@ pub async fn shell(exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
/// |> startProfileAt([-size, -size], %)
/// |> line(end = [2 * size, 0])
/// |> line(end = [0, 2 * size])
/// |> tangentialArcTo([-size, size], %)
/// |> tangentialArc(endAbsolute = [-size, size])
/// |> close()
/// |> extrude(length = 65)
///
@ -152,7 +152,7 @@ pub async fn shell(exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
/// |> startProfileAt([-size, -size], %)
/// |> line(end = [2 * size, 0])
/// |> line(end = [0, 2 * size])
/// |> tangentialArcTo([-size, size], %)
/// |> tangentialArc(endAbsolute = [-size, size])
/// |> close()
/// |> extrude(length = 65)
///
@ -287,7 +287,7 @@ pub async fn hollow(exec_state: &mut ExecState, args: Args) -> Result<KclValue,
/// |> startProfileAt([-size, -size], %)
/// |> line(end = [2 * size, 0])
/// |> line(end = [0, 2 * size])
/// |> tangentialArcTo([-size, size], %)
/// |> tangentialArc(endAbsolute = [-size, size])
/// |> close()
/// |> extrude(length = 65)
///

View File

@ -1705,6 +1705,127 @@ pub(crate) async fn inner_arc_to(
Ok(new_sketch)
}
/// Draw a tangential arc to a specific point.
pub async fn tangential_arc(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let sketch =
args.get_unlabeled_kw_arg_typed("sketch", &RuntimeType::Primitive(PrimitiveType::Sketch), exec_state)?;
let end = args.get_kw_arg_opt("end")?;
let end_absolute = args.get_kw_arg_opt("endAbsolute")?;
let radius = args.get_kw_arg_opt("radius")?;
let angle = args.get_kw_arg_opt("angle")?;
let tag = args.get_kw_arg_opt(NEW_TAG_KW)?;
let new_sketch = inner_tangential_arc(sketch, end_absolute, end, radius, angle, tag, exec_state, args).await?;
Ok(KclValue::Sketch {
value: Box::new(new_sketch),
})
}
/// Starting at the current sketch's origin, draw a curved line segment along
/// some part of an imaginary circle until it reaches the desired (x, y)
/// coordinates.
///
/// When using radius and angle, draw a curved line segment along part of an
/// imaginary circle. The arc is constructed such that the last line segment is
/// placed tangent to the imaginary circle of the specified radius. The
/// resulting arc is the segment of the imaginary circle from that tangent point
/// for 'angle' degrees along the imaginary circle.
///
/// ```no_run
/// exampleSketch = startSketchOn(XZ)
/// |> startProfileAt([0, 0], %)
/// |> angledLine(
/// angle = 45,
/// length = 10,
/// )
/// |> tangentialArc(end = [0, -10])
/// |> line(end = [-10, 0])
/// |> close()
///
/// example = extrude(exampleSketch, length = 10)
/// ```
///
/// ```no_run
/// exampleSketch = startSketchOn(XZ)
/// |> startProfileAt([0, 0], %)
/// |> angledLine(
/// angle = 60,
/// length = 10,
/// )
/// |> tangentialArc(endAbsolute = [15, 15])
/// |> line(end = [10, -15])
/// |> close()
///
/// example = extrude(exampleSketch, length = 10)
/// ```
///
/// ```no_run
/// exampleSketch = startSketchOn(XZ)
/// |> startProfileAt([0, 0], %)
/// |> angledLine(
/// angle = 60,
/// length = 10,
/// )
/// |> tangentialArc(radius = 10, angle = -120)
/// |> angledLine(
/// angle = -60,
/// length = 10,
/// )
/// |> close()
///
/// example = extrude(exampleSketch, length = 10)
/// ```
#[stdlib {
name = "tangentialArc",
keywords = true,
unlabeled_first = true,
args = {
sketch = { docs = "Which sketch should this path be added to?"},
end_absolute = { docs = "Which absolute point should this arc go to? Incompatible with `end`, `radius`, and `offset`."},
end = { docs = "How far away (along the X and Y axes) should this arc go? Incompatible with `endAbsolute`, `radius`, and `offset`.", include_in_snippet = true },
radius = { docs = "Radius of the imaginary circle. `angle` must be given. Incompatible with `end` and `endAbsolute`."},
angle = { docs = "Offset of the arc in degrees. `radius` must be given. Incompatible with `end` and `endAbsolute`."},
tag = { docs = "Create a new tag which refers to this arc"},
}
}]
#[allow(clippy::too_many_arguments)]
async fn inner_tangential_arc(
sketch: Sketch,
end_absolute: Option<[f64; 2]>,
end: Option<[f64; 2]>,
radius: Option<f64>,
angle: Option<f64>,
tag: Option<TagNode>,
exec_state: &mut ExecState,
args: Args,
) -> Result<Sketch, KclError> {
match (end_absolute, end, radius, angle) {
(Some(point), None, None, None) => {
inner_tangential_arc_to_point(sketch, point, true, tag, exec_state, args).await
}
(None, Some(point), None, None) => {
inner_tangential_arc_to_point(sketch, point, false, tag, exec_state, args).await
}
(None, None, Some(radius), Some(angle)) => {
let data = TangentialArcData::RadiusAndOffset { radius, offset: angle };
inner_tangential_arc_radius_angle(data, sketch, tag, exec_state, args).await
}
(Some(_), Some(_), None, None) => Err(KclError::Semantic(KclErrorDetails {
source_ranges: vec![args.source_range],
message: "You cannot give both `end` and `endAbsolute` params, you have to choose one or the other"
.to_owned(),
})),
(None, None, Some(_), None) | (None, None, None, Some(_)) => Err(KclError::Semantic(KclErrorDetails {
source_ranges: vec![args.source_range],
message: "You must supply both `radius` and `angle` arguments".to_owned(),
})),
(_, _, _, _) => Err(KclError::Semantic(KclErrorDetails {
source_ranges: vec![args.source_range],
message: "You must supply `end`, `endAbsolute`, or both `radius` and `angle` arguments".to_owned(),
})),
}
}
/// Data to draw a tangential arc.
#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, JsonSchema, ts_rs::TS)]
#[ts(export)]
@ -1719,44 +1840,13 @@ pub enum TangentialArcData {
},
}
/// Draw a tangential arc.
pub async fn tangential_arc(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let (data, sketch, tag): (TangentialArcData, Sketch, Option<TagNode>) =
args.get_data_and_sketch_and_tag(exec_state)?;
let new_sketch = inner_tangential_arc(data, sketch, tag, exec_state, args).await?;
Ok(KclValue::Sketch {
value: Box::new(new_sketch),
})
}
/// Draw a curved line segment along part of an imaginary circle.
///
/// The arc is constructed such that the last line segment is placed tangent
/// to the imaginary circle of the specified radius. The resulting arc is the
/// segment of the imaginary circle from that tangent point for 'offset'
/// segment of the imaginary circle from that tangent point for 'angle'
/// degrees along the imaginary circle.
///
/// ```no_run
/// exampleSketch = startSketchOn(XZ)
/// |> startProfileAt([0, 0], %)
/// |> angledLine(
/// angle = 60,
/// length = 10,
/// )
/// |> tangentialArc({ radius = 10, offset = -120 }, %)
/// |> angledLine(
/// angle = -60,
/// length = 10,
/// )
/// |> close()
///
/// example = extrude(exampleSketch, length = 10)
/// ```
#[stdlib {
name = "tangentialArc",
}]
async fn inner_tangential_arc(
async fn inner_tangential_arc_radius_angle(
data: TangentialArcData,
sketch: Sketch,
tag: Option<TagNode>,
@ -1847,49 +1937,10 @@ fn tan_arc_to(sketch: &Sketch, to: &[f64; 2]) -> ModelingCmd {
})
}
/// Draw a tangential arc to a specific point.
pub async fn tangential_arc_to(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let (to, sketch, tag): ([f64; 2], Sketch, Option<TagNode>) = args.get_data_and_sketch_and_tag(exec_state)?;
let new_sketch = inner_tangential_arc_to(to, sketch, tag, exec_state, args).await?;
Ok(KclValue::Sketch {
value: Box::new(new_sketch),
})
}
/// Draw a tangential arc to point some distance away..
pub async fn tangential_arc_to_relative(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let (delta, sketch, tag): ([f64; 2], Sketch, Option<TagNode>) = args.get_data_and_sketch_and_tag(exec_state)?;
let new_sketch = inner_tangential_arc_to_relative(delta, sketch, tag, exec_state, args).await?;
Ok(KclValue::Sketch {
value: Box::new(new_sketch),
})
}
/// Starting at the current sketch's origin, draw a curved line segment along
/// some part of an imaginary circle until it reaches the desired (x, y)
/// coordinates.
///
/// ```no_run
/// exampleSketch = startSketchOn(XZ)
/// |> startProfileAt([0, 0], %)
/// |> angledLine(
/// angle = 60,
/// length = 10,
/// )
/// |> tangentialArcTo([15, 15], %)
/// |> line(end = [10, -15])
/// |> close()
///
/// example = extrude(exampleSketch, length = 10)
/// ```
#[stdlib {
name = "tangentialArcTo",
}]
async fn inner_tangential_arc_to(
to: [f64; 2],
async fn inner_tangential_arc_to_point(
sketch: Sketch,
point: [f64; 2],
is_absolute: bool,
tag: Option<TagNode>,
exec_state: &mut ExecState,
args: Args,
@ -1897,6 +1948,12 @@ async fn inner_tangential_arc_to(
let from: Point2d = sketch.current_pen_position()?;
let tangent_info = sketch.get_tangential_info_from_paths();
let tan_previous_point = tangent_info.tan_previous_point(from.into());
let to = if is_absolute {
point
} else {
[from.x + point[0], from.y + point[1]]
};
let [to_x, to_y] = to;
let result = get_tangential_arc_to_info(TangentialArcInfoInput {
arc_start_point: [from.x, from.y],
@ -1905,75 +1962,6 @@ async fn inner_tangential_arc_to(
obtuse: true,
});
let delta = [to_x - from.x, to_y - from.y];
let id = exec_state.next_uuid();
args.batch_modeling_cmd(id, tan_arc_to(&sketch, &delta)).await?;
let current_path = Path::TangentialArcTo {
base: BasePath {
from: from.into(),
to,
tag: tag.clone(),
units: sketch.units,
geo_meta: GeoMeta {
id,
metadata: args.source_range.into(),
},
},
center: result.center,
ccw: result.ccw > 0,
};
let mut new_sketch = sketch.clone();
if let Some(tag) = &tag {
new_sketch.add_tag(tag, &current_path, exec_state);
}
new_sketch.paths.push(current_path);
Ok(new_sketch)
}
/// Starting at the current sketch's origin, draw a curved line segment along
/// some part of an imaginary circle until it reaches a point the given (x, y)
/// distance away.
///
/// ```no_run
/// exampleSketch = startSketchOn(XZ)
/// |> startProfileAt([0, 0], %)
/// |> angledLine(
/// angle = 45,
/// length = 10,
/// )
/// |> tangentialArcToRelative([0, -10], %)
/// |> line(end = [-10, 0])
/// |> close()
///
/// example = extrude(exampleSketch, length = 10)
/// ```
#[stdlib {
name = "tangentialArcToRelative",
}]
async fn inner_tangential_arc_to_relative(
delta: [f64; 2],
sketch: Sketch,
tag: Option<TagNode>,
exec_state: &mut ExecState,
args: Args,
) -> Result<Sketch, KclError> {
let from: Point2d = sketch.current_pen_position()?;
let to = [from.x + delta[0], from.y + delta[1]];
let tangent_info = sketch.get_tangential_info_from_paths();
let tan_previous_point = tangent_info.tan_previous_point(from.into());
let [dx, dy] = delta;
let result = get_tangential_arc_to_info(TangentialArcInfoInput {
arc_start_point: [from.x, from.y],
arc_end_point: [from.x + dx, from.y + dy],
tan_previous_point,
obtuse: true,
});
if result.center[0].is_infinite() {
return Err(KclError::Semantic(KclErrorDetails {
source_ranges: vec![args.source_range],
@ -1990,6 +1978,11 @@ async fn inner_tangential_arc_to_relative(
}));
}
let delta = if is_absolute {
[to_x - from.x, to_y - from.y]
} else {
point
};
let id = exec_state.next_uuid();
args.batch_modeling_cmd(id, tan_arc_to(&sketch, &delta)).await?;

View File

@ -58,15 +58,9 @@ pub async fn sweep(exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
/// sweepPath = startSketchOn(XZ)
/// |> startProfileAt([0.05, 0.05], %)
/// |> line(end = [0, 7])
/// |> tangentialArc({
/// offset: 90,
/// radius: 5
/// }, %)
/// |> tangentialArc(angle = 90, radius = 5)
/// |> line(end = [-3, 0])
/// |> tangentialArc({
/// offset: -90,
/// radius: 5
/// }, %)
/// |> tangentialArc(angle = -90, radius = 5)
/// |> line(end = [0, 7])
///
/// // Create a hole for the pipe.
@ -127,10 +121,7 @@ pub async fn sweep(exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
/// sketch002 = startSketchOn(YZ)
/// sweepPath = startProfileAt([0, 0], sketch002)
/// |> yLine(length = 231.81)
/// |> tangentialArc({
/// radius = 80,
/// offset = -90,
/// }, %)
/// |> tangentialArc(radius = 80, angle = -90)
/// |> xLine(length = 384.93)
///
/// sweep([rectangleSketch, circleSketch], path = sweepPath)
@ -144,10 +135,7 @@ pub async fn sweep(exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
/// sketch002 = startSketchOn('YZ')
/// sweepPath = startProfileAt([0, 0], sketch002)
/// |> yLine(length = 231.81)
/// |> tangentialArc({
/// radius = 80,
/// offset = -90,
/// }, %)
/// |> tangentialArc(radius = 80, angle = -90)
/// |> xLine(length = 384.93)
///
/// sweep(circleSketch, path = sweepPath, sectional = true)

View File

@ -67,15 +67,9 @@ pub async fn scale(exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
/// sweepPath = startSketchOn('XZ')
/// |> startProfileAt([0.05, 0.05], %)
/// |> line(end = [0, 7])
/// |> tangentialArc({
/// offset: 90,
/// radius: 5
/// }, %)
/// |> tangentialArc(angle = 90, radius = 5)
/// |> line(end = [-3, 0])
/// |> tangentialArc({
/// offset: -90,
/// radius: 5
/// }, %)
/// |> tangentialArc(angle = -90, radius = 5)
/// |> line(end = [0, 7])
///
/// // Create a hole for the pipe.
@ -130,10 +124,7 @@ pub async fn scale(exec_state: &mut ExecState, args: Args) -> Result<KclValue, K
/// sketch002 = startSketchOn('YZ')
/// sweepPath = startProfileAt([0, 0], sketch002)
/// |> yLine(length = 231.81)
/// |> tangentialArc({
/// radius = 80,
/// offset = -90,
/// }, %)
/// |> tangentialArc(radius = 80, angle = -90)
/// |> xLine(length = 384.93)
///
/// parts = sweep([rectangleSketch, circleSketch], path = sweepPath)
@ -241,15 +232,9 @@ pub async fn translate(exec_state: &mut ExecState, args: Args) -> Result<KclValu
/// sweepPath = startSketchOn('XZ')
/// |> startProfileAt([0.05, 0.05], %)
/// |> line(end = [0, 7])
/// |> tangentialArc({
/// offset: 90,
/// radius: 5
/// }, %)
/// |> tangentialArc(angle = 90, radius = 5)
/// |> line(end = [-3, 0])
/// |> tangentialArc({
/// offset: -90,
/// radius: 5
/// }, %)
/// |> tangentialArc(angle = -90, radius = 5)
/// |> line(end = [0, 7])
///
/// // Create a hole for the pipe.
@ -318,10 +303,7 @@ pub async fn translate(exec_state: &mut ExecState, args: Args) -> Result<KclValu
/// sketch002 = startSketchOn('YZ')
/// sweepPath = startProfileAt([0, 0], sketch002)
/// |> yLine(length = 231.81)
/// |> tangentialArc({
/// radius = 80,
/// offset = -90,
/// }, %)
/// |> tangentialArc(radius = 80, angle = -90)
/// |> xLine(length = 384.93)
///
/// parts = sweep([rectangleSketch, circleSketch], path = sweepPath)
@ -575,15 +557,9 @@ pub async fn rotate(exec_state: &mut ExecState, args: Args) -> Result<KclValue,
/// sweepPath = startSketchOn('XZ')
/// |> startProfileAt([0.05, 0.05], %)
/// |> line(end = [0, 7])
/// |> tangentialArc({
/// offset: 90,
/// radius: 5
/// }, %)
/// |> tangentialArc(angle = 90, radius = 5)
/// |> line(end = [-3, 0])
/// |> tangentialArc({
/// offset: -90,
/// radius: 5
/// }, %)
/// |> tangentialArc(angle = -90, radius = 5)
/// |> line(end = [0, 7])
///
/// // Create a hole for the pipe.
@ -614,15 +590,9 @@ pub async fn rotate(exec_state: &mut ExecState, args: Args) -> Result<KclValue,
/// sweepPath = startSketchOn('XZ')
/// |> startProfileAt([0.05, 0.05], %)
/// |> line(end = [0, 7])
/// |> tangentialArc({
/// offset: 90,
/// radius: 5
/// }, %)
/// |> tangentialArc(angle = 90, radius = 5)
/// |> line(end = [-3, 0])
/// |> tangentialArc({
/// offset: -90,
/// radius: 5
/// }, %)
/// |> tangentialArc(angle = -90, radius = 5)
/// |> line(end = [0, 7])
///
/// // Create a hole for the pipe.
@ -651,15 +621,9 @@ pub async fn rotate(exec_state: &mut ExecState, args: Args) -> Result<KclValue,
/// sweepPath = startSketchOn('XZ')
/// |> startProfileAt([0.05, 0.05], %)
/// |> line(end = [0, 7])
/// |> tangentialArc({
/// offset: 90,
/// radius: 5
/// }, %)
/// |> tangentialArc(angle = 90, radius = 5)
/// |> line(end = [-3, 0])
/// |> tangentialArc({
/// offset: -90,
/// radius: 5
/// }, %)
/// |> tangentialArc(angle = -90, radius = 5)
/// |> line(end = [0, 7])
///
/// // Create a hole for the pipe.
@ -716,10 +680,7 @@ pub async fn rotate(exec_state: &mut ExecState, args: Args) -> Result<KclValue,
/// sketch002 = startSketchOn('YZ')
/// sweepPath = startProfileAt([0, 0], sketch002)
/// |> yLine(length = 231.81)
/// |> tangentialArc({
/// radius = 80,
/// offset = -90,
/// }, %)
/// |> tangentialArc(radius = 80, angle = -90)
/// |> xLine(length = 384.93)
///
/// parts = sweep([rectangleSketch, circleSketch], path = sweepPath)
@ -846,15 +807,9 @@ mod tests {
const PIPE: &str = r#"sweepPath = startSketchOn('XZ')
|> startProfileAt([0.05, 0.05], %)
|> line(end = [0, 7])
|> tangentialArc({
offset: 90,
radius: 5
}, %)
|> tangentialArc(angle = 90, radius = 5)
|> line(end = [-3, 0])
|> tangentialArc({
offset: -90,
radius: 5
}, %)
|> tangentialArc(angle = -90, radius = 5)
|> line(end = [0, 7])
// Create a hole for the pipe.

View File

@ -103,9 +103,9 @@ export fn circle(
/// sketch0011 = startSketchOn(XY)
/// |> startProfileAt([6.77, 0], %)
/// |> yLine(length = 1.27)
/// |> tangentialArcTo([5.96, 2.37], %)
/// |> tangentialArcTo([-6.2, 2.44], %)
/// |> tangentialArcTo([-6.6, 1.82], %)
/// |> tangentialArc(endAbsolute = [5.96, 2.37])
/// |> tangentialArc(endAbsolute = [-6.2, 2.44])
/// |> tangentialArc(endAbsolute = [-6.6, 1.82])
/// |> yLine(length = -1.82)
/// |> mirror2d( axis = X )
/// |> extrude(length = 10)

View File

@ -12,8 +12,8 @@ flowchart LR
subgraph path10 [Path]
10["Path<br>[479, 508, 0]"]
11["Segment<br>[514, 539, 0]"]
12["Segment<br>[545, 571, 0]"]
13["Segment<br>[577, 609, 0]"]
12["Segment<br>[545, 580, 0]"]
13["Segment<br>[586, 627, 0]"]
end
1["Plane<br>[12, 31, 0]"]
9["Plane<br>[453, 473, 0]"]

View File

@ -816,6 +816,15 @@ description: Result of parsing artifact_graph_example_code_no_3d.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -847,13 +856,7 @@ description: Result of parsing artifact_graph_example_code_no_3d.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -863,7 +866,7 @@ description: Result of parsing artifact_graph_example_code_no_3d.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -874,12 +877,22 @@ description: Result of parsing artifact_graph_example_code_no_3d.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -919,13 +932,7 @@ description: Result of parsing artifact_graph_example_code_no_3d.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -935,7 +942,7 @@ description: Result of parsing artifact_graph_example_code_no_3d.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -946,8 +953,9 @@ description: Result of parsing artifact_graph_example_code_no_3d.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"commentStart": 0,

View File

@ -8,5 +8,5 @@ sketch003 = startSketchOn('YZ')
sketch004 = startSketchOn('-XZ')
|> startProfileAt([0, 14.36], %)
|> line(end = [15.49, 0.05])
|> tangentialArcTo([0, 0], %)
|> tangentialArcTo([-6.8, 8.17], %)
|> tangentialArc(endAbsolute = [0, 0])
|> tangentialArc(endAbsolute = [-6.8, 8.17])

View File

@ -12,5 +12,5 @@ sketch003 = startSketchOn(YZ)
sketch004 = startSketchOn(-XZ)
|> startProfileAt([0, 14.36], %)
|> line(end = [15.49, 0.05])
|> tangentialArcTo([0, 0], %)
|> tangentialArcTo([-6.8, 8.17], %)
|> tangentialArc(endAbsolute = [0, 0])
|> tangentialArc(endAbsolute = [-6.8, 8.17])

View File

@ -3,48 +3,48 @@ flowchart LR
subgraph path2 [Path]
2["Path<br>[422, 459, 0]"]
3["Segment<br>[465, 505, 0]"]
4["Segment<br>[511, 569, 0]"]
5["Segment<br>[575, 611, 0]"]
6["Segment<br>[617, 676, 0]"]
7["Segment<br>[682, 747, 0]"]
8["Segment<br>[753, 812, 0]"]
9["Segment<br>[818, 876, 0]"]
10["Segment<br>[882, 940, 0]"]
11["Segment<br>[946, 988, 0]"]
12["Segment<br>[994, 1052, 0]"]
13["Segment<br>[1058, 1094, 0]"]
14["Segment<br>[1100, 1159, 0]"]
15["Segment<br>[1165, 1234, 0]"]
16["Segment<br>[1240, 1300, 0]"]
17["Segment<br>[1306, 1345, 0]"]
18["Segment<br>[1351, 1410, 0]"]
19["Segment<br>[1416, 1458, 0]"]
20["Segment<br>[1464, 1523, 0]"]
21["Segment<br>[1529, 1590, 0]"]
22["Segment<br>[1596, 1656, 0]"]
23["Segment<br>[1662, 1792, 0]"]
24["Segment<br>[1798, 1858, 0]"]
25["Segment<br>[1864, 1903, 0]"]
26["Segment<br>[1909, 1968, 0]"]
27["Segment<br>[1974, 1982, 0]"]
4["Segment<br>[511, 562, 0]"]
5["Segment<br>[568, 604, 0]"]
6["Segment<br>[610, 662, 0]"]
7["Segment<br>[668, 733, 0]"]
8["Segment<br>[739, 791, 0]"]
9["Segment<br>[797, 855, 0]"]
10["Segment<br>[861, 912, 0]"]
11["Segment<br>[918, 960, 0]"]
12["Segment<br>[966, 1017, 0]"]
13["Segment<br>[1023, 1059, 0]"]
14["Segment<br>[1065, 1117, 0]"]
15["Segment<br>[1123, 1192, 0]"]
16["Segment<br>[1198, 1251, 0]"]
17["Segment<br>[1257, 1296, 0]"]
18["Segment<br>[1302, 1354, 0]"]
19["Segment<br>[1360, 1402, 0]"]
20["Segment<br>[1408, 1460, 0]"]
21["Segment<br>[1466, 1527, 0]"]
22["Segment<br>[1533, 1586, 0]"]
23["Segment<br>[1592, 1722, 0]"]
24["Segment<br>[1728, 1781, 0]"]
25["Segment<br>[1787, 1826, 0]"]
26["Segment<br>[1832, 1884, 0]"]
27["Segment<br>[1890, 1898, 0]"]
28[Solid2d]
end
subgraph path30 [Path]
30["Path<br>[2015, 2040, 0]"]
31["Segment<br>[2046, 2065, 0]"]
32["Segment<br>[2071, 2129, 0]"]
33["Segment<br>[2135, 2177, 0]"]
34["Segment<br>[2183, 2242, 0]"]
35["Segment<br>[2248, 2268, 0]"]
36["Segment<br>[2274, 2334, 0]"]
37["Segment<br>[2340, 2385, 0]"]
38["Segment<br>[2391, 2450, 0]"]
39["Segment<br>[2456, 2464, 0]"]
30["Path<br>[1931, 1956, 0]"]
31["Segment<br>[1962, 1981, 0]"]
32["Segment<br>[1987, 2038, 0]"]
33["Segment<br>[2044, 2086, 0]"]
34["Segment<br>[2092, 2144, 0]"]
35["Segment<br>[2150, 2170, 0]"]
36["Segment<br>[2176, 2229, 0]"]
37["Segment<br>[2235, 2280, 0]"]
38["Segment<br>[2286, 2338, 0]"]
39["Segment<br>[2344, 2352, 0]"]
40[Solid2d]
end
1["Plane<br>[399, 416, 0]"]
29["Plane<br>[1992, 2009, 0]"]
41["Sweep Extrusion<br>[2510, 2531, 0]"]
29["Plane<br>[1908, 1925, 0]"]
41["Sweep Extrusion<br>[2398, 2419, 0]"]
42[Wall]
43[Wall]
44[Wall]

View File

@ -560,6 +560,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -599,13 +608,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -615,7 +618,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -626,8 +629,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -703,6 +707,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -750,13 +763,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -766,7 +773,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -777,8 +784,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -898,6 +906,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -945,13 +962,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -961,7 +972,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -972,8 +983,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -1113,6 +1125,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -1152,13 +1173,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -1168,7 +1183,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -1179,8 +1194,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -1276,6 +1292,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -1315,13 +1340,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -1331,7 +1350,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -1342,8 +1361,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -1419,6 +1439,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -1466,13 +1495,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -1482,7 +1505,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -1493,8 +1516,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -1642,6 +1666,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -1697,13 +1730,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -1713,7 +1740,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -1724,8 +1751,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -1809,6 +1837,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -1856,13 +1893,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -1872,7 +1903,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -1883,8 +1914,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -1980,6 +2012,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -2027,13 +2068,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -2043,7 +2078,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -2054,8 +2089,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -2203,6 +2239,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -2258,13 +2303,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -2274,7 +2313,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -2285,8 +2324,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -2482,6 +2522,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -2537,13 +2586,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -2553,7 +2596,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -2564,8 +2607,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -2649,6 +2693,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -2696,13 +2749,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -2712,7 +2759,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -2723,8 +2770,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -2948,6 +2996,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -2987,13 +3044,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -3003,7 +3054,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -3014,8 +3065,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -3111,6 +3163,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -3158,13 +3219,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -3174,7 +3229,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -3185,8 +3240,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -3246,6 +3302,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -3301,13 +3366,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -3317,7 +3376,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -3328,8 +3387,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -3433,6 +3493,15 @@ description: Result of parsing i_shape.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -3480,13 +3549,7 @@ description: Result of parsing i_shape.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -3496,7 +3559,7 @@ description: Result of parsing i_shape.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -3507,8 +3570,9 @@ description: Result of parsing i_shape.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [

View File

@ -10,41 +10,41 @@ corner_radius = 5.0
brace_base = startSketchOn(XY)
|> startProfileAt([corner_radius, 0], %)
|> line(end = [width - corner_radius, 0.0])
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|> tangentialArc(end = [corner_radius, corner_radius])
|> yLine(length = 25.0 - corner_radius)
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|> tangentialArc(end = [-corner_radius, corner_radius])
|> xLine(length = -(d_wrist_circumference[0] - (corner_radius * 2)))
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|> tangentialArc(end = [-corner_radius, corner_radius])
|> yLine(length = length - 25.0 - 23.0 - (corner_radius * 2))
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|> tangentialArc(end = [corner_radius, corner_radius])
|> xLine(length = 15.0 - (corner_radius * 2))
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|> tangentialArc(end = [corner_radius, corner_radius])
|> yLine(length = 23.0 - corner_radius)
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|> tangentialArc(end = [-corner_radius, corner_radius])
|> xLine(length = -(hand_thickness + 15.0 + 15.0 - (corner_radius * 2)))
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|> tangentialArc(end = [-corner_radius, -corner_radius])
|> yLine(length = -(23.0 - corner_radius))
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|> tangentialArc(end = [corner_radius, -corner_radius])
|> xLine(length = 15.0 - (corner_radius * 2))
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|> tangentialArc(end = [corner_radius, -corner_radius])
|> yLine(length = -(length - 25.0 - 23.0 - (corner_radius * 2)))
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|> tangentialArc(end = [-corner_radius, -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], %)
|> tangentialArc(end = [-corner_radius, -corner_radius])
|> yLine(length = -(25.0 - corner_radius))
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|> tangentialArc(end = [corner_radius, -corner_radius])
|> close(%)
inner = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> xLine(length = 1.0)
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|> tangentialArc(end = [corner_radius, corner_radius])
|> yLine(length = 25.0 - (corner_radius * 2))
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|> tangentialArc(end = [-corner_radius, corner_radius])
|> xLine(length = -1.0)
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|> tangentialArc(end = [-corner_radius, -corner_radius])
|> yLine(length = -(25.0 - (corner_radius * 2)))
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|> tangentialArc(end = [corner_radius, -corner_radius])
|> close(%)
final = brace_base

View File

@ -14,41 +14,41 @@ corner_radius = 5.0
brace_base = startSketchOn(XY)
|> startProfileAt([corner_radius, 0], %)
|> line(end = [width - corner_radius, 0.0])
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|> tangentialArc(end = [corner_radius, corner_radius])
|> yLine(length = 25.0 - corner_radius)
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|> tangentialArc(end = [-corner_radius, corner_radius])
|> xLine(length = -(d_wrist_circumference[0] - (corner_radius * 2)))
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|> tangentialArc(end = [-corner_radius, corner_radius])
|> yLine(length = length - 25.0 - 23.0 - (corner_radius * 2))
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|> tangentialArc(end = [corner_radius, corner_radius])
|> xLine(length = 15.0 - (corner_radius * 2))
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|> tangentialArc(end = [corner_radius, corner_radius])
|> yLine(length = 23.0 - corner_radius)
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|> tangentialArc(end = [-corner_radius, corner_radius])
|> xLine(length = -(hand_thickness + 15.0 + 15.0 - (corner_radius * 2)))
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|> tangentialArc(end = [-corner_radius, -corner_radius])
|> yLine(length = -(23.0 - corner_radius))
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|> tangentialArc(end = [corner_radius, -corner_radius])
|> xLine(length = 15.0 - (corner_radius * 2))
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|> tangentialArc(end = [corner_radius, -corner_radius])
|> yLine(length = -(length - 25.0 - 23.0 - (corner_radius * 2)))
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|> tangentialArc(end = [-corner_radius, -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], %)
|> tangentialArc(end = [-corner_radius, -corner_radius])
|> yLine(length = -(25.0 - corner_radius))
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|> tangentialArc(end = [corner_radius, -corner_radius])
|> close(%)
inner = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> xLine(length = 1.0)
|> tangentialArcToRelative([corner_radius, corner_radius], %)
|> tangentialArc(end = [corner_radius, corner_radius])
|> yLine(length = 25.0 - (corner_radius * 2))
|> tangentialArcToRelative([-corner_radius, corner_radius], %)
|> tangentialArc(end = [-corner_radius, corner_radius])
|> xLine(length = -1.0)
|> tangentialArcToRelative([-corner_radius, -corner_radius], %)
|> tangentialArc(end = [-corner_radius, -corner_radius])
|> yLine(length = -(25.0 - (corner_radius * 2)))
|> tangentialArcToRelative([corner_radius, -corner_radius], %)
|> tangentialArc(end = [corner_radius, -corner_radius])
|> close(%)
final = brace_base

View File

@ -3,237 +3,237 @@ flowchart LR
subgraph path2 [Path]
2["Path<br>[361, 394, 5]"]
3["Segment<br>[402, 428, 5]"]
4["Segment<br>[436, 489, 5]"]
5["Segment<br>[497, 550, 5]"]
6["Segment<br>[558, 612, 5]"]
7["Segment<br>[620, 645, 5]"]
8["Segment<br>[653, 673, 5]"]
9["Segment<br>[681, 705, 5]"]
10["Segment<br>[713, 766, 5]"]
11["Segment<br>[774, 799, 5]"]
12["Segment<br>[807, 827, 5]"]
13["Segment<br>[835, 859, 5]"]
14["Segment<br>[867, 919, 5]"]
15["Segment<br>[927, 979, 5]"]
16["Segment<br>[987, 1012, 5]"]
17["Segment<br>[1020, 1044, 5]"]
18["Segment<br>[1052, 1105, 5]"]
19["Segment<br>[1113, 1138, 5]"]
20["Segment<br>[1146, 1173, 5]"]
21["Segment<br>[1181, 1233, 5]"]
22["Segment<br>[1241, 1276, 5]"]
23["Segment<br>[1284, 1291, 5]"]
4["Segment<br>[436, 498, 5]"]
5["Segment<br>[506, 568, 5]"]
6["Segment<br>[576, 639, 5]"]
7["Segment<br>[647, 672, 5]"]
8["Segment<br>[680, 700, 5]"]
9["Segment<br>[708, 732, 5]"]
10["Segment<br>[740, 802, 5]"]
11["Segment<br>[810, 835, 5]"]
12["Segment<br>[843, 863, 5]"]
13["Segment<br>[871, 895, 5]"]
14["Segment<br>[903, 964, 5]"]
15["Segment<br>[972, 1033, 5]"]
16["Segment<br>[1041, 1066, 5]"]
17["Segment<br>[1074, 1098, 5]"]
18["Segment<br>[1106, 1168, 5]"]
19["Segment<br>[1176, 1201, 5]"]
20["Segment<br>[1209, 1236, 5]"]
21["Segment<br>[1244, 1305, 5]"]
22["Segment<br>[1313, 1357, 5]"]
23["Segment<br>[1365, 1372, 5]"]
24[Solid2d]
end
subgraph path89 [Path]
89["Path<br>[361, 394, 5]"]
90["Segment<br>[402, 428, 5]"]
91["Segment<br>[436, 489, 5]"]
92["Segment<br>[497, 550, 5]"]
93["Segment<br>[558, 612, 5]"]
94["Segment<br>[620, 645, 5]"]
95["Segment<br>[653, 673, 5]"]
96["Segment<br>[681, 705, 5]"]
97["Segment<br>[713, 766, 5]"]
98["Segment<br>[774, 799, 5]"]
99["Segment<br>[807, 827, 5]"]
100["Segment<br>[835, 859, 5]"]
101["Segment<br>[867, 919, 5]"]
102["Segment<br>[927, 979, 5]"]
103["Segment<br>[987, 1012, 5]"]
104["Segment<br>[1020, 1044, 5]"]
105["Segment<br>[1052, 1105, 5]"]
106["Segment<br>[1113, 1138, 5]"]
107["Segment<br>[1146, 1173, 5]"]
108["Segment<br>[1181, 1233, 5]"]
109["Segment<br>[1241, 1276, 5]"]
110["Segment<br>[1284, 1291, 5]"]
91["Segment<br>[436, 498, 5]"]
92["Segment<br>[506, 568, 5]"]
93["Segment<br>[576, 639, 5]"]
94["Segment<br>[647, 672, 5]"]
95["Segment<br>[680, 700, 5]"]
96["Segment<br>[708, 732, 5]"]
97["Segment<br>[740, 802, 5]"]
98["Segment<br>[810, 835, 5]"]
99["Segment<br>[843, 863, 5]"]
100["Segment<br>[871, 895, 5]"]
101["Segment<br>[903, 964, 5]"]
102["Segment<br>[972, 1033, 5]"]
103["Segment<br>[1041, 1066, 5]"]
104["Segment<br>[1074, 1098, 5]"]
105["Segment<br>[1106, 1168, 5]"]
106["Segment<br>[1176, 1201, 5]"]
107["Segment<br>[1209, 1236, 5]"]
108["Segment<br>[1244, 1305, 5]"]
109["Segment<br>[1313, 1357, 5]"]
110["Segment<br>[1365, 1372, 5]"]
111[Solid2d]
end
subgraph path176 [Path]
176["Path<br>[361, 394, 5]"]
177["Segment<br>[402, 428, 5]"]
178["Segment<br>[436, 489, 5]"]
179["Segment<br>[497, 550, 5]"]
180["Segment<br>[558, 612, 5]"]
181["Segment<br>[620, 645, 5]"]
182["Segment<br>[653, 673, 5]"]
183["Segment<br>[681, 705, 5]"]
184["Segment<br>[713, 766, 5]"]
185["Segment<br>[774, 799, 5]"]
186["Segment<br>[807, 827, 5]"]
187["Segment<br>[835, 859, 5]"]
188["Segment<br>[867, 919, 5]"]
189["Segment<br>[927, 979, 5]"]
190["Segment<br>[987, 1012, 5]"]
191["Segment<br>[1020, 1044, 5]"]
192["Segment<br>[1052, 1105, 5]"]
193["Segment<br>[1113, 1138, 5]"]
194["Segment<br>[1146, 1173, 5]"]
195["Segment<br>[1181, 1233, 5]"]
196["Segment<br>[1241, 1276, 5]"]
197["Segment<br>[1284, 1291, 5]"]
178["Segment<br>[436, 498, 5]"]
179["Segment<br>[506, 568, 5]"]
180["Segment<br>[576, 639, 5]"]
181["Segment<br>[647, 672, 5]"]
182["Segment<br>[680, 700, 5]"]
183["Segment<br>[708, 732, 5]"]
184["Segment<br>[740, 802, 5]"]
185["Segment<br>[810, 835, 5]"]
186["Segment<br>[843, 863, 5]"]
187["Segment<br>[871, 895, 5]"]
188["Segment<br>[903, 964, 5]"]
189["Segment<br>[972, 1033, 5]"]
190["Segment<br>[1041, 1066, 5]"]
191["Segment<br>[1074, 1098, 5]"]
192["Segment<br>[1106, 1168, 5]"]
193["Segment<br>[1176, 1201, 5]"]
194["Segment<br>[1209, 1236, 5]"]
195["Segment<br>[1244, 1305, 5]"]
196["Segment<br>[1313, 1357, 5]"]
197["Segment<br>[1365, 1372, 5]"]
198[Solid2d]
end
subgraph path262 [Path]
262["Path<br>[361, 394, 5]"]
263["Segment<br>[402, 428, 5]"]
264["Segment<br>[436, 489, 5]"]
265["Segment<br>[497, 550, 5]"]
266["Segment<br>[558, 612, 5]"]
267["Segment<br>[620, 645, 5]"]
268["Segment<br>[653, 673, 5]"]
269["Segment<br>[681, 705, 5]"]
270["Segment<br>[713, 766, 5]"]
271["Segment<br>[774, 799, 5]"]
272["Segment<br>[807, 827, 5]"]
273["Segment<br>[835, 859, 5]"]
274["Segment<br>[867, 919, 5]"]
275["Segment<br>[927, 979, 5]"]
276["Segment<br>[987, 1012, 5]"]
277["Segment<br>[1020, 1044, 5]"]
278["Segment<br>[1052, 1105, 5]"]
279["Segment<br>[1113, 1138, 5]"]
280["Segment<br>[1146, 1173, 5]"]
281["Segment<br>[1181, 1233, 5]"]
282["Segment<br>[1241, 1276, 5]"]
283["Segment<br>[1284, 1291, 5]"]
264["Segment<br>[436, 498, 5]"]
265["Segment<br>[506, 568, 5]"]
266["Segment<br>[576, 639, 5]"]
267["Segment<br>[647, 672, 5]"]
268["Segment<br>[680, 700, 5]"]
269["Segment<br>[708, 732, 5]"]
270["Segment<br>[740, 802, 5]"]
271["Segment<br>[810, 835, 5]"]
272["Segment<br>[843, 863, 5]"]
273["Segment<br>[871, 895, 5]"]
274["Segment<br>[903, 964, 5]"]
275["Segment<br>[972, 1033, 5]"]
276["Segment<br>[1041, 1066, 5]"]
277["Segment<br>[1074, 1098, 5]"]
278["Segment<br>[1106, 1168, 5]"]
279["Segment<br>[1176, 1201, 5]"]
280["Segment<br>[1209, 1236, 5]"]
281["Segment<br>[1244, 1305, 5]"]
282["Segment<br>[1313, 1357, 5]"]
283["Segment<br>[1365, 1372, 5]"]
284[Solid2d]
end
subgraph path349 [Path]
349["Path<br>[361, 394, 5]"]
350["Segment<br>[402, 428, 5]"]
351["Segment<br>[436, 489, 5]"]
352["Segment<br>[497, 550, 5]"]
353["Segment<br>[558, 612, 5]"]
354["Segment<br>[620, 645, 5]"]
355["Segment<br>[653, 673, 5]"]
356["Segment<br>[681, 705, 5]"]
357["Segment<br>[713, 766, 5]"]
358["Segment<br>[774, 799, 5]"]
359["Segment<br>[807, 827, 5]"]
360["Segment<br>[835, 859, 5]"]
361["Segment<br>[867, 919, 5]"]
362["Segment<br>[927, 979, 5]"]
363["Segment<br>[987, 1012, 5]"]
364["Segment<br>[1020, 1044, 5]"]
365["Segment<br>[1052, 1105, 5]"]
366["Segment<br>[1113, 1138, 5]"]
367["Segment<br>[1146, 1173, 5]"]
368["Segment<br>[1181, 1233, 5]"]
369["Segment<br>[1241, 1276, 5]"]
370["Segment<br>[1284, 1291, 5]"]
351["Segment<br>[436, 498, 5]"]
352["Segment<br>[506, 568, 5]"]
353["Segment<br>[576, 639, 5]"]
354["Segment<br>[647, 672, 5]"]
355["Segment<br>[680, 700, 5]"]
356["Segment<br>[708, 732, 5]"]
357["Segment<br>[740, 802, 5]"]
358["Segment<br>[810, 835, 5]"]
359["Segment<br>[843, 863, 5]"]
360["Segment<br>[871, 895, 5]"]
361["Segment<br>[903, 964, 5]"]
362["Segment<br>[972, 1033, 5]"]
363["Segment<br>[1041, 1066, 5]"]
364["Segment<br>[1074, 1098, 5]"]
365["Segment<br>[1106, 1168, 5]"]
366["Segment<br>[1176, 1201, 5]"]
367["Segment<br>[1209, 1236, 5]"]
368["Segment<br>[1244, 1305, 5]"]
369["Segment<br>[1313, 1357, 5]"]
370["Segment<br>[1365, 1372, 5]"]
371[Solid2d]
end
subgraph path435 [Path]
435["Path<br>[361, 394, 5]"]
436["Segment<br>[402, 428, 5]"]
437["Segment<br>[436, 489, 5]"]
438["Segment<br>[497, 550, 5]"]
439["Segment<br>[558, 612, 5]"]
440["Segment<br>[620, 645, 5]"]
441["Segment<br>[653, 673, 5]"]
442["Segment<br>[681, 705, 5]"]
443["Segment<br>[713, 766, 5]"]
444["Segment<br>[774, 799, 5]"]
445["Segment<br>[807, 827, 5]"]
446["Segment<br>[835, 859, 5]"]
447["Segment<br>[867, 919, 5]"]
448["Segment<br>[927, 979, 5]"]
449["Segment<br>[987, 1012, 5]"]
450["Segment<br>[1020, 1044, 5]"]
451["Segment<br>[1052, 1105, 5]"]
452["Segment<br>[1113, 1138, 5]"]
453["Segment<br>[1146, 1173, 5]"]
454["Segment<br>[1181, 1233, 5]"]
455["Segment<br>[1241, 1276, 5]"]
456["Segment<br>[1284, 1291, 5]"]
437["Segment<br>[436, 498, 5]"]
438["Segment<br>[506, 568, 5]"]
439["Segment<br>[576, 639, 5]"]
440["Segment<br>[647, 672, 5]"]
441["Segment<br>[680, 700, 5]"]
442["Segment<br>[708, 732, 5]"]
443["Segment<br>[740, 802, 5]"]
444["Segment<br>[810, 835, 5]"]
445["Segment<br>[843, 863, 5]"]
446["Segment<br>[871, 895, 5]"]
447["Segment<br>[903, 964, 5]"]
448["Segment<br>[972, 1033, 5]"]
449["Segment<br>[1041, 1066, 5]"]
450["Segment<br>[1074, 1098, 5]"]
451["Segment<br>[1106, 1168, 5]"]
452["Segment<br>[1176, 1201, 5]"]
453["Segment<br>[1209, 1236, 5]"]
454["Segment<br>[1244, 1305, 5]"]
455["Segment<br>[1313, 1357, 5]"]
456["Segment<br>[1365, 1372, 5]"]
457[Solid2d]
end
subgraph path522 [Path]
522["Path<br>[1685, 1709, 5]"]
522["Path<br>[1766, 1790, 5]"]
end
subgraph path523 [Path]
523["Path<br>[1717, 1847, 5]"]
524["Segment<br>[1717, 1847, 5]"]
525["Segment<br>[1717, 1847, 5]"]
526["Segment<br>[1717, 1847, 5]"]
527["Segment<br>[1717, 1847, 5]"]
528["Segment<br>[1717, 1847, 5]"]
529["Segment<br>[1717, 1847, 5]"]
530["Segment<br>[1717, 1847, 5]"]
523["Path<br>[1798, 1928, 5]"]
524["Segment<br>[1798, 1928, 5]"]
525["Segment<br>[1798, 1928, 5]"]
526["Segment<br>[1798, 1928, 5]"]
527["Segment<br>[1798, 1928, 5]"]
528["Segment<br>[1798, 1928, 5]"]
529["Segment<br>[1798, 1928, 5]"]
530["Segment<br>[1798, 1928, 5]"]
531[Solid2d]
end
subgraph path553 [Path]
553["Path<br>[1685, 1709, 5]"]
553["Path<br>[1766, 1790, 5]"]
end
subgraph path554 [Path]
554["Path<br>[1717, 1847, 5]"]
555["Segment<br>[1717, 1847, 5]"]
556["Segment<br>[1717, 1847, 5]"]
557["Segment<br>[1717, 1847, 5]"]
558["Segment<br>[1717, 1847, 5]"]
559["Segment<br>[1717, 1847, 5]"]
560["Segment<br>[1717, 1847, 5]"]
561["Segment<br>[1717, 1847, 5]"]
554["Path<br>[1798, 1928, 5]"]
555["Segment<br>[1798, 1928, 5]"]
556["Segment<br>[1798, 1928, 5]"]
557["Segment<br>[1798, 1928, 5]"]
558["Segment<br>[1798, 1928, 5]"]
559["Segment<br>[1798, 1928, 5]"]
560["Segment<br>[1798, 1928, 5]"]
561["Segment<br>[1798, 1928, 5]"]
562[Solid2d]
end
subgraph path585 [Path]
585["Path<br>[2123, 2150, 5]"]
586["Segment<br>[2158, 2180, 5]"]
587["Segment<br>[2188, 2210, 5]"]
588["Segment<br>[2218, 2240, 5]"]
589["Segment<br>[2248, 2271, 5]"]
590["Segment<br>[2279, 2302, 5]"]
591["Segment<br>[2310, 2345, 5]"]
592["Segment<br>[2353, 2360, 5]"]
585["Path<br>[2204, 2231, 5]"]
586["Segment<br>[2239, 2261, 5]"]
587["Segment<br>[2269, 2291, 5]"]
588["Segment<br>[2299, 2321, 5]"]
589["Segment<br>[2329, 2352, 5]"]
590["Segment<br>[2360, 2383, 5]"]
591["Segment<br>[2391, 2426, 5]"]
592["Segment<br>[2434, 2441, 5]"]
593[Solid2d]
end
subgraph path618 [Path]
618["Path<br>[2632, 2661, 5]"]
619["Segment<br>[2669, 2704, 5]"]
620["Segment<br>[2712, 2737, 5]"]
621["Segment<br>[2745, 2781, 5]"]
622["Segment<br>[2789, 2813, 5]"]
623["Segment<br>[2821, 2855, 5]"]
624["Segment<br>[2863, 2898, 5]"]
625["Segment<br>[2906, 2913, 5]"]
618["Path<br>[2713, 2742, 5]"]
619["Segment<br>[2750, 2785, 5]"]
620["Segment<br>[2793, 2818, 5]"]
621["Segment<br>[2826, 2862, 5]"]
622["Segment<br>[2870, 2894, 5]"]
623["Segment<br>[2902, 2936, 5]"]
624["Segment<br>[2944, 2979, 5]"]
625["Segment<br>[2987, 2994, 5]"]
626[Solid2d]
end
subgraph path650 [Path]
650["Path<br>[3188, 3215, 5]"]
651["Segment<br>[3223, 3242, 5]"]
652["Segment<br>[3250, 3340, 5]"]
650["Path<br>[3269, 3296, 5]"]
651["Segment<br>[3304, 3323, 5]"]
652["Segment<br>[3331, 3421, 5]"]
end
subgraph path654 [Path]
654["Path<br>[3440, 3473, 5]"]
655["Segment<br>[3481, 3500, 5]"]
656["Segment<br>[3508, 3530, 5]"]
657["Segment<br>[3538, 3561, 5]"]
658["Segment<br>[3569, 3589, 5]"]
659["Segment<br>[3597, 3621, 5]"]
660["Segment<br>[3629, 3652, 5]"]
661["Segment<br>[3660, 3667, 5]"]
654["Path<br>[3521, 3554, 5]"]
655["Segment<br>[3562, 3581, 5]"]
656["Segment<br>[3589, 3611, 5]"]
657["Segment<br>[3619, 3642, 5]"]
658["Segment<br>[3650, 3670, 5]"]
659["Segment<br>[3678, 3702, 5]"]
660["Segment<br>[3710, 3733, 5]"]
661["Segment<br>[3741, 3748, 5]"]
662[Solid2d]
end
subgraph path688 [Path]
688["Path<br>[3188, 3215, 5]"]
689["Segment<br>[3223, 3242, 5]"]
690["Segment<br>[3250, 3340, 5]"]
688["Path<br>[3269, 3296, 5]"]
689["Segment<br>[3304, 3323, 5]"]
690["Segment<br>[3331, 3421, 5]"]
end
subgraph path692 [Path]
692["Path<br>[3440, 3473, 5]"]
693["Segment<br>[3481, 3500, 5]"]
694["Segment<br>[3508, 3530, 5]"]
695["Segment<br>[3538, 3561, 5]"]
696["Segment<br>[3569, 3589, 5]"]
697["Segment<br>[3597, 3621, 5]"]
698["Segment<br>[3629, 3652, 5]"]
699["Segment<br>[3660, 3667, 5]"]
692["Path<br>[3521, 3554, 5]"]
693["Segment<br>[3562, 3581, 5]"]
694["Segment<br>[3589, 3611, 5]"]
695["Segment<br>[3619, 3642, 5]"]
696["Segment<br>[3650, 3670, 5]"]
697["Segment<br>[3678, 3702, 5]"]
698["Segment<br>[3710, 3733, 5]"]
699["Segment<br>[3741, 3748, 5]"]
700[Solid2d]
end
1["Plane<br>[333, 353, 5]"]
25["Sweep Extrusion<br>[1379, 1417, 5]"]
25["Sweep Extrusion<br>[1460, 1498, 5]"]
26[Wall]
27[Wall]
28[Wall]
@ -297,7 +297,7 @@ flowchart LR
86["SweepEdge Opposite"]
87["SweepEdge Adjacent"]
88["Plane<br>[333, 353, 5]"]
112["Sweep Extrusion<br>[1455, 1494, 5]"]
112["Sweep Extrusion<br>[1536, 1575, 5]"]
113[Wall]
114[Wall]
115[Wall]
@ -361,7 +361,7 @@ flowchart LR
173["SweepEdge Opposite"]
174["SweepEdge Adjacent"]
175["Plane<br>[823, 865, 0]"]
199["Sweep Extrusion<br>[1379, 1417, 5]"]
199["Sweep Extrusion<br>[1460, 1498, 5]"]
200[Wall]
201[Wall]
202[Wall]
@ -424,7 +424,7 @@ flowchart LR
259["SweepEdge Adjacent"]
260["SweepEdge Opposite"]
261["SweepEdge Adjacent"]
285["Sweep Extrusion<br>[1455, 1494, 5]"]
285["Sweep Extrusion<br>[1536, 1575, 5]"]
286[Wall]
287[Wall]
288[Wall]
@ -488,7 +488,7 @@ flowchart LR
346["SweepEdge Opposite"]
347["SweepEdge Adjacent"]
348["Plane<br>[875, 916, 0]"]
372["Sweep Extrusion<br>[1379, 1417, 5]"]
372["Sweep Extrusion<br>[1460, 1498, 5]"]
373[Wall]
374[Wall]
375[Wall]
@ -551,7 +551,7 @@ flowchart LR
432["SweepEdge Adjacent"]
433["SweepEdge Opposite"]
434["SweepEdge Adjacent"]
458["Sweep Extrusion<br>[1455, 1494, 5]"]
458["Sweep Extrusion<br>[1536, 1575, 5]"]
459[Wall]
460[Wall]
461[Wall]
@ -615,7 +615,7 @@ flowchart LR
519["SweepEdge Opposite"]
520["SweepEdge Adjacent"]
521["Plane<br>[975, 1017, 0]"]
532["Sweep Extrusion<br>[1949, 1973, 5]"]
532["Sweep Extrusion<br>[2030, 2054, 5]"]
533[Wall]
534[Wall]
535[Wall]
@ -636,7 +636,7 @@ flowchart LR
550["SweepEdge Adjacent"]
551["SweepEdge Opposite"]
552["SweepEdge Adjacent"]
563["Sweep Extrusion<br>[2015, 2039, 5]"]
563["Sweep Extrusion<br>[2096, 2120, 5]"]
564[Wall]
565[Wall]
566[Wall]
@ -658,7 +658,7 @@ flowchart LR
582["SweepEdge Opposite"]
583["SweepEdge Adjacent"]
584["Plane<br>[1068, 1135, 0]"]
594["Sweep Extrusion<br>[2523, 2547, 5]"]
594["Sweep Extrusion<br>[2604, 2628, 5]"]
595[Wall]
596[Wall]
597[Wall]
@ -679,10 +679,10 @@ flowchart LR
612["SweepEdge Adjacent"]
613["SweepEdge Opposite"]
614["SweepEdge Adjacent"]
615["Sweep Extrusion<br>[2523, 2547, 5]"]
616["Sweep Extrusion<br>[2523, 2547, 5]"]
615["Sweep Extrusion<br>[2604, 2628, 5]"]
616["Sweep Extrusion<br>[2604, 2628, 5]"]
617["Plane<br>[1205, 1272, 0]"]
627["Sweep Extrusion<br>[3083, 3107, 5]"]
627["Sweep Extrusion<br>[3164, 3188, 5]"]
628[Wall]
629[Wall]
630[Wall]
@ -703,10 +703,10 @@ flowchart LR
645["SweepEdge Adjacent"]
646["SweepEdge Opposite"]
647["SweepEdge Adjacent"]
648["Sweep Extrusion<br>[3083, 3107, 5]"]
649["Plane<br>[3748, 3783, 5]"]
653["Plane<br>[3814, 3843, 5]"]
663["Sweep Sweep<br>[3855, 3882, 5]"]
648["Sweep Extrusion<br>[3164, 3188, 5]"]
649["Plane<br>[3829, 3864, 5]"]
653["Plane<br>[3895, 3924, 5]"]
663["Sweep Sweep<br>[3936, 3963, 5]"]
664[Wall]
665[Wall]
666[Wall]
@ -730,9 +730,9 @@ flowchart LR
684["SweepEdge Adjacent"]
685["SweepEdge Opposite"]
686["SweepEdge Adjacent"]
687["Plane<br>[3748, 3783, 5]"]
691["Plane<br>[3814, 3843, 5]"]
701["Sweep Sweep<br>[3855, 3882, 5]"]
687["Plane<br>[3829, 3864, 5]"]
691["Plane<br>[3895, 3924, 5]"]
701["Sweep Sweep<br>[3936, 3963, 5]"]
702[Wall]
703[Wall]
704[Wall]
@ -760,14 +760,14 @@ flowchart LR
726["StartSketchOnPlane<br>[333, 353, 5]"]
727["StartSketchOnPlane<br>[333, 353, 5]"]
728["StartSketchOnPlane<br>[333, 353, 5]"]
729["StartSketchOnPlane<br>[1657, 1677, 5]"]
730["StartSketchOnPlane<br>[1657, 1677, 5]"]
731["StartSketchOnPlane<br>[2095, 2115, 5]"]
732["StartSketchOnPlane<br>[2604, 2624, 5]"]
733["StartSketchOnPlane<br>[3160, 3180, 5]"]
734["StartSketchOnPlane<br>[3412, 3432, 5]"]
735["StartSketchOnPlane<br>[3160, 3180, 5]"]
736["StartSketchOnPlane<br>[3412, 3432, 5]"]
729["StartSketchOnPlane<br>[1738, 1758, 5]"]
730["StartSketchOnPlane<br>[1738, 1758, 5]"]
731["StartSketchOnPlane<br>[2176, 2196, 5]"]
732["StartSketchOnPlane<br>[2685, 2705, 5]"]
733["StartSketchOnPlane<br>[3241, 3261, 5]"]
734["StartSketchOnPlane<br>[3493, 3513, 5]"]
735["StartSketchOnPlane<br>[3241, 3261, 5]"]
736["StartSketchOnPlane<br>[3493, 3513, 5]"]
1 --- 2
2 --- 3
2 --- 4

View File

@ -9,8 +9,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "divider",
"functionSourceRange": [
1331,
1606,
1412,
1687,
5
],
"unlabeledArg": null,
@ -25,7 +25,7 @@ description: Operations executed bench.kcl
"name": "dividerSketch",
"functionSourceRange": [
309,
1312,
1393,
5
],
"unlabeledArg": null,
@ -85,7 +85,7 @@ description: Operations executed bench.kcl
"name": "dividerSketch",
"functionSourceRange": [
309,
1312,
1393,
5
],
"unlabeledArg": null,
@ -260,8 +260,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "divider",
"functionSourceRange": [
1331,
1606,
1412,
1687,
5
],
"unlabeledArg": null,
@ -276,7 +276,7 @@ description: Operations executed bench.kcl
"name": "dividerSketch",
"functionSourceRange": [
309,
1312,
1393,
5
],
"unlabeledArg": null,
@ -336,7 +336,7 @@ description: Operations executed bench.kcl
"name": "dividerSketch",
"functionSourceRange": [
309,
1312,
1393,
5
],
"unlabeledArg": null,
@ -511,8 +511,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "divider",
"functionSourceRange": [
1331,
1606,
1412,
1687,
5
],
"unlabeledArg": null,
@ -527,7 +527,7 @@ description: Operations executed bench.kcl
"name": "dividerSketch",
"functionSourceRange": [
309,
1312,
1393,
5
],
"unlabeledArg": null,
@ -587,7 +587,7 @@ description: Operations executed bench.kcl
"name": "dividerSketch",
"functionSourceRange": [
309,
1312,
1393,
5
],
"unlabeledArg": null,
@ -762,8 +762,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "connector",
"functionSourceRange": [
1889,
2052,
1970,
2133,
5
],
"unlabeledArg": null,
@ -777,8 +777,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "connectorSketch",
"functionSourceRange": [
1626,
1868,
1707,
1949,
5
],
"unlabeledArg": null,
@ -842,8 +842,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "connectorSketch",
"functionSourceRange": [
1626,
1868,
1707,
1949,
5
],
"unlabeledArg": null,
@ -935,8 +935,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "seatSlats",
"functionSourceRange": [
2474,
2560,
2555,
2641,
5
],
"unlabeledArg": null,
@ -950,8 +950,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "seatSlatSketch",
"functionSourceRange": [
2071,
2453,
2152,
2534,
5
],
"unlabeledArg": null,
@ -1060,8 +1060,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "backSlats",
"functionSourceRange": [
3029,
3120,
3110,
3201,
5
],
"unlabeledArg": null,
@ -1075,8 +1075,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "backSlatsSketch",
"functionSourceRange": [
2580,
3008,
2661,
3089,
5
],
"unlabeledArg": null,
@ -1154,8 +1154,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "armRest",
"functionSourceRange": [
3707,
3895,
3788,
3976,
5
],
"unlabeledArg": null,
@ -1194,8 +1194,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "armRestPath",
"functionSourceRange": [
3136,
3361,
3217,
3442,
5
],
"unlabeledArg": null,
@ -1257,8 +1257,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "armRestProfile",
"functionSourceRange": [
3380,
3688,
3461,
3769,
5
],
"unlabeledArg": null,
@ -1318,8 +1318,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "armRest",
"functionSourceRange": [
3707,
3895,
3788,
3976,
5
],
"unlabeledArg": null,
@ -1358,8 +1358,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "armRestPath",
"functionSourceRange": [
3136,
3361,
3217,
3442,
5
],
"unlabeledArg": null,
@ -1421,8 +1421,8 @@ description: Operations executed bench.kcl
"type": "FunctionCall",
"name": "armRestProfile",
"functionSourceRange": [
3380,
3688,
3461,
3769,
5
],
"unlabeledArg": null,

View File

@ -152,51 +152,51 @@ flowchart LR
335["Segment<br>[793, 840, 8]"]
336["Segment<br>[848, 884, 8]"]
337["Segment<br>[892, 922, 8]"]
338["Segment<br>[930, 983, 8]"]
339["Segment<br>[991, 1031, 8]"]
340["Segment<br>[1039, 1074, 8]"]
341["Segment<br>[1082, 1120, 8]"]
342["Segment<br>[1128, 1150, 8]"]
343["Segment<br>[1158, 1165, 8]"]
338["Segment<br>[930, 975, 8]"]
339["Segment<br>[983, 1023, 8]"]
340["Segment<br>[1031, 1066, 8]"]
341["Segment<br>[1074, 1112, 8]"]
342["Segment<br>[1120, 1142, 8]"]
343["Segment<br>[1150, 1157, 8]"]
344[Solid2d]
end
subgraph path365 [Path]
365["Path<br>[511, 592, 7]"]
366["Segment<br>[598, 699, 7]"]
367["Segment<br>[705, 790, 7]"]
368["Segment<br>[796, 880, 7]"]
369["Segment<br>[886, 972, 7]"]
370["Segment<br>[978, 1063, 7]"]
371["Segment<br>[1069, 1155, 7]"]
372["Segment<br>[1161, 1284, 7]"]
373["Segment<br>[1290, 1376, 7]"]
374["Segment<br>[1382, 1517, 7]"]
375["Segment<br>[1523, 1609, 7]"]
376["Segment<br>[1615, 1739, 7]"]
377["Segment<br>[1745, 1831, 7]"]
378["Segment<br>[1837, 1922, 7]"]
379["Segment<br>[1928, 2014, 7]"]
380["Segment<br>[2020, 2105, 7]"]
381["Segment<br>[2111, 2196, 7]"]
382["Segment<br>[2202, 2209, 7]"]
367["Segment<br>[705, 763, 7]"]
368["Segment<br>[769, 853, 7]"]
369["Segment<br>[859, 918, 7]"]
370["Segment<br>[924, 1009, 7]"]
371["Segment<br>[1015, 1074, 7]"]
372["Segment<br>[1080, 1203, 7]"]
373["Segment<br>[1209, 1268, 7]"]
374["Segment<br>[1274, 1409, 7]"]
375["Segment<br>[1415, 1474, 7]"]
376["Segment<br>[1480, 1604, 7]"]
377["Segment<br>[1610, 1669, 7]"]
378["Segment<br>[1675, 1760, 7]"]
379["Segment<br>[1766, 1825, 7]"]
380["Segment<br>[1831, 1916, 7]"]
381["Segment<br>[1922, 1980, 7]"]
382["Segment<br>[1986, 1993, 7]"]
383[Solid2d]
end
subgraph path439 [Path]
439["Path<br>[487, 544, 9]"]
440["Segment<br>[550, 684, 9]"]
441["Segment<br>[690, 745, 9]"]
442["Segment<br>[751, 848, 9]"]
443["Segment<br>[854, 886, 9]"]
444["Segment<br>[892, 924, 9]"]
445["Segment<br>[930, 961, 9]"]
446["Segment<br>[967, 1082, 9]"]
447["Segment<br>[1088, 1120, 9]"]
448["Segment<br>[1126, 1158, 9]"]
449["Segment<br>[1164, 1195, 9]"]
450["Segment<br>[1201, 1294, 9]"]
451["Segment<br>[1300, 1355, 9]"]
452["Segment<br>[1361, 1434, 9]"]
453["Segment<br>[1440, 1447, 9]"]
441["Segment<br>[690, 737, 9]"]
442["Segment<br>[743, 840, 9]"]
443["Segment<br>[846, 878, 9]"]
444["Segment<br>[884, 916, 9]"]
445["Segment<br>[922, 953, 9]"]
446["Segment<br>[959, 1074, 9]"]
447["Segment<br>[1080, 1112, 9]"]
448["Segment<br>[1118, 1150, 9]"]
449["Segment<br>[1156, 1187, 9]"]
450["Segment<br>[1193, 1286, 9]"]
451["Segment<br>[1292, 1339, 9]"]
452["Segment<br>[1345, 1418, 9]"]
453["Segment<br>[1424, 1431, 9]"]
454[Solid2d]
end
1["Plane<br>[548, 565, 6]"]
@ -425,7 +425,7 @@ flowchart LR
331["SweepEdge Adjacent"]
332["SweepEdge Adjacent"]
333["Plane<br>[711, 737, 8]"]
345["Sweep Revolve<br>[1173, 1190, 8]"]
345["Sweep Revolve<br>[1165, 1182, 8]"]
346[Wall]
347[Wall]
348[Wall]
@ -445,7 +445,7 @@ flowchart LR
362["SweepEdge Adjacent"]
363["SweepEdge Adjacent"]
364["Plane<br>[488, 505, 7]"]
384["Sweep Revolve<br>[2247, 2297, 7]"]
384["Sweep Revolve<br>[2031, 2081, 7]"]
385[Wall]
386[Wall]
387[Wall]
@ -500,7 +500,7 @@ flowchart LR
436["SweepEdge Opposite"]
437["SweepEdge Adjacent"]
438["Plane<br>[464, 481, 9]"]
455["Sweep Revolve<br>[1490, 1519, 9]"]
455["Sweep Revolve<br>[1474, 1503, 9]"]
456[Wall]
457[Wall]
458[Wall]

View File

@ -2129,7 +2129,7 @@ description: Operations executed car-wheel-assembly.kcl
"name": "lug",
"functionSourceRange": [
669,
1280,
1272,
8
],
"unlabeledArg": null,

View File

@ -3,43 +3,43 @@ flowchart LR
subgraph path2 [Path]
2["Path<br>[631, 865, 0]"]
3["Segment<br>[875, 1008, 0]"]
4["Segment<br>[1018, 1109, 0]"]
5["Segment<br>[1119, 1174, 0]"]
6["Segment<br>[1184, 1275, 0]"]
7["Segment<br>[1285, 1340, 0]"]
8["Segment<br>[1350, 1406, 0]"]
9["Segment<br>[1416, 1424, 0]"]
4["Segment<br>[1018, 1070, 0]"]
5["Segment<br>[1080, 1127, 0]"]
6["Segment<br>[1137, 1189, 0]"]
7["Segment<br>[1199, 1246, 0]"]
8["Segment<br>[1256, 1321, 0]"]
9["Segment<br>[1331, 1339, 0]"]
10[Solid2d]
end
subgraph path11 [Path]
11["Path<br>[1439, 1489, 0]"]
12["Segment<br>[1439, 1489, 0]"]
11["Path<br>[1354, 1404, 0]"]
12["Segment<br>[1354, 1404, 0]"]
13[Solid2d]
end
subgraph path15 [Path]
15["Path<br>[631, 865, 0]"]
16["Segment<br>[875, 1008, 0]"]
17["Segment<br>[1018, 1109, 0]"]
18["Segment<br>[1119, 1174, 0]"]
19["Segment<br>[1184, 1275, 0]"]
20["Segment<br>[1285, 1340, 0]"]
21["Segment<br>[1350, 1406, 0]"]
22["Segment<br>[1416, 1424, 0]"]
17["Segment<br>[1018, 1070, 0]"]
18["Segment<br>[1080, 1127, 0]"]
19["Segment<br>[1137, 1189, 0]"]
20["Segment<br>[1199, 1246, 0]"]
21["Segment<br>[1256, 1321, 0]"]
22["Segment<br>[1331, 1339, 0]"]
23[Solid2d]
end
subgraph path24 [Path]
24["Path<br>[1439, 1489, 0]"]
25["Segment<br>[1439, 1489, 0]"]
24["Path<br>[1354, 1404, 0]"]
25["Segment<br>[1354, 1404, 0]"]
26[Solid2d]
end
subgraph path28 [Path]
28["Path<br>[631, 865, 0]"]
35["Segment<br>[1416, 1424, 0]"]
35["Segment<br>[1331, 1339, 0]"]
36[Solid2d]
end
subgraph path37 [Path]
37["Path<br>[1439, 1489, 0]"]
38["Segment<br>[1439, 1489, 0]"]
37["Path<br>[1354, 1404, 0]"]
38["Segment<br>[1354, 1404, 0]"]
39[Solid2d]
end
1["Plane<br>[587, 620, 0]"]
@ -51,7 +51,7 @@ flowchart LR
32["SweepEdge Opposite"]
33["SweepEdge Opposite"]
34["SweepEdge Opposite"]
40["Sweep Loft<br>[1619, 1708, 0]"]
40["Sweep Loft<br>[1534, 1623, 0]"]
41[Wall]
42[Wall]
43[Wall]

View File

@ -866,22 +866,15 @@ description: Result of parsing cycloidal-gear.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"left": {
@ -919,18 +912,15 @@ description: Result of parsing cycloidal-gear.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "60",
@ -944,18 +934,6 @@ description: Result of parsing cycloidal-gear.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -974,28 +952,22 @@ description: Result of parsing cycloidal-gear.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -1013,18 +985,15 @@ description: Result of parsing cycloidal-gear.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"argument": {
"commentStart": 0,
"end": 0,
@ -1046,18 +1015,6 @@ description: Result of parsing cycloidal-gear.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -1076,28 +1033,22 @@ description: Result of parsing cycloidal-gear.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"left": {
@ -1135,18 +1086,15 @@ description: Result of parsing cycloidal-gear.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "60",
@ -1160,18 +1108,6 @@ description: Result of parsing cycloidal-gear.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -1190,28 +1126,22 @@ description: Result of parsing cycloidal-gear.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -1229,18 +1159,15 @@ description: Result of parsing cycloidal-gear.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"argument": {
"commentStart": 0,
"end": 0,
@ -1262,18 +1189,6 @@ description: Result of parsing cycloidal-gear.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -1292,12 +1207,22 @@ description: Result of parsing cycloidal-gear.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -1367,13 +1292,7 @@ description: Result of parsing cycloidal-gear.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -1383,7 +1302,7 @@ description: Result of parsing cycloidal-gear.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -1394,8 +1313,9 @@ description: Result of parsing cycloidal-gear.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [

View File

@ -10,7 +10,7 @@ description: Operations executed cycloidal-gear.kcl
"name": "cycloidalGear",
"functionSourceRange": [
265,
1729,
1644,
0
],
"unlabeledArg": null,
@ -25,7 +25,7 @@ description: Operations executed cycloidal-gear.kcl
"name": "gearSketch",
"functionSourceRange": [
491,
1520,
1435,
0
],
"unlabeledArg": null,
@ -186,7 +186,7 @@ description: Operations executed cycloidal-gear.kcl
"name": "gearSketch",
"functionSourceRange": [
491,
1520,
1435,
0
],
"unlabeledArg": null,
@ -342,7 +342,7 @@ description: Operations executed cycloidal-gear.kcl
"name": "gearSketch",
"functionSourceRange": [
491,
1520,
1435,
0
],
"unlabeledArg": null,

View File

@ -102,14 +102,14 @@ flowchart LR
subgraph path276 [Path]
276["Path<br>[6877, 6927, 0]"]
277["Segment<br>[6933, 6970, 0]"]
278["Segment<br>[6976, 7060, 0]"]
279["Segment<br>[7066, 7102, 0]"]
280["Segment<br>[7108, 7200, 0]"]
281["Segment<br>[7206, 7242, 0]"]
278["Segment<br>[6976, 7069, 0]"]
279["Segment<br>[7075, 7111, 0]"]
280["Segment<br>[7117, 7218, 0]"]
281["Segment<br>[7224, 7260, 0]"]
end
subgraph path283 [Path]
283["Path<br>[7305, 7416, 0]"]
284["Segment<br>[7305, 7416, 0]"]
283["Path<br>[7323, 7434, 0]"]
284["Segment<br>[7323, 7434, 0]"]
285[Solid2d]
end
1["Plane<br>[565, 582, 0]"]
@ -310,8 +310,8 @@ flowchart LR
273["SweepEdge Adjacent"]
274["Sweep Extrusion<br>[6482, 6510, 0]"]
275["Plane<br>[6803, 6854, 0]"]
282["Plane<br>[7264, 7281, 0]"]
286["Sweep Sweep<br>[7430, 7483, 0]"]
282["Plane<br>[7282, 7299, 0]"]
286["Sweep Sweep<br>[7448, 7501, 0]"]
287[Wall]
288["Cap Start"]
289["Cap Start"]

View File

@ -10274,6 +10274,15 @@ description: Result of parsing dual-basin-utility-sink.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -10345,13 +10354,7 @@ description: Result of parsing dual-basin-utility-sink.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -10361,7 +10364,7 @@ description: Result of parsing dual-basin-utility-sink.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -10372,8 +10375,9 @@ description: Result of parsing dual-basin-utility-sink.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -10429,6 +10433,15 @@ description: Result of parsing dual-basin-utility-sink.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -10500,13 +10513,7 @@ description: Result of parsing dual-basin-utility-sink.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -10516,7 +10523,7 @@ description: Result of parsing dual-basin-utility-sink.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -10527,8 +10534,9 @@ description: Result of parsing dual-basin-utility-sink.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [

View File

@ -3,170 +3,170 @@ flowchart LR
subgraph path2 [Path]
2["Path<br>[817, 852, 0]"]
3["Segment<br>[860, 886, 0]"]
4["Segment<br>[894, 957, 0]"]
5["Segment<br>[965, 1024, 0]"]
6["Segment<br>[1032, 1094, 0]"]
7["Segment<br>[1102, 1161, 0]"]
4["Segment<br>[894, 955, 0]"]
5["Segment<br>[963, 1022, 0]"]
6["Segment<br>[1030, 1090, 0]"]
7["Segment<br>[1098, 1157, 0]"]
end
subgraph path9 [Path]
9["Path<br>[1263, 1325, 0]"]
10["Segment<br>[1263, 1325, 0]"]
9["Path<br>[1259, 1321, 0]"]
10["Segment<br>[1259, 1321, 0]"]
11[Solid2d]
end
subgraph path12 [Path]
12["Path<br>[1338, 1416, 0]"]
13["Segment<br>[1338, 1416, 0]"]
12["Path<br>[1334, 1412, 0]"]
13["Segment<br>[1334, 1412, 0]"]
14[Solid2d]
end
subgraph path22 [Path]
22["Path<br>[817, 852, 0]"]
23["Segment<br>[860, 886, 0]"]
24["Segment<br>[894, 957, 0]"]
25["Segment<br>[965, 1024, 0]"]
26["Segment<br>[1032, 1094, 0]"]
27["Segment<br>[1102, 1161, 0]"]
24["Segment<br>[894, 955, 0]"]
25["Segment<br>[963, 1022, 0]"]
26["Segment<br>[1030, 1090, 0]"]
27["Segment<br>[1098, 1157, 0]"]
end
subgraph path29 [Path]
29["Path<br>[1263, 1325, 0]"]
30["Segment<br>[1263, 1325, 0]"]
29["Path<br>[1259, 1321, 0]"]
30["Segment<br>[1259, 1321, 0]"]
31[Solid2d]
end
subgraph path32 [Path]
32["Path<br>[1338, 1416, 0]"]
33["Segment<br>[1338, 1416, 0]"]
32["Path<br>[1334, 1412, 0]"]
33["Segment<br>[1334, 1412, 0]"]
34[Solid2d]
end
subgraph path42 [Path]
42["Path<br>[817, 852, 0]"]
43["Segment<br>[860, 886, 0]"]
44["Segment<br>[894, 957, 0]"]
45["Segment<br>[965, 1024, 0]"]
46["Segment<br>[1032, 1094, 0]"]
47["Segment<br>[1102, 1161, 0]"]
44["Segment<br>[894, 955, 0]"]
45["Segment<br>[963, 1022, 0]"]
46["Segment<br>[1030, 1090, 0]"]
47["Segment<br>[1098, 1157, 0]"]
end
subgraph path49 [Path]
49["Path<br>[1263, 1325, 0]"]
50["Segment<br>[1263, 1325, 0]"]
49["Path<br>[1259, 1321, 0]"]
50["Segment<br>[1259, 1321, 0]"]
51[Solid2d]
end
subgraph path52 [Path]
52["Path<br>[1338, 1416, 0]"]
53["Segment<br>[1338, 1416, 0]"]
52["Path<br>[1334, 1412, 0]"]
53["Segment<br>[1334, 1412, 0]"]
54[Solid2d]
end
subgraph path62 [Path]
62["Path<br>[817, 852, 0]"]
63["Segment<br>[860, 886, 0]"]
64["Segment<br>[894, 957, 0]"]
65["Segment<br>[965, 1024, 0]"]
66["Segment<br>[1032, 1094, 0]"]
67["Segment<br>[1102, 1161, 0]"]
64["Segment<br>[894, 955, 0]"]
65["Segment<br>[963, 1022, 0]"]
66["Segment<br>[1030, 1090, 0]"]
67["Segment<br>[1098, 1157, 0]"]
end
subgraph path69 [Path]
69["Path<br>[1263, 1325, 0]"]
70["Segment<br>[1263, 1325, 0]"]
69["Path<br>[1259, 1321, 0]"]
70["Segment<br>[1259, 1321, 0]"]
71[Solid2d]
end
subgraph path72 [Path]
72["Path<br>[1338, 1416, 0]"]
73["Segment<br>[1338, 1416, 0]"]
72["Path<br>[1334, 1412, 0]"]
73["Segment<br>[1334, 1412, 0]"]
74[Solid2d]
end
subgraph path82 [Path]
82["Path<br>[1743, 1778, 0]"]
83["Segment<br>[1784, 1818, 0]"]
84["Segment<br>[1824, 1871, 0]"]
85["Segment<br>[1877, 1923, 0]"]
86["Segment<br>[1929, 1976, 0]"]
87["Segment<br>[1982, 2016, 0]"]
88["Segment<br>[2022, 2065, 0]"]
89["Segment<br>[2071, 2104, 0]"]
90["Segment<br>[2110, 2157, 0]"]
91["Segment<br>[2163, 2210, 0]"]
92["Segment<br>[2216, 2263, 0]"]
93["Segment<br>[2269, 2312, 0]"]
94["Segment<br>[2318, 2369, 0]"]
95["Segment<br>[2375, 2419, 0]"]
96["Segment<br>[2425, 2472, 0]"]
97["Segment<br>[2478, 2524, 0]"]
98["Segment<br>[2530, 2586, 0]"]
99["Segment<br>[2592, 2599, 0]"]
82["Path<br>[1739, 1774, 0]"]
83["Segment<br>[1780, 1814, 0]"]
84["Segment<br>[1820, 1859, 0]"]
85["Segment<br>[1865, 1903, 0]"]
86["Segment<br>[1909, 1948, 0]"]
87["Segment<br>[1954, 1988, 0]"]
88["Segment<br>[1994, 2037, 0]"]
89["Segment<br>[2043, 2076, 0]"]
90["Segment<br>[2082, 2121, 0]"]
91["Segment<br>[2127, 2166, 0]"]
92["Segment<br>[2172, 2211, 0]"]
93["Segment<br>[2217, 2260, 0]"]
94["Segment<br>[2266, 2317, 0]"]
95["Segment<br>[2323, 2367, 0]"]
96["Segment<br>[2373, 2412, 0]"]
97["Segment<br>[2418, 2456, 0]"]
98["Segment<br>[2462, 2527, 0]"]
99["Segment<br>[2533, 2540, 0]"]
100[Solid2d]
end
subgraph path101 [Path]
101["Path<br>[2671, 2744, 0]"]
102["Segment<br>[2671, 2744, 0]"]
101["Path<br>[2612, 2685, 0]"]
102["Segment<br>[2612, 2685, 0]"]
103[Solid2d]
end
subgraph path104 [Path]
104["Path<br>[2759, 2832, 0]"]
105["Segment<br>[2759, 2832, 0]"]
104["Path<br>[2700, 2773, 0]"]
105["Segment<br>[2700, 2773, 0]"]
106[Solid2d]
end
subgraph path107 [Path]
107["Path<br>[2847, 2920, 0]"]
108["Segment<br>[2847, 2920, 0]"]
107["Path<br>[2788, 2861, 0]"]
108["Segment<br>[2788, 2861, 0]"]
109[Solid2d]
end
subgraph path110 [Path]
110["Path<br>[2935, 3008, 0]"]
111["Segment<br>[2935, 3008, 0]"]
110["Path<br>[2876, 2949, 0]"]
111["Segment<br>[2876, 2949, 0]"]
112[Solid2d]
end
subgraph path113 [Path]
113["Path<br>[3062, 3201, 0]"]
114["Segment<br>[3062, 3201, 0]"]
113["Path<br>[3003, 3142, 0]"]
114["Segment<br>[3003, 3142, 0]"]
115[Solid2d]
end
subgraph path116 [Path]
116["Path<br>[3216, 3353, 0]"]
117["Segment<br>[3216, 3353, 0]"]
116["Path<br>[3157, 3294, 0]"]
117["Segment<br>[3157, 3294, 0]"]
118[Solid2d]
end
subgraph path119 [Path]
119["Path<br>[3368, 3515, 0]"]
120["Segment<br>[3368, 3515, 0]"]
119["Path<br>[3309, 3456, 0]"]
120["Segment<br>[3309, 3456, 0]"]
121[Solid2d]
end
subgraph path122 [Path]
122["Path<br>[3530, 3676, 0]"]
123["Segment<br>[3530, 3676, 0]"]
122["Path<br>[3471, 3617, 0]"]
123["Segment<br>[3471, 3617, 0]"]
124[Solid2d]
end
1["Plane<br>[784, 809, 0]"]
8["Plane<br>[1238, 1255, 0]"]
15["Sweep Sweep<br>[1428, 1451, 0]"]
8["Plane<br>[1234, 1251, 0]"]
15["Sweep Sweep<br>[1424, 1447, 0]"]
16[Wall]
17["Cap Start"]
18["Cap End"]
19["SweepEdge Opposite"]
20["SweepEdge Adjacent"]
21["Plane<br>[784, 809, 0]"]
28["Plane<br>[1238, 1255, 0]"]
35["Sweep Sweep<br>[1428, 1451, 0]"]
28["Plane<br>[1234, 1251, 0]"]
35["Sweep Sweep<br>[1424, 1447, 0]"]
36[Wall]
37["Cap Start"]
38["Cap End"]
39["SweepEdge Opposite"]
40["SweepEdge Adjacent"]
41["Plane<br>[784, 809, 0]"]
48["Plane<br>[1238, 1255, 0]"]
55["Sweep Sweep<br>[1428, 1451, 0]"]
48["Plane<br>[1234, 1251, 0]"]
55["Sweep Sweep<br>[1424, 1447, 0]"]
56[Wall]
57["Cap Start"]
58["Cap End"]
59["SweepEdge Opposite"]
60["SweepEdge Adjacent"]
61["Plane<br>[784, 809, 0]"]
68["Plane<br>[1238, 1255, 0]"]
75["Sweep Sweep<br>[1428, 1451, 0]"]
68["Plane<br>[1234, 1251, 0]"]
75["Sweep Sweep<br>[1424, 1447, 0]"]
76[Wall]
77["Cap Start"]
78["Cap End"]
79["SweepEdge Opposite"]
80["SweepEdge Adjacent"]
81["Plane<br>[1720, 1737, 0]"]
125["Sweep Extrusion<br>[3732, 3761, 0]"]
81["Plane<br>[1716, 1733, 0]"]
125["Sweep Extrusion<br>[3673, 3702, 0]"]
126[Wall]
127[Wall]
128[Wall]
@ -217,10 +217,10 @@ flowchart LR
173["SweepEdge Adjacent"]
174["SweepEdge Opposite"]
175["SweepEdge Adjacent"]
176["EdgeCut Fillet<br>[3767, 3901, 0]"]
177["EdgeCut Fillet<br>[3767, 3901, 0]"]
178["EdgeCut Fillet<br>[3907, 4041, 0]"]
179["EdgeCut Fillet<br>[3907, 4041, 0]"]
176["EdgeCut Fillet<br>[3708, 3842, 0]"]
177["EdgeCut Fillet<br>[3708, 3842, 0]"]
178["EdgeCut Fillet<br>[3848, 3982, 0]"]
179["EdgeCut Fillet<br>[3848, 3982, 0]"]
1 --- 2
2 --- 3
2 --- 4

View File

@ -825,22 +825,15 @@ description: Result of parsing exhaust-manifold.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"argument": {
"commentStart": 0,
"end": 0,
@ -862,18 +855,15 @@ description: Result of parsing exhaust-manifold.kcl
}
},
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -889,20 +879,17 @@ description: Result of parsing exhaust-manifold.kcl
"type": "Name",
"type": "Name"
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "tag",
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
"type": "Identifier"
},
{
"arg": {
"commentStart": 0,
"end": 0,
"start": 0,
@ -910,6 +897,7 @@ description: Result of parsing exhaust-manifold.kcl
"type": "TagDeclarator",
"value": "arc01"
}
}
],
"callee": {
"abs_path": false,
@ -929,8 +917,9 @@ description: Result of parsing exhaust-manifold.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -1036,22 +1025,15 @@ description: Result of parsing exhaust-manifold.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "85",
@ -1065,18 +1047,15 @@ description: Result of parsing exhaust-manifold.kcl
}
},
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -1092,20 +1071,17 @@ description: Result of parsing exhaust-manifold.kcl
"type": "Name",
"type": "Name"
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "tag",
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
"type": "Identifier"
},
{
"arg": {
"commentStart": 0,
"end": 0,
"start": 0,
@ -1113,6 +1089,7 @@ description: Result of parsing exhaust-manifold.kcl
"type": "TagDeclarator",
"value": "arc02"
}
}
],
"callee": {
"abs_path": false,
@ -1132,8 +1109,9 @@ description: Result of parsing exhaust-manifold.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -2386,22 +2364,15 @@ description: Result of parsing exhaust-manifold.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": ".3",
@ -2415,18 +2386,15 @@ description: Result of parsing exhaust-manifold.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"argument": {
"commentStart": 0,
"end": 0,
@ -2448,18 +2416,6 @@ description: Result of parsing exhaust-manifold.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -2478,28 +2434,22 @@ description: Result of parsing exhaust-manifold.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": ".9",
@ -2513,18 +2463,15 @@ description: Result of parsing exhaust-manifold.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "80",
@ -2538,18 +2485,6 @@ description: Result of parsing exhaust-manifold.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -2568,28 +2503,22 @@ description: Result of parsing exhaust-manifold.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": ".3",
@ -2603,18 +2532,15 @@ description: Result of parsing exhaust-manifold.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"argument": {
"commentStart": 0,
"end": 0,
@ -2636,18 +2562,6 @@ description: Result of parsing exhaust-manifold.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -2666,8 +2580,9 @@ description: Result of parsing exhaust-manifold.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -2903,22 +2818,15 @@ description: Result of parsing exhaust-manifold.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": ".3",
@ -2932,18 +2840,15 @@ description: Result of parsing exhaust-manifold.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"argument": {
"commentStart": 0,
"end": 0,
@ -2965,18 +2870,6 @@ description: Result of parsing exhaust-manifold.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -2995,28 +2888,22 @@ description: Result of parsing exhaust-manifold.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "1.5",
@ -3030,18 +2917,15 @@ description: Result of parsing exhaust-manifold.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "80",
@ -3055,18 +2939,6 @@ description: Result of parsing exhaust-manifold.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -3085,28 +2957,22 @@ description: Result of parsing exhaust-manifold.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": ".3",
@ -3120,18 +2986,15 @@ description: Result of parsing exhaust-manifold.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"argument": {
"commentStart": 0,
"end": 0,
@ -3153,18 +3016,6 @@ description: Result of parsing exhaust-manifold.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -3183,8 +3034,9 @@ description: Result of parsing exhaust-manifold.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -3467,22 +3319,15 @@ description: Result of parsing exhaust-manifold.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": ".3",
@ -3496,18 +3341,15 @@ description: Result of parsing exhaust-manifold.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"argument": {
"commentStart": 0,
"end": 0,
@ -3529,18 +3371,6 @@ description: Result of parsing exhaust-manifold.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -3559,28 +3389,22 @@ description: Result of parsing exhaust-manifold.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": ".9",
@ -3594,18 +3418,15 @@ description: Result of parsing exhaust-manifold.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "80",
@ -3619,18 +3440,6 @@ description: Result of parsing exhaust-manifold.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -3649,12 +3458,22 @@ description: Result of parsing exhaust-manifold.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -3724,13 +3543,7 @@ description: Result of parsing exhaust-manifold.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -3740,7 +3553,7 @@ description: Result of parsing exhaust-manifold.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -3751,8 +3564,9 @@ description: Result of parsing exhaust-manifold.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [],

View File

@ -10,7 +10,7 @@ description: Operations executed exhaust-manifold.kcl
"name": "primaryTube",
"functionSourceRange": [
330,
1468,
1464,
0
],
"unlabeledArg": null,
@ -317,7 +317,7 @@ description: Operations executed exhaust-manifold.kcl
"name": "primaryTube",
"functionSourceRange": [
330,
1468,
1464,
0
],
"unlabeledArg": null,
@ -624,7 +624,7 @@ description: Operations executed exhaust-manifold.kcl
"name": "primaryTube",
"functionSourceRange": [
330,
1468,
1464,
0
],
"unlabeledArg": null,
@ -931,7 +931,7 @@ description: Operations executed exhaust-manifold.kcl
"name": "primaryTube",
"functionSourceRange": [
330,
1468,
1464,
0
],
"unlabeledArg": null,

View File

@ -28,9 +28,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 1811,
"end": 1817,
"start": 1811,
"commentStart": 1807,
"end": 1813,
"start": 1807,
"type": "TagDeclarator",
"value": "seg01"
},
@ -62,9 +62,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2009,
"end": 2015,
"start": 2009,
"commentStart": 1981,
"end": 1987,
"start": 1981,
"type": "TagDeclarator",
"value": "seg03"
},
@ -75,9 +75,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2058,
"end": 2064,
"start": 2058,
"commentStart": 2030,
"end": 2036,
"start": 2030,
"type": "TagDeclarator",
"value": "seg04"
},
@ -88,9 +88,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2097,
"end": 2103,
"start": 2097,
"commentStart": 2069,
"end": 2075,
"start": 2069,
"type": "TagDeclarator",
"value": "seg05"
},
@ -122,9 +122,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2305,
"end": 2311,
"start": 2305,
"commentStart": 2253,
"end": 2259,
"start": 2253,
"type": "TagDeclarator",
"value": "seg07"
},
@ -135,9 +135,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2362,
"end": 2368,
"start": 2362,
"commentStart": 2310,
"end": 2316,
"start": 2310,
"type": "TagDeclarator",
"value": "seg08"
},
@ -148,9 +148,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2412,
"end": 2418,
"start": 2412,
"commentStart": 2360,
"end": 2366,
"start": 2360,
"type": "TagDeclarator",
"value": "seg09"
},
@ -192,9 +192,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
-1.25
],
"tag": {
"commentStart": 1811,
"end": 1817,
"start": 1811,
"commentStart": 1807,
"end": 1813,
"start": 1807,
"type": "TagDeclarator",
"value": "seg01"
},
@ -289,9 +289,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
-1.25
],
"tag": {
"commentStart": 2009,
"end": 2015,
"start": 2009,
"commentStart": 1981,
"end": 1987,
"start": 1981,
"type": "TagDeclarator",
"value": "seg03"
},
@ -314,9 +314,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
-1.25
],
"tag": {
"commentStart": 2058,
"end": 2064,
"start": 2058,
"commentStart": 2030,
"end": 2036,
"start": 2030,
"type": "TagDeclarator",
"value": "seg04"
},
@ -339,9 +339,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
1.35
],
"tag": {
"commentStart": 2097,
"end": 2103,
"start": 2097,
"commentStart": 2069,
"end": 2075,
"start": 2069,
"type": "TagDeclarator",
"value": "seg05"
},
@ -436,9 +436,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
1.35
],
"tag": {
"commentStart": 2305,
"end": 2311,
"start": 2305,
"commentStart": 2253,
"end": 2259,
"start": 2253,
"type": "TagDeclarator",
"value": "seg07"
},
@ -461,9 +461,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
1.35
],
"tag": {
"commentStart": 2362,
"end": 2368,
"start": 2362,
"commentStart": 2310,
"end": 2316,
"start": 2310,
"type": "TagDeclarator",
"value": "seg08"
},
@ -486,9 +486,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
-1.25
],
"tag": {
"commentStart": 2412,
"end": 2418,
"start": 2412,
"commentStart": 2360,
"end": 2366,
"start": 2360,
"type": "TagDeclarator",
"value": "seg09"
},

View File

@ -1,76 +1,76 @@
```mermaid
flowchart LR
subgraph path2 [Path]
2["Path<br>[1444, 1498, 0]"]
3["Segment<br>[1504, 1536, 0]"]
4["Segment<br>[1542, 1579, 0]"]
5["Segment<br>[1585, 1618, 0]"]
6["Segment<br>[1624, 1724, 0]"]
7["Segment<br>[1730, 1737, 0]"]
2["Path<br>[1445, 1499, 0]"]
3["Segment<br>[1505, 1537, 0]"]
4["Segment<br>[1543, 1580, 0]"]
5["Segment<br>[1586, 1619, 0]"]
6["Segment<br>[1625, 1725, 0]"]
7["Segment<br>[1731, 1738, 0]"]
8[Solid2d]
end
subgraph path9 [Path]
9["Path<br>[1001, 1042, 0]"]
10["Segment<br>[1050, 1090, 0]"]
11["Segment<br>[1098, 1152, 0]"]
12["Segment<br>[1160, 1201, 0]"]
13["Segment<br>[1209, 1265, 0]"]
14["Segment<br>[1273, 1280, 0]"]
11["Segment<br>[1098, 1144, 0]"]
12["Segment<br>[1152, 1193, 0]"]
13["Segment<br>[1201, 1266, 0]"]
14["Segment<br>[1274, 1281, 0]"]
15[Solid2d]
end
subgraph path16 [Path]
16["Path<br>[1001, 1042, 0]"]
17["Segment<br>[1050, 1090, 0]"]
18["Segment<br>[1098, 1152, 0]"]
19["Segment<br>[1160, 1201, 0]"]
20["Segment<br>[1209, 1265, 0]"]
21["Segment<br>[1273, 1280, 0]"]
18["Segment<br>[1098, 1144, 0]"]
19["Segment<br>[1152, 1193, 0]"]
20["Segment<br>[1201, 1266, 0]"]
21["Segment<br>[1274, 1281, 0]"]
22[Solid2d]
end
subgraph path23 [Path]
23["Path<br>[1001, 1042, 0]"]
24["Segment<br>[1050, 1090, 0]"]
25["Segment<br>[1098, 1152, 0]"]
26["Segment<br>[1160, 1201, 0]"]
27["Segment<br>[1209, 1265, 0]"]
28["Segment<br>[1273, 1280, 0]"]
25["Segment<br>[1098, 1144, 0]"]
26["Segment<br>[1152, 1193, 0]"]
27["Segment<br>[1201, 1266, 0]"]
28["Segment<br>[1274, 1281, 0]"]
29[Solid2d]
end
subgraph path49 [Path]
49["Path<br>[2740, 2793, 0]"]
50["Segment<br>[2799, 2858, 0]"]
51["Segment<br>[2864, 2899, 0]"]
52["Segment<br>[2905, 2938, 0]"]
53["Segment<br>[2944, 3003, 0]"]
54["Segment<br>[3009, 3045, 0]"]
55["Segment<br>[3051, 3075, 0]"]
56["Segment<br>[3081, 3088, 0]"]
49["Path<br>[2741, 2794, 0]"]
50["Segment<br>[2800, 2859, 0]"]
51["Segment<br>[2865, 2900, 0]"]
52["Segment<br>[2906, 2939, 0]"]
53["Segment<br>[2945, 3004, 0]"]
54["Segment<br>[3010, 3046, 0]"]
55["Segment<br>[3052, 3076, 0]"]
56["Segment<br>[3082, 3089, 0]"]
57[Solid2d]
end
subgraph path83 [Path]
83["Path<br>[3707, 3754, 0]"]
84["Segment<br>[3760, 3810, 0]"]
85["Segment<br>[3816, 3915, 0]"]
86["Segment<br>[3921, 3972, 0]"]
87["Segment<br>[3978, 4076, 0]"]
88["Segment<br>[4082, 4135, 0]"]
89["Segment<br>[4141, 4241, 0]"]
90["Segment<br>[4247, 4321, 0]"]
91["Segment<br>[4327, 4428, 0]"]
92["Segment<br>[4434, 4441, 0]"]
83["Path<br>[3708, 3755, 0]"]
84["Segment<br>[3761, 3811, 0]"]
85["Segment<br>[3817, 3916, 0]"]
86["Segment<br>[3922, 3973, 0]"]
87["Segment<br>[3979, 4077, 0]"]
88["Segment<br>[4083, 4136, 0]"]
89["Segment<br>[4142, 4242, 0]"]
90["Segment<br>[4248, 4322, 0]"]
91["Segment<br>[4328, 4429, 0]"]
92["Segment<br>[4435, 4442, 0]"]
93[Solid2d]
end
subgraph path121 [Path]
121["Path<br>[1001, 1042, 0]"]
122["Segment<br>[1050, 1090, 0]"]
123["Segment<br>[1098, 1152, 0]"]
124["Segment<br>[1160, 1201, 0]"]
125["Segment<br>[1209, 1265, 0]"]
126["Segment<br>[1273, 1280, 0]"]
123["Segment<br>[1098, 1144, 0]"]
124["Segment<br>[1152, 1193, 0]"]
125["Segment<br>[1201, 1266, 0]"]
126["Segment<br>[1274, 1281, 0]"]
127[Solid2d]
end
1["Plane<br>[1373, 1390, 0]"]
30["Sweep Extrusion<br>[2312, 2362, 0]"]
1["Plane<br>[1374, 1391, 0]"]
30["Sweep Extrusion<br>[2313, 2363, 0]"]
31[Wall]
32[Wall]
33[Wall]
@ -88,8 +88,8 @@ flowchart LR
45["SweepEdge Adjacent"]
46["SweepEdge Opposite"]
47["SweepEdge Adjacent"]
48["Plane<br>[2637, 2679, 0]"]
58["Sweep Extrusion<br>[3122, 3166, 0]"]
48["Plane<br>[2638, 2680, 0]"]
58["Sweep Extrusion<br>[3123, 3167, 0]"]
59[Wall]
60[Wall]
61[Wall]
@ -113,8 +113,8 @@ flowchart LR
79["SweepEdge Adjacent"]
80["SweepEdge Opposite"]
81["SweepEdge Adjacent"]
82["Plane<br>[3633, 3659, 0]"]
94["Sweep Extrusion<br>[4497, 4539, 0]"]
82["Plane<br>[3634, 3660, 0]"]
94["Sweep Extrusion<br>[4498, 4540, 0]"]
95[Wall]
96[Wall]
97[Wall]
@ -141,7 +141,7 @@ flowchart LR
118["SweepEdge Adjacent"]
119["SweepEdge Opposite"]
120["SweepEdge Adjacent"]
128["Sweep Extrusion<br>[4767, 4817, 0]"]
128["Sweep Extrusion<br>[4768, 4818, 0]"]
129[Wall]
130[Wall]
131[Wall]
@ -154,12 +154,12 @@ flowchart LR
138["SweepEdge Adjacent"]
139["SweepEdge Opposite"]
140["SweepEdge Adjacent"]
141["EdgeCut Fillet<br>[2399, 2540, 0]"]
142["EdgeCut Fillet<br>[2399, 2540, 0]"]
143["EdgeCut Fillet<br>[3209, 3340, 0]"]
144["EdgeCut Fillet<br>[3209, 3340, 0]"]
145["StartSketchOnPlane<br>[2623, 2680, 0]"]
146["StartSketchOnFace<br>[4598, 4630, 0]"]
141["EdgeCut Fillet<br>[2400, 2541, 0]"]
142["EdgeCut Fillet<br>[2400, 2541, 0]"]
143["EdgeCut Fillet<br>[3210, 3341, 0]"]
144["EdgeCut Fillet<br>[3210, 3341, 0]"]
145["StartSketchOnPlane<br>[2624, 2681, 0]"]
146["StartSketchOnFace<br>[4599, 4631, 0]"]
1 --- 2
1 --- 9
1 --- 16

View File

@ -1887,22 +1887,15 @@ description: Result of parsing food-service-spatula.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"left": {
@ -1940,18 +1933,15 @@ description: Result of parsing food-service-spatula.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "180",
@ -1965,18 +1955,6 @@ description: Result of parsing food-service-spatula.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -1995,8 +1973,9 @@ description: Result of parsing food-service-spatula.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -2086,6 +2065,15 @@ description: Result of parsing food-service-spatula.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -2155,13 +2143,7 @@ description: Result of parsing food-service-spatula.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -2171,7 +2153,7 @@ description: Result of parsing food-service-spatula.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -2182,8 +2164,9 @@ description: Result of parsing food-service-spatula.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [],

View File

@ -25,7 +25,7 @@ description: Operations executed food-service-spatula.kcl
"name": "slot",
"functionSourceRange": [
462,
1302,
1303,
0
],
"unlabeledArg": null,
@ -79,7 +79,7 @@ description: Operations executed food-service-spatula.kcl
"name": "slot",
"functionSourceRange": [
462,
1302,
1303,
0
],
"unlabeledArg": null,
@ -133,7 +133,7 @@ description: Operations executed food-service-spatula.kcl
"name": "slot",
"functionSourceRange": [
462,
1302,
1303,
0
],
"unlabeledArg": null,
@ -719,7 +719,7 @@ description: Operations executed food-service-spatula.kcl
"name": "slot",
"functionSourceRange": [
462,
1302,
1303,
0
],
"unlabeledArg": null,

View File

@ -27,9 +27,9 @@ description: Variables in memory after executing food-service-spatula.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 1569,
"end": 1578,
"start": 1569,
"commentStart": 1570,
"end": 1579,
"start": 1570,
"type": "TagDeclarator",
"value": "backEdge"
},
@ -90,9 +90,9 @@ description: Variables in memory after executing food-service-spatula.kcl
-30.0
],
"tag": {
"commentStart": 1569,
"end": 1578,
"start": 1569,
"commentStart": 1570,
"end": 1579,
"start": 1570,
"type": "TagDeclarator",
"value": "backEdge"
},
@ -297,9 +297,9 @@ description: Variables in memory after executing food-service-spatula.kcl
-30.0
],
"tag": {
"commentStart": 1569,
"end": 1578,
"start": 1569,
"commentStart": 1570,
"end": 1579,
"start": 1570,
"type": "TagDeclarator",
"value": "backEdge"
},
@ -547,9 +547,9 @@ description: Variables in memory after executing food-service-spatula.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4308,
"end": 4320,
"start": 4308,
"commentStart": 4309,
"end": 4321,
"start": 4309,
"type": "TagDeclarator",
"value": "gripEdgeTop"
},
@ -709,9 +709,9 @@ description: Variables in memory after executing food-service-spatula.kcl
7.0
],
"tag": {
"commentStart": 4308,
"end": 4320,
"start": 4308,
"commentStart": 4309,
"end": 4321,
"start": 4309,
"type": "TagDeclarator",
"value": "gripEdgeTop"
},
@ -1051,9 +1051,9 @@ description: Variables in memory after executing food-service-spatula.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4308,
"end": 4320,
"start": 4308,
"commentStart": 4309,
"end": 4321,
"start": 4309,
"type": "TagDeclarator",
"value": "gripEdgeTop"
},
@ -1213,9 +1213,9 @@ description: Variables in memory after executing food-service-spatula.kcl
7.0
],
"tag": {
"commentStart": 4308,
"end": 4320,
"start": 4308,
"commentStart": 4309,
"end": 4321,
"start": 4309,
"type": "TagDeclarator",
"value": "gripEdgeTop"
},
@ -1529,9 +1529,9 @@ description: Variables in memory after executing food-service-spatula.kcl
7.0
],
"tag": {
"commentStart": 4308,
"end": 4320,
"start": 4308,
"commentStart": 4309,
"end": 4321,
"start": 4309,
"type": "TagDeclarator",
"value": "gripEdgeTop"
},
@ -1718,9 +1718,9 @@ description: Variables in memory after executing food-service-spatula.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2840,
"end": 2857,
"start": 2840,
"commentStart": 2841,
"end": 2858,
"start": 2841,
"type": "TagDeclarator",
"value": "handleBottomEdge"
},
@ -1745,9 +1745,9 @@ description: Variables in memory after executing food-service-spatula.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2988,
"end": 3002,
"start": 2988,
"commentStart": 2989,
"end": 3003,
"start": 2989,
"type": "TagDeclarator",
"value": "handleTopEdge"
},
@ -1789,9 +1789,9 @@ description: Variables in memory after executing food-service-spatula.kcl
3.5
],
"tag": {
"commentStart": 2840,
"end": 2857,
"start": 2840,
"commentStart": 2841,
"end": 2858,
"start": 2841,
"type": "TagDeclarator",
"value": "handleBottomEdge"
},
@ -1852,9 +1852,9 @@ description: Variables in memory after executing food-service-spatula.kcl
91.3213
],
"tag": {
"commentStart": 2988,
"end": 3002,
"start": 2988,
"commentStart": 2989,
"end": 3003,
"start": 2989,
"type": "TagDeclarator",
"value": "handleTopEdge"
},
@ -2203,9 +2203,9 @@ description: Variables in memory after executing food-service-spatula.kcl
3.5
],
"tag": {
"commentStart": 2840,
"end": 2857,
"start": 2840,
"commentStart": 2841,
"end": 2858,
"start": 2841,
"type": "TagDeclarator",
"value": "handleBottomEdge"
},
@ -2266,9 +2266,9 @@ description: Variables in memory after executing food-service-spatula.kcl
91.3213
],
"tag": {
"commentStart": 2988,
"end": 3002,
"start": 2988,
"commentStart": 2989,
"end": 3003,
"start": 2989,
"type": "TagDeclarator",
"value": "handleTopEdge"
},
@ -2525,9 +2525,9 @@ description: Variables in memory after executing food-service-spatula.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4308,
"end": 4320,
"start": 4308,
"commentStart": 4309,
"end": 4321,
"start": 4309,
"type": "TagDeclarator",
"value": "gripEdgeTop"
},
@ -2687,9 +2687,9 @@ description: Variables in memory after executing food-service-spatula.kcl
7.0
],
"tag": {
"commentStart": 4308,
"end": 4320,
"start": 4308,
"commentStart": 4309,
"end": 4321,
"start": 4309,
"type": "TagDeclarator",
"value": "gripEdgeTop"
},
@ -3354,9 +3354,9 @@ description: Variables in memory after executing food-service-spatula.kcl
-30.0
],
"tag": {
"commentStart": 1569,
"end": 1578,
"start": 1569,
"commentStart": 1570,
"end": 1579,
"start": 1570,
"type": "TagDeclarator",
"value": "backEdge"
},

View File

@ -61,63 +61,63 @@ flowchart LR
143["Segment<br>[3558, 3576, 0]"]
144["Segment<br>[3582, 3602, 0]"]
145["Segment<br>[3608, 3628, 0]"]
146["Segment<br>[3634, 3682, 0]"]
147["Segment<br>[3688, 3744, 0]"]
148["Segment<br>[3750, 3757, 0]"]
146["Segment<br>[3634, 3674, 0]"]
147["Segment<br>[3680, 3736, 0]"]
148["Segment<br>[3742, 3749, 0]"]
149[Solid2d]
end
subgraph path166 [Path]
166["Path<br>[3861, 3920, 0]"]
167["Segment<br>[3861, 3920, 0]"]
166["Path<br>[3853, 3912, 0]"]
167["Segment<br>[3853, 3912, 0]"]
168[Solid2d]
end
subgraph path169 [Path]
169["Path<br>[3931, 3968, 0]"]
170["Segment<br>[3931, 3968, 0]"]
169["Path<br>[3923, 3960, 0]"]
170["Segment<br>[3923, 3960, 0]"]
171[Solid2d]
end
subgraph path178 [Path]
178["Path<br>[4110, 4148, 0]"]
179["Segment<br>[4110, 4148, 0]"]
178["Path<br>[4102, 4140, 0]"]
179["Segment<br>[4102, 4140, 0]"]
180[Solid2d]
end
subgraph path192 [Path]
192["Path<br>[4421, 4459, 0]"]
193["Segment<br>[4421, 4459, 0]"]
192["Path<br>[4413, 4451, 0]"]
193["Segment<br>[4413, 4451, 0]"]
194[Solid2d]
end
subgraph path203 [Path]
203["Path<br>[4711, 4763, 0]"]
204["Segment<br>[4711, 4763, 0]"]
203["Path<br>[4703, 4755, 0]"]
204["Segment<br>[4703, 4755, 0]"]
205[Solid2d]
end
subgraph path213 [Path]
213["Path<br>[5010, 5054, 0]"]
214["Segment<br>[5060, 5100, 0]"]
215["Segment<br>[5106, 5125, 0]"]
216["Segment<br>[5131, 5150, 0]"]
217["Segment<br>[5156, 5175, 0]"]
218["Segment<br>[5181, 5206, 0]"]
219["Segment<br>[5212, 5352, 0]"]
220["Segment<br>[5358, 5414, 0]"]
221["Segment<br>[5420, 5427, 0]"]
213["Path<br>[5002, 5046, 0]"]
214["Segment<br>[5052, 5092, 0]"]
215["Segment<br>[5098, 5117, 0]"]
216["Segment<br>[5123, 5142, 0]"]
217["Segment<br>[5148, 5167, 0]"]
218["Segment<br>[5173, 5198, 0]"]
219["Segment<br>[5204, 5344, 0]"]
220["Segment<br>[5350, 5406, 0]"]
221["Segment<br>[5412, 5419, 0]"]
222[Solid2d]
end
subgraph path239 [Path]
239["Path<br>[5557, 5586, 0]"]
240["Segment<br>[5592, 5613, 0]"]
241["Segment<br>[5619, 5650, 0]"]
242["Segment<br>[5656, 5687, 0]"]
243["Segment<br>[5693, 5725, 0]"]
244["Segment<br>[5731, 5753, 0]"]
245["Segment<br>[5759, 5780, 0]"]
246["Segment<br>[5786, 5811, 0]"]
247["Segment<br>[5817, 5848, 0]"]
248["Segment<br>[5854, 5886, 0]"]
249["Segment<br>[5892, 5924, 0]"]
250["Segment<br>[5930, 5951, 0]"]
251["Segment<br>[5957, 6013, 0]"]
252["Segment<br>[6019, 6026, 0]"]
239["Path<br>[5549, 5578, 0]"]
240["Segment<br>[5584, 5605, 0]"]
241["Segment<br>[5611, 5651, 0]"]
242["Segment<br>[5657, 5697, 0]"]
243["Segment<br>[5703, 5744, 0]"]
244["Segment<br>[5750, 5772, 0]"]
245["Segment<br>[5778, 5799, 0]"]
246["Segment<br>[5805, 5830, 0]"]
247["Segment<br>[5836, 5876, 0]"]
248["Segment<br>[5882, 5923, 0]"]
249["Segment<br>[5929, 5970, 0]"]
250["Segment<br>[5976, 5997, 0]"]
251["Segment<br>[6003, 6059, 0]"]
252["Segment<br>[6065, 6072, 0]"]
253[Solid2d]
end
1["Plane<br>[242, 259, 0]"]
@ -215,7 +215,7 @@ flowchart LR
137["SweepEdge Adjacent"]
138["SweepEdge Adjacent"]
139["Plane<br>[3427, 3444, 0]"]
150["Sweep Revolve<br>[3763, 3780, 0]"]
150["Sweep Revolve<br>[3755, 3772, 0]"]
151[Wall]
152[Wall]
153[Wall]
@ -230,40 +230,40 @@ flowchart LR
162["SweepEdge Adjacent"]
163["SweepEdge Adjacent"]
164["SweepEdge Adjacent"]
165["Plane<br>[3824, 3854, 0]"]
172["Sweep Extrusion<br>[3987, 4021, 0]"]
165["Plane<br>[3816, 3846, 0]"]
172["Sweep Extrusion<br>[3979, 4013, 0]"]
173[Wall]
174["Cap Start"]
175["Cap End"]
176["SweepEdge Opposite"]
177["SweepEdge Adjacent"]
181["Sweep Extrusion<br>[4297, 4332, 0]"]
181["Sweep Extrusion<br>[4289, 4324, 0]"]
182[Wall]
183["SweepEdge Opposite"]
184["SweepEdge Adjacent"]
185["Sweep Extrusion<br>[4297, 4332, 0]"]
186["Sweep Extrusion<br>[4297, 4332, 0]"]
187["Sweep Extrusion<br>[4297, 4332, 0]"]
188["Sweep Extrusion<br>[4297, 4332, 0]"]
189["Sweep Extrusion<br>[4297, 4332, 0]"]
190["Sweep Extrusion<br>[4297, 4332, 0]"]
191["Sweep Extrusion<br>[4297, 4332, 0]"]
195["Sweep Extrusion<br>[4608, 4643, 0]"]
185["Sweep Extrusion<br>[4289, 4324, 0]"]
186["Sweep Extrusion<br>[4289, 4324, 0]"]
187["Sweep Extrusion<br>[4289, 4324, 0]"]
188["Sweep Extrusion<br>[4289, 4324, 0]"]
189["Sweep Extrusion<br>[4289, 4324, 0]"]
190["Sweep Extrusion<br>[4289, 4324, 0]"]
191["Sweep Extrusion<br>[4289, 4324, 0]"]
195["Sweep Extrusion<br>[4600, 4635, 0]"]
196[Wall]
197["SweepEdge Opposite"]
198["SweepEdge Adjacent"]
199["Sweep Extrusion<br>[4608, 4643, 0]"]
200["Sweep Extrusion<br>[4608, 4643, 0]"]
201["Sweep Extrusion<br>[4608, 4643, 0]"]
202["Plane<br>[4688, 4705, 0]"]
206["Sweep Extrusion<br>[4859, 4900, 0]"]
199["Sweep Extrusion<br>[4600, 4635, 0]"]
200["Sweep Extrusion<br>[4600, 4635, 0]"]
201["Sweep Extrusion<br>[4600, 4635, 0]"]
202["Plane<br>[4680, 4697, 0]"]
206["Sweep Extrusion<br>[4851, 4892, 0]"]
207[Wall]
208["Cap Start"]
209["Cap End"]
210["SweepEdge Opposite"]
211["SweepEdge Adjacent"]
212["Plane<br>[4987, 5004, 0]"]
223["Sweep Revolve<br>[5433, 5450, 0]"]
212["Plane<br>[4979, 4996, 0]"]
223["Sweep Revolve<br>[5425, 5442, 0]"]
224[Wall]
225[Wall]
226[Wall]
@ -278,8 +278,8 @@ flowchart LR
235["SweepEdge Adjacent"]
236["SweepEdge Adjacent"]
237["SweepEdge Adjacent"]
238["Plane<br>[5505, 5550, 0]"]
254["Sweep Extrusion<br>[6040, 6085, 0]"]
238["Plane<br>[5497, 5542, 0]"]
254["Sweep Extrusion<br>[6086, 6131, 0]"]
255[Wall]
256[Wall]
257[Wall]
@ -320,10 +320,10 @@ flowchart LR
292["SweepEdge Adjacent"]
293["StartSketchOnPlane<br>[2337, 2379, 0]"]
294["StartSketchOnFace<br>[2507, 2539, 0]"]
295["StartSketchOnPlane<br>[3810, 3855, 0]"]
296["StartSketchOnFace<br>[4072, 4104, 0]"]
297["StartSketchOnFace<br>[4383, 4415, 0]"]
298["StartSketchOnPlane<br>[5491, 5551, 0]"]
295["StartSketchOnPlane<br>[3802, 3847, 0]"]
296["StartSketchOnFace<br>[4064, 4096, 0]"]
297["StartSketchOnFace<br>[4375, 4407, 0]"]
298["StartSketchOnPlane<br>[5483, 5543, 0]"]
1 --- 2
2 --- 3
2 --- 4

View File

@ -5466,22 +5466,15 @@ description: Result of parsing french-press.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "0.6",
@ -5495,18 +5488,15 @@ description: Result of parsing french-press.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"argument": {
"commentStart": 0,
"end": 0,
@ -5528,18 +5518,6 @@ description: Result of parsing french-press.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -5558,8 +5536,9 @@ description: Result of parsing french-press.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -8602,6 +8581,15 @@ description: Result of parsing french-press.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -8633,13 +8621,7 @@ description: Result of parsing french-press.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -8649,7 +8631,7 @@ description: Result of parsing french-press.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -8660,12 +8642,22 @@ description: Result of parsing french-press.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -8697,13 +8689,7 @@ description: Result of parsing french-press.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -8713,7 +8699,7 @@ description: Result of parsing french-press.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -8724,12 +8710,22 @@ description: Result of parsing french-press.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -8761,13 +8757,7 @@ description: Result of parsing french-press.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -8777,7 +8767,7 @@ description: Result of parsing french-press.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -8788,8 +8778,9 @@ description: Result of parsing french-press.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -9014,6 +9005,15 @@ description: Result of parsing french-press.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -9045,13 +9045,7 @@ description: Result of parsing french-press.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -9061,7 +9055,7 @@ description: Result of parsing french-press.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -9072,12 +9066,22 @@ description: Result of parsing french-press.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -9109,13 +9113,7 @@ description: Result of parsing french-press.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -9125,7 +9123,7 @@ description: Result of parsing french-press.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -9136,12 +9134,22 @@ description: Result of parsing french-press.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -9173,13 +9181,7 @@ description: Result of parsing french-press.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -9189,7 +9191,7 @@ description: Result of parsing french-press.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -9200,8 +9202,9 @@ description: Result of parsing french-press.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [

View File

@ -10,30 +10,30 @@ flowchart LR
end
subgraph path24 [Path]
24["Path<br>[859, 913, 0]"]
25["Segment<br>[921, 969, 0]"]
26["Segment<br>[977, 1009, 0]"]
27["Segment<br>[1017, 1065, 0]"]
28["Segment<br>[1073, 1098, 0]"]
29["Segment<br>[1106, 1155, 0]"]
30["Segment<br>[1163, 1196, 0]"]
31["Segment<br>[1204, 1253, 0]"]
32["Segment<br>[1261, 1268, 0]"]
25["Segment<br>[921, 962, 0]"]
26["Segment<br>[970, 1002, 0]"]
27["Segment<br>[1010, 1051, 0]"]
28["Segment<br>[1059, 1084, 0]"]
29["Segment<br>[1092, 1134, 0]"]
30["Segment<br>[1142, 1175, 0]"]
31["Segment<br>[1183, 1225, 0]"]
32["Segment<br>[1233, 1240, 0]"]
33[Solid2d]
end
subgraph path62 [Path]
62["Path<br>[1581, 1624, 0]"]
63["Segment<br>[1630, 1663, 0]"]
64["Segment<br>[1669, 1718, 0]"]
65["Segment<br>[1724, 1768, 0]"]
66["Segment<br>[1774, 1781, 0]"]
62["Path<br>[1553, 1596, 0]"]
63["Segment<br>[1602, 1635, 0]"]
64["Segment<br>[1641, 1683, 0]"]
65["Segment<br>[1689, 1733, 0]"]
66["Segment<br>[1739, 1746, 0]"]
67[Solid2d]
end
subgraph path84 [Path]
84["Path<br>[1916, 1958, 0]"]
85["Segment<br>[1964, 1998, 0]"]
86["Segment<br>[2004, 2054, 0]"]
87["Segment<br>[2060, 2103, 0]"]
88["Segment<br>[2109, 2116, 0]"]
84["Path<br>[1881, 1923, 0]"]
85["Segment<br>[1929, 1963, 0]"]
86["Segment<br>[1969, 2012, 0]"]
87["Segment<br>[2018, 2061, 0]"]
88["Segment<br>[2067, 2074, 0]"]
89[Solid2d]
end
1["Plane<br>[562, 579, 0]"]
@ -53,7 +53,7 @@ flowchart LR
21["SweepEdge Opposite"]
22["SweepEdge Adjacent"]
23["Plane<br>[834, 851, 0]"]
34["Sweep Extrusion<br>[1276, 1299, 0]"]
34["Sweep Extrusion<br>[1248, 1271, 0]"]
35[Wall]
36[Wall]
37[Wall]
@ -80,8 +80,8 @@ flowchart LR
58["SweepEdge Adjacent"]
59["SweepEdge Opposite"]
60["SweepEdge Adjacent"]
61["Plane<br>[1558, 1575, 0]"]
68["Sweep Extrusion<br>[1787, 1810, 0]"]
61["Plane<br>[1530, 1547, 0]"]
68["Sweep Extrusion<br>[1752, 1775, 0]"]
69[Wall]
70[Wall]
71[Wall]
@ -96,8 +96,8 @@ flowchart LR
80["SweepEdge Adjacent"]
81["SweepEdge Opposite"]
82["SweepEdge Adjacent"]
83["Plane<br>[1893, 1910, 0]"]
90["Sweep Extrusion<br>[2122, 2145, 0]"]
83["Plane<br>[1858, 1875, 0]"]
90["Sweep Extrusion<br>[2080, 2103, 0]"]
91[Wall]
92[Wall]
93[Wall]

View File

@ -852,6 +852,15 @@ description: Result of parsing gear-rack.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -883,13 +892,7 @@ description: Result of parsing gear-rack.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -899,7 +902,7 @@ description: Result of parsing gear-rack.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -910,8 +913,9 @@ description: Result of parsing gear-rack.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -984,6 +988,15 @@ description: Result of parsing gear-rack.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -1015,13 +1028,7 @@ description: Result of parsing gear-rack.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -1031,7 +1038,7 @@ description: Result of parsing gear-rack.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -1042,8 +1049,9 @@ description: Result of parsing gear-rack.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -1116,6 +1124,15 @@ description: Result of parsing gear-rack.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -1155,13 +1172,7 @@ description: Result of parsing gear-rack.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -1171,7 +1182,7 @@ description: Result of parsing gear-rack.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -1182,8 +1193,9 @@ description: Result of parsing gear-rack.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -1264,6 +1276,15 @@ description: Result of parsing gear-rack.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -1303,13 +1324,7 @@ description: Result of parsing gear-rack.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -1319,7 +1334,7 @@ description: Result of parsing gear-rack.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -1330,8 +1345,9 @@ description: Result of parsing gear-rack.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [],
@ -1896,6 +1912,15 @@ description: Result of parsing gear-rack.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -1935,13 +1960,7 @@ description: Result of parsing gear-rack.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -1951,7 +1970,7 @@ description: Result of parsing gear-rack.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -1962,8 +1981,9 @@ description: Result of parsing gear-rack.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -2406,6 +2426,15 @@ description: Result of parsing gear-rack.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "end",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -2453,13 +2482,7 @@ description: Result of parsing gear-rack.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -2469,7 +2492,7 @@ description: Result of parsing gear-rack.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcToRelative",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -2480,8 +2503,9 @@ description: Result of parsing gear-rack.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [

View File

@ -57,7 +57,7 @@ description: Operations executed gear-rack.kcl
"name": "tooth",
"functionSourceRange": [
813,
1322,
1294,
0
],
"unlabeledArg": null,

View File

@ -5,11 +5,11 @@ flowchart LR
3["Segment<br>[507, 538, 0]"]
4["Segment<br>[544, 576, 0]"]
5["Segment<br>[582, 632, 0]"]
6["Segment<br>[638, 692, 0]"]
7["Segment<br>[698, 720, 0]"]
6["Segment<br>[638, 684, 0]"]
7["Segment<br>[690, 712, 0]"]
end
1["Plane<br>[439, 457, 0]"]
8["Sweep Extrusion<br>[774, 802, 0]"]
8["Sweep Extrusion<br>[766, 794, 0]"]
1 --- 2
2 --- 3
2 --- 4

View File

@ -608,22 +608,15 @@ description: Result of parsing i-beam.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -641,18 +634,15 @@ description: Result of parsing i-beam.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "90",
@ -666,18 +656,6 @@ description: Result of parsing i-beam.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -696,8 +674,9 @@ description: Result of parsing i-beam.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [

View File

@ -33,325 +33,325 @@ flowchart LR
61["Path<br>[2010, 2069, 0]"]
62["Segment<br>[2077, 2169, 0]"]
63["Segment<br>[2177, 2251, 0]"]
64["Segment<br>[2259, 2306, 0]"]
65["Segment<br>[2314, 2421, 0]"]
66["Segment<br>[2429, 2476, 0]"]
67["Segment<br>[2484, 2601, 0]"]
68["Segment<br>[2609, 2656, 0]"]
69["Segment<br>[2664, 2749, 0]"]
70["Segment<br>[2757, 2764, 0]"]
64["Segment<br>[2259, 2298, 0]"]
65["Segment<br>[2306, 2413, 0]"]
66["Segment<br>[2421, 2460, 0]"]
67["Segment<br>[2468, 2585, 0]"]
68["Segment<br>[2593, 2632, 0]"]
69["Segment<br>[2640, 2725, 0]"]
70["Segment<br>[2733, 2740, 0]"]
71[Solid2d]
end
subgraph path100 [Path]
100["Path<br>[2010, 2069, 0]"]
101["Segment<br>[2077, 2169, 0]"]
102["Segment<br>[2177, 2251, 0]"]
103["Segment<br>[2259, 2306, 0]"]
104["Segment<br>[2314, 2421, 0]"]
105["Segment<br>[2429, 2476, 0]"]
106["Segment<br>[2484, 2601, 0]"]
107["Segment<br>[2609, 2656, 0]"]
108["Segment<br>[2664, 2749, 0]"]
109["Segment<br>[2757, 2764, 0]"]
103["Segment<br>[2259, 2298, 0]"]
104["Segment<br>[2306, 2413, 0]"]
105["Segment<br>[2421, 2460, 0]"]
106["Segment<br>[2468, 2585, 0]"]
107["Segment<br>[2593, 2632, 0]"]
108["Segment<br>[2640, 2725, 0]"]
109["Segment<br>[2733, 2740, 0]"]
110[Solid2d]
end
subgraph path139 [Path]
139["Path<br>[2010, 2069, 0]"]
140["Segment<br>[2077, 2169, 0]"]
141["Segment<br>[2177, 2251, 0]"]
142["Segment<br>[2259, 2306, 0]"]
143["Segment<br>[2314, 2421, 0]"]
144["Segment<br>[2429, 2476, 0]"]
145["Segment<br>[2484, 2601, 0]"]
146["Segment<br>[2609, 2656, 0]"]
147["Segment<br>[2664, 2749, 0]"]
148["Segment<br>[2757, 2764, 0]"]
142["Segment<br>[2259, 2298, 0]"]
143["Segment<br>[2306, 2413, 0]"]
144["Segment<br>[2421, 2460, 0]"]
145["Segment<br>[2468, 2585, 0]"]
146["Segment<br>[2593, 2632, 0]"]
147["Segment<br>[2640, 2725, 0]"]
148["Segment<br>[2733, 2740, 0]"]
149[Solid2d]
end
subgraph path178 [Path]
178["Path<br>[2010, 2069, 0]"]
179["Segment<br>[2077, 2169, 0]"]
180["Segment<br>[2177, 2251, 0]"]
181["Segment<br>[2259, 2306, 0]"]
182["Segment<br>[2314, 2421, 0]"]
183["Segment<br>[2429, 2476, 0]"]
184["Segment<br>[2484, 2601, 0]"]
185["Segment<br>[2609, 2656, 0]"]
186["Segment<br>[2664, 2749, 0]"]
187["Segment<br>[2757, 2764, 0]"]
181["Segment<br>[2259, 2298, 0]"]
182["Segment<br>[2306, 2413, 0]"]
183["Segment<br>[2421, 2460, 0]"]
184["Segment<br>[2468, 2585, 0]"]
185["Segment<br>[2593, 2632, 0]"]
186["Segment<br>[2640, 2725, 0]"]
187["Segment<br>[2733, 2740, 0]"]
188[Solid2d]
end
subgraph path217 [Path]
217["Path<br>[2010, 2069, 0]"]
218["Segment<br>[2077, 2169, 0]"]
219["Segment<br>[2177, 2251, 0]"]
220["Segment<br>[2259, 2306, 0]"]
221["Segment<br>[2314, 2421, 0]"]
222["Segment<br>[2429, 2476, 0]"]
223["Segment<br>[2484, 2601, 0]"]
224["Segment<br>[2609, 2656, 0]"]
225["Segment<br>[2664, 2749, 0]"]
226["Segment<br>[2757, 2764, 0]"]
220["Segment<br>[2259, 2298, 0]"]
221["Segment<br>[2306, 2413, 0]"]
222["Segment<br>[2421, 2460, 0]"]
223["Segment<br>[2468, 2585, 0]"]
224["Segment<br>[2593, 2632, 0]"]
225["Segment<br>[2640, 2725, 0]"]
226["Segment<br>[2733, 2740, 0]"]
227[Solid2d]
end
subgraph path256 [Path]
256["Path<br>[2010, 2069, 0]"]
257["Segment<br>[2077, 2169, 0]"]
258["Segment<br>[2177, 2251, 0]"]
259["Segment<br>[2259, 2306, 0]"]
260["Segment<br>[2314, 2421, 0]"]
261["Segment<br>[2429, 2476, 0]"]
262["Segment<br>[2484, 2601, 0]"]
263["Segment<br>[2609, 2656, 0]"]
264["Segment<br>[2664, 2749, 0]"]
265["Segment<br>[2757, 2764, 0]"]
259["Segment<br>[2259, 2298, 0]"]
260["Segment<br>[2306, 2413, 0]"]
261["Segment<br>[2421, 2460, 0]"]
262["Segment<br>[2468, 2585, 0]"]
263["Segment<br>[2593, 2632, 0]"]
264["Segment<br>[2640, 2725, 0]"]
265["Segment<br>[2733, 2740, 0]"]
266[Solid2d]
end
subgraph path295 [Path]
295["Path<br>[2010, 2069, 0]"]
296["Segment<br>[2077, 2169, 0]"]
297["Segment<br>[2177, 2251, 0]"]
298["Segment<br>[2259, 2306, 0]"]
299["Segment<br>[2314, 2421, 0]"]
300["Segment<br>[2429, 2476, 0]"]
301["Segment<br>[2484, 2601, 0]"]
302["Segment<br>[2609, 2656, 0]"]
303["Segment<br>[2664, 2749, 0]"]
304["Segment<br>[2757, 2764, 0]"]
298["Segment<br>[2259, 2298, 0]"]
299["Segment<br>[2306, 2413, 0]"]
300["Segment<br>[2421, 2460, 0]"]
301["Segment<br>[2468, 2585, 0]"]
302["Segment<br>[2593, 2632, 0]"]
303["Segment<br>[2640, 2725, 0]"]
304["Segment<br>[2733, 2740, 0]"]
305[Solid2d]
end
subgraph path334 [Path]
334["Path<br>[2010, 2069, 0]"]
335["Segment<br>[2077, 2169, 0]"]
336["Segment<br>[2177, 2251, 0]"]
337["Segment<br>[2259, 2306, 0]"]
338["Segment<br>[2314, 2421, 0]"]
339["Segment<br>[2429, 2476, 0]"]
340["Segment<br>[2484, 2601, 0]"]
341["Segment<br>[2609, 2656, 0]"]
342["Segment<br>[2664, 2749, 0]"]
343["Segment<br>[2757, 2764, 0]"]
337["Segment<br>[2259, 2298, 0]"]
338["Segment<br>[2306, 2413, 0]"]
339["Segment<br>[2421, 2460, 0]"]
340["Segment<br>[2468, 2585, 0]"]
341["Segment<br>[2593, 2632, 0]"]
342["Segment<br>[2640, 2725, 0]"]
343["Segment<br>[2733, 2740, 0]"]
344[Solid2d]
end
subgraph path373 [Path]
373["Path<br>[2010, 2069, 0]"]
374["Segment<br>[2077, 2169, 0]"]
375["Segment<br>[2177, 2251, 0]"]
376["Segment<br>[2259, 2306, 0]"]
377["Segment<br>[2314, 2421, 0]"]
378["Segment<br>[2429, 2476, 0]"]
379["Segment<br>[2484, 2601, 0]"]
380["Segment<br>[2609, 2656, 0]"]
381["Segment<br>[2664, 2749, 0]"]
382["Segment<br>[2757, 2764, 0]"]
376["Segment<br>[2259, 2298, 0]"]
377["Segment<br>[2306, 2413, 0]"]
378["Segment<br>[2421, 2460, 0]"]
379["Segment<br>[2468, 2585, 0]"]
380["Segment<br>[2593, 2632, 0]"]
381["Segment<br>[2640, 2725, 0]"]
382["Segment<br>[2733, 2740, 0]"]
383[Solid2d]
end
subgraph path412 [Path]
412["Path<br>[2010, 2069, 0]"]
413["Segment<br>[2077, 2169, 0]"]
414["Segment<br>[2177, 2251, 0]"]
415["Segment<br>[2259, 2306, 0]"]
416["Segment<br>[2314, 2421, 0]"]
417["Segment<br>[2429, 2476, 0]"]
418["Segment<br>[2484, 2601, 0]"]
419["Segment<br>[2609, 2656, 0]"]
420["Segment<br>[2664, 2749, 0]"]
421["Segment<br>[2757, 2764, 0]"]
415["Segment<br>[2259, 2298, 0]"]
416["Segment<br>[2306, 2413, 0]"]
417["Segment<br>[2421, 2460, 0]"]
418["Segment<br>[2468, 2585, 0]"]
419["Segment<br>[2593, 2632, 0]"]
420["Segment<br>[2640, 2725, 0]"]
421["Segment<br>[2733, 2740, 0]"]
422[Solid2d]
end
subgraph path451 [Path]
451["Path<br>[2010, 2069, 0]"]
452["Segment<br>[2077, 2169, 0]"]
453["Segment<br>[2177, 2251, 0]"]
454["Segment<br>[2259, 2306, 0]"]
455["Segment<br>[2314, 2421, 0]"]
456["Segment<br>[2429, 2476, 0]"]
457["Segment<br>[2484, 2601, 0]"]
458["Segment<br>[2609, 2656, 0]"]
459["Segment<br>[2664, 2749, 0]"]
460["Segment<br>[2757, 2764, 0]"]
454["Segment<br>[2259, 2298, 0]"]
455["Segment<br>[2306, 2413, 0]"]
456["Segment<br>[2421, 2460, 0]"]
457["Segment<br>[2468, 2585, 0]"]
458["Segment<br>[2593, 2632, 0]"]
459["Segment<br>[2640, 2725, 0]"]
460["Segment<br>[2733, 2740, 0]"]
461[Solid2d]
end
subgraph path490 [Path]
490["Path<br>[2010, 2069, 0]"]
491["Segment<br>[2077, 2169, 0]"]
492["Segment<br>[2177, 2251, 0]"]
493["Segment<br>[2259, 2306, 0]"]
494["Segment<br>[2314, 2421, 0]"]
495["Segment<br>[2429, 2476, 0]"]
496["Segment<br>[2484, 2601, 0]"]
497["Segment<br>[2609, 2656, 0]"]
498["Segment<br>[2664, 2749, 0]"]
499["Segment<br>[2757, 2764, 0]"]
493["Segment<br>[2259, 2298, 0]"]
494["Segment<br>[2306, 2413, 0]"]
495["Segment<br>[2421, 2460, 0]"]
496["Segment<br>[2468, 2585, 0]"]
497["Segment<br>[2593, 2632, 0]"]
498["Segment<br>[2640, 2725, 0]"]
499["Segment<br>[2733, 2740, 0]"]
500[Solid2d]
end
subgraph path529 [Path]
529["Path<br>[2010, 2069, 0]"]
530["Segment<br>[2077, 2169, 0]"]
531["Segment<br>[2177, 2251, 0]"]
532["Segment<br>[2259, 2306, 0]"]
533["Segment<br>[2314, 2421, 0]"]
534["Segment<br>[2429, 2476, 0]"]
535["Segment<br>[2484, 2601, 0]"]
536["Segment<br>[2609, 2656, 0]"]
537["Segment<br>[2664, 2749, 0]"]
538["Segment<br>[2757, 2764, 0]"]
532["Segment<br>[2259, 2298, 0]"]
533["Segment<br>[2306, 2413, 0]"]
534["Segment<br>[2421, 2460, 0]"]
535["Segment<br>[2468, 2585, 0]"]
536["Segment<br>[2593, 2632, 0]"]
537["Segment<br>[2640, 2725, 0]"]
538["Segment<br>[2733, 2740, 0]"]
539[Solid2d]
end
subgraph path568 [Path]
568["Path<br>[2010, 2069, 0]"]
569["Segment<br>[2077, 2169, 0]"]
570["Segment<br>[2177, 2251, 0]"]
571["Segment<br>[2259, 2306, 0]"]
572["Segment<br>[2314, 2421, 0]"]
573["Segment<br>[2429, 2476, 0]"]
574["Segment<br>[2484, 2601, 0]"]
575["Segment<br>[2609, 2656, 0]"]
576["Segment<br>[2664, 2749, 0]"]
577["Segment<br>[2757, 2764, 0]"]
571["Segment<br>[2259, 2298, 0]"]
572["Segment<br>[2306, 2413, 0]"]
573["Segment<br>[2421, 2460, 0]"]
574["Segment<br>[2468, 2585, 0]"]
575["Segment<br>[2593, 2632, 0]"]
576["Segment<br>[2640, 2725, 0]"]
577["Segment<br>[2733, 2740, 0]"]
578[Solid2d]
end
subgraph path607 [Path]
607["Path<br>[2010, 2069, 0]"]
608["Segment<br>[2077, 2169, 0]"]
609["Segment<br>[2177, 2251, 0]"]
610["Segment<br>[2259, 2306, 0]"]
611["Segment<br>[2314, 2421, 0]"]
612["Segment<br>[2429, 2476, 0]"]
613["Segment<br>[2484, 2601, 0]"]
614["Segment<br>[2609, 2656, 0]"]
615["Segment<br>[2664, 2749, 0]"]
616["Segment<br>[2757, 2764, 0]"]
610["Segment<br>[2259, 2298, 0]"]
611["Segment<br>[2306, 2413, 0]"]
612["Segment<br>[2421, 2460, 0]"]
613["Segment<br>[2468, 2585, 0]"]
614["Segment<br>[2593, 2632, 0]"]
615["Segment<br>[2640, 2725, 0]"]
616["Segment<br>[2733, 2740, 0]"]
617[Solid2d]
end
subgraph path646 [Path]
646["Path<br>[2010, 2069, 0]"]
647["Segment<br>[2077, 2169, 0]"]
648["Segment<br>[2177, 2251, 0]"]
649["Segment<br>[2259, 2306, 0]"]
650["Segment<br>[2314, 2421, 0]"]
651["Segment<br>[2429, 2476, 0]"]
652["Segment<br>[2484, 2601, 0]"]
653["Segment<br>[2609, 2656, 0]"]
654["Segment<br>[2664, 2749, 0]"]
655["Segment<br>[2757, 2764, 0]"]
649["Segment<br>[2259, 2298, 0]"]
650["Segment<br>[2306, 2413, 0]"]
651["Segment<br>[2421, 2460, 0]"]
652["Segment<br>[2468, 2585, 0]"]
653["Segment<br>[2593, 2632, 0]"]
654["Segment<br>[2640, 2725, 0]"]
655["Segment<br>[2733, 2740, 0]"]
656[Solid2d]
end
subgraph path685 [Path]
685["Path<br>[2010, 2069, 0]"]
686["Segment<br>[2077, 2169, 0]"]
687["Segment<br>[2177, 2251, 0]"]
688["Segment<br>[2259, 2306, 0]"]
689["Segment<br>[2314, 2421, 0]"]
690["Segment<br>[2429, 2476, 0]"]
691["Segment<br>[2484, 2601, 0]"]
692["Segment<br>[2609, 2656, 0]"]
693["Segment<br>[2664, 2749, 0]"]
694["Segment<br>[2757, 2764, 0]"]
688["Segment<br>[2259, 2298, 0]"]
689["Segment<br>[2306, 2413, 0]"]
690["Segment<br>[2421, 2460, 0]"]
691["Segment<br>[2468, 2585, 0]"]
692["Segment<br>[2593, 2632, 0]"]
693["Segment<br>[2640, 2725, 0]"]
694["Segment<br>[2733, 2740, 0]"]
695[Solid2d]
end
subgraph path724 [Path]
724["Path<br>[2010, 2069, 0]"]
725["Segment<br>[2077, 2169, 0]"]
726["Segment<br>[2177, 2251, 0]"]
727["Segment<br>[2259, 2306, 0]"]
728["Segment<br>[2314, 2421, 0]"]
729["Segment<br>[2429, 2476, 0]"]
730["Segment<br>[2484, 2601, 0]"]
731["Segment<br>[2609, 2656, 0]"]
732["Segment<br>[2664, 2749, 0]"]
733["Segment<br>[2757, 2764, 0]"]
727["Segment<br>[2259, 2298, 0]"]
728["Segment<br>[2306, 2413, 0]"]
729["Segment<br>[2421, 2460, 0]"]
730["Segment<br>[2468, 2585, 0]"]
731["Segment<br>[2593, 2632, 0]"]
732["Segment<br>[2640, 2725, 0]"]
733["Segment<br>[2733, 2740, 0]"]
734[Solid2d]
end
subgraph path763 [Path]
763["Path<br>[2010, 2069, 0]"]
764["Segment<br>[2077, 2169, 0]"]
765["Segment<br>[2177, 2251, 0]"]
766["Segment<br>[2259, 2306, 0]"]
767["Segment<br>[2314, 2421, 0]"]
768["Segment<br>[2429, 2476, 0]"]
769["Segment<br>[2484, 2601, 0]"]
770["Segment<br>[2609, 2656, 0]"]
771["Segment<br>[2664, 2749, 0]"]
772["Segment<br>[2757, 2764, 0]"]
766["Segment<br>[2259, 2298, 0]"]
767["Segment<br>[2306, 2413, 0]"]
768["Segment<br>[2421, 2460, 0]"]
769["Segment<br>[2468, 2585, 0]"]
770["Segment<br>[2593, 2632, 0]"]
771["Segment<br>[2640, 2725, 0]"]
772["Segment<br>[2733, 2740, 0]"]
773[Solid2d]
end
subgraph path802 [Path]
802["Path<br>[2010, 2069, 0]"]
803["Segment<br>[2077, 2169, 0]"]
804["Segment<br>[2177, 2251, 0]"]
805["Segment<br>[2259, 2306, 0]"]
806["Segment<br>[2314, 2421, 0]"]
807["Segment<br>[2429, 2476, 0]"]
808["Segment<br>[2484, 2601, 0]"]
809["Segment<br>[2609, 2656, 0]"]
810["Segment<br>[2664, 2749, 0]"]
811["Segment<br>[2757, 2764, 0]"]
805["Segment<br>[2259, 2298, 0]"]
806["Segment<br>[2306, 2413, 0]"]
807["Segment<br>[2421, 2460, 0]"]
808["Segment<br>[2468, 2585, 0]"]
809["Segment<br>[2593, 2632, 0]"]
810["Segment<br>[2640, 2725, 0]"]
811["Segment<br>[2733, 2740, 0]"]
812[Solid2d]
end
subgraph path841 [Path]
841["Path<br>[2010, 2069, 0]"]
842["Segment<br>[2077, 2169, 0]"]
843["Segment<br>[2177, 2251, 0]"]
844["Segment<br>[2259, 2306, 0]"]
845["Segment<br>[2314, 2421, 0]"]
846["Segment<br>[2429, 2476, 0]"]
847["Segment<br>[2484, 2601, 0]"]
848["Segment<br>[2609, 2656, 0]"]
849["Segment<br>[2664, 2749, 0]"]
850["Segment<br>[2757, 2764, 0]"]
844["Segment<br>[2259, 2298, 0]"]
845["Segment<br>[2306, 2413, 0]"]
846["Segment<br>[2421, 2460, 0]"]
847["Segment<br>[2468, 2585, 0]"]
848["Segment<br>[2593, 2632, 0]"]
849["Segment<br>[2640, 2725, 0]"]
850["Segment<br>[2733, 2740, 0]"]
851[Solid2d]
end
subgraph path880 [Path]
880["Path<br>[5020, 5107, 0]"]
881["Segment<br>[5115, 5144, 0]"]
882["Segment<br>[5152, 5180, 0]"]
883["Segment<br>[5188, 5266, 0]"]
884["Segment<br>[5274, 5321, 0]"]
885["Segment<br>[5329, 5357, 0]"]
886["Segment<br>[5365, 5394, 0]"]
887["Segment<br>[5402, 5431, 0]"]
888["Segment<br>[5439, 5505, 0]"]
889["Segment<br>[5513, 5541, 0]"]
890["Segment<br>[5549, 5578, 0]"]
891["Segment<br>[5586, 5648, 0]"]
892["Segment<br>[5656, 5684, 0]"]
893["Segment<br>[5692, 5726, 0]"]
894["Segment<br>[5734, 5764, 0]"]
895["Segment<br>[5772, 5881, 0]"]
896["Segment<br>[5889, 5896, 0]"]
880["Path<br>[4996, 5083, 0]"]
881["Segment<br>[5091, 5120, 0]"]
882["Segment<br>[5128, 5156, 0]"]
883["Segment<br>[5164, 5242, 0]"]
884["Segment<br>[5250, 5297, 0]"]
885["Segment<br>[5305, 5333, 0]"]
886["Segment<br>[5341, 5370, 0]"]
887["Segment<br>[5378, 5407, 0]"]
888["Segment<br>[5415, 5481, 0]"]
889["Segment<br>[5489, 5517, 0]"]
890["Segment<br>[5525, 5554, 0]"]
891["Segment<br>[5562, 5624, 0]"]
892["Segment<br>[5632, 5660, 0]"]
893["Segment<br>[5668, 5702, 0]"]
894["Segment<br>[5710, 5740, 0]"]
895["Segment<br>[5748, 5857, 0]"]
896["Segment<br>[5865, 5872, 0]"]
897[Solid2d]
end
subgraph path950 [Path]
950["Path<br>[6096, 6194, 0]"]
951["Segment<br>[6202, 6321, 0]"]
952["Segment<br>[6329, 6376, 0]"]
953["Segment<br>[6384, 6505, 0]"]
954["Segment<br>[6513, 6520, 0]"]
950["Path<br>[6072, 6170, 0]"]
951["Segment<br>[6178, 6297, 0]"]
952["Segment<br>[6305, 6352, 0]"]
953["Segment<br>[6360, 6481, 0]"]
954["Segment<br>[6489, 6496, 0]"]
955[Solid2d]
end
subgraph path972 [Path]
972["Path<br>[6628, 6725, 0]"]
973["Segment<br>[6733, 6852, 0]"]
974["Segment<br>[6860, 6908, 0]"]
975["Segment<br>[6916, 7037, 0]"]
976["Segment<br>[7045, 7052, 0]"]
972["Path<br>[6604, 6701, 0]"]
973["Segment<br>[6709, 6828, 0]"]
974["Segment<br>[6836, 6884, 0]"]
975["Segment<br>[6892, 7013, 0]"]
976["Segment<br>[7021, 7028, 0]"]
977[Solid2d]
end
subgraph path994 [Path]
994["Path<br>[6096, 6194, 0]"]
995["Segment<br>[6202, 6321, 0]"]
996["Segment<br>[6329, 6376, 0]"]
997["Segment<br>[6384, 6505, 0]"]
998["Segment<br>[6513, 6520, 0]"]
994["Path<br>[6072, 6170, 0]"]
995["Segment<br>[6178, 6297, 0]"]
996["Segment<br>[6305, 6352, 0]"]
997["Segment<br>[6360, 6481, 0]"]
998["Segment<br>[6489, 6496, 0]"]
999[Solid2d]
end
subgraph path1016 [Path]
1016["Path<br>[6628, 6725, 0]"]
1017["Segment<br>[6733, 6852, 0]"]
1018["Segment<br>[6860, 6908, 0]"]
1019["Segment<br>[6916, 7037, 0]"]
1020["Segment<br>[7045, 7052, 0]"]
1016["Path<br>[6604, 6701, 0]"]
1017["Segment<br>[6709, 6828, 0]"]
1018["Segment<br>[6836, 6884, 0]"]
1019["Segment<br>[6892, 7013, 0]"]
1020["Segment<br>[7021, 7028, 0]"]
1021[Solid2d]
end
1["Plane<br>[532, 549, 0]"]
@ -395,7 +395,7 @@ flowchart LR
58["SweepEdge Opposite"]
59["SweepEdge Adjacent"]
60["Plane<br>[1971, 1994, 0]"]
72["Sweep Extrusion<br>[2772, 2798, 0]"]
72["Sweep Extrusion<br>[2748, 2774, 0]"]
73[Wall]
74[Wall]
75[Wall]
@ -423,7 +423,7 @@ flowchart LR
97["SweepEdge Opposite"]
98["SweepEdge Adjacent"]
99["Plane<br>[1971, 1994, 0]"]
111["Sweep Extrusion<br>[2772, 2798, 0]"]
111["Sweep Extrusion<br>[2748, 2774, 0]"]
112[Wall]
113[Wall]
114[Wall]
@ -451,7 +451,7 @@ flowchart LR
136["SweepEdge Opposite"]
137["SweepEdge Adjacent"]
138["Plane<br>[1971, 1994, 0]"]
150["Sweep Extrusion<br>[2772, 2798, 0]"]
150["Sweep Extrusion<br>[2748, 2774, 0]"]
151[Wall]
152[Wall]
153[Wall]
@ -479,7 +479,7 @@ flowchart LR
175["SweepEdge Opposite"]
176["SweepEdge Adjacent"]
177["Plane<br>[1971, 1994, 0]"]
189["Sweep Extrusion<br>[2772, 2798, 0]"]
189["Sweep Extrusion<br>[2748, 2774, 0]"]
190[Wall]
191[Wall]
192[Wall]
@ -507,7 +507,7 @@ flowchart LR
214["SweepEdge Opposite"]
215["SweepEdge Adjacent"]
216["Plane<br>[1971, 1994, 0]"]
228["Sweep Extrusion<br>[2772, 2798, 0]"]
228["Sweep Extrusion<br>[2748, 2774, 0]"]
229[Wall]
230[Wall]
231[Wall]
@ -535,7 +535,7 @@ flowchart LR
253["SweepEdge Opposite"]
254["SweepEdge Adjacent"]
255["Plane<br>[1971, 1994, 0]"]
267["Sweep Extrusion<br>[2772, 2798, 0]"]
267["Sweep Extrusion<br>[2748, 2774, 0]"]
268[Wall]
269[Wall]
270[Wall]
@ -563,7 +563,7 @@ flowchart LR
292["SweepEdge Opposite"]
293["SweepEdge Adjacent"]
294["Plane<br>[1971, 1994, 0]"]
306["Sweep Extrusion<br>[2772, 2798, 0]"]
306["Sweep Extrusion<br>[2748, 2774, 0]"]
307[Wall]
308[Wall]
309[Wall]
@ -591,7 +591,7 @@ flowchart LR
331["SweepEdge Opposite"]
332["SweepEdge Adjacent"]
333["Plane<br>[1971, 1994, 0]"]
345["Sweep Extrusion<br>[2772, 2798, 0]"]
345["Sweep Extrusion<br>[2748, 2774, 0]"]
346[Wall]
347[Wall]
348[Wall]
@ -619,7 +619,7 @@ flowchart LR
370["SweepEdge Opposite"]
371["SweepEdge Adjacent"]
372["Plane<br>[1971, 1994, 0]"]
384["Sweep Extrusion<br>[2772, 2798, 0]"]
384["Sweep Extrusion<br>[2748, 2774, 0]"]
385[Wall]
386[Wall]
387[Wall]
@ -647,7 +647,7 @@ flowchart LR
409["SweepEdge Opposite"]
410["SweepEdge Adjacent"]
411["Plane<br>[1971, 1994, 0]"]
423["Sweep Extrusion<br>[2772, 2798, 0]"]
423["Sweep Extrusion<br>[2748, 2774, 0]"]
424[Wall]
425[Wall]
426[Wall]
@ -675,7 +675,7 @@ flowchart LR
448["SweepEdge Opposite"]
449["SweepEdge Adjacent"]
450["Plane<br>[1971, 1994, 0]"]
462["Sweep Extrusion<br>[2772, 2798, 0]"]
462["Sweep Extrusion<br>[2748, 2774, 0]"]
463[Wall]
464[Wall]
465[Wall]
@ -703,7 +703,7 @@ flowchart LR
487["SweepEdge Opposite"]
488["SweepEdge Adjacent"]
489["Plane<br>[1971, 1994, 0]"]
501["Sweep Extrusion<br>[2772, 2798, 0]"]
501["Sweep Extrusion<br>[2748, 2774, 0]"]
502[Wall]
503[Wall]
504[Wall]
@ -731,7 +731,7 @@ flowchart LR
526["SweepEdge Opposite"]
527["SweepEdge Adjacent"]
528["Plane<br>[1971, 1994, 0]"]
540["Sweep Extrusion<br>[2772, 2798, 0]"]
540["Sweep Extrusion<br>[2748, 2774, 0]"]
541[Wall]
542[Wall]
543[Wall]
@ -759,7 +759,7 @@ flowchart LR
565["SweepEdge Opposite"]
566["SweepEdge Adjacent"]
567["Plane<br>[1971, 1994, 0]"]
579["Sweep Extrusion<br>[2772, 2798, 0]"]
579["Sweep Extrusion<br>[2748, 2774, 0]"]
580[Wall]
581[Wall]
582[Wall]
@ -787,7 +787,7 @@ flowchart LR
604["SweepEdge Opposite"]
605["SweepEdge Adjacent"]
606["Plane<br>[1971, 1994, 0]"]
618["Sweep Extrusion<br>[2772, 2798, 0]"]
618["Sweep Extrusion<br>[2748, 2774, 0]"]
619[Wall]
620[Wall]
621[Wall]
@ -815,7 +815,7 @@ flowchart LR
643["SweepEdge Opposite"]
644["SweepEdge Adjacent"]
645["Plane<br>[1971, 1994, 0]"]
657["Sweep Extrusion<br>[2772, 2798, 0]"]
657["Sweep Extrusion<br>[2748, 2774, 0]"]
658[Wall]
659[Wall]
660[Wall]
@ -843,7 +843,7 @@ flowchart LR
682["SweepEdge Opposite"]
683["SweepEdge Adjacent"]
684["Plane<br>[1971, 1994, 0]"]
696["Sweep Extrusion<br>[2772, 2798, 0]"]
696["Sweep Extrusion<br>[2748, 2774, 0]"]
697[Wall]
698[Wall]
699[Wall]
@ -871,7 +871,7 @@ flowchart LR
721["SweepEdge Opposite"]
722["SweepEdge Adjacent"]
723["Plane<br>[1971, 1994, 0]"]
735["Sweep Extrusion<br>[2772, 2798, 0]"]
735["Sweep Extrusion<br>[2748, 2774, 0]"]
736[Wall]
737[Wall]
738[Wall]
@ -899,7 +899,7 @@ flowchart LR
760["SweepEdge Opposite"]
761["SweepEdge Adjacent"]
762["Plane<br>[1971, 1994, 0]"]
774["Sweep Extrusion<br>[2772, 2798, 0]"]
774["Sweep Extrusion<br>[2748, 2774, 0]"]
775[Wall]
776[Wall]
777[Wall]
@ -927,7 +927,7 @@ flowchart LR
799["SweepEdge Opposite"]
800["SweepEdge Adjacent"]
801["Plane<br>[1971, 1994, 0]"]
813["Sweep Extrusion<br>[2772, 2798, 0]"]
813["Sweep Extrusion<br>[2748, 2774, 0]"]
814[Wall]
815[Wall]
816[Wall]
@ -955,7 +955,7 @@ flowchart LR
838["SweepEdge Opposite"]
839["SweepEdge Adjacent"]
840["Plane<br>[1971, 1994, 0]"]
852["Sweep Extrusion<br>[2772, 2798, 0]"]
852["Sweep Extrusion<br>[2748, 2774, 0]"]
853[Wall]
854[Wall]
855[Wall]
@ -982,8 +982,8 @@ flowchart LR
876["SweepEdge Adjacent"]
877["SweepEdge Opposite"]
878["SweepEdge Adjacent"]
879["Plane<br>[4989, 5012, 0]"]
898["Sweep Extrusion<br>[5904, 5928, 0]"]
879["Plane<br>[4965, 4988, 0]"]
898["Sweep Extrusion<br>[5880, 5904, 0]"]
899[Wall]
900[Wall]
901[Wall]
@ -1034,8 +1034,8 @@ flowchart LR
946["SweepEdge Adjacent"]
947["SweepEdge Opposite"]
948["SweepEdge Adjacent"]
949["Plane<br>[6065, 6088, 0]"]
956["Sweep Extrusion<br>[6528, 6552, 0]"]
949["Plane<br>[6041, 6064, 0]"]
956["Sweep Extrusion<br>[6504, 6528, 0]"]
957[Wall]
958[Wall]
959[Wall]
@ -1050,8 +1050,8 @@ flowchart LR
968["SweepEdge Adjacent"]
969["SweepEdge Opposite"]
970["SweepEdge Adjacent"]
971["Plane<br>[6597, 6620, 0]"]
978["Sweep Extrusion<br>[7060, 7084, 0]"]
971["Plane<br>[6573, 6596, 0]"]
978["Sweep Extrusion<br>[7036, 7060, 0]"]
979[Wall]
980[Wall]
981[Wall]
@ -1066,8 +1066,8 @@ flowchart LR
990["SweepEdge Adjacent"]
991["SweepEdge Opposite"]
992["SweepEdge Adjacent"]
993["Plane<br>[6065, 6088, 0]"]
1000["Sweep Extrusion<br>[6528, 6552, 0]"]
993["Plane<br>[6041, 6064, 0]"]
1000["Sweep Extrusion<br>[6504, 6528, 0]"]
1001[Wall]
1002[Wall]
1003[Wall]
@ -1082,8 +1082,8 @@ flowchart LR
1012["SweepEdge Adjacent"]
1013["SweepEdge Opposite"]
1014["SweepEdge Adjacent"]
1015["Plane<br>[6597, 6620, 0]"]
1022["Sweep Extrusion<br>[7060, 7084, 0]"]
1015["Plane<br>[6573, 6596, 0]"]
1022["Sweep Extrusion<br>[7036, 7060, 0]"]
1023[Wall]
1024[Wall]
1025[Wall]

View File

@ -3106,22 +3106,15 @@ description: Result of parsing keyboard.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "0.1",
@ -3135,18 +3128,15 @@ description: Result of parsing keyboard.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "90",
@ -3160,18 +3150,6 @@ description: Result of parsing keyboard.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -3190,8 +3168,9 @@ description: Result of parsing keyboard.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -3355,22 +3334,15 @@ description: Result of parsing keyboard.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "0.1",
@ -3384,18 +3356,15 @@ description: Result of parsing keyboard.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "90",
@ -3409,18 +3378,6 @@ description: Result of parsing keyboard.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -3439,8 +3396,9 @@ description: Result of parsing keyboard.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -3596,22 +3554,15 @@ description: Result of parsing keyboard.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "0.1",
@ -3625,18 +3576,15 @@ description: Result of parsing keyboard.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "90",
@ -3650,18 +3598,6 @@ description: Result of parsing keyboard.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -3680,8 +3616,9 @@ description: Result of parsing keyboard.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [

View File

@ -213,7 +213,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -550,7 +550,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -887,7 +887,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -1224,7 +1224,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -1561,7 +1561,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -1898,7 +1898,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -2235,7 +2235,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -2572,7 +2572,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -2909,7 +2909,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -3246,7 +3246,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -3583,7 +3583,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -3920,7 +3920,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -4257,7 +4257,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -4594,7 +4594,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -4931,7 +4931,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -5268,7 +5268,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -5605,7 +5605,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -5942,7 +5942,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -6279,7 +6279,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -6616,7 +6616,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -6953,7 +6953,7 @@ description: Operations executed keyboard.kcl
"name": "keyFn",
"functionSourceRange": [
1904,
3056,
3032,
0
],
"unlabeledArg": null,
@ -7307,8 +7307,8 @@ description: Operations executed keyboard.kcl
"type": "FunctionCall",
"name": "z",
"functionSourceRange": [
4958,
5978,
4934,
5954,
0
],
"unlabeledArg": null,
@ -7549,8 +7549,8 @@ description: Operations executed keyboard.kcl
"type": "FunctionCall",
"name": "o",
"functionSourceRange": [
6025,
7134,
6001,
7110,
0
],
"unlabeledArg": null,
@ -8015,8 +8015,8 @@ description: Operations executed keyboard.kcl
"type": "FunctionCall",
"name": "o",
"functionSourceRange": [
6025,
7134,
6001,
7110,
0
],
"unlabeledArg": null,

View File

@ -36,59 +36,59 @@ flowchart LR
end
subgraph path118 [Path]
118["Path<br>[2063, 2088, 0]"]
119["Segment<br>[2094, 2144, 0]"]
120["Segment<br>[2150, 2190, 0]"]
121["Segment<br>[2196, 2203, 0]"]
119["Segment<br>[2094, 2136, 0]"]
120["Segment<br>[2142, 2182, 0]"]
121["Segment<br>[2188, 2195, 0]"]
122[Solid2d]
end
subgraph path135 [Path]
135["Path<br>[2332, 2357, 0]"]
136["Segment<br>[2363, 2390, 0]"]
137["Segment<br>[2396, 2430, 0]"]
138["Segment<br>[2436, 2471, 0]"]
139["Segment<br>[2477, 2558, 0]"]
140["Segment<br>[2564, 2593, 0]"]
141["Segment<br>[2599, 2652, 0]"]
142["Segment<br>[2658, 2685, 0]"]
143["Segment<br>[2691, 2720, 0]"]
144["Segment<br>[2726, 2850, 0]"]
145["Segment<br>[2856, 2901, 0]"]
146["Segment<br>[2907, 2929, 0]"]
147["Segment<br>[2935, 2954, 0]"]
135["Path<br>[2324, 2349, 0]"]
136["Segment<br>[2355, 2382, 0]"]
137["Segment<br>[2388, 2422, 0]"]
138["Segment<br>[2428, 2463, 0]"]
139["Segment<br>[2469, 2550, 0]"]
140["Segment<br>[2556, 2585, 0]"]
141["Segment<br>[2591, 2644, 0]"]
142["Segment<br>[2650, 2677, 0]"]
143["Segment<br>[2683, 2712, 0]"]
144["Segment<br>[2718, 2851, 0]"]
145["Segment<br>[2857, 2911, 0]"]
146["Segment<br>[2917, 2939, 0]"]
147["Segment<br>[2945, 2964, 0]"]
148[Solid2d]
end
subgraph path189 [Path]
189["Path<br>[3282, 3307, 0]"]
190["Segment<br>[3313, 3340, 0]"]
191["Segment<br>[3346, 3377, 0]"]
192["Segment<br>[3383, 3507, 0]"]
193["Segment<br>[3513, 3558, 0]"]
194["Segment<br>[3564, 3600, 0]"]
195["Segment<br>[3606, 3613, 0]"]
189["Path<br>[3292, 3317, 0]"]
190["Segment<br>[3323, 3350, 0]"]
191["Segment<br>[3356, 3387, 0]"]
192["Segment<br>[3393, 3526, 0]"]
193["Segment<br>[3532, 3586, 0]"]
194["Segment<br>[3592, 3628, 0]"]
195["Segment<br>[3634, 3641, 0]"]
196[Solid2d]
end
subgraph path218 [Path]
218["Path<br>[3701, 3751, 0]"]
219["Segment<br>[3757, 3789, 0]"]
220["Segment<br>[3795, 3822, 0]"]
221["Segment<br>[3828, 3850, 0]"]
222["Segment<br>[3856, 3863, 0]"]
218["Path<br>[3729, 3779, 0]"]
219["Segment<br>[3785, 3817, 0]"]
220["Segment<br>[3823, 3850, 0]"]
221["Segment<br>[3856, 3878, 0]"]
222["Segment<br>[3884, 3891, 0]"]
223[Solid2d]
end
subgraph path239 [Path]
239["Path<br>[3951, 3976, 0]"]
240["Segment<br>[3982, 4016, 0]"]
241["Segment<br>[4022, 4049, 0]"]
242["Segment<br>[4055, 4077, 0]"]
243["Segment<br>[4083, 4090, 0]"]
239["Path<br>[3979, 4004, 0]"]
240["Segment<br>[4010, 4044, 0]"]
241["Segment<br>[4050, 4077, 0]"]
242["Segment<br>[4083, 4105, 0]"]
243["Segment<br>[4111, 4118, 0]"]
244[Solid2d]
end
subgraph path261 [Path]
261["Path<br>[4450, 4499, 0]"]
262["Segment<br>[4505, 4537, 0]"]
263["Segment<br>[4543, 4591, 0]"]
264["Segment<br>[4597, 4631, 0]"]
265["Segment<br>[4637, 4644, 0]"]
261["Path<br>[4478, 4527, 0]"]
262["Segment<br>[4533, 4565, 0]"]
263["Segment<br>[4571, 4619, 0]"]
264["Segment<br>[4625, 4659, 0]"]
265["Segment<br>[4665, 4672, 0]"]
266[Solid2d]
end
1["Plane<br>[338, 356, 0]"]
@ -178,7 +178,7 @@ flowchart LR
115["SweepEdge Opposite"]
116["SweepEdge Adjacent"]
117["Plane<br>[2031, 2057, 0]"]
123["Sweep Extrusion<br>[2209, 2240, 0]"]
123["Sweep Extrusion<br>[2201, 2232, 0]"]
124[Wall]
125[Wall]
126[Wall]
@ -190,7 +190,7 @@ flowchart LR
132["SweepEdge Adjacent"]
133["SweepEdge Opposite"]
134["SweepEdge Adjacent"]
149["Sweep Extrusion<br>[2960, 2991, 0]"]
149["Sweep Extrusion<br>[2970, 3001, 0]"]
150[Wall]
151[Wall]
152[Wall]
@ -229,8 +229,8 @@ flowchart LR
185["SweepEdge Adjacent"]
186["SweepEdge Opposite"]
187["SweepEdge Adjacent"]
188["Plane<br>[3249, 3276, 0]"]
197["Sweep Extrusion<br>[3619, 3650, 0]"]
188["Plane<br>[3259, 3286, 0]"]
197["Sweep Extrusion<br>[3647, 3678, 0]"]
198[Wall]
199[Wall]
200[Wall]
@ -251,7 +251,7 @@ flowchart LR
215["SweepEdge Adjacent"]
216["SweepEdge Opposite"]
217["SweepEdge Adjacent"]
224["Sweep Extrusion<br>[3869, 3900, 0]"]
224["Sweep Extrusion<br>[3897, 3928, 0]"]
225[Wall]
226[Wall]
227[Wall]
@ -266,7 +266,7 @@ flowchart LR
236["SweepEdge Adjacent"]
237["SweepEdge Opposite"]
238["SweepEdge Adjacent"]
245["Sweep Extrusion<br>[4096, 4146, 0]"]
245["Sweep Extrusion<br>[4124, 4174, 0]"]
246[Wall]
247[Wall]
248[Wall]
@ -281,8 +281,8 @@ flowchart LR
257["SweepEdge Adjacent"]
258["SweepEdge Opposite"]
259["SweepEdge Adjacent"]
260["Plane<br>[4417, 4444, 0]"]
267["Sweep Extrusion<br>[4650, 4682, 0]"]
260["Plane<br>[4445, 4472, 0]"]
267["Sweep Extrusion<br>[4678, 4710, 0]"]
268[Wall]
269[Wall]
270[Wall]
@ -297,9 +297,9 @@ flowchart LR
279["SweepEdge Adjacent"]
280["SweepEdge Opposite"]
281["SweepEdge Adjacent"]
282["StartSketchOnFace<br>[2295, 2326, 0]"]
283["StartSketchOnFace<br>[3664, 3695, 0]"]
284["StartSketchOnFace<br>[3914, 3945, 0]"]
282["StartSketchOnFace<br>[2287, 2318, 0]"]
283["StartSketchOnFace<br>[3692, 3723, 0]"]
284["StartSketchOnFace<br>[3942, 3973, 0]"]
1 --- 2
2 --- 3
2 --- 4

View File

@ -3356,22 +3356,15 @@ description: Result of parsing poopy-shoe.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"commentStart": 0,
"end": 0,
"raw": "60",
@ -3385,18 +3378,15 @@ description: Result of parsing poopy-shoe.kcl
}
},
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -3414,18 +3404,6 @@ description: Result of parsing poopy-shoe.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -3444,8 +3422,9 @@ description: Result of parsing poopy-shoe.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -4338,6 +4317,15 @@ description: Result of parsing poopy-shoe.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -4513,13 +4501,7 @@ description: Result of parsing poopy-shoe.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -4529,7 +4511,7 @@ description: Result of parsing poopy-shoe.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -4540,12 +4522,22 @@ description: Result of parsing poopy-shoe.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -4585,13 +4577,7 @@ description: Result of parsing poopy-shoe.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -4601,7 +4587,7 @@ description: Result of parsing poopy-shoe.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -4612,8 +4598,9 @@ description: Result of parsing poopy-shoe.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -5523,6 +5510,15 @@ description: Result of parsing poopy-shoe.kcl
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -5698,13 +5694,7 @@ description: Result of parsing poopy-shoe.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -5714,7 +5704,7 @@ description: Result of parsing poopy-shoe.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -5725,12 +5715,22 @@ description: Result of parsing poopy-shoe.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "endAbsolute",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
@ -5770,13 +5770,7 @@ description: Result of parsing poopy-shoe.kcl
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
}
],
"callee": {
@ -5786,7 +5780,7 @@ description: Result of parsing poopy-shoe.kcl
"name": {
"commentStart": 0,
"end": 0,
"name": "tangentialArcTo",
"name": "tangentialArc",
"start": 0,
"type": "Identifier"
},
@ -5797,8 +5791,9 @@ description: Result of parsing poopy-shoe.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [

View File

@ -2067,9 +2067,9 @@ description: Variables in memory after executing poopy-shoe.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2947,
"end": 2953,
"start": 2947,
"commentStart": 2957,
"end": 2963,
"start": 2957,
"type": "TagDeclarator",
"value": "seg04"
},
@ -2309,9 +2309,9 @@ description: Variables in memory after executing poopy-shoe.kcl
0.0
],
"tag": {
"commentStart": 2947,
"end": 2953,
"start": 2947,
"commentStart": 2957,
"end": 2963,
"start": 2957,
"type": "TagDeclarator",
"value": "seg04"
},
@ -2854,9 +2854,9 @@ description: Variables in memory after executing poopy-shoe.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 3593,
"end": 3599,
"start": 3593,
"commentStart": 3621,
"end": 3627,
"start": 3621,
"type": "TagDeclarator",
"value": "seg03"
},
@ -2970,9 +2970,9 @@ description: Variables in memory after executing poopy-shoe.kcl
1.0
],
"tag": {
"commentStart": 3593,
"end": 3599,
"start": 3593,
"commentStart": 3621,
"end": 3627,
"start": 3621,
"type": "TagDeclarator",
"value": "seg03"
},
@ -3247,9 +3247,9 @@ description: Variables in memory after executing poopy-shoe.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 3593,
"end": 3599,
"start": 3593,
"commentStart": 3621,
"end": 3627,
"start": 3621,
"type": "TagDeclarator",
"value": "seg03"
},
@ -3363,9 +3363,9 @@ description: Variables in memory after executing poopy-shoe.kcl
1.0
],
"tag": {
"commentStart": 3593,
"end": 3599,
"start": 3593,
"commentStart": 3621,
"end": 3627,
"start": 3621,
"type": "TagDeclarator",
"value": "seg03"
},
@ -3724,9 +3724,9 @@ description: Variables in memory after executing poopy-shoe.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2947,
"end": 2953,
"start": 2947,
"commentStart": 2957,
"end": 2963,
"start": 2957,
"type": "TagDeclarator",
"value": "seg04"
},
@ -3966,9 +3966,9 @@ description: Variables in memory after executing poopy-shoe.kcl
0.0
],
"tag": {
"commentStart": 2947,
"end": 2953,
"start": 2947,
"commentStart": 2957,
"end": 2963,
"start": 2957,
"type": "TagDeclarator",
"value": "seg04"
},

View File

@ -3,52 +3,52 @@ flowchart LR
subgraph path2 [Path]
2["Path<br>[1228, 1309, 0]"]
3["Segment<br>[1315, 1343, 0]"]
4["Segment<br>[1349, 1437, 0]"]
5["Segment<br>[1443, 1524, 0]"]
6["Segment<br>[1530, 1619, 0]"]
7["Segment<br>[1625, 1661, 0]"]
8["Segment<br>[1667, 1696, 0]"]
9["Segment<br>[1702, 1791, 0]"]
10["Segment<br>[1797, 1851, 0]"]
11["Segment<br>[1857, 1945, 0]"]
12["Segment<br>[1951, 1979, 0]"]
13["Segment<br>[1985, 2024, 0]"]
14["Segment<br>[2030, 2073, 0]"]
15["Segment<br>[2079, 2168, 0]"]
16["Segment<br>[2174, 2233, 0]"]
17["Segment<br>[2239, 2327, 0]"]
18["Segment<br>[2333, 2369, 0]"]
19["Segment<br>[2375, 2405, 0]"]
20["Segment<br>[2411, 2499, 0]"]
21["Segment<br>[2505, 2564, 0]"]
22["Segment<br>[2570, 2659, 0]"]
23["Segment<br>[2665, 2708, 0]"]
24["Segment<br>[2714, 2784, 0]"]
25["Segment<br>[2790, 2797, 0]"]
4["Segment<br>[1349, 1410, 0]"]
5["Segment<br>[1416, 1497, 0]"]
6["Segment<br>[1503, 1565, 0]"]
7["Segment<br>[1571, 1607, 0]"]
8["Segment<br>[1613, 1642, 0]"]
9["Segment<br>[1648, 1710, 0]"]
10["Segment<br>[1716, 1770, 0]"]
11["Segment<br>[1776, 1837, 0]"]
12["Segment<br>[1843, 1871, 0]"]
13["Segment<br>[1877, 1916, 0]"]
14["Segment<br>[1922, 1965, 0]"]
15["Segment<br>[1971, 2033, 0]"]
16["Segment<br>[2039, 2098, 0]"]
17["Segment<br>[2104, 2165, 0]"]
18["Segment<br>[2171, 2207, 0]"]
19["Segment<br>[2213, 2243, 0]"]
20["Segment<br>[2249, 2310, 0]"]
21["Segment<br>[2316, 2375, 0]"]
22["Segment<br>[2381, 2443, 0]"]
23["Segment<br>[2449, 2492, 0]"]
24["Segment<br>[2498, 2568, 0]"]
25["Segment<br>[2574, 2581, 0]"]
26[Solid2d]
end
subgraph path94 [Path]
94["Path<br>[3129, 3218, 0]"]
95["Segment<br>[3129, 3218, 0]"]
94["Path<br>[2913, 3002, 0]"]
95["Segment<br>[2913, 3002, 0]"]
96[Solid2d]
end
subgraph path102 [Path]
102["Path<br>[3493, 3581, 0]"]
103["Segment<br>[3493, 3581, 0]"]
102["Path<br>[3277, 3365, 0]"]
103["Segment<br>[3277, 3365, 0]"]
104[Solid2d]
end
subgraph path110 [Path]
110["Path<br>[3863, 4043, 0]"]
111["Segment<br>[3863, 4043, 0]"]
110["Path<br>[3647, 3827, 0]"]
111["Segment<br>[3647, 3827, 0]"]
112[Solid2d]
end
subgraph path120 [Path]
120["Path<br>[4459, 4515, 0]"]
121["Segment<br>[4459, 4515, 0]"]
120["Path<br>[4243, 4299, 0]"]
121["Segment<br>[4243, 4299, 0]"]
122[Solid2d]
end
1["Plane<br>[1205, 1222, 0]"]
27["Sweep Extrusion<br>[2803, 2836, 0]"]
27["Sweep Extrusion<br>[2587, 2620, 0]"]
28[Wall]
29[Wall]
30[Wall]
@ -111,35 +111,35 @@ flowchart LR
87["SweepEdge Adjacent"]
88["SweepEdge Opposite"]
89["SweepEdge Adjacent"]
90["EdgeCut Fillet<br>[2842, 3013, 0]"]
91["EdgeCut Fillet<br>[2842, 3013, 0]"]
92["EdgeCut Fillet<br>[2842, 3013, 0]"]
93["EdgeCut Fillet<br>[2842, 3013, 0]"]
97["Sweep Extrusion<br>[3347, 3375, 0]"]
90["EdgeCut Fillet<br>[2626, 2797, 0]"]
91["EdgeCut Fillet<br>[2626, 2797, 0]"]
92["EdgeCut Fillet<br>[2626, 2797, 0]"]
93["EdgeCut Fillet<br>[2626, 2797, 0]"]
97["Sweep Extrusion<br>[3131, 3159, 0]"]
98[Wall]
99["SweepEdge Opposite"]
100["SweepEdge Adjacent"]
101["Sweep Extrusion<br>[3347, 3375, 0]"]
105["Sweep Extrusion<br>[3710, 3738, 0]"]
101["Sweep Extrusion<br>[3131, 3159, 0]"]
105["Sweep Extrusion<br>[3494, 3522, 0]"]
106[Wall]
107["SweepEdge Opposite"]
108["SweepEdge Adjacent"]
109["Sweep Extrusion<br>[3710, 3738, 0]"]
113["Sweep Extrusion<br>[4297, 4325, 0]"]
109["Sweep Extrusion<br>[3494, 3522, 0]"]
113["Sweep Extrusion<br>[4081, 4109, 0]"]
114[Wall]
115["SweepEdge Opposite"]
116["SweepEdge Adjacent"]
117["Sweep Extrusion<br>[4297, 4325, 0]"]
118["Sweep Extrusion<br>[4297, 4325, 0]"]
119["Sweep Extrusion<br>[4297, 4325, 0]"]
123["Sweep Extrusion<br>[4521, 4549, 0]"]
117["Sweep Extrusion<br>[4081, 4109, 0]"]
118["Sweep Extrusion<br>[4081, 4109, 0]"]
119["Sweep Extrusion<br>[4081, 4109, 0]"]
123["Sweep Extrusion<br>[4305, 4333, 0]"]
124[Wall]
125["SweepEdge Opposite"]
126["SweepEdge Adjacent"]
127["StartSketchOnFace<br>[3087, 3123, 0]"]
128["StartSketchOnFace<br>[3451, 3487, 0]"]
129["StartSketchOnFace<br>[3821, 3857, 0]"]
130["StartSketchOnFace<br>[4417, 4453, 0]"]
127["StartSketchOnFace<br>[2871, 2907, 0]"]
128["StartSketchOnFace<br>[3235, 3271, 0]"]
129["StartSketchOnFace<br>[3605, 3641, 0]"]
130["StartSketchOnFace<br>[4201, 4237, 0]"]
1 --- 2
2 --- 3
2 --- 4

View File

@ -1014,22 +1014,15 @@ description: Result of parsing sheet-metal-bracket.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -1047,18 +1040,15 @@ description: Result of parsing sheet-metal-bracket.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -1076,18 +1066,6 @@ description: Result of parsing sheet-metal-bracket.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -1106,8 +1084,9 @@ description: Result of parsing sheet-metal-bracket.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -1231,22 +1210,15 @@ description: Result of parsing sheet-metal-bracket.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -1264,18 +1236,15 @@ description: Result of parsing sheet-metal-bracket.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"argument": {
"abs_path": false,
"commentStart": 0,
@ -1301,18 +1270,6 @@ description: Result of parsing sheet-metal-bracket.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -1331,8 +1288,9 @@ description: Result of parsing sheet-metal-bracket.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -1477,22 +1435,15 @@ description: Result of parsing sheet-metal-bracket.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -1510,18 +1461,15 @@ description: Result of parsing sheet-metal-bracket.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"argument": {
"abs_path": false,
"commentStart": 0,
@ -1547,18 +1495,6 @@ description: Result of parsing sheet-metal-bracket.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -1577,8 +1513,9 @@ description: Result of parsing sheet-metal-bracket.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -1692,22 +1629,15 @@ description: Result of parsing sheet-metal-bracket.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -1725,18 +1655,15 @@ description: Result of parsing sheet-metal-bracket.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -1754,18 +1681,6 @@ description: Result of parsing sheet-metal-bracket.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -1784,8 +1699,9 @@ description: Result of parsing sheet-metal-bracket.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -1987,22 +1903,15 @@ description: Result of parsing sheet-metal-bracket.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -2020,18 +1929,15 @@ description: Result of parsing sheet-metal-bracket.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"argument": {
"abs_path": false,
"commentStart": 0,
@ -2057,18 +1963,6 @@ description: Result of parsing sheet-metal-bracket.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -2087,8 +1981,9 @@ description: Result of parsing sheet-metal-bracket.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -2214,22 +2109,15 @@ description: Result of parsing sheet-metal-bracket.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -2247,18 +2135,15 @@ description: Result of parsing sheet-metal-bracket.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -2276,18 +2161,6 @@ description: Result of parsing sheet-metal-bracket.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -2306,8 +2179,9 @@ description: Result of parsing sheet-metal-bracket.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -2460,22 +2334,15 @@ description: Result of parsing sheet-metal-bracket.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -2493,18 +2360,15 @@ description: Result of parsing sheet-metal-bracket.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -2522,18 +2386,6 @@ description: Result of parsing sheet-metal-bracket.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -2552,8 +2404,9 @@ description: Result of parsing sheet-metal-bracket.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
@ -2679,22 +2532,15 @@ description: Result of parsing sheet-metal-bracket.kcl
{
"arguments": [
{
"commentStart": 0,
"end": 0,
"properties": [
{
"commentStart": 0,
"end": 0,
"key": {
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "radius",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
@ -2712,18 +2558,15 @@ description: Result of parsing sheet-metal-bracket.kcl
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "offset",
"name": "angle",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"arg": {
"argument": {
"abs_path": false,
"commentStart": 0,
@ -2749,18 +2592,6 @@ description: Result of parsing sheet-metal-bracket.kcl
}
}
],
"start": 0,
"type": "ObjectExpression",
"type": "ObjectExpression"
},
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
@ -2779,8 +2610,9 @@ description: Result of parsing sheet-metal-bracket.kcl
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Some files were not shown because too many files have changed in this diff Show More