Add dual-sink and makeup mirror to KCL samples (#6023)
* add makeup mirror * m -> M * add metal sink unit * Update kcl-samples simulation test output --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
@ -41,6 +41,8 @@ When you submit a PR to add or modify KCL samples, images and STEP files will be
|
|||||||
[](cycloidal-gear/main.kcl)
|
[](cycloidal-gear/main.kcl)
|
||||||
#### [dodecahedron](dodecahedron/main.kcl) ([screenshot](screenshots/dodecahedron.png))
|
#### [dodecahedron](dodecahedron/main.kcl) ([screenshot](screenshots/dodecahedron.png))
|
||||||
[](dodecahedron/main.kcl)
|
[](dodecahedron/main.kcl)
|
||||||
|
#### [dual-basin-utility-sink](dual-basin-utility-sink/main.kcl) ([screenshot](screenshots/dual-basin-utility-sink.png))
|
||||||
|
[](dual-basin-utility-sink/main.kcl)
|
||||||
#### [enclosure](enclosure/main.kcl) ([screenshot](screenshots/enclosure.png))
|
#### [enclosure](enclosure/main.kcl) ([screenshot](screenshots/enclosure.png))
|
||||||
[](enclosure/main.kcl)
|
[](enclosure/main.kcl)
|
||||||
#### [exhaust-manifold](exhaust-manifold/main.kcl) ([screenshot](screenshots/exhaust-manifold.png))
|
#### [exhaust-manifold](exhaust-manifold/main.kcl) ([screenshot](screenshots/exhaust-manifold.png))
|
||||||
@ -75,6 +77,8 @@ When you submit a PR to add or modify KCL samples, images and STEP files will be
|
|||||||
[](kitt/main.kcl)
|
[](kitt/main.kcl)
|
||||||
#### [lego](lego/main.kcl) ([screenshot](screenshots/lego.png))
|
#### [lego](lego/main.kcl) ([screenshot](screenshots/lego.png))
|
||||||
[](lego/main.kcl)
|
[](lego/main.kcl)
|
||||||
|
#### [makeup-mirror](makeup-mirror/main.kcl) ([screenshot](screenshots/makeup-mirror.png))
|
||||||
|
[](makeup-mirror/main.kcl)
|
||||||
#### [mounting-plate](mounting-plate/main.kcl) ([screenshot](screenshots/mounting-plate.png))
|
#### [mounting-plate](mounting-plate/main.kcl) ([screenshot](screenshots/mounting-plate.png))
|
||||||
[](mounting-plate/main.kcl)
|
[](mounting-plate/main.kcl)
|
||||||
#### [multi-axis-robot](multi-axis-robot/main.kcl) ([screenshot](screenshots/multi-axis-robot.png))
|
#### [multi-axis-robot](multi-axis-robot/main.kcl) ([screenshot](screenshots/multi-axis-robot.png))
|
||||||
|
200
public/kcl-samples/dual-basin-utility-sink/main.kcl
Normal file
200
public/kcl-samples/dual-basin-utility-sink/main.kcl
Normal file
@ -0,0 +1,200 @@
|
|||||||
|
// Dual-Basin Utility Sink
|
||||||
|
// A stainless steel sink unit with dual rectangular basins and six under-counter storage compartments.
|
||||||
|
|
||||||
|
@settings(defaultLengthUnit = mm)
|
||||||
|
|
||||||
|
// globals
|
||||||
|
tableHeight = 850
|
||||||
|
tableWidth = 3400
|
||||||
|
tableDepth = 400
|
||||||
|
|
||||||
|
profileThickness = 13
|
||||||
|
metalThickness = 2
|
||||||
|
|
||||||
|
blockCount = 3
|
||||||
|
blockWidth = (tableWidth-profileThickness) / 3
|
||||||
|
blockHeight = tableHeight - metalThickness - 0.5
|
||||||
|
blockDepth = tableDepth - profileThickness
|
||||||
|
|
||||||
|
blockSubdivisionCount = 2
|
||||||
|
blockSubdivisionWidth = blockWidth / blockSubdivisionCount
|
||||||
|
|
||||||
|
// Geometry
|
||||||
|
floorPlane = startSketchOn(XY)
|
||||||
|
|
||||||
|
// legs
|
||||||
|
legHeight = blockHeight - profileThickness
|
||||||
|
legCount = blockCount + 1
|
||||||
|
|
||||||
|
legBody = startProfileAt([0, 0], floorPlane)
|
||||||
|
|> yLine(length=profileThickness)
|
||||||
|
|> xLine(length=profileThickness)
|
||||||
|
|> yLine(length=-profileThickness)
|
||||||
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
|> close()
|
||||||
|
|> patternLinear2d(axis = [1, 0], instances = legCount, distance = blockWidth)
|
||||||
|
|> patternLinear2d(axis = [0, 1], instances = 2, distance = blockDepth)
|
||||||
|
|> extrude(length = legHeight)
|
||||||
|
|
||||||
|
// lower belt
|
||||||
|
lowerBeltHeightAboveTheFloor = 150
|
||||||
|
lowerBeltLengthX = blockWidth - profileThickness
|
||||||
|
|
||||||
|
lowerBeltPlane = startSketchOn(offsetPlane(XY, offset = lowerBeltHeightAboveTheFloor))
|
||||||
|
lowerBeltBodyX = startProfileAt([profileThickness, 0], lowerBeltPlane)
|
||||||
|
|> yLine(length=profileThickness)
|
||||||
|
|> xLine(length=lowerBeltLengthX)
|
||||||
|
|> yLine(length=-profileThickness)
|
||||||
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
|> close()
|
||||||
|
|> patternLinear2d(axis = [1, 0], instances = blockCount, distance = blockWidth)
|
||||||
|
|> patternLinear2d(axis = [0, 1], instances = 2, distance = blockDepth)
|
||||||
|
|> extrude(length = profileThickness)
|
||||||
|
|
||||||
|
lowerBeltLengthY = blockDepth - profileThickness
|
||||||
|
lowerBeltBodyY = startProfileAt([0, profileThickness], lowerBeltPlane)
|
||||||
|
|> yLine(length=lowerBeltLengthY)
|
||||||
|
|> xLine(length=profileThickness)
|
||||||
|
|> yLine(length=-lowerBeltLengthY)
|
||||||
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
|> close()
|
||||||
|
|> patternLinear2d(axis = [1, 0], instances = 2, distance = tableWidth-profileThickness)
|
||||||
|
|> extrude(length = profileThickness)
|
||||||
|
|
||||||
|
// pillars
|
||||||
|
pillarHeightAboveTheFloor = lowerBeltHeightAboveTheFloor + profileThickness
|
||||||
|
pillarPlane = startSketchOn(offsetPlane(XY, offset = pillarHeightAboveTheFloor))
|
||||||
|
pillarTotalHeight = blockHeight - profileThickness - pillarHeightAboveTheFloor
|
||||||
|
|
||||||
|
pillarBody = startProfileAt([blockSubdivisionWidth, 0], pillarPlane)
|
||||||
|
|> yLine(length=profileThickness)
|
||||||
|
|> xLine(length=profileThickness)
|
||||||
|
|> yLine(length=-profileThickness)
|
||||||
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
|> close()
|
||||||
|
|> patternLinear2d(axis = [1, 0], instances = blockCount, distance = blockWidth)
|
||||||
|
|> patternLinear2d(axis = [0, 1], instances = 2, distance = blockDepth)
|
||||||
|
|> extrude(length = pillarTotalHeight)
|
||||||
|
|
||||||
|
// upper belt
|
||||||
|
upperBeltPlane = startSketchOn(offsetPlane(XY, offset = blockHeight))
|
||||||
|
|
||||||
|
upperBeltBodyX = startProfileAt([0, 0], upperBeltPlane)
|
||||||
|
|> yLine(length=profileThickness)
|
||||||
|
|> xLine(length=tableWidth)
|
||||||
|
|> yLine(length=-profileThickness)
|
||||||
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
|> close()
|
||||||
|
|> patternLinear2d(axis = [0, 1], instances = 2, distance = blockDepth)
|
||||||
|
|> extrude(length = -profileThickness)
|
||||||
|
|
||||||
|
upperBeltLengthY = blockDepth - profileThickness
|
||||||
|
upperBeltBodyY = startProfileAt([0, profileThickness], upperBeltPlane)
|
||||||
|
|> yLine(length=upperBeltLengthY)
|
||||||
|
|> xLine(length=profileThickness)
|
||||||
|
|> yLine(length=-upperBeltLengthY)
|
||||||
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
|> close()
|
||||||
|
|> patternLinear2d(axis = [1, 0], instances = 2, distance = tableWidth-profileThickness)
|
||||||
|
|> extrude(length = -profileThickness)
|
||||||
|
|
||||||
|
// sink
|
||||||
|
tableTopPlane = startSketchOn(offsetPlane(XY, offset = tableHeight))
|
||||||
|
tableTopBody = startProfileAt([0, 0], tableTopPlane)
|
||||||
|
|> yLine(length=tableDepth)
|
||||||
|
|> xLine(length=tableWidth)
|
||||||
|
|> yLine(length=-tableDepth)
|
||||||
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
|> close()
|
||||||
|
|> extrude(length = -metalThickness)
|
||||||
|
|
||||||
|
sinkCount = 2
|
||||||
|
sinkWidth = 1000
|
||||||
|
sinkLength = 250
|
||||||
|
sinkDepth = 200
|
||||||
|
sinkOffsetFront = 40
|
||||||
|
sinkOffsetLeft = 350
|
||||||
|
sinkSpacing = tableWidth - sinkWidth - sinkOffsetLeft*2
|
||||||
|
|
||||||
|
sinkPlaneOutside = startSketchOn(tableTopBody, 'START')
|
||||||
|
sinkBodyOutside = startProfileAt([-sinkOffsetLeft, sinkOffsetFront], sinkPlaneOutside)
|
||||||
|
|> yLine(length=sinkLength)
|
||||||
|
|> xLine(length=-sinkWidth)
|
||||||
|
|> yLine(length=-sinkLength)
|
||||||
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
|> close()
|
||||||
|
|> patternLinear2d(axis = [-1, 0], instances = sinkCount, distance = sinkSpacing)
|
||||||
|
|> extrude(length = sinkDepth)
|
||||||
|
|
||||||
|
sinkPlaneInside = startSketchOn(tableTopBody, 'END')
|
||||||
|
sinkBodyInside = startProfileAt([sinkOffsetLeft+metalThickness, sinkOffsetFront+metalThickness], sinkPlaneInside)
|
||||||
|
|> yLine(length=sinkLength-metalThickness*2)
|
||||||
|
|> xLine(length=sinkWidth-metalThickness*2)
|
||||||
|
|> yLine(length=-sinkLength+metalThickness*2)
|
||||||
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
|> close()
|
||||||
|
|> patternLinear2d(axis = [1, 0], instances = sinkCount, distance = sinkSpacing)
|
||||||
|
|> extrude(length = -sinkDepth)
|
||||||
|
|
||||||
|
// door panels
|
||||||
|
doorGap = 2
|
||||||
|
doorWidth = blockSubdivisionWidth - profileThickness - doorGap*2
|
||||||
|
doorStart = profileThickness+doorGap
|
||||||
|
doorHeightAboveTheFloor = pillarHeightAboveTheFloor + doorGap
|
||||||
|
doorHeight = blockHeight - doorHeightAboveTheFloor - profileThickness - doorGap
|
||||||
|
doorCount = blockCount * blockSubdivisionCount
|
||||||
|
|
||||||
|
doorPlane = startSketchOn(offsetPlane(XY, offset = doorHeightAboveTheFloor))
|
||||||
|
doorBody = startProfileAt([doorStart, 0], doorPlane)
|
||||||
|
|> yLine(length=profileThickness)
|
||||||
|
|> xLine(length=doorWidth)
|
||||||
|
|> yLine(length=-profileThickness)
|
||||||
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
|> close()
|
||||||
|
|> patternLinear2d(axis = [1, 0], instances = doorCount, distance = blockSubdivisionWidth)
|
||||||
|
|> extrude(length = doorHeight)
|
||||||
|
|
||||||
|
// side panels
|
||||||
|
panelWidth = blockDepth - profileThickness - doorGap*2
|
||||||
|
panelCount = doorCount + 1
|
||||||
|
panelSpacing = tableWidth - profileThickness
|
||||||
|
panelBody = startProfileAt([0, doorStart], doorPlane)
|
||||||
|
|> yLine(length=panelWidth)
|
||||||
|
|> xLine(length=profileThickness)
|
||||||
|
|> yLine(length=-panelWidth)
|
||||||
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
|> close()
|
||||||
|
|> patternLinear2d(axis = [1, 0], instances = 2, distance = panelSpacing)
|
||||||
|
|> extrude(length = doorHeight)
|
||||||
|
|
||||||
|
// handle
|
||||||
|
handleDepth = 40
|
||||||
|
handleWidth = 120
|
||||||
|
handleFillet = 20
|
||||||
|
handleHeightAboveTheFloor = 780
|
||||||
|
handleOffset = doorStart + doorWidth / 2 - (handleWidth / 2)
|
||||||
|
handleLengthSegmentA = handleDepth - handleFillet
|
||||||
|
handleLengthSegmentB = handleWidth - (handleFillet * 2)
|
||||||
|
|
||||||
|
handlePlane = startSketchOn(offsetPlane(XY, offset = handleHeightAboveTheFloor))
|
||||||
|
|
||||||
|
handleProfilePath = startProfileAt([0 + handleOffset, 0], handlePlane)
|
||||||
|
|> yLine(length=-handleLengthSegmentA)
|
||||||
|
|> tangentialArcTo([
|
||||||
|
handleFillet + handleOffset,
|
||||||
|
-handleDepth
|
||||||
|
], %)
|
||||||
|
|> xLine(length=handleLengthSegmentB)
|
||||||
|
|> tangentialArcTo([
|
||||||
|
handleOffset + handleWidth,
|
||||||
|
-handleLengthSegmentA
|
||||||
|
], %)
|
||||||
|
|> yLine(length=handleLengthSegmentA)
|
||||||
|
handleSectionPlane = startSketchOn(XZ)
|
||||||
|
handleProfileSection = circle(
|
||||||
|
handleSectionPlane,
|
||||||
|
center = [handleOffset, handleHeightAboveTheFloor],
|
||||||
|
radius = 2)
|
||||||
|
|
||||||
|
handleBody = sweep(handleProfileSection, path = handleProfilePath)
|
||||||
|
|> patternLinear3d(axis = [1, 0, 0], instances = doorCount, distance = blockSubdivisionWidth)
|
75
public/kcl-samples/makeup-mirror/main.kcl
Normal file
75
public/kcl-samples/makeup-mirror/main.kcl
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
// Makeup Mirror
|
||||||
|
// A circular vanity mirror mounted on a swiveling arm with pivot joints, used for personal grooming.
|
||||||
|
|
||||||
|
// Settings
|
||||||
|
@settings(defaultLengthUnit = mm)
|
||||||
|
|
||||||
|
// hinge
|
||||||
|
hingeRadius = 8
|
||||||
|
hingeHeight = hingeRadius * 3
|
||||||
|
hingeGap = 0.5
|
||||||
|
|
||||||
|
// arm
|
||||||
|
armLength = 170
|
||||||
|
armRadius = 5
|
||||||
|
|
||||||
|
// mirror
|
||||||
|
mirrorRadius = 170 / 2
|
||||||
|
mirrorThickness = 10
|
||||||
|
archToMirrorGap = 5
|
||||||
|
archThickness = 1
|
||||||
|
archRadius = mirrorRadius + archToMirrorGap
|
||||||
|
|
||||||
|
// Geometry
|
||||||
|
// hinge
|
||||||
|
fn hingeFn(x, y, z) {
|
||||||
|
hingeBody = startSketchOn(offsetPlane(XY, offset = z))
|
||||||
|
|> circle(center = [x, y], radius = hingeRadius)
|
||||||
|
|> extrude(length = hingeHeight)
|
||||||
|
return hingeBody
|
||||||
|
}
|
||||||
|
|
||||||
|
hingePartA1 = hingeFn(0, 0, 0)
|
||||||
|
hingePartA2 = hingeFn(0, 0, hingeHeight + hingeGap)
|
||||||
|
hingePartA3 = hingeFn(0, 0, hingeHeight * 2 + hingeGap * 2)
|
||||||
|
|
||||||
|
hingePartB2 = hingeFn(armLength, 0, hingeHeight + hingeGap)
|
||||||
|
hingePartB3 = hingeFn(armLength, 0, hingeHeight * 2 + hingeGap * 2)
|
||||||
|
|
||||||
|
hingePartC2 = hingeFn(armLength, -armLength, hingeHeight * 2 + hingeGap * 2)
|
||||||
|
hingePartC3 = hingeFn(armLength, -armLength, hingeHeight * 3 + hingeGap * 3)
|
||||||
|
|
||||||
|
// arm
|
||||||
|
fn armFn(plane, offset, altitude) {
|
||||||
|
armBody = startSketchOn(plane)
|
||||||
|
|> circle(center = [offset, altitude], radius = armRadius)
|
||||||
|
|> extrude(length = armLength)
|
||||||
|
return armBody
|
||||||
|
}
|
||||||
|
|
||||||
|
armPartA = armFn(YZ, 0, hingeHeight * 1.5 + hingeGap)
|
||||||
|
armPartB = armFn(XZ, armLength, hingeHeight * 2.5 + hingeGap * 2)
|
||||||
|
|
||||||
|
// mirror
|
||||||
|
fn mirrorFn(plane, offsetX, offsetY, altitude, radius, tiefe, gestellR, gestellD) {
|
||||||
|
armPlane = startSketchOn(offsetPlane(plane, offset = offsetY - (tiefe / 2)))
|
||||||
|
armBody = circle(armPlane, center = [offsetX, altitude], radius = radius)
|
||||||
|
|> extrude(length = tiefe)
|
||||||
|
|
||||||
|
archBody = startProfileAt([offsetX-gestellR, altitude], armPlane)
|
||||||
|
|> xLine(length = gestellD)
|
||||||
|
|> arcTo({
|
||||||
|
interior = [offsetX, altitude-gestellR],
|
||||||
|
end = [offsetX+gestellR, altitude]
|
||||||
|
}, %)
|
||||||
|
|> xLine(length = gestellD)
|
||||||
|
|> arcTo({
|
||||||
|
interior = [offsetX, altitude-gestellR-gestellD],
|
||||||
|
end = [profileStartX(%), profileStartY(%)]
|
||||||
|
}, %)
|
||||||
|
|> close()
|
||||||
|
|> extrude(length = tiefe)
|
||||||
|
return armBody
|
||||||
|
}
|
||||||
|
|
||||||
|
mirror = mirrorFn(XZ, armLength, armLength, hingeHeight * 4 + hingeGap * 3 + mirrorRadius+archToMirrorGap+archThickness, mirrorRadius, mirrorThickness, archRadius, archThickness)
|
@ -62,6 +62,13 @@
|
|||||||
"title": "Hollow Dodecahedron",
|
"title": "Hollow Dodecahedron",
|
||||||
"description": "A regular dodecahedron or pentagonal dodecahedron is a dodecahedron composed of regular pentagonal faces, three meeting at each vertex. This example shows constructing the individual faces of the dodecahedron and extruding inwards."
|
"description": "A regular dodecahedron or pentagonal dodecahedron is a dodecahedron composed of regular pentagonal faces, three meeting at each vertex. This example shows constructing the individual faces of the dodecahedron and extruding inwards."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"file": "main.kcl",
|
||||||
|
"pathFromProjectDirectoryToFirstFile": "dual-basin-utility-sink/main.kcl",
|
||||||
|
"multipleFiles": false,
|
||||||
|
"title": "Dual-Basin Utility Sink",
|
||||||
|
"description": "A stainless steel sink unit with dual rectangular basins and six under-counter storage compartments."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"file": "main.kcl",
|
"file": "main.kcl",
|
||||||
"pathFromProjectDirectoryToFirstFile": "enclosure/main.kcl",
|
"pathFromProjectDirectoryToFirstFile": "enclosure/main.kcl",
|
||||||
@ -181,6 +188,13 @@
|
|||||||
"title": "Lego Brick",
|
"title": "Lego Brick",
|
||||||
"description": "A standard Lego brick. This is a small, plastic construction block toy that can be interlocked with other blocks to build various structures, models, and figures. There are a lot of hacks used in this code."
|
"description": "A standard Lego brick. This is a small, plastic construction block toy that can be interlocked with other blocks to build various structures, models, and figures. There are a lot of hacks used in this code."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"file": "main.kcl",
|
||||||
|
"pathFromProjectDirectoryToFirstFile": "makeup-mirror/main.kcl",
|
||||||
|
"multipleFiles": false,
|
||||||
|
"title": "Makeup Mirror",
|
||||||
|
"description": "A circular vanity mirror mounted on a swiveling arm with pivot joints, used for personal grooming."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"file": "main.kcl",
|
"file": "main.kcl",
|
||||||
"pathFromProjectDirectoryToFirstFile": "mounting-plate/main.kcl",
|
"pathFromProjectDirectoryToFirstFile": "mounting-plate/main.kcl",
|
||||||
|
BIN
public/kcl-samples/screenshots/dual-basin-utility-sink.png
Normal file
BIN
public/kcl-samples/screenshots/dual-basin-utility-sink.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 55 KiB |
BIN
public/kcl-samples/screenshots/makeup-mirror.png
Normal file
BIN
public/kcl-samples/screenshots/makeup-mirror.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 62 KiB |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
source: kcl-lib/src/simulation_tests.rs
|
||||||
|
description: Artifact graph flowchart dual-basin-utility-sink.kcl
|
||||||
|
extension: md
|
||||||
|
snapshot_kind: binary
|
||||||
|
---
|
@ -0,0 +1,726 @@
|
|||||||
|
```mermaid
|
||||||
|
flowchart LR
|
||||||
|
subgraph path2 [Path]
|
||||||
|
2["Path<br>[647, 681, 0]"]
|
||||||
|
3["Segment<br>[687, 717, 0]"]
|
||||||
|
4["Segment<br>[723, 753, 0]"]
|
||||||
|
5["Segment<br>[759, 790, 0]"]
|
||||||
|
6["Segment<br>[796, 852, 0]"]
|
||||||
|
7["Segment<br>[858, 865, 0]"]
|
||||||
|
8[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path32 [Path]
|
||||||
|
32["Path<br>[1258, 1311, 0]"]
|
||||||
|
33["Segment<br>[1317, 1347, 0]"]
|
||||||
|
34["Segment<br>[1353, 1383, 0]"]
|
||||||
|
35["Segment<br>[1389, 1420, 0]"]
|
||||||
|
36["Segment<br>[1426, 1482, 0]"]
|
||||||
|
37["Segment<br>[1488, 1495, 0]"]
|
||||||
|
38[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path59 [Path]
|
||||||
|
59["Path<br>[1760, 1813, 0]"]
|
||||||
|
60["Segment<br>[1819, 1849, 0]"]
|
||||||
|
61["Segment<br>[1855, 1885, 0]"]
|
||||||
|
62["Segment<br>[1891, 1922, 0]"]
|
||||||
|
63["Segment<br>[1928, 1984, 0]"]
|
||||||
|
64["Segment<br>[1990, 1997, 0]"]
|
||||||
|
65[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path83 [Path]
|
||||||
|
83["Path<br>[2391, 2446, 0]"]
|
||||||
|
84["Segment<br>[2452, 2482, 0]"]
|
||||||
|
85["Segment<br>[2488, 2518, 0]"]
|
||||||
|
86["Segment<br>[2524, 2555, 0]"]
|
||||||
|
87["Segment<br>[2561, 2617, 0]"]
|
||||||
|
88["Segment<br>[2623, 2630, 0]"]
|
||||||
|
89[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path111 [Path]
|
||||||
|
111["Path<br>[2932, 2970, 0]"]
|
||||||
|
112["Segment<br>[2976, 3006, 0]"]
|
||||||
|
113["Segment<br>[3012, 3036, 0]"]
|
||||||
|
114["Segment<br>[3042, 3073, 0]"]
|
||||||
|
115["Segment<br>[3079, 3135, 0]"]
|
||||||
|
116["Segment<br>[3141, 3148, 0]"]
|
||||||
|
117[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path134 [Path]
|
||||||
|
134["Path<br>[3331, 3384, 0]"]
|
||||||
|
135["Segment<br>[3390, 3420, 0]"]
|
||||||
|
136["Segment<br>[3426, 3456, 0]"]
|
||||||
|
137["Segment<br>[3462, 3493, 0]"]
|
||||||
|
138["Segment<br>[3499, 3555, 0]"]
|
||||||
|
139["Segment<br>[3561, 3568, 0]"]
|
||||||
|
140[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path158 [Path]
|
||||||
|
158["Path<br>[3794, 3831, 0]"]
|
||||||
|
159["Segment<br>[3837, 3861, 0]"]
|
||||||
|
160["Segment<br>[3867, 3891, 0]"]
|
||||||
|
161["Segment<br>[3897, 3922, 0]"]
|
||||||
|
162["Segment<br>[3928, 3984, 0]"]
|
||||||
|
163["Segment<br>[3990, 3997, 0]"]
|
||||||
|
164[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path180 [Path]
|
||||||
|
180["Path<br>[4275, 4343, 0]"]
|
||||||
|
181["Segment<br>[4349, 4373, 0]"]
|
||||||
|
182["Segment<br>[4379, 4403, 0]"]
|
||||||
|
183["Segment<br>[4409, 4434, 0]"]
|
||||||
|
184["Segment<br>[4440, 4496, 0]"]
|
||||||
|
185["Segment<br>[4502, 4509, 0]"]
|
||||||
|
186[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path202 [Path]
|
||||||
|
202["Path<br>[4698, 4794, 0]"]
|
||||||
|
203["Segment<br>[4800, 4841, 0]"]
|
||||||
|
204["Segment<br>[4847, 4887, 0]"]
|
||||||
|
205["Segment<br>[4893, 4935, 0]"]
|
||||||
|
206["Segment<br>[4941, 4997, 0]"]
|
||||||
|
207["Segment<br>[5003, 5010, 0]"]
|
||||||
|
208[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path225 [Path]
|
||||||
|
225["Path<br>[5538, 5579, 0]"]
|
||||||
|
226["Segment<br>[5585, 5615, 0]"]
|
||||||
|
227["Segment<br>[5621, 5644, 0]"]
|
||||||
|
228["Segment<br>[5650, 5681, 0]"]
|
||||||
|
229["Segment<br>[5687, 5743, 0]"]
|
||||||
|
230["Segment<br>[5749, 5756, 0]"]
|
||||||
|
231[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path252 [Path]
|
||||||
|
252["Path<br>[6039, 6080, 0]"]
|
||||||
|
253["Segment<br>[6086, 6110, 0]"]
|
||||||
|
254["Segment<br>[6116, 6146, 0]"]
|
||||||
|
255["Segment<br>[6152, 6177, 0]"]
|
||||||
|
256["Segment<br>[6183, 6239, 0]"]
|
||||||
|
257["Segment<br>[6245, 6252, 0]"]
|
||||||
|
258[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path276 [Path]
|
||||||
|
276["Path<br>[6731, 6781, 0]"]
|
||||||
|
277["Segment<br>[6787, 6822, 0]"]
|
||||||
|
278["Segment<br>[6828, 6912, 0]"]
|
||||||
|
279["Segment<br>[6918, 6952, 0]"]
|
||||||
|
280["Segment<br>[6958, 7050, 0]"]
|
||||||
|
281["Segment<br>[7056, 7090, 0]"]
|
||||||
|
end
|
||||||
|
subgraph path283 [Path]
|
||||||
|
283["Path<br>[7153, 7250, 0]"]
|
||||||
|
284["Segment<br>[7153, 7250, 0]"]
|
||||||
|
285[Solid2d]
|
||||||
|
end
|
||||||
|
1["Plane<br>[540, 557, 0]"]
|
||||||
|
9["Sweep Extrusion<br>[1026, 1053, 0]"]
|
||||||
|
10[Wall]
|
||||||
|
11[Wall]
|
||||||
|
12[Wall]
|
||||||
|
13[Wall]
|
||||||
|
14["Cap Start"]
|
||||||
|
15["Cap End"]
|
||||||
|
16["SweepEdge Opposite"]
|
||||||
|
17["SweepEdge Adjacent"]
|
||||||
|
18["SweepEdge Opposite"]
|
||||||
|
19["SweepEdge Adjacent"]
|
||||||
|
20["SweepEdge Opposite"]
|
||||||
|
21["SweepEdge Adjacent"]
|
||||||
|
22["SweepEdge Opposite"]
|
||||||
|
23["SweepEdge Adjacent"]
|
||||||
|
24["Sweep Extrusion<br>[1026, 1053, 0]"]
|
||||||
|
25["Sweep Extrusion<br>[1026, 1053, 0]"]
|
||||||
|
26["Sweep Extrusion<br>[1026, 1053, 0]"]
|
||||||
|
27["Sweep Extrusion<br>[1026, 1053, 0]"]
|
||||||
|
28["Sweep Extrusion<br>[1026, 1053, 0]"]
|
||||||
|
29["Sweep Extrusion<br>[1026, 1053, 0]"]
|
||||||
|
30["Sweep Extrusion<br>[1026, 1053, 0]"]
|
||||||
|
31["Plane<br>[1185, 1239, 0]"]
|
||||||
|
39["Sweep Extrusion<br>[1658, 1692, 0]"]
|
||||||
|
40[Wall]
|
||||||
|
41[Wall]
|
||||||
|
42[Wall]
|
||||||
|
43[Wall]
|
||||||
|
44["Cap Start"]
|
||||||
|
45["Cap End"]
|
||||||
|
46["SweepEdge Opposite"]
|
||||||
|
47["SweepEdge Adjacent"]
|
||||||
|
48["SweepEdge Opposite"]
|
||||||
|
49["SweepEdge Adjacent"]
|
||||||
|
50["SweepEdge Opposite"]
|
||||||
|
51["SweepEdge Adjacent"]
|
||||||
|
52["SweepEdge Opposite"]
|
||||||
|
53["SweepEdge Adjacent"]
|
||||||
|
54["Sweep Extrusion<br>[1658, 1692, 0]"]
|
||||||
|
55["Sweep Extrusion<br>[1658, 1692, 0]"]
|
||||||
|
56["Sweep Extrusion<br>[1658, 1692, 0]"]
|
||||||
|
57["Sweep Extrusion<br>[1658, 1692, 0]"]
|
||||||
|
58["Sweep Extrusion<br>[1658, 1692, 0]"]
|
||||||
|
66["Sweep Extrusion<br>[2094, 2128, 0]"]
|
||||||
|
67[Wall]
|
||||||
|
68[Wall]
|
||||||
|
69[Wall]
|
||||||
|
70[Wall]
|
||||||
|
71["Cap Start"]
|
||||||
|
72["Cap End"]
|
||||||
|
73["SweepEdge Opposite"]
|
||||||
|
74["SweepEdge Adjacent"]
|
||||||
|
75["SweepEdge Opposite"]
|
||||||
|
76["SweepEdge Adjacent"]
|
||||||
|
77["SweepEdge Opposite"]
|
||||||
|
78["SweepEdge Adjacent"]
|
||||||
|
79["SweepEdge Opposite"]
|
||||||
|
80["SweepEdge Adjacent"]
|
||||||
|
81["Sweep Extrusion<br>[2094, 2128, 0]"]
|
||||||
|
82["Plane<br>[2245, 2296, 0]"]
|
||||||
|
90["Sweep Extrusion<br>[2793, 2828, 0]"]
|
||||||
|
91[Wall]
|
||||||
|
92[Wall]
|
||||||
|
93[Wall]
|
||||||
|
94[Wall]
|
||||||
|
95["Cap Start"]
|
||||||
|
96["Cap End"]
|
||||||
|
97["SweepEdge Opposite"]
|
||||||
|
98["SweepEdge Adjacent"]
|
||||||
|
99["SweepEdge Opposite"]
|
||||||
|
100["SweepEdge Adjacent"]
|
||||||
|
101["SweepEdge Opposite"]
|
||||||
|
102["SweepEdge Adjacent"]
|
||||||
|
103["SweepEdge Opposite"]
|
||||||
|
104["SweepEdge Adjacent"]
|
||||||
|
105["Sweep Extrusion<br>[2793, 2828, 0]"]
|
||||||
|
106["Sweep Extrusion<br>[2793, 2828, 0]"]
|
||||||
|
107["Sweep Extrusion<br>[2793, 2828, 0]"]
|
||||||
|
108["Sweep Extrusion<br>[2793, 2828, 0]"]
|
||||||
|
109["Sweep Extrusion<br>[2793, 2828, 0]"]
|
||||||
|
110["Plane<br>[2875, 2912, 0]"]
|
||||||
|
118["Sweep Extrusion<br>[3228, 3263, 0]"]
|
||||||
|
119[Wall]
|
||||||
|
120[Wall]
|
||||||
|
121[Wall]
|
||||||
|
122[Wall]
|
||||||
|
123["Cap Start"]
|
||||||
|
124["Cap End"]
|
||||||
|
125["SweepEdge Opposite"]
|
||||||
|
126["SweepEdge Adjacent"]
|
||||||
|
127["SweepEdge Opposite"]
|
||||||
|
128["SweepEdge Adjacent"]
|
||||||
|
129["SweepEdge Opposite"]
|
||||||
|
130["SweepEdge Adjacent"]
|
||||||
|
131["SweepEdge Opposite"]
|
||||||
|
132["SweepEdge Adjacent"]
|
||||||
|
133["Sweep Extrusion<br>[3228, 3263, 0]"]
|
||||||
|
141["Sweep Extrusion<br>[3665, 3700, 0]"]
|
||||||
|
142[Wall]
|
||||||
|
143[Wall]
|
||||||
|
144[Wall]
|
||||||
|
145[Wall]
|
||||||
|
146["Cap Start"]
|
||||||
|
147["Cap End"]
|
||||||
|
148["SweepEdge Opposite"]
|
||||||
|
149["SweepEdge Adjacent"]
|
||||||
|
150["SweepEdge Opposite"]
|
||||||
|
151["SweepEdge Adjacent"]
|
||||||
|
152["SweepEdge Opposite"]
|
||||||
|
153["SweepEdge Adjacent"]
|
||||||
|
154["SweepEdge Opposite"]
|
||||||
|
155["SweepEdge Adjacent"]
|
||||||
|
156["Sweep Extrusion<br>[3665, 3700, 0]"]
|
||||||
|
157["Plane<br>[3740, 3777, 0]"]
|
||||||
|
165["Sweep Extrusion<br>[4003, 4036, 0]"]
|
||||||
|
166[Wall]
|
||||||
|
167[Wall]
|
||||||
|
168[Wall]
|
||||||
|
169[Wall]
|
||||||
|
170["Cap Start"]
|
||||||
|
171["Cap End"]
|
||||||
|
172["SweepEdge Opposite"]
|
||||||
|
173["SweepEdge Adjacent"]
|
||||||
|
174["SweepEdge Opposite"]
|
||||||
|
175["SweepEdge Adjacent"]
|
||||||
|
176["SweepEdge Opposite"]
|
||||||
|
177["SweepEdge Adjacent"]
|
||||||
|
178["SweepEdge Opposite"]
|
||||||
|
179["SweepEdge Adjacent"]
|
||||||
|
187["Sweep Extrusion<br>[4599, 4626, 0]"]
|
||||||
|
188[Wall]
|
||||||
|
189[Wall]
|
||||||
|
190[Wall]
|
||||||
|
191[Wall]
|
||||||
|
192["Cap End"]
|
||||||
|
193["SweepEdge Opposite"]
|
||||||
|
194["SweepEdge Adjacent"]
|
||||||
|
195["SweepEdge Opposite"]
|
||||||
|
196["SweepEdge Adjacent"]
|
||||||
|
197["SweepEdge Opposite"]
|
||||||
|
198["SweepEdge Adjacent"]
|
||||||
|
199["SweepEdge Opposite"]
|
||||||
|
200["SweepEdge Adjacent"]
|
||||||
|
201["Sweep Extrusion<br>[4599, 4626, 0]"]
|
||||||
|
209["Sweep Extrusion<br>[5099, 5127, 0]"]
|
||||||
|
210[Wall]
|
||||||
|
211[Wall]
|
||||||
|
212[Wall]
|
||||||
|
213[Wall]
|
||||||
|
214["Cap Start"]
|
||||||
|
215["SweepEdge Opposite"]
|
||||||
|
216["SweepEdge Adjacent"]
|
||||||
|
217["SweepEdge Opposite"]
|
||||||
|
218["SweepEdge Adjacent"]
|
||||||
|
219["SweepEdge Opposite"]
|
||||||
|
220["SweepEdge Adjacent"]
|
||||||
|
221["SweepEdge Opposite"]
|
||||||
|
222["SweepEdge Adjacent"]
|
||||||
|
223["Sweep Extrusion<br>[5099, 5127, 0]"]
|
||||||
|
224["Plane<br>[5476, 5525, 0]"]
|
||||||
|
232["Sweep Extrusion<br>[5855, 5883, 0]"]
|
||||||
|
233[Wall]
|
||||||
|
234[Wall]
|
||||||
|
235[Wall]
|
||||||
|
236[Wall]
|
||||||
|
237["Cap Start"]
|
||||||
|
238["Cap End"]
|
||||||
|
239["SweepEdge Opposite"]
|
||||||
|
240["SweepEdge Adjacent"]
|
||||||
|
241["SweepEdge Opposite"]
|
||||||
|
242["SweepEdge Adjacent"]
|
||||||
|
243["SweepEdge Opposite"]
|
||||||
|
244["SweepEdge Adjacent"]
|
||||||
|
245["SweepEdge Opposite"]
|
||||||
|
246["SweepEdge Adjacent"]
|
||||||
|
247["Sweep Extrusion<br>[5855, 5883, 0]"]
|
||||||
|
248["Sweep Extrusion<br>[5855, 5883, 0]"]
|
||||||
|
249["Sweep Extrusion<br>[5855, 5883, 0]"]
|
||||||
|
250["Sweep Extrusion<br>[5855, 5883, 0]"]
|
||||||
|
251["Sweep Extrusion<br>[5855, 5883, 0]"]
|
||||||
|
259["Sweep Extrusion<br>[6334, 6362, 0]"]
|
||||||
|
260[Wall]
|
||||||
|
261[Wall]
|
||||||
|
262[Wall]
|
||||||
|
263[Wall]
|
||||||
|
264["Cap Start"]
|
||||||
|
265["Cap End"]
|
||||||
|
266["SweepEdge Opposite"]
|
||||||
|
267["SweepEdge Adjacent"]
|
||||||
|
268["SweepEdge Opposite"]
|
||||||
|
269["SweepEdge Adjacent"]
|
||||||
|
270["SweepEdge Opposite"]
|
||||||
|
271["SweepEdge Adjacent"]
|
||||||
|
272["SweepEdge Opposite"]
|
||||||
|
273["SweepEdge Adjacent"]
|
||||||
|
274["Sweep Extrusion<br>[6334, 6362, 0]"]
|
||||||
|
275["Plane<br>[6657, 6708, 0]"]
|
||||||
|
282["Plane<br>[7112, 7129, 0]"]
|
||||||
|
286["Sweep Sweep<br>[7267, 7320, 0]"]
|
||||||
|
287[Wall]
|
||||||
|
288["Cap Start"]
|
||||||
|
289["Cap Start"]
|
||||||
|
290["SweepEdge Opposite"]
|
||||||
|
291["SweepEdge Adjacent"]
|
||||||
|
292["StartSketchOnPlane<br>[1171, 1240, 0]"]
|
||||||
|
293["StartSketchOnPlane<br>[2231, 2297, 0]"]
|
||||||
|
294["StartSketchOnPlane<br>[2861, 2913, 0]"]
|
||||||
|
295["StartSketchOnPlane<br>[3726, 3778, 0]"]
|
||||||
|
296["StartSketchOnFace<br>[4220, 4256, 0]"]
|
||||||
|
297["StartSketchOnFace<br>[4646, 4680, 0]"]
|
||||||
|
298["StartSketchOnPlane<br>[5462, 5526, 0]"]
|
||||||
|
299["StartSketchOnPlane<br>[6643, 6709, 0]"]
|
||||||
|
1 --- 2
|
||||||
|
2 --- 3
|
||||||
|
2 --- 4
|
||||||
|
2 --- 5
|
||||||
|
2 --- 6
|
||||||
|
2 --- 7
|
||||||
|
2 ---- 9
|
||||||
|
2 --- 8
|
||||||
|
3 --- 13
|
||||||
|
3 --- 22
|
||||||
|
3 --- 23
|
||||||
|
4 --- 12
|
||||||
|
4 --- 20
|
||||||
|
4 --- 21
|
||||||
|
5 --- 11
|
||||||
|
5 --- 18
|
||||||
|
5 --- 19
|
||||||
|
6 --- 10
|
||||||
|
6 --- 16
|
||||||
|
6 --- 17
|
||||||
|
9 --- 10
|
||||||
|
9 --- 11
|
||||||
|
9 --- 12
|
||||||
|
9 --- 13
|
||||||
|
9 --- 14
|
||||||
|
9 --- 15
|
||||||
|
9 --- 16
|
||||||
|
9 --- 17
|
||||||
|
9 --- 18
|
||||||
|
9 --- 19
|
||||||
|
9 --- 20
|
||||||
|
9 --- 21
|
||||||
|
9 --- 22
|
||||||
|
9 --- 23
|
||||||
|
31 --- 32
|
||||||
|
31 --- 59
|
||||||
|
32 --- 33
|
||||||
|
32 --- 34
|
||||||
|
32 --- 35
|
||||||
|
32 --- 36
|
||||||
|
32 --- 37
|
||||||
|
32 ---- 39
|
||||||
|
32 --- 38
|
||||||
|
33 --- 43
|
||||||
|
33 --- 52
|
||||||
|
33 --- 53
|
||||||
|
34 --- 42
|
||||||
|
34 --- 50
|
||||||
|
34 --- 51
|
||||||
|
35 --- 41
|
||||||
|
35 --- 48
|
||||||
|
35 --- 49
|
||||||
|
36 --- 40
|
||||||
|
36 --- 46
|
||||||
|
36 --- 47
|
||||||
|
39 --- 40
|
||||||
|
39 --- 41
|
||||||
|
39 --- 42
|
||||||
|
39 --- 43
|
||||||
|
39 --- 44
|
||||||
|
39 --- 45
|
||||||
|
39 --- 46
|
||||||
|
39 --- 47
|
||||||
|
39 --- 48
|
||||||
|
39 --- 49
|
||||||
|
39 --- 50
|
||||||
|
39 --- 51
|
||||||
|
39 --- 52
|
||||||
|
39 --- 53
|
||||||
|
59 --- 60
|
||||||
|
59 --- 61
|
||||||
|
59 --- 62
|
||||||
|
59 --- 63
|
||||||
|
59 --- 64
|
||||||
|
59 ---- 66
|
||||||
|
59 --- 65
|
||||||
|
60 --- 70
|
||||||
|
60 --- 79
|
||||||
|
60 --- 80
|
||||||
|
61 --- 69
|
||||||
|
61 --- 77
|
||||||
|
61 --- 78
|
||||||
|
62 --- 68
|
||||||
|
62 --- 75
|
||||||
|
62 --- 76
|
||||||
|
63 --- 67
|
||||||
|
63 --- 73
|
||||||
|
63 --- 74
|
||||||
|
66 --- 67
|
||||||
|
66 --- 68
|
||||||
|
66 --- 69
|
||||||
|
66 --- 70
|
||||||
|
66 --- 71
|
||||||
|
66 --- 72
|
||||||
|
66 --- 73
|
||||||
|
66 --- 74
|
||||||
|
66 --- 75
|
||||||
|
66 --- 76
|
||||||
|
66 --- 77
|
||||||
|
66 --- 78
|
||||||
|
66 --- 79
|
||||||
|
66 --- 80
|
||||||
|
82 --- 83
|
||||||
|
83 --- 84
|
||||||
|
83 --- 85
|
||||||
|
83 --- 86
|
||||||
|
83 --- 87
|
||||||
|
83 --- 88
|
||||||
|
83 ---- 90
|
||||||
|
83 --- 89
|
||||||
|
84 --- 94
|
||||||
|
84 --- 103
|
||||||
|
84 --- 104
|
||||||
|
85 --- 93
|
||||||
|
85 --- 101
|
||||||
|
85 --- 102
|
||||||
|
86 --- 92
|
||||||
|
86 --- 99
|
||||||
|
86 --- 100
|
||||||
|
87 --- 91
|
||||||
|
87 --- 97
|
||||||
|
87 --- 98
|
||||||
|
90 --- 91
|
||||||
|
90 --- 92
|
||||||
|
90 --- 93
|
||||||
|
90 --- 94
|
||||||
|
90 --- 95
|
||||||
|
90 --- 96
|
||||||
|
90 --- 97
|
||||||
|
90 --- 98
|
||||||
|
90 --- 99
|
||||||
|
90 --- 100
|
||||||
|
90 --- 101
|
||||||
|
90 --- 102
|
||||||
|
90 --- 103
|
||||||
|
90 --- 104
|
||||||
|
110 --- 111
|
||||||
|
110 --- 134
|
||||||
|
111 --- 112
|
||||||
|
111 --- 113
|
||||||
|
111 --- 114
|
||||||
|
111 --- 115
|
||||||
|
111 --- 116
|
||||||
|
111 ---- 118
|
||||||
|
111 --- 117
|
||||||
|
112 --- 122
|
||||||
|
112 --- 131
|
||||||
|
112 --- 132
|
||||||
|
113 --- 121
|
||||||
|
113 --- 129
|
||||||
|
113 --- 130
|
||||||
|
114 --- 120
|
||||||
|
114 --- 127
|
||||||
|
114 --- 128
|
||||||
|
115 --- 119
|
||||||
|
115 --- 125
|
||||||
|
115 --- 126
|
||||||
|
118 --- 119
|
||||||
|
118 --- 120
|
||||||
|
118 --- 121
|
||||||
|
118 --- 122
|
||||||
|
118 --- 123
|
||||||
|
118 --- 124
|
||||||
|
118 --- 125
|
||||||
|
118 --- 126
|
||||||
|
118 --- 127
|
||||||
|
118 --- 128
|
||||||
|
118 --- 129
|
||||||
|
118 --- 130
|
||||||
|
118 --- 131
|
||||||
|
118 --- 132
|
||||||
|
134 --- 135
|
||||||
|
134 --- 136
|
||||||
|
134 --- 137
|
||||||
|
134 --- 138
|
||||||
|
134 --- 139
|
||||||
|
134 ---- 141
|
||||||
|
134 --- 140
|
||||||
|
135 --- 145
|
||||||
|
135 --- 154
|
||||||
|
135 --- 155
|
||||||
|
136 --- 144
|
||||||
|
136 --- 152
|
||||||
|
136 --- 153
|
||||||
|
137 --- 143
|
||||||
|
137 --- 150
|
||||||
|
137 --- 151
|
||||||
|
138 --- 142
|
||||||
|
138 --- 148
|
||||||
|
138 --- 149
|
||||||
|
141 --- 142
|
||||||
|
141 --- 143
|
||||||
|
141 --- 144
|
||||||
|
141 --- 145
|
||||||
|
141 --- 146
|
||||||
|
141 --- 147
|
||||||
|
141 --- 148
|
||||||
|
141 --- 149
|
||||||
|
141 --- 150
|
||||||
|
141 --- 151
|
||||||
|
141 --- 152
|
||||||
|
141 --- 153
|
||||||
|
141 --- 154
|
||||||
|
141 --- 155
|
||||||
|
157 --- 158
|
||||||
|
158 --- 159
|
||||||
|
158 --- 160
|
||||||
|
158 --- 161
|
||||||
|
158 --- 162
|
||||||
|
158 --- 163
|
||||||
|
158 ---- 165
|
||||||
|
158 --- 164
|
||||||
|
159 --- 169
|
||||||
|
159 --- 178
|
||||||
|
159 --- 179
|
||||||
|
160 --- 168
|
||||||
|
160 --- 176
|
||||||
|
160 --- 177
|
||||||
|
161 --- 167
|
||||||
|
161 --- 174
|
||||||
|
161 --- 175
|
||||||
|
162 --- 166
|
||||||
|
162 --- 172
|
||||||
|
162 --- 173
|
||||||
|
165 --- 166
|
||||||
|
165 --- 167
|
||||||
|
165 --- 168
|
||||||
|
165 --- 169
|
||||||
|
165 --- 170
|
||||||
|
165 --- 171
|
||||||
|
165 --- 172
|
||||||
|
165 --- 173
|
||||||
|
165 --- 174
|
||||||
|
165 --- 175
|
||||||
|
165 --- 176
|
||||||
|
165 --- 177
|
||||||
|
165 --- 178
|
||||||
|
165 --- 179
|
||||||
|
170 --- 180
|
||||||
|
171 --- 202
|
||||||
|
180 --- 181
|
||||||
|
180 --- 182
|
||||||
|
180 --- 183
|
||||||
|
180 --- 184
|
||||||
|
180 --- 185
|
||||||
|
180 ---- 187
|
||||||
|
180 --- 186
|
||||||
|
181 --- 188
|
||||||
|
181 --- 193
|
||||||
|
181 --- 194
|
||||||
|
182 --- 189
|
||||||
|
182 --- 195
|
||||||
|
182 --- 196
|
||||||
|
183 --- 190
|
||||||
|
183 --- 197
|
||||||
|
183 --- 198
|
||||||
|
184 --- 191
|
||||||
|
184 --- 199
|
||||||
|
184 --- 200
|
||||||
|
187 --- 188
|
||||||
|
187 --- 189
|
||||||
|
187 --- 190
|
||||||
|
187 --- 191
|
||||||
|
187 --- 192
|
||||||
|
187 --- 193
|
||||||
|
187 --- 194
|
||||||
|
187 --- 195
|
||||||
|
187 --- 196
|
||||||
|
187 --- 197
|
||||||
|
187 --- 198
|
||||||
|
187 --- 199
|
||||||
|
187 --- 200
|
||||||
|
202 --- 203
|
||||||
|
202 --- 204
|
||||||
|
202 --- 205
|
||||||
|
202 --- 206
|
||||||
|
202 --- 207
|
||||||
|
202 ---- 209
|
||||||
|
202 --- 208
|
||||||
|
203 --- 213
|
||||||
|
203 --- 221
|
||||||
|
203 --- 222
|
||||||
|
204 --- 212
|
||||||
|
204 --- 219
|
||||||
|
204 --- 220
|
||||||
|
205 --- 211
|
||||||
|
205 --- 217
|
||||||
|
205 --- 218
|
||||||
|
206 --- 210
|
||||||
|
206 --- 215
|
||||||
|
206 --- 216
|
||||||
|
209 --- 210
|
||||||
|
209 --- 211
|
||||||
|
209 --- 212
|
||||||
|
209 --- 213
|
||||||
|
209 --- 214
|
||||||
|
209 --- 215
|
||||||
|
209 --- 216
|
||||||
|
209 --- 217
|
||||||
|
209 --- 218
|
||||||
|
209 --- 219
|
||||||
|
209 --- 220
|
||||||
|
209 --- 221
|
||||||
|
209 --- 222
|
||||||
|
224 --- 225
|
||||||
|
224 --- 252
|
||||||
|
225 --- 226
|
||||||
|
225 --- 227
|
||||||
|
225 --- 228
|
||||||
|
225 --- 229
|
||||||
|
225 --- 230
|
||||||
|
225 ---- 232
|
||||||
|
225 --- 231
|
||||||
|
226 --- 236
|
||||||
|
226 --- 245
|
||||||
|
226 --- 246
|
||||||
|
227 --- 235
|
||||||
|
227 --- 243
|
||||||
|
227 --- 244
|
||||||
|
228 --- 234
|
||||||
|
228 --- 241
|
||||||
|
228 --- 242
|
||||||
|
229 --- 233
|
||||||
|
229 --- 239
|
||||||
|
229 --- 240
|
||||||
|
232 --- 233
|
||||||
|
232 --- 234
|
||||||
|
232 --- 235
|
||||||
|
232 --- 236
|
||||||
|
232 --- 237
|
||||||
|
232 --- 238
|
||||||
|
232 --- 239
|
||||||
|
232 --- 240
|
||||||
|
232 --- 241
|
||||||
|
232 --- 242
|
||||||
|
232 --- 243
|
||||||
|
232 --- 244
|
||||||
|
232 --- 245
|
||||||
|
232 --- 246
|
||||||
|
252 --- 253
|
||||||
|
252 --- 254
|
||||||
|
252 --- 255
|
||||||
|
252 --- 256
|
||||||
|
252 --- 257
|
||||||
|
252 ---- 259
|
||||||
|
252 --- 258
|
||||||
|
253 --- 263
|
||||||
|
253 --- 272
|
||||||
|
253 --- 273
|
||||||
|
254 --- 262
|
||||||
|
254 --- 270
|
||||||
|
254 --- 271
|
||||||
|
255 --- 261
|
||||||
|
255 --- 268
|
||||||
|
255 --- 269
|
||||||
|
256 --- 260
|
||||||
|
256 --- 266
|
||||||
|
256 --- 267
|
||||||
|
259 --- 260
|
||||||
|
259 --- 261
|
||||||
|
259 --- 262
|
||||||
|
259 --- 263
|
||||||
|
259 --- 264
|
||||||
|
259 --- 265
|
||||||
|
259 --- 266
|
||||||
|
259 --- 267
|
||||||
|
259 --- 268
|
||||||
|
259 --- 269
|
||||||
|
259 --- 270
|
||||||
|
259 --- 271
|
||||||
|
259 --- 272
|
||||||
|
259 --- 273
|
||||||
|
275 --- 276
|
||||||
|
276 --- 277
|
||||||
|
276 --- 278
|
||||||
|
276 --- 279
|
||||||
|
276 --- 280
|
||||||
|
276 --- 281
|
||||||
|
282 --- 283
|
||||||
|
283 --- 284
|
||||||
|
283 ---- 286
|
||||||
|
283 --- 285
|
||||||
|
284 --- 287
|
||||||
|
284 --- 290
|
||||||
|
284 --- 291
|
||||||
|
286 --- 287
|
||||||
|
286 --- 288
|
||||||
|
286 --- 289
|
||||||
|
286 --- 290
|
||||||
|
286 --- 291
|
||||||
|
31 <--x 292
|
||||||
|
82 <--x 293
|
||||||
|
110 <--x 294
|
||||||
|
157 <--x 295
|
||||||
|
170 <--x 296
|
||||||
|
171 <--x 297
|
||||||
|
224 <--x 298
|
||||||
|
275 <--x 299
|
||||||
|
```
|
11285
rust/kcl-lib/tests/kcl_samples/dual-basin-utility-sink/ast.snap
Normal file
11285
rust/kcl-lib/tests/kcl_samples/dual-basin-utility-sink/ast.snap
Normal file
File diff suppressed because it is too large
Load Diff
1098
rust/kcl-lib/tests/kcl_samples/dual-basin-utility-sink/ops.snap
Normal file
1098
rust/kcl-lib/tests/kcl_samples/dual-basin-utility-sink/ops.snap
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
After Width: | Height: | Size: 55 KiB |
2210
rust/kcl-lib/tests/kcl_samples/makeup-mirror/artifact_commands.snap
Normal file
2210
rust/kcl-lib/tests/kcl_samples/makeup-mirror/artifact_commands.snap
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
source: kcl-lib/src/simulation_tests.rs
|
||||||
|
description: Artifact graph flowchart makeup-mirror.kcl
|
||||||
|
extension: md
|
||||||
|
snapshot_kind: binary
|
||||||
|
---
|
@ -0,0 +1,317 @@
|
|||||||
|
```mermaid
|
||||||
|
flowchart LR
|
||||||
|
subgraph path2 [Path]
|
||||||
|
2["Path<br>[520, 565, 0]"]
|
||||||
|
3["Segment<br>[520, 565, 0]"]
|
||||||
|
4[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path12 [Path]
|
||||||
|
12["Path<br>[520, 565, 0]"]
|
||||||
|
13["Segment<br>[520, 565, 0]"]
|
||||||
|
14[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path22 [Path]
|
||||||
|
22["Path<br>[520, 565, 0]"]
|
||||||
|
23["Segment<br>[520, 565, 0]"]
|
||||||
|
24[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path32 [Path]
|
||||||
|
32["Path<br>[520, 565, 0]"]
|
||||||
|
33["Segment<br>[520, 565, 0]"]
|
||||||
|
34[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path42 [Path]
|
||||||
|
42["Path<br>[520, 565, 0]"]
|
||||||
|
43["Segment<br>[520, 565, 0]"]
|
||||||
|
44[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path52 [Path]
|
||||||
|
52["Path<br>[520, 565, 0]"]
|
||||||
|
53["Segment<br>[520, 565, 0]"]
|
||||||
|
54[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path62 [Path]
|
||||||
|
62["Path<br>[520, 565, 0]"]
|
||||||
|
63["Segment<br>[520, 565, 0]"]
|
||||||
|
64[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path72 [Path]
|
||||||
|
72["Path<br>[1136, 1191, 0]"]
|
||||||
|
73["Segment<br>[1136, 1191, 0]"]
|
||||||
|
74[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path82 [Path]
|
||||||
|
82["Path<br>[1136, 1191, 0]"]
|
||||||
|
83["Segment<br>[1136, 1191, 0]"]
|
||||||
|
84[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path92 [Path]
|
||||||
|
92["Path<br>[1553, 1616, 0]"]
|
||||||
|
93["Segment<br>[1553, 1616, 0]"]
|
||||||
|
94[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path101 [Path]
|
||||||
|
101["Path<br>[1662, 1716, 0]"]
|
||||||
|
102["Segment<br>[1724, 1748, 0]"]
|
||||||
|
103["Segment<br>[1756, 1870, 0]"]
|
||||||
|
104["Segment<br>[1878, 1902, 0]"]
|
||||||
|
105["Segment<br>[1910, 2041, 0]"]
|
||||||
|
106["Segment<br>[2049, 2056, 0]"]
|
||||||
|
107[Solid2d]
|
||||||
|
end
|
||||||
|
1["Plane<br>[484, 511, 0]"]
|
||||||
|
5["Sweep Extrusion<br>[573, 602, 0]"]
|
||||||
|
6[Wall]
|
||||||
|
7["Cap Start"]
|
||||||
|
8["Cap End"]
|
||||||
|
9["SweepEdge Opposite"]
|
||||||
|
10["SweepEdge Adjacent"]
|
||||||
|
11["Plane<br>[484, 511, 0]"]
|
||||||
|
15["Sweep Extrusion<br>[573, 602, 0]"]
|
||||||
|
16[Wall]
|
||||||
|
17["Cap Start"]
|
||||||
|
18["Cap End"]
|
||||||
|
19["SweepEdge Opposite"]
|
||||||
|
20["SweepEdge Adjacent"]
|
||||||
|
21["Plane<br>[484, 511, 0]"]
|
||||||
|
25["Sweep Extrusion<br>[573, 602, 0]"]
|
||||||
|
26[Wall]
|
||||||
|
27["Cap Start"]
|
||||||
|
28["Cap End"]
|
||||||
|
29["SweepEdge Opposite"]
|
||||||
|
30["SweepEdge Adjacent"]
|
||||||
|
31["Plane<br>[484, 511, 0]"]
|
||||||
|
35["Sweep Extrusion<br>[573, 602, 0]"]
|
||||||
|
36[Wall]
|
||||||
|
37["Cap Start"]
|
||||||
|
38["Cap End"]
|
||||||
|
39["SweepEdge Opposite"]
|
||||||
|
40["SweepEdge Adjacent"]
|
||||||
|
41["Plane<br>[484, 511, 0]"]
|
||||||
|
45["Sweep Extrusion<br>[573, 602, 0]"]
|
||||||
|
46[Wall]
|
||||||
|
47["Cap Start"]
|
||||||
|
48["Cap End"]
|
||||||
|
49["SweepEdge Opposite"]
|
||||||
|
50["SweepEdge Adjacent"]
|
||||||
|
51["Plane<br>[484, 511, 0]"]
|
||||||
|
55["Sweep Extrusion<br>[573, 602, 0]"]
|
||||||
|
56[Wall]
|
||||||
|
57["Cap Start"]
|
||||||
|
58["Cap End"]
|
||||||
|
59["SweepEdge Opposite"]
|
||||||
|
60["SweepEdge Adjacent"]
|
||||||
|
61["Plane<br>[484, 511, 0]"]
|
||||||
|
65["Sweep Extrusion<br>[573, 602, 0]"]
|
||||||
|
66[Wall]
|
||||||
|
67["Cap Start"]
|
||||||
|
68["Cap End"]
|
||||||
|
69["SweepEdge Opposite"]
|
||||||
|
70["SweepEdge Adjacent"]
|
||||||
|
71["Plane<br>[1108, 1128, 0]"]
|
||||||
|
75["Sweep Extrusion<br>[1199, 1226, 0]"]
|
||||||
|
76[Wall]
|
||||||
|
77["Cap Start"]
|
||||||
|
78["Cap End"]
|
||||||
|
79["SweepEdge Opposite"]
|
||||||
|
80["SweepEdge Adjacent"]
|
||||||
|
81["Plane<br>[1108, 1128, 0]"]
|
||||||
|
85["Sweep Extrusion<br>[1199, 1226, 0]"]
|
||||||
|
86[Wall]
|
||||||
|
87["Cap Start"]
|
||||||
|
88["Cap End"]
|
||||||
|
89["SweepEdge Opposite"]
|
||||||
|
90["SweepEdge Adjacent"]
|
||||||
|
91["Plane<br>[1489, 1539, 0]"]
|
||||||
|
95["Sweep Extrusion<br>[1624, 1647, 0]"]
|
||||||
|
96[Wall]
|
||||||
|
97["Cap Start"]
|
||||||
|
98["Cap End"]
|
||||||
|
99["SweepEdge Opposite"]
|
||||||
|
100["SweepEdge Adjacent"]
|
||||||
|
108["Sweep Extrusion<br>[2064, 2087, 0]"]
|
||||||
|
109[Wall]
|
||||||
|
110[Wall]
|
||||||
|
111[Wall]
|
||||||
|
112[Wall]
|
||||||
|
113["Cap Start"]
|
||||||
|
114["Cap End"]
|
||||||
|
115["SweepEdge Opposite"]
|
||||||
|
116["SweepEdge Adjacent"]
|
||||||
|
117["SweepEdge Opposite"]
|
||||||
|
118["SweepEdge Adjacent"]
|
||||||
|
119["SweepEdge Opposite"]
|
||||||
|
120["SweepEdge Adjacent"]
|
||||||
|
121["SweepEdge Opposite"]
|
||||||
|
122["SweepEdge Adjacent"]
|
||||||
|
123["StartSketchOnPlane<br>[470, 512, 0]"]
|
||||||
|
124["StartSketchOnPlane<br>[470, 512, 0]"]
|
||||||
|
125["StartSketchOnPlane<br>[470, 512, 0]"]
|
||||||
|
126["StartSketchOnPlane<br>[470, 512, 0]"]
|
||||||
|
127["StartSketchOnPlane<br>[470, 512, 0]"]
|
||||||
|
128["StartSketchOnPlane<br>[470, 512, 0]"]
|
||||||
|
129["StartSketchOnPlane<br>[470, 512, 0]"]
|
||||||
|
130["StartSketchOnPlane<br>[1475, 1540, 0]"]
|
||||||
|
1 --- 2
|
||||||
|
2 --- 3
|
||||||
|
2 ---- 5
|
||||||
|
2 --- 4
|
||||||
|
3 --- 6
|
||||||
|
3 --- 9
|
||||||
|
3 --- 10
|
||||||
|
5 --- 6
|
||||||
|
5 --- 7
|
||||||
|
5 --- 8
|
||||||
|
5 --- 9
|
||||||
|
5 --- 10
|
||||||
|
11 --- 12
|
||||||
|
12 --- 13
|
||||||
|
12 ---- 15
|
||||||
|
12 --- 14
|
||||||
|
13 --- 16
|
||||||
|
13 --- 19
|
||||||
|
13 --- 20
|
||||||
|
15 --- 16
|
||||||
|
15 --- 17
|
||||||
|
15 --- 18
|
||||||
|
15 --- 19
|
||||||
|
15 --- 20
|
||||||
|
21 --- 22
|
||||||
|
22 --- 23
|
||||||
|
22 ---- 25
|
||||||
|
22 --- 24
|
||||||
|
23 --- 26
|
||||||
|
23 --- 29
|
||||||
|
23 --- 30
|
||||||
|
25 --- 26
|
||||||
|
25 --- 27
|
||||||
|
25 --- 28
|
||||||
|
25 --- 29
|
||||||
|
25 --- 30
|
||||||
|
31 --- 32
|
||||||
|
32 --- 33
|
||||||
|
32 ---- 35
|
||||||
|
32 --- 34
|
||||||
|
33 --- 36
|
||||||
|
33 --- 39
|
||||||
|
33 --- 40
|
||||||
|
35 --- 36
|
||||||
|
35 --- 37
|
||||||
|
35 --- 38
|
||||||
|
35 --- 39
|
||||||
|
35 --- 40
|
||||||
|
41 --- 42
|
||||||
|
42 --- 43
|
||||||
|
42 ---- 45
|
||||||
|
42 --- 44
|
||||||
|
43 --- 46
|
||||||
|
43 --- 49
|
||||||
|
43 --- 50
|
||||||
|
45 --- 46
|
||||||
|
45 --- 47
|
||||||
|
45 --- 48
|
||||||
|
45 --- 49
|
||||||
|
45 --- 50
|
||||||
|
51 --- 52
|
||||||
|
52 --- 53
|
||||||
|
52 ---- 55
|
||||||
|
52 --- 54
|
||||||
|
53 --- 56
|
||||||
|
53 --- 59
|
||||||
|
53 --- 60
|
||||||
|
55 --- 56
|
||||||
|
55 --- 57
|
||||||
|
55 --- 58
|
||||||
|
55 --- 59
|
||||||
|
55 --- 60
|
||||||
|
61 --- 62
|
||||||
|
62 --- 63
|
||||||
|
62 ---- 65
|
||||||
|
62 --- 64
|
||||||
|
63 --- 66
|
||||||
|
63 --- 69
|
||||||
|
63 --- 70
|
||||||
|
65 --- 66
|
||||||
|
65 --- 67
|
||||||
|
65 --- 68
|
||||||
|
65 --- 69
|
||||||
|
65 --- 70
|
||||||
|
71 --- 72
|
||||||
|
72 --- 73
|
||||||
|
72 ---- 75
|
||||||
|
72 --- 74
|
||||||
|
73 --- 76
|
||||||
|
73 --- 79
|
||||||
|
73 --- 80
|
||||||
|
75 --- 76
|
||||||
|
75 --- 77
|
||||||
|
75 --- 78
|
||||||
|
75 --- 79
|
||||||
|
75 --- 80
|
||||||
|
81 --- 82
|
||||||
|
82 --- 83
|
||||||
|
82 ---- 85
|
||||||
|
82 --- 84
|
||||||
|
83 --- 86
|
||||||
|
83 --- 89
|
||||||
|
83 --- 90
|
||||||
|
85 --- 86
|
||||||
|
85 --- 87
|
||||||
|
85 --- 88
|
||||||
|
85 --- 89
|
||||||
|
85 --- 90
|
||||||
|
91 --- 92
|
||||||
|
91 --- 101
|
||||||
|
92 --- 93
|
||||||
|
92 ---- 95
|
||||||
|
92 --- 94
|
||||||
|
93 --- 96
|
||||||
|
93 --- 99
|
||||||
|
93 --- 100
|
||||||
|
95 --- 96
|
||||||
|
95 --- 97
|
||||||
|
95 --- 98
|
||||||
|
95 --- 99
|
||||||
|
95 --- 100
|
||||||
|
101 --- 102
|
||||||
|
101 --- 103
|
||||||
|
101 --- 104
|
||||||
|
101 --- 105
|
||||||
|
101 --- 106
|
||||||
|
101 ---- 108
|
||||||
|
101 --- 107
|
||||||
|
102 --- 112
|
||||||
|
102 --- 121
|
||||||
|
102 --- 122
|
||||||
|
103 --- 111
|
||||||
|
103 --- 119
|
||||||
|
103 --- 120
|
||||||
|
104 --- 110
|
||||||
|
104 --- 117
|
||||||
|
104 --- 118
|
||||||
|
105 --- 109
|
||||||
|
105 --- 115
|
||||||
|
105 --- 116
|
||||||
|
108 --- 109
|
||||||
|
108 --- 110
|
||||||
|
108 --- 111
|
||||||
|
108 --- 112
|
||||||
|
108 --- 113
|
||||||
|
108 --- 114
|
||||||
|
108 --- 115
|
||||||
|
108 --- 116
|
||||||
|
108 --- 117
|
||||||
|
108 --- 118
|
||||||
|
108 --- 119
|
||||||
|
108 --- 120
|
||||||
|
108 --- 121
|
||||||
|
108 --- 122
|
||||||
|
1 <--x 123
|
||||||
|
11 <--x 124
|
||||||
|
21 <--x 125
|
||||||
|
31 <--x 126
|
||||||
|
41 <--x 127
|
||||||
|
51 <--x 128
|
||||||
|
61 <--x 129
|
||||||
|
91 <--x 130
|
||||||
|
```
|
4019
rust/kcl-lib/tests/kcl_samples/makeup-mirror/ast.snap
Normal file
4019
rust/kcl-lib/tests/kcl_samples/makeup-mirror/ast.snap
Normal file
File diff suppressed because it is too large
Load Diff
1456
rust/kcl-lib/tests/kcl_samples/makeup-mirror/ops.snap
Normal file
1456
rust/kcl-lib/tests/kcl_samples/makeup-mirror/ops.snap
Normal file
File diff suppressed because it is too large
Load Diff
1187
rust/kcl-lib/tests/kcl_samples/makeup-mirror/program_memory.snap
Normal file
1187
rust/kcl-lib/tests/kcl_samples/makeup-mirror/program_memory.snap
Normal file
File diff suppressed because it is too large
Load Diff
BIN
rust/kcl-lib/tests/kcl_samples/makeup-mirror/rendered_model.png
Normal file
BIN
rust/kcl-lib/tests/kcl_samples/makeup-mirror/rendered_model.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 62 KiB |
Reference in New Issue
Block a user