Add files via upload (#6227)
* Add files via upload Adding parametric pc fan and bottle * Update and rename globals.kcl to parameters.kcl * Update fan-housing.kcl * Update fan-housing.kcl * Update fan.kcl * Update motor.kcl * Update parameters.kcl * Update kcl-samples simulation test output * Update main.kcl avoiding fn imports * Update kcl-samples simulation test output * remove functions * angledLine kwargs * tangentalArc kwargs * Update kcl-samples simulation test output * Update housing middle more tweaks because I just can't help myself * Update kcl-samples simulation test output * Update kcl-samples simulation test output --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: jgomez720 <114548659+jgomez720@users.noreply.github.com>
This commit is contained in:
@ -25,10 +25,14 @@ When you submit a PR to add or modify KCL samples, images and STEP files will be
|
|||||||
---
|
---
|
||||||
#### [80-20-rail](80-20-rail/main.kcl) ([screenshot](screenshots/80-20-rail.png))
|
#### [80-20-rail](80-20-rail/main.kcl) ([screenshot](screenshots/80-20-rail.png))
|
||||||
[](80-20-rail/main.kcl)
|
[](80-20-rail/main.kcl)
|
||||||
|
#### [axial-fan](axial-fan/main.kcl) ([screenshot](screenshots/axial-fan.png))
|
||||||
|
[](axial-fan/main.kcl)
|
||||||
#### [ball-bearing](ball-bearing/main.kcl) ([screenshot](screenshots/ball-bearing.png))
|
#### [ball-bearing](ball-bearing/main.kcl) ([screenshot](screenshots/ball-bearing.png))
|
||||||
[](ball-bearing/main.kcl)
|
[](ball-bearing/main.kcl)
|
||||||
#### [bench](bench/main.kcl) ([screenshot](screenshots/bench.png))
|
#### [bench](bench/main.kcl) ([screenshot](screenshots/bench.png))
|
||||||
[](bench/main.kcl)
|
[](bench/main.kcl)
|
||||||
|
#### [bottle](bottle/main.kcl) ([screenshot](screenshots/bottle.png))
|
||||||
|
[](bottle/main.kcl)
|
||||||
#### [bracket](bracket/main.kcl) ([screenshot](screenshots/bracket.png))
|
#### [bracket](bracket/main.kcl) ([screenshot](screenshots/bracket.png))
|
||||||
[](bracket/main.kcl)
|
[](bracket/main.kcl)
|
||||||
#### [car-wheel-assembly](car-wheel-assembly/main.kcl) ([screenshot](screenshots/car-wheel-assembly.png))
|
#### [car-wheel-assembly](car-wheel-assembly/main.kcl) ([screenshot](screenshots/car-wheel-assembly.png))
|
||||||
|
|||||||
153
public/kcl-samples/axial-fan/fan-housing.kcl
Normal file
153
public/kcl-samples/axial-fan/fan-housing.kcl
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
// Fan Housing
|
||||||
|
// The plastic housing that contains the fan and the motor
|
||||||
|
|
||||||
|
// Set units
|
||||||
|
@settings(defaultLengthUnit = mm)
|
||||||
|
|
||||||
|
// Import parameters
|
||||||
|
import * from "parameters.kcl"
|
||||||
|
|
||||||
|
// Model the housing which holds the motor, the fan, and the mounting provisions
|
||||||
|
// Bottom mounting face
|
||||||
|
bottomFaceSketch = startSketchOn(XY)
|
||||||
|
|> startProfileAt([-fanSize / 2, -fanSize / 2], %)
|
||||||
|
|> angledLine(angle = 0, length = fanSize, tag = $rectangleSegmentA001)
|
||||||
|
|> angledLine(angle = segAng(rectangleSegmentA001) + 90, length = fanSize, tag = $rectangleSegmentB001)
|
||||||
|
|> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001), tag = $rectangleSegmentC001)
|
||||||
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $rectangleSegmentD001)
|
||||||
|
|> close()
|
||||||
|
|> hole(circle(center = [0, 0], radius = 4), %)
|
||||||
|
|> hole(circle(
|
||||||
|
center = [
|
||||||
|
mountingHoleSpacing / 2,
|
||||||
|
mountingHoleSpacing / 2
|
||||||
|
],
|
||||||
|
radius = mountingHoleSize / 2,
|
||||||
|
), %)
|
||||||
|
|> hole(circle(
|
||||||
|
center = [
|
||||||
|
-mountingHoleSpacing / 2,
|
||||||
|
mountingHoleSpacing / 2
|
||||||
|
],
|
||||||
|
radius = mountingHoleSize / 2,
|
||||||
|
), %)
|
||||||
|
|> hole(circle(
|
||||||
|
center = [
|
||||||
|
mountingHoleSpacing / 2,
|
||||||
|
-mountingHoleSpacing / 2
|
||||||
|
],
|
||||||
|
radius = mountingHoleSize / 2,
|
||||||
|
), %)
|
||||||
|
|> hole(circle(
|
||||||
|
center = [
|
||||||
|
-mountingHoleSpacing / 2,
|
||||||
|
-mountingHoleSpacing / 2
|
||||||
|
],
|
||||||
|
radius = mountingHoleSize / 2,
|
||||||
|
), %)
|
||||||
|
|> extrude(length = 4)
|
||||||
|
|
||||||
|
// Add large openings to the bottom face to allow airflow through the fan
|
||||||
|
airflowPattern = startSketchOn(bottomFaceSketch, face = END)
|
||||||
|
|> startProfileAt([fanSize * 7 / 25, -fanSize * 9 / 25], %)
|
||||||
|
|> angledLine(angle = 140, length = fanSize * 12 / 25, tag = $seg01)
|
||||||
|
|> tangentialArc(radius = fanSize * 1 / 50, angle = 90)
|
||||||
|
|> angledLine(angle = -130, length = fanSize * 8 / 25)
|
||||||
|
|> tangentialArc(radius = fanSize * 1 / 50, angle = 90)
|
||||||
|
|> angledLine(angle = segAng(seg01) + 180, length = fanSize * 2 / 25)
|
||||||
|
|> tangentialArc(radius = fanSize * 8 / 25, angle = 40)
|
||||||
|
|> xLine(length = fanSize * 3 / 25)
|
||||||
|
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
|> close()
|
||||||
|
|> patternCircular2d(
|
||||||
|
instances = 4,
|
||||||
|
center = [0, 0],
|
||||||
|
arcDegrees = 360,
|
||||||
|
rotateDuplicates = true,
|
||||||
|
)
|
||||||
|
|> extrude(length = -4)
|
||||||
|
|
||||||
|
// Create the middle segment of the fan housing body
|
||||||
|
housingMiddleLength = fanSize / 3
|
||||||
|
housingMiddleRadius = fanSize / 3 - 1
|
||||||
|
bodyMiddle = startSketchOn(bottomFaceSketch, face = END)
|
||||||
|
|> startProfileAt([
|
||||||
|
housingMiddleLength / 2,
|
||||||
|
-housingMiddleLength / 2 - housingMiddleRadius
|
||||||
|
], %)
|
||||||
|
|> tangentialArc(radius = housingMiddleRadius, angle = 90)
|
||||||
|
|> yLine(length = housingMiddleLength)
|
||||||
|
|> tangentialArc(radius = housingMiddleRadius, angle = 90)
|
||||||
|
|> xLine(length = -housingMiddleLength)
|
||||||
|
|> tangentialArc(radius = housingMiddleRadius, angle = 90)
|
||||||
|
|> yLine(length = -housingMiddleLength)
|
||||||
|
|> tangentialArc(radius = housingMiddleRadius, angle = 90)
|
||||||
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
|> extrude(length = fanHeight - 4 - 4)
|
||||||
|
|
||||||
|
// Cut a hole in the body to accommodate the fan
|
||||||
|
bodyFanHole = startSketchOn(bodyMiddle, face = END)
|
||||||
|
|> circle(center = [0, 0], radius = fanSize * 23 / 50)
|
||||||
|
|> extrude(length = -(fanHeight - 4 - 4))
|
||||||
|
|
||||||
|
// Top mounting face. Cut a hole in the face to accommodate the fan
|
||||||
|
topFaceSketch = startSketchOn(bodyMiddle, face = END)
|
||||||
|
topHoles = startProfileAt([-fanSize / 2, -fanSize / 2], topFaceSketch)
|
||||||
|
|> angledLine(angle = 0, length = fanSize, tag = $rectangleSegmentA002)
|
||||||
|
|> angledLine(angle = segAng(rectangleSegmentA002) + 90, length = fanSize, tag = $rectangleSegmentB002)
|
||||||
|
|> angledLine(angle = segAng(rectangleSegmentA002), length = -segLen(rectangleSegmentA002), tag = $rectangleSegmentC002)
|
||||||
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $rectangleSegmentD002)
|
||||||
|
|> close()
|
||||||
|
|> hole(circle(center = [0, 0], radius = fanSize * 23 / 50), %)
|
||||||
|
|> hole(circle(
|
||||||
|
center = [
|
||||||
|
mountingHoleSpacing / 2,
|
||||||
|
mountingHoleSpacing / 2
|
||||||
|
],
|
||||||
|
radius = mountingHoleSize / 2,
|
||||||
|
), %)
|
||||||
|
|> hole(circle(
|
||||||
|
center = [
|
||||||
|
-mountingHoleSpacing / 2,
|
||||||
|
mountingHoleSpacing / 2
|
||||||
|
],
|
||||||
|
radius = mountingHoleSize / 2,
|
||||||
|
), %)
|
||||||
|
|> hole(circle(
|
||||||
|
center = [
|
||||||
|
mountingHoleSpacing / 2,
|
||||||
|
-mountingHoleSpacing / 2
|
||||||
|
],
|
||||||
|
radius = mountingHoleSize / 2,
|
||||||
|
), %)
|
||||||
|
|> hole(circle(
|
||||||
|
center = [
|
||||||
|
-mountingHoleSpacing / 2,
|
||||||
|
-mountingHoleSpacing / 2
|
||||||
|
],
|
||||||
|
radius = mountingHoleSize / 2,
|
||||||
|
), %)
|
||||||
|
|> extrude(length = 4)
|
||||||
|
|
||||||
|
// Create a housing for the electric motor to sit
|
||||||
|
motorHousing = startSketchOn(bottomFaceSketch, face = END)
|
||||||
|
|> circle(center = [0, 0], radius = 11.2)
|
||||||
|
|> extrude(length = 16)
|
||||||
|
|
||||||
|
startSketchOn(motorHousing, face = END)
|
||||||
|
|> circle(center = [0, 0], radius = 10)
|
||||||
|
|> extrude(length = -16)
|
||||||
|
|> appearance(color = "#a55e2c")
|
||||||
|
|> fillet(
|
||||||
|
radius = abs(fanSize - mountingHoleSpacing) / 2,
|
||||||
|
tags = [
|
||||||
|
getNextAdjacentEdge(rectangleSegmentA001),
|
||||||
|
getNextAdjacentEdge(rectangleSegmentB001),
|
||||||
|
getNextAdjacentEdge(rectangleSegmentC001),
|
||||||
|
getNextAdjacentEdge(rectangleSegmentD001),
|
||||||
|
getNextAdjacentEdge(rectangleSegmentA002),
|
||||||
|
getNextAdjacentEdge(rectangleSegmentB002),
|
||||||
|
getNextAdjacentEdge(rectangleSegmentC002),
|
||||||
|
getNextAdjacentEdge(rectangleSegmentD002)
|
||||||
|
],
|
||||||
|
)
|
||||||
92
public/kcl-samples/axial-fan/fan.kcl
Normal file
92
public/kcl-samples/axial-fan/fan.kcl
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
// Fan
|
||||||
|
// Spinning axial fan that moves airflow
|
||||||
|
|
||||||
|
// Set units
|
||||||
|
@settings(defaultLengthUnit = mm)
|
||||||
|
|
||||||
|
// Import parameters
|
||||||
|
import * from "parameters.kcl"
|
||||||
|
|
||||||
|
// Model the center of the fan
|
||||||
|
fanCenter = startSketchOn(XZ)
|
||||||
|
|> startProfileAt([-0.0001, fanHeight], %)
|
||||||
|
|> xLine(endAbsolute = -15 + 1.5)
|
||||||
|
|> tangentialArc(radius = 1.5, angle = 90)
|
||||||
|
|> yLine(endAbsolute = 4.5)
|
||||||
|
|> xLine(endAbsolute = -13)
|
||||||
|
|> yLine(endAbsolute = profileStartY(%) - 5)
|
||||||
|
|> tangentialArc(radius = 1, angle = -90)
|
||||||
|
|> xLine(endAbsolute = -1)
|
||||||
|
|> yLine(length = 2)
|
||||||
|
|> xLine(length = -0.15)
|
||||||
|
|> line(endAbsolute = [
|
||||||
|
profileStartX(%) - 1,
|
||||||
|
profileStartY(%) - 1.4
|
||||||
|
])
|
||||||
|
|> xLine(endAbsolute = profileStartX(%))
|
||||||
|
|> yLine(endAbsolute = profileStartY(%))
|
||||||
|
|> close()
|
||||||
|
|> revolve(axis = {
|
||||||
|
direction = [0.0, 1.0],
|
||||||
|
origin = [0.0, 0.0]
|
||||||
|
})
|
||||||
|
|> appearance(color = "#f3e2d8")
|
||||||
|
|
||||||
|
// Create a function for a lofted fan blade cross section that rotates about the center hub of the fan
|
||||||
|
fn fanBlade(offsetHeight, startAngle) {
|
||||||
|
fanBlade = startSketchOn(offsetPlane(XY, offset = offsetHeight))
|
||||||
|
|> startProfileAt([
|
||||||
|
15 * cos(toRadians(startAngle)),
|
||||||
|
15 * sin(toRadians(startAngle))
|
||||||
|
], %)
|
||||||
|
|> arc({
|
||||||
|
angleStart = startAngle,
|
||||||
|
angleEnd = startAngle + 14,
|
||||||
|
radius = 15
|
||||||
|
}, %)
|
||||||
|
|> arcTo({
|
||||||
|
end = [
|
||||||
|
fanSize * 22 / 50 * cos(toRadians(startAngle - 20)),
|
||||||
|
fanSize * 22 / 50 * sin(toRadians(startAngle - 20))
|
||||||
|
],
|
||||||
|
interior = [
|
||||||
|
fanSize * 11 / 50 * cos(toRadians(startAngle + 3)),
|
||||||
|
fanSize * 11 / 50 * sin(toRadians(startAngle + 3))
|
||||||
|
]
|
||||||
|
}, %)
|
||||||
|
|> arcTo({
|
||||||
|
end = [
|
||||||
|
fanSize * 22 / 50 * cos(toRadians(startAngle - 24)),
|
||||||
|
fanSize * 22 / 50 * sin(toRadians(startAngle - 24))
|
||||||
|
],
|
||||||
|
interior = [
|
||||||
|
fanSize * 22 / 50 * cos(toRadians(startAngle - 22)),
|
||||||
|
fanSize * 22 / 50 * sin(toRadians(startAngle - 22))
|
||||||
|
]
|
||||||
|
}, %)
|
||||||
|
|> arcTo({
|
||||||
|
end = [profileStartX(%), profileStartY(%)],
|
||||||
|
interior = [
|
||||||
|
fanSize * 11 / 50 * cos(toRadians(startAngle - 5)),
|
||||||
|
fanSize * 11 / 50 * sin(toRadians(startAngle - 5))
|
||||||
|
]
|
||||||
|
}, %)
|
||||||
|
|> close()
|
||||||
|
return fanBlade
|
||||||
|
}
|
||||||
|
|
||||||
|
// Loft the fan blade cross sections into a single blade, then pattern them about the fan center
|
||||||
|
loft([
|
||||||
|
fanBlade(4.5, 50),
|
||||||
|
fanBlade((fanHeight - 2 - 4) / 2, 30),
|
||||||
|
fanBlade(fanHeight - 2, 0)
|
||||||
|
])
|
||||||
|
|> appearance(color = "#f3e2d8")
|
||||||
|
|> patternCircular3d(
|
||||||
|
%,
|
||||||
|
instances = 9,
|
||||||
|
axis = [0, 0, 1],
|
||||||
|
center = [0, 0, 0],
|
||||||
|
arcDegrees = 360,
|
||||||
|
rotateDuplicates = true,
|
||||||
|
)
|
||||||
15
public/kcl-samples/axial-fan/main.kcl
Normal file
15
public/kcl-samples/axial-fan/main.kcl
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
// PC Fan
|
||||||
|
// A small axial fan, used to push or draw airflow over components to remove excess heat
|
||||||
|
|
||||||
|
// Set units
|
||||||
|
@settings(defaultLengthUnit = mm)
|
||||||
|
|
||||||
|
// Import all parts into assembly file
|
||||||
|
import "fan-housing.kcl" as fanHousing
|
||||||
|
import "motor.kcl" as motor
|
||||||
|
import "fan.kcl" as fan
|
||||||
|
|
||||||
|
// Produce the model for each imported part
|
||||||
|
fanHousing
|
||||||
|
motor
|
||||||
|
fan
|
||||||
22
public/kcl-samples/axial-fan/motor.kcl
Normal file
22
public/kcl-samples/axial-fan/motor.kcl
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// Motor
|
||||||
|
// A small electric motor to power the fan
|
||||||
|
|
||||||
|
// Set Units
|
||||||
|
@settings(defaultLengthUnit = mm)
|
||||||
|
|
||||||
|
// Import Parameters
|
||||||
|
import * from "parameters.kcl"
|
||||||
|
|
||||||
|
// Model the motor body and stem
|
||||||
|
|
||||||
|
|
||||||
|
topFacePlane = offsetPlane(XY, offset = 4)
|
||||||
|
motorBody = startSketchOn(topFacePlane)
|
||||||
|
|> circle(center = [0, 0], radius = 10, tag = $seg04)
|
||||||
|
|> extrude(length = 17)
|
||||||
|
|> appearance(color = "#021b55")
|
||||||
|
|> fillet(radius = 2, tags = [getOppositeEdge(seg04), seg04])
|
||||||
|
startSketchOn(offsetPlane(XY, offset = 21))
|
||||||
|
|> circle(center = [0, 0], radius = 1)
|
||||||
|
|> extrude(length = 3.8)
|
||||||
|
|> appearance(color = "#dbc89e")
|
||||||
10
public/kcl-samples/axial-fan/parameters.kcl
Normal file
10
public/kcl-samples/axial-fan/parameters.kcl
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
// Global parameters for the axial fan
|
||||||
|
|
||||||
|
// Set units
|
||||||
|
@settings(defaultLengthUnit = mm)
|
||||||
|
|
||||||
|
// Define Parameters
|
||||||
|
export fanSize = 120
|
||||||
|
export fanHeight = 25
|
||||||
|
export mountingHoleSpacing = 105
|
||||||
|
export mountingHoleSize = 4.5
|
||||||
35
public/kcl-samples/bottle/main.kcl
Normal file
35
public/kcl-samples/bottle/main.kcl
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
// Bottle
|
||||||
|
// A simple bottle with a hollow, watertight interior
|
||||||
|
|
||||||
|
// Set Units
|
||||||
|
@settings(defaultLengthUnit = mm)
|
||||||
|
|
||||||
|
// Input dimensions to define the bottle
|
||||||
|
bottleWidth = 80
|
||||||
|
bottleLength = 125
|
||||||
|
bottleHeight = 220
|
||||||
|
neckDepth = 18
|
||||||
|
neckDiameter = 45
|
||||||
|
wallThickness = 4
|
||||||
|
|
||||||
|
// Create a rounded body for the bottle
|
||||||
|
bottleBody = startSketchOn(XY)
|
||||||
|
|> startProfileAt([-bottleLength / 2, 0], %)
|
||||||
|
|> yLine(length = bottleWidth / 3)
|
||||||
|
|> arcTo({
|
||||||
|
end = [bottleLength / 2, bottleWidth / 3],
|
||||||
|
interior = [0, bottleWidth / 2]
|
||||||
|
}, %)
|
||||||
|
|> yLine(endAbsolute = 0)
|
||||||
|
|> mirror2d(axis = X)
|
||||||
|
|> close()
|
||||||
|
|> extrude(length = bottleHeight - neckDepth)
|
||||||
|
|
||||||
|
// Create a neck centered at the top of the bottle
|
||||||
|
bottleNeck = startSketchOn(bottleBody, face = END)
|
||||||
|
|> circle(center = [0, 0], radius = neckDiameter / 2)
|
||||||
|
|> extrude(length = neckDepth)
|
||||||
|
|
||||||
|
// Define a shell operation so that the entire body and neck are hollow, with only the top face opened
|
||||||
|
bottleShell = shell(bottleNeck, faces = [END], thickness = wallThickness)
|
||||||
|
|> appearance(%, color = "#0078c2")
|
||||||
@ -6,6 +6,13 @@
|
|||||||
"title": "80/20 Rail",
|
"title": "80/20 Rail",
|
||||||
"description": "An 80/20 extruded aluminum linear rail. T-slot profile adjustable by profile height, rail length, and origin position"
|
"description": "An 80/20 extruded aluminum linear rail. T-slot profile adjustable by profile height, rail length, and origin position"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"file": "main.kcl",
|
||||||
|
"pathFromProjectDirectoryToFirstFile": "axial-fan/main.kcl",
|
||||||
|
"multipleFiles": true,
|
||||||
|
"title": "PC Fan",
|
||||||
|
"description": "A small axial fan, used to push or draw airflow over components to remove excess heat"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"file": "main.kcl",
|
"file": "main.kcl",
|
||||||
"pathFromProjectDirectoryToFirstFile": "ball-bearing/main.kcl",
|
"pathFromProjectDirectoryToFirstFile": "ball-bearing/main.kcl",
|
||||||
@ -20,6 +27,13 @@
|
|||||||
"title": "Bench",
|
"title": "Bench",
|
||||||
"description": "This is a slight remix of Depep1's original 3D Boaty (https://www.printables.com/model/1141963-3d-boaty). This is a tool used for benchmarking 3D FDM printers for bed adhesion, overhangs, bridging and top surface quality. The name of this file is a bit of misnomer, the shape of the object is a typical park bench."
|
"description": "This is a slight remix of Depep1's original 3D Boaty (https://www.printables.com/model/1141963-3d-boaty). This is a tool used for benchmarking 3D FDM printers for bed adhesion, overhangs, bridging and top surface quality. The name of this file is a bit of misnomer, the shape of the object is a typical park bench."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"file": "main.kcl",
|
||||||
|
"pathFromProjectDirectoryToFirstFile": "bottle/main.kcl",
|
||||||
|
"multipleFiles": false,
|
||||||
|
"title": "Bottle",
|
||||||
|
"description": "A simple bottle with a hollow, watertight interior"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"file": "main.kcl",
|
"file": "main.kcl",
|
||||||
"pathFromProjectDirectoryToFirstFile": "bracket/main.kcl",
|
"pathFromProjectDirectoryToFirstFile": "bracket/main.kcl",
|
||||||
|
|||||||
BIN
public/kcl-samples/screenshots/axial-fan.png
Normal file
BIN
public/kcl-samples/screenshots/axial-fan.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 105 KiB |
BIN
public/kcl-samples/screenshots/bottle.png
Normal file
BIN
public/kcl-samples/screenshots/bottle.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 70 KiB |
5506
rust/kcl-lib/tests/kcl_samples/axial-fan/artifact_commands.snap
Normal file
5506
rust/kcl-lib/tests/kcl_samples/axial-fan/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 axial-fan.kcl
|
||||||
|
extension: md
|
||||||
|
snapshot_kind: binary
|
||||||
|
---
|
||||||
@ -0,0 +1,754 @@
|
|||||||
|
```mermaid
|
||||||
|
flowchart LR
|
||||||
|
subgraph path2 [Path]
|
||||||
|
2["Path<br>[323, 370, 5]"]
|
||||||
|
3["Segment<br>[376, 444, 5]"]
|
||||||
|
4["Segment<br>[450, 550, 5]"]
|
||||||
|
5["Segment<br>[556, 673, 5]"]
|
||||||
|
6["Segment<br>[679, 764, 5]"]
|
||||||
|
7["Segment<br>[770, 777, 5]"]
|
||||||
|
8[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path9 [Path]
|
||||||
|
9["Path<br>[788, 823, 5]"]
|
||||||
|
10["Segment<br>[788, 823, 5]"]
|
||||||
|
11[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path12 [Path]
|
||||||
|
12["Path<br>[838, 985, 5]"]
|
||||||
|
13["Segment<br>[838, 985, 5]"]
|
||||||
|
14[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path15 [Path]
|
||||||
|
15["Path<br>[1000, 1148, 5]"]
|
||||||
|
16["Segment<br>[1000, 1148, 5]"]
|
||||||
|
17[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path18 [Path]
|
||||||
|
18["Path<br>[1163, 1311, 5]"]
|
||||||
|
19["Segment<br>[1163, 1311, 5]"]
|
||||||
|
20[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path21 [Path]
|
||||||
|
21["Path<br>[1326, 1475, 5]"]
|
||||||
|
22["Segment<br>[1326, 1475, 5]"]
|
||||||
|
23[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path39 [Path]
|
||||||
|
39["Path<br>[1646, 1702, 5]"]
|
||||||
|
40["Segment<br>[1708, 1773, 5]"]
|
||||||
|
41["Segment<br>[1779, 1831, 5]"]
|
||||||
|
42["Segment<br>[1837, 1888, 5]"]
|
||||||
|
43["Segment<br>[1894, 1946, 5]"]
|
||||||
|
44["Segment<br>[1952, 2018, 5]"]
|
||||||
|
45["Segment<br>[2024, 2076, 5]"]
|
||||||
|
46["Segment<br>[2082, 2114, 5]"]
|
||||||
|
47["Segment<br>[2120, 2185, 5]"]
|
||||||
|
48["Segment<br>[2191, 2198, 5]"]
|
||||||
|
49[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path78 [Path]
|
||||||
|
78["Path<br>[2547, 2660, 5]"]
|
||||||
|
79["Segment<br>[2666, 2721, 5]"]
|
||||||
|
80["Segment<br>[2727, 2762, 5]"]
|
||||||
|
81["Segment<br>[2768, 2823, 5]"]
|
||||||
|
82["Segment<br>[2829, 2865, 5]"]
|
||||||
|
83["Segment<br>[2871, 2926, 5]"]
|
||||||
|
84["Segment<br>[2932, 2968, 5]"]
|
||||||
|
85["Segment<br>[2974, 3029, 5]"]
|
||||||
|
86["Segment<br>[3035, 3091, 5]"]
|
||||||
|
end
|
||||||
|
subgraph path113 [Path]
|
||||||
|
113["Path<br>[3240, 3291, 5]"]
|
||||||
|
114["Segment<br>[3240, 3291, 5]"]
|
||||||
|
115[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path120 [Path]
|
||||||
|
120["Path<br>[3470, 3529, 5]"]
|
||||||
|
121["Segment<br>[3535, 3603, 5]"]
|
||||||
|
122["Segment<br>[3609, 3709, 5]"]
|
||||||
|
123["Segment<br>[3715, 3832, 5]"]
|
||||||
|
124["Segment<br>[3838, 3923, 5]"]
|
||||||
|
125["Segment<br>[3929, 3936, 5]"]
|
||||||
|
126[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path127 [Path]
|
||||||
|
127["Path<br>[3947, 3998, 5]"]
|
||||||
|
128["Segment<br>[3947, 3998, 5]"]
|
||||||
|
129[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path130 [Path]
|
||||||
|
130["Path<br>[4013, 4160, 5]"]
|
||||||
|
131["Segment<br>[4013, 4160, 5]"]
|
||||||
|
132[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path133 [Path]
|
||||||
|
133["Path<br>[4175, 4323, 5]"]
|
||||||
|
134["Segment<br>[4175, 4323, 5]"]
|
||||||
|
135[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path136 [Path]
|
||||||
|
136["Path<br>[4338, 4486, 5]"]
|
||||||
|
137["Segment<br>[4338, 4486, 5]"]
|
||||||
|
138[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path139 [Path]
|
||||||
|
139["Path<br>[4501, 4650, 5]"]
|
||||||
|
140["Segment<br>[4501, 4650, 5]"]
|
||||||
|
141[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path157 [Path]
|
||||||
|
157["Path<br>[4795, 4833, 5]"]
|
||||||
|
158["Segment<br>[4795, 4833, 5]"]
|
||||||
|
159[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path165 [Path]
|
||||||
|
165["Path<br>[4906, 4942, 5]"]
|
||||||
|
166["Segment<br>[4906, 4942, 5]"]
|
||||||
|
167[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path181 [Path]
|
||||||
|
181["Path<br>[277, 327, 6]"]
|
||||||
|
182["Segment<br>[277, 327, 6]"]
|
||||||
|
183[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path191 [Path]
|
||||||
|
191["Path<br>[502, 537, 6]"]
|
||||||
|
192["Segment<br>[502, 537, 6]"]
|
||||||
|
193[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path203 [Path]
|
||||||
|
203["Path<br>[216, 255, 7]"]
|
||||||
|
204["Segment<br>[261, 291, 7]"]
|
||||||
|
205["Segment<br>[297, 336, 7]"]
|
||||||
|
206["Segment<br>[342, 366, 7]"]
|
||||||
|
207["Segment<br>[372, 396, 7]"]
|
||||||
|
208["Segment<br>[402, 443, 7]"]
|
||||||
|
209["Segment<br>[449, 487, 7]"]
|
||||||
|
210["Segment<br>[493, 516, 7]"]
|
||||||
|
211["Segment<br>[522, 539, 7]"]
|
||||||
|
212["Segment<br>[545, 566, 7]"]
|
||||||
|
213["Segment<br>[572, 659, 7]"]
|
||||||
|
214["Segment<br>[665, 702, 7]"]
|
||||||
|
215["Segment<br>[708, 745, 7]"]
|
||||||
|
216["Segment<br>[751, 758, 7]"]
|
||||||
|
217[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path243 [Path]
|
||||||
|
243["Path<br>[1100, 1212, 7]"]
|
||||||
|
244["Segment<br>[1220, 1330, 7]"]
|
||||||
|
245["Segment<br>[1338, 1672, 7]"]
|
||||||
|
246["Segment<br>[1680, 2016, 7]"]
|
||||||
|
247["Segment<br>[2024, 2255, 7]"]
|
||||||
|
248["Segment<br>[2263, 2270, 7]"]
|
||||||
|
249[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path251 [Path]
|
||||||
|
251["Path<br>[1100, 1212, 7]"]
|
||||||
|
252["Segment<br>[1220, 1330, 7]"]
|
||||||
|
253["Segment<br>[1338, 1672, 7]"]
|
||||||
|
254["Segment<br>[1680, 2016, 7]"]
|
||||||
|
255["Segment<br>[2024, 2255, 7]"]
|
||||||
|
256["Segment<br>[2263, 2270, 7]"]
|
||||||
|
257[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path259 [Path]
|
||||||
|
259["Path<br>[1100, 1212, 7]"]
|
||||||
|
264["Segment<br>[2263, 2270, 7]"]
|
||||||
|
265[Solid2d]
|
||||||
|
end
|
||||||
|
1["Plane<br>[300, 317, 5]"]
|
||||||
|
24["Sweep Extrusion<br>[1485, 1504, 5]"]
|
||||||
|
25[Wall]
|
||||||
|
26[Wall]
|
||||||
|
27[Wall]
|
||||||
|
28[Wall]
|
||||||
|
29["Cap Start"]
|
||||||
|
30["Cap End"]
|
||||||
|
31["SweepEdge Opposite"]
|
||||||
|
32["SweepEdge Adjacent"]
|
||||||
|
33["SweepEdge Opposite"]
|
||||||
|
34["SweepEdge Adjacent"]
|
||||||
|
35["SweepEdge Opposite"]
|
||||||
|
36["SweepEdge Adjacent"]
|
||||||
|
37["SweepEdge Opposite"]
|
||||||
|
38["SweepEdge Adjacent"]
|
||||||
|
50["Sweep Extrusion<br>[2338, 2358, 5]"]
|
||||||
|
51[Wall]
|
||||||
|
52[Wall]
|
||||||
|
53[Wall]
|
||||||
|
54[Wall]
|
||||||
|
55[Wall]
|
||||||
|
56[Wall]
|
||||||
|
57[Wall]
|
||||||
|
58[Wall]
|
||||||
|
59["SweepEdge Opposite"]
|
||||||
|
60["SweepEdge Adjacent"]
|
||||||
|
61["SweepEdge Opposite"]
|
||||||
|
62["SweepEdge Adjacent"]
|
||||||
|
63["SweepEdge Opposite"]
|
||||||
|
64["SweepEdge Adjacent"]
|
||||||
|
65["SweepEdge Opposite"]
|
||||||
|
66["SweepEdge Adjacent"]
|
||||||
|
67["SweepEdge Opposite"]
|
||||||
|
68["SweepEdge Adjacent"]
|
||||||
|
69["SweepEdge Opposite"]
|
||||||
|
70["SweepEdge Adjacent"]
|
||||||
|
71["SweepEdge Opposite"]
|
||||||
|
72["SweepEdge Adjacent"]
|
||||||
|
73["SweepEdge Opposite"]
|
||||||
|
74["SweepEdge Adjacent"]
|
||||||
|
75["Sweep Extrusion<br>[2338, 2358, 5]"]
|
||||||
|
76["Sweep Extrusion<br>[2338, 2358, 5]"]
|
||||||
|
77["Sweep Extrusion<br>[2338, 2358, 5]"]
|
||||||
|
87["Sweep Extrusion<br>[3097, 3132, 5]"]
|
||||||
|
88[Wall]
|
||||||
|
89[Wall]
|
||||||
|
90[Wall]
|
||||||
|
91[Wall]
|
||||||
|
92[Wall]
|
||||||
|
93[Wall]
|
||||||
|
94[Wall]
|
||||||
|
95[Wall]
|
||||||
|
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["SweepEdge Opposite"]
|
||||||
|
106["SweepEdge Adjacent"]
|
||||||
|
107["SweepEdge Opposite"]
|
||||||
|
108["SweepEdge Adjacent"]
|
||||||
|
109["SweepEdge Opposite"]
|
||||||
|
110["SweepEdge Adjacent"]
|
||||||
|
111["SweepEdge Opposite"]
|
||||||
|
112["SweepEdge Adjacent"]
|
||||||
|
116["Sweep Extrusion<br>[3297, 3335, 5]"]
|
||||||
|
117[Wall]
|
||||||
|
118["SweepEdge Opposite"]
|
||||||
|
119["SweepEdge Adjacent"]
|
||||||
|
142["Sweep Extrusion<br>[4660, 4679, 5]"]
|
||||||
|
143[Wall]
|
||||||
|
144[Wall]
|
||||||
|
145[Wall]
|
||||||
|
146[Wall]
|
||||||
|
147["Cap Start"]
|
||||||
|
148["Cap End"]
|
||||||
|
149["SweepEdge Opposite"]
|
||||||
|
150["SweepEdge Adjacent"]
|
||||||
|
151["SweepEdge Opposite"]
|
||||||
|
152["SweepEdge Adjacent"]
|
||||||
|
153["SweepEdge Opposite"]
|
||||||
|
154["SweepEdge Adjacent"]
|
||||||
|
155["SweepEdge Opposite"]
|
||||||
|
156["SweepEdge Adjacent"]
|
||||||
|
160["Sweep Extrusion<br>[4839, 4859, 5]"]
|
||||||
|
161[Wall]
|
||||||
|
162["Cap End"]
|
||||||
|
163["SweepEdge Opposite"]
|
||||||
|
164["SweepEdge Adjacent"]
|
||||||
|
168["Sweep Extrusion<br>[4948, 4969, 5]"]
|
||||||
|
169[Wall]
|
||||||
|
170["SweepEdge Opposite"]
|
||||||
|
171["SweepEdge Adjacent"]
|
||||||
|
172["EdgeCut Fillet<br>[5010, 5521, 5]"]
|
||||||
|
173["EdgeCut Fillet<br>[5010, 5521, 5]"]
|
||||||
|
174["EdgeCut Fillet<br>[5010, 5521, 5]"]
|
||||||
|
175["EdgeCut Fillet<br>[5010, 5521, 5]"]
|
||||||
|
176["EdgeCut Fillet<br>[5010, 5521, 5]"]
|
||||||
|
177["EdgeCut Fillet<br>[5010, 5521, 5]"]
|
||||||
|
178["EdgeCut Fillet<br>[5010, 5521, 5]"]
|
||||||
|
179["EdgeCut Fillet<br>[5010, 5521, 5]"]
|
||||||
|
180["Plane<br>[204, 231, 6]"]
|
||||||
|
184["Sweep Extrusion<br>[333, 353, 6]"]
|
||||||
|
185[Wall]
|
||||||
|
186["Cap Start"]
|
||||||
|
187["Cap End"]
|
||||||
|
188["SweepEdge Opposite"]
|
||||||
|
189["SweepEdge Adjacent"]
|
||||||
|
190["Plane<br>[467, 495, 6]"]
|
||||||
|
194["Sweep Extrusion<br>[543, 564, 6]"]
|
||||||
|
195[Wall]
|
||||||
|
196["Cap Start"]
|
||||||
|
197["Cap End"]
|
||||||
|
198["SweepEdge Opposite"]
|
||||||
|
199["SweepEdge Adjacent"]
|
||||||
|
200["EdgeCut Fillet<br>[394, 452, 6]"]
|
||||||
|
201["EdgeCut Fillet<br>[394, 452, 6]"]
|
||||||
|
202["Plane<br>[193, 210, 7]"]
|
||||||
|
218["Sweep Revolve<br>[764, 846, 7]"]
|
||||||
|
219[Wall]
|
||||||
|
220[Wall]
|
||||||
|
221[Wall]
|
||||||
|
222[Wall]
|
||||||
|
223[Wall]
|
||||||
|
224[Wall]
|
||||||
|
225[Wall]
|
||||||
|
226[Wall]
|
||||||
|
227[Wall]
|
||||||
|
228[Wall]
|
||||||
|
229[Wall]
|
||||||
|
230[Wall]
|
||||||
|
231["SweepEdge Adjacent"]
|
||||||
|
232["SweepEdge Adjacent"]
|
||||||
|
233["SweepEdge Adjacent"]
|
||||||
|
234["SweepEdge Adjacent"]
|
||||||
|
235["SweepEdge Adjacent"]
|
||||||
|
236["SweepEdge Adjacent"]
|
||||||
|
237["SweepEdge Adjacent"]
|
||||||
|
238["SweepEdge Adjacent"]
|
||||||
|
239["SweepEdge Adjacent"]
|
||||||
|
240["SweepEdge Adjacent"]
|
||||||
|
241["SweepEdge Adjacent"]
|
||||||
|
242["Plane<br>[1053, 1091, 7]"]
|
||||||
|
250["Plane<br>[1053, 1091, 7]"]
|
||||||
|
258["Plane<br>[1053, 1091, 7]"]
|
||||||
|
260["SweepEdge Opposite"]
|
||||||
|
261["SweepEdge Opposite"]
|
||||||
|
262["SweepEdge Opposite"]
|
||||||
|
263["SweepEdge Opposite"]
|
||||||
|
266["Sweep Loft<br>[2389, 2509, 7]"]
|
||||||
|
267[Wall]
|
||||||
|
268[Wall]
|
||||||
|
269[Wall]
|
||||||
|
270[Wall]
|
||||||
|
271["Cap End"]
|
||||||
|
272["Cap End"]
|
||||||
|
273["SweepEdge Adjacent"]
|
||||||
|
274["SweepEdge Adjacent"]
|
||||||
|
275["SweepEdge Adjacent"]
|
||||||
|
276["SweepEdge Adjacent"]
|
||||||
|
277["StartSketchOnFace<br>[1597, 1640, 5]"]
|
||||||
|
278["StartSketchOnFace<br>[2498, 2541, 5]"]
|
||||||
|
279["StartSketchOnFace<br>[3197, 3234, 5]"]
|
||||||
|
280["StartSketchOnFace<br>[3421, 3458, 5]"]
|
||||||
|
281["StartSketchOnFace<br>[4746, 4789, 5]"]
|
||||||
|
282["StartSketchOnFace<br>[4861, 4900, 5]"]
|
||||||
|
283["StartSketchOnPlane<br>[244, 271, 6]"]
|
||||||
|
284["StartSketchOnPlane<br>[453, 496, 6]"]
|
||||||
|
285["StartSketchOnPlane<br>[1039, 1092, 7]"]
|
||||||
|
286["StartSketchOnPlane<br>[1039, 1092, 7]"]
|
||||||
|
287["StartSketchOnPlane<br>[1039, 1092, 7]"]
|
||||||
|
1 --- 2
|
||||||
|
1 --- 9
|
||||||
|
1 --- 12
|
||||||
|
1 --- 15
|
||||||
|
1 --- 18
|
||||||
|
1 --- 21
|
||||||
|
2 --- 3
|
||||||
|
2 --- 4
|
||||||
|
2 --- 5
|
||||||
|
2 --- 6
|
||||||
|
2 --- 7
|
||||||
|
2 ---- 24
|
||||||
|
2 --- 8
|
||||||
|
3 --- 25
|
||||||
|
3 --- 31
|
||||||
|
3 --- 32
|
||||||
|
4 --- 26
|
||||||
|
4 --- 33
|
||||||
|
4 --- 34
|
||||||
|
5 --- 27
|
||||||
|
5 --- 35
|
||||||
|
5 --- 36
|
||||||
|
6 --- 28
|
||||||
|
6 --- 37
|
||||||
|
6 --- 38
|
||||||
|
9 --- 10
|
||||||
|
9 --- 11
|
||||||
|
12 --- 13
|
||||||
|
12 --- 14
|
||||||
|
15 --- 16
|
||||||
|
15 --- 17
|
||||||
|
18 --- 19
|
||||||
|
18 --- 20
|
||||||
|
21 --- 22
|
||||||
|
21 --- 23
|
||||||
|
24 --- 25
|
||||||
|
24 --- 26
|
||||||
|
24 --- 27
|
||||||
|
24 --- 28
|
||||||
|
24 --- 29
|
||||||
|
24 --- 30
|
||||||
|
24 --- 31
|
||||||
|
24 --- 32
|
||||||
|
24 --- 33
|
||||||
|
24 --- 34
|
||||||
|
24 --- 35
|
||||||
|
24 --- 36
|
||||||
|
24 --- 37
|
||||||
|
24 --- 38
|
||||||
|
30 --- 39
|
||||||
|
30 --- 78
|
||||||
|
30 --- 157
|
||||||
|
39 --- 40
|
||||||
|
39 --- 41
|
||||||
|
39 --- 42
|
||||||
|
39 --- 43
|
||||||
|
39 --- 44
|
||||||
|
39 --- 45
|
||||||
|
39 --- 46
|
||||||
|
39 --- 47
|
||||||
|
39 --- 48
|
||||||
|
39 ---- 50
|
||||||
|
39 --- 49
|
||||||
|
40 --- 51
|
||||||
|
40 --- 59
|
||||||
|
40 --- 60
|
||||||
|
41 --- 52
|
||||||
|
41 --- 61
|
||||||
|
41 --- 62
|
||||||
|
42 --- 53
|
||||||
|
42 --- 63
|
||||||
|
42 --- 64
|
||||||
|
43 --- 54
|
||||||
|
43 --- 65
|
||||||
|
43 --- 66
|
||||||
|
44 --- 55
|
||||||
|
44 --- 67
|
||||||
|
44 --- 68
|
||||||
|
45 --- 56
|
||||||
|
45 --- 69
|
||||||
|
45 --- 70
|
||||||
|
46 --- 57
|
||||||
|
46 --- 71
|
||||||
|
46 --- 72
|
||||||
|
47 --- 58
|
||||||
|
47 --- 73
|
||||||
|
47 --- 74
|
||||||
|
50 --- 51
|
||||||
|
50 --- 52
|
||||||
|
50 --- 53
|
||||||
|
50 --- 54
|
||||||
|
50 --- 55
|
||||||
|
50 --- 56
|
||||||
|
50 --- 57
|
||||||
|
50 --- 58
|
||||||
|
50 --- 59
|
||||||
|
50 --- 60
|
||||||
|
50 --- 61
|
||||||
|
50 --- 62
|
||||||
|
50 --- 63
|
||||||
|
50 --- 64
|
||||||
|
50 --- 65
|
||||||
|
50 --- 66
|
||||||
|
50 --- 67
|
||||||
|
50 --- 68
|
||||||
|
50 --- 69
|
||||||
|
50 --- 70
|
||||||
|
50 --- 71
|
||||||
|
50 --- 72
|
||||||
|
50 --- 73
|
||||||
|
50 --- 74
|
||||||
|
78 --- 79
|
||||||
|
78 --- 80
|
||||||
|
78 --- 81
|
||||||
|
78 --- 82
|
||||||
|
78 --- 83
|
||||||
|
78 --- 84
|
||||||
|
78 --- 85
|
||||||
|
78 --- 86
|
||||||
|
78 ---- 87
|
||||||
|
79 --- 88
|
||||||
|
79 --- 97
|
||||||
|
79 --- 98
|
||||||
|
80 --- 89
|
||||||
|
80 --- 99
|
||||||
|
80 --- 100
|
||||||
|
81 --- 90
|
||||||
|
81 --- 101
|
||||||
|
81 --- 102
|
||||||
|
82 --- 91
|
||||||
|
82 --- 103
|
||||||
|
82 --- 104
|
||||||
|
83 --- 92
|
||||||
|
83 --- 105
|
||||||
|
83 --- 106
|
||||||
|
84 --- 93
|
||||||
|
84 --- 107
|
||||||
|
84 --- 108
|
||||||
|
85 --- 94
|
||||||
|
85 --- 109
|
||||||
|
85 --- 110
|
||||||
|
86 --- 95
|
||||||
|
86 --- 111
|
||||||
|
86 --- 112
|
||||||
|
87 --- 88
|
||||||
|
87 --- 89
|
||||||
|
87 --- 90
|
||||||
|
87 --- 91
|
||||||
|
87 --- 92
|
||||||
|
87 --- 93
|
||||||
|
87 --- 94
|
||||||
|
87 --- 95
|
||||||
|
87 --- 96
|
||||||
|
87 --- 97
|
||||||
|
87 --- 98
|
||||||
|
87 --- 99
|
||||||
|
87 --- 100
|
||||||
|
87 --- 101
|
||||||
|
87 --- 102
|
||||||
|
87 --- 103
|
||||||
|
87 --- 104
|
||||||
|
87 --- 105
|
||||||
|
87 --- 106
|
||||||
|
87 --- 107
|
||||||
|
87 --- 108
|
||||||
|
87 --- 109
|
||||||
|
87 --- 110
|
||||||
|
87 --- 111
|
||||||
|
87 --- 112
|
||||||
|
96 --- 113
|
||||||
|
96 --- 120
|
||||||
|
96 --- 127
|
||||||
|
96 --- 130
|
||||||
|
96 --- 133
|
||||||
|
96 --- 136
|
||||||
|
96 --- 139
|
||||||
|
113 --- 114
|
||||||
|
113 ---- 116
|
||||||
|
113 --- 115
|
||||||
|
114 --- 117
|
||||||
|
114 --- 118
|
||||||
|
114 --- 119
|
||||||
|
116 --- 117
|
||||||
|
116 --- 118
|
||||||
|
116 --- 119
|
||||||
|
120 --- 121
|
||||||
|
120 --- 122
|
||||||
|
120 --- 123
|
||||||
|
120 --- 124
|
||||||
|
120 --- 125
|
||||||
|
120 ---- 142
|
||||||
|
120 --- 126
|
||||||
|
121 --- 143
|
||||||
|
121 --- 149
|
||||||
|
121 --- 150
|
||||||
|
122 --- 144
|
||||||
|
122 --- 151
|
||||||
|
122 --- 152
|
||||||
|
123 --- 145
|
||||||
|
123 --- 153
|
||||||
|
123 --- 154
|
||||||
|
124 --- 146
|
||||||
|
124 --- 155
|
||||||
|
124 --- 156
|
||||||
|
127 --- 128
|
||||||
|
127 --- 129
|
||||||
|
130 --- 131
|
||||||
|
130 --- 132
|
||||||
|
133 --- 134
|
||||||
|
133 --- 135
|
||||||
|
136 --- 137
|
||||||
|
136 --- 138
|
||||||
|
139 --- 140
|
||||||
|
139 --- 141
|
||||||
|
142 --- 143
|
||||||
|
142 --- 144
|
||||||
|
142 --- 145
|
||||||
|
142 --- 146
|
||||||
|
142 --- 147
|
||||||
|
142 --- 148
|
||||||
|
142 --- 149
|
||||||
|
142 --- 150
|
||||||
|
142 --- 151
|
||||||
|
142 --- 152
|
||||||
|
142 --- 153
|
||||||
|
142 --- 154
|
||||||
|
142 --- 155
|
||||||
|
142 --- 156
|
||||||
|
157 --- 158
|
||||||
|
157 ---- 160
|
||||||
|
157 --- 159
|
||||||
|
158 --- 161
|
||||||
|
158 --- 163
|
||||||
|
158 --- 164
|
||||||
|
160 --- 161
|
||||||
|
160 --- 162
|
||||||
|
160 --- 163
|
||||||
|
160 --- 164
|
||||||
|
162 --- 165
|
||||||
|
165 --- 166
|
||||||
|
165 ---- 168
|
||||||
|
165 --- 167
|
||||||
|
166 --- 169
|
||||||
|
166 --- 170
|
||||||
|
166 --- 171
|
||||||
|
168 --- 169
|
||||||
|
168 --- 170
|
||||||
|
168 --- 171
|
||||||
|
32 <--x 172
|
||||||
|
34 <--x 173
|
||||||
|
36 <--x 174
|
||||||
|
38 <--x 175
|
||||||
|
150 <--x 176
|
||||||
|
152 <--x 177
|
||||||
|
154 <--x 178
|
||||||
|
156 <--x 179
|
||||||
|
180 --- 181
|
||||||
|
181 --- 182
|
||||||
|
181 ---- 184
|
||||||
|
181 --- 183
|
||||||
|
182 --- 185
|
||||||
|
182 --- 188
|
||||||
|
182 --- 189
|
||||||
|
182 --- 201
|
||||||
|
184 --- 185
|
||||||
|
184 --- 186
|
||||||
|
184 --- 187
|
||||||
|
184 --- 188
|
||||||
|
184 --- 189
|
||||||
|
190 --- 191
|
||||||
|
191 --- 192
|
||||||
|
191 ---- 194
|
||||||
|
191 --- 193
|
||||||
|
192 --- 195
|
||||||
|
192 --- 198
|
||||||
|
192 --- 199
|
||||||
|
194 --- 195
|
||||||
|
194 --- 196
|
||||||
|
194 --- 197
|
||||||
|
194 --- 198
|
||||||
|
194 --- 199
|
||||||
|
188 <--x 200
|
||||||
|
202 --- 203
|
||||||
|
203 --- 204
|
||||||
|
203 --- 205
|
||||||
|
203 --- 206
|
||||||
|
203 --- 207
|
||||||
|
203 --- 208
|
||||||
|
203 --- 209
|
||||||
|
203 --- 210
|
||||||
|
203 --- 211
|
||||||
|
203 --- 212
|
||||||
|
203 --- 213
|
||||||
|
203 --- 214
|
||||||
|
203 --- 215
|
||||||
|
203 --- 216
|
||||||
|
203 ---- 218
|
||||||
|
203 --- 217
|
||||||
|
204 --- 219
|
||||||
|
204 x--> 231
|
||||||
|
205 --- 220
|
||||||
|
205 --- 231
|
||||||
|
206 --- 221
|
||||||
|
206 --- 232
|
||||||
|
207 --- 222
|
||||||
|
207 --- 233
|
||||||
|
208 --- 223
|
||||||
|
208 --- 234
|
||||||
|
209 --- 224
|
||||||
|
209 --- 235
|
||||||
|
210 --- 225
|
||||||
|
210 --- 236
|
||||||
|
211 --- 226
|
||||||
|
211 --- 237
|
||||||
|
212 --- 227
|
||||||
|
212 --- 238
|
||||||
|
213 --- 228
|
||||||
|
213 --- 239
|
||||||
|
214 --- 229
|
||||||
|
214 --- 240
|
||||||
|
215 --- 230
|
||||||
|
215 --- 241
|
||||||
|
218 --- 219
|
||||||
|
218 --- 220
|
||||||
|
218 --- 221
|
||||||
|
218 --- 222
|
||||||
|
218 --- 223
|
||||||
|
218 --- 224
|
||||||
|
218 --- 225
|
||||||
|
218 --- 226
|
||||||
|
218 --- 227
|
||||||
|
218 --- 228
|
||||||
|
218 --- 229
|
||||||
|
218 --- 230
|
||||||
|
218 <--x 204
|
||||||
|
218 --- 231
|
||||||
|
218 <--x 205
|
||||||
|
218 <--x 206
|
||||||
|
218 --- 232
|
||||||
|
218 <--x 207
|
||||||
|
218 --- 233
|
||||||
|
218 <--x 208
|
||||||
|
218 --- 234
|
||||||
|
218 <--x 209
|
||||||
|
218 --- 235
|
||||||
|
218 <--x 210
|
||||||
|
218 --- 236
|
||||||
|
218 <--x 211
|
||||||
|
218 --- 237
|
||||||
|
218 <--x 212
|
||||||
|
218 --- 238
|
||||||
|
218 <--x 213
|
||||||
|
218 --- 239
|
||||||
|
218 <--x 214
|
||||||
|
218 --- 240
|
||||||
|
218 <--x 215
|
||||||
|
218 --- 241
|
||||||
|
242 --- 243
|
||||||
|
243 --- 244
|
||||||
|
243 --- 245
|
||||||
|
243 --- 246
|
||||||
|
243 --- 247
|
||||||
|
243 --- 248
|
||||||
|
243 ---- 266
|
||||||
|
243 --- 249
|
||||||
|
244 --- 267
|
||||||
|
244 --- 260
|
||||||
|
244 --- 273
|
||||||
|
245 --- 268
|
||||||
|
245 --- 261
|
||||||
|
245 --- 274
|
||||||
|
246 --- 269
|
||||||
|
246 --- 262
|
||||||
|
246 --- 275
|
||||||
|
247 --- 270
|
||||||
|
247 --- 263
|
||||||
|
247 --- 276
|
||||||
|
250 --- 251
|
||||||
|
251 --- 252
|
||||||
|
251 --- 253
|
||||||
|
251 --- 254
|
||||||
|
251 --- 255
|
||||||
|
251 --- 256
|
||||||
|
251 x---> 266
|
||||||
|
251 --- 257
|
||||||
|
258 --- 259
|
||||||
|
259 x--> 260
|
||||||
|
259 x--> 261
|
||||||
|
259 x--> 262
|
||||||
|
259 x--> 263
|
||||||
|
259 --- 264
|
||||||
|
259 x---> 266
|
||||||
|
259 --- 265
|
||||||
|
266 --- 260
|
||||||
|
266 --- 261
|
||||||
|
266 --- 262
|
||||||
|
266 --- 263
|
||||||
|
266 --- 267
|
||||||
|
266 --- 268
|
||||||
|
266 --- 269
|
||||||
|
266 --- 270
|
||||||
|
266 --- 271
|
||||||
|
266 --- 272
|
||||||
|
266 --- 273
|
||||||
|
266 --- 274
|
||||||
|
266 --- 275
|
||||||
|
266 --- 276
|
||||||
|
30 <--x 277
|
||||||
|
30 <--x 278
|
||||||
|
96 <--x 279
|
||||||
|
96 <--x 280
|
||||||
|
30 <--x 281
|
||||||
|
162 <--x 282
|
||||||
|
180 <--x 283
|
||||||
|
190 <--x 284
|
||||||
|
242 <--x 285
|
||||||
|
250 <--x 286
|
||||||
|
258 <--x 287
|
||||||
|
```
|
||||||
220
rust/kcl-lib/tests/kcl_samples/axial-fan/ast.snap
Normal file
220
rust/kcl-lib/tests/kcl_samples/axial-fan/ast.snap
Normal file
@ -0,0 +1,220 @@
|
|||||||
|
---
|
||||||
|
source: kcl-lib/src/simulation_tests.rs
|
||||||
|
description: Result of parsing axial-fan.kcl
|
||||||
|
---
|
||||||
|
{
|
||||||
|
"Ok": {
|
||||||
|
"body": [
|
||||||
|
{
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"path": {
|
||||||
|
"type": "Kcl",
|
||||||
|
"filename": "fan-housing.kcl"
|
||||||
|
},
|
||||||
|
"preComments": [
|
||||||
|
"// Import all parts into assembly file"
|
||||||
|
],
|
||||||
|
"selector": {
|
||||||
|
"type": "None",
|
||||||
|
"alias": {
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": "fanHousing",
|
||||||
|
"start": 0,
|
||||||
|
"type": "Identifier"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"start": 0,
|
||||||
|
"type": "ImportStatement",
|
||||||
|
"type": "ImportStatement"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"path": {
|
||||||
|
"type": "Kcl",
|
||||||
|
"filename": "motor.kcl"
|
||||||
|
},
|
||||||
|
"selector": {
|
||||||
|
"type": "None",
|
||||||
|
"alias": {
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": "motor",
|
||||||
|
"start": 0,
|
||||||
|
"type": "Identifier"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"start": 0,
|
||||||
|
"type": "ImportStatement",
|
||||||
|
"type": "ImportStatement"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"path": {
|
||||||
|
"type": "Kcl",
|
||||||
|
"filename": "fan.kcl"
|
||||||
|
},
|
||||||
|
"selector": {
|
||||||
|
"type": "None",
|
||||||
|
"alias": {
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": "fan",
|
||||||
|
"start": 0,
|
||||||
|
"type": "Identifier"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"start": 0,
|
||||||
|
"type": "ImportStatement",
|
||||||
|
"type": "ImportStatement"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"expression": {
|
||||||
|
"abs_path": false,
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": {
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": "fanHousing",
|
||||||
|
"start": 0,
|
||||||
|
"type": "Identifier"
|
||||||
|
},
|
||||||
|
"path": [],
|
||||||
|
"start": 0,
|
||||||
|
"type": "Name",
|
||||||
|
"type": "Name"
|
||||||
|
},
|
||||||
|
"preComments": [
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"// Produce the model for each imported part"
|
||||||
|
],
|
||||||
|
"start": 0,
|
||||||
|
"type": "ExpressionStatement",
|
||||||
|
"type": "ExpressionStatement"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"expression": {
|
||||||
|
"abs_path": false,
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": {
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": "motor",
|
||||||
|
"start": 0,
|
||||||
|
"type": "Identifier"
|
||||||
|
},
|
||||||
|
"path": [],
|
||||||
|
"start": 0,
|
||||||
|
"type": "Name",
|
||||||
|
"type": "Name"
|
||||||
|
},
|
||||||
|
"start": 0,
|
||||||
|
"type": "ExpressionStatement",
|
||||||
|
"type": "ExpressionStatement"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"expression": {
|
||||||
|
"abs_path": false,
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": {
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": "fan",
|
||||||
|
"start": 0,
|
||||||
|
"type": "Identifier"
|
||||||
|
},
|
||||||
|
"path": [],
|
||||||
|
"start": 0,
|
||||||
|
"type": "Name",
|
||||||
|
"type": "Name"
|
||||||
|
},
|
||||||
|
"start": 0,
|
||||||
|
"type": "ExpressionStatement",
|
||||||
|
"type": "ExpressionStatement"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"innerAttrs": [
|
||||||
|
{
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": {
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": "settings",
|
||||||
|
"start": 0,
|
||||||
|
"type": "Identifier"
|
||||||
|
},
|
||||||
|
"preComments": [
|
||||||
|
"// PC Fan",
|
||||||
|
"// A small axial fan, used to push or draw airflow over components to remove excess heat",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"// Set units"
|
||||||
|
],
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"key": {
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": "defaultLengthUnit",
|
||||||
|
"start": 0,
|
||||||
|
"type": "Identifier"
|
||||||
|
},
|
||||||
|
"start": 0,
|
||||||
|
"type": "ObjectProperty",
|
||||||
|
"value": {
|
||||||
|
"abs_path": false,
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": {
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": "mm",
|
||||||
|
"start": 0,
|
||||||
|
"type": "Identifier"
|
||||||
|
},
|
||||||
|
"path": [],
|
||||||
|
"start": 0,
|
||||||
|
"type": "Name",
|
||||||
|
"type": "Name"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"start": 0,
|
||||||
|
"type": "Annotation"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"nonCodeMeta": {
|
||||||
|
"nonCodeNodes": {},
|
||||||
|
"startNodes": [
|
||||||
|
{
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"start": 0,
|
||||||
|
"type": "NonCodeNode",
|
||||||
|
"value": {
|
||||||
|
"type": "newLine"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"start": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
2098
rust/kcl-lib/tests/kcl_samples/axial-fan/ops.snap
Normal file
2098
rust/kcl-lib/tests/kcl_samples/axial-fan/ops.snap
Normal file
File diff suppressed because it is too large
Load Diff
18
rust/kcl-lib/tests/kcl_samples/axial-fan/program_memory.snap
Normal file
18
rust/kcl-lib/tests/kcl_samples/axial-fan/program_memory.snap
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
source: kcl-lib/src/simulation_tests.rs
|
||||||
|
description: Variables in memory after executing axial-fan.kcl
|
||||||
|
---
|
||||||
|
{
|
||||||
|
"fan": {
|
||||||
|
"type": "Module",
|
||||||
|
"value": 7
|
||||||
|
},
|
||||||
|
"fanHousing": {
|
||||||
|
"type": "Module",
|
||||||
|
"value": 5
|
||||||
|
},
|
||||||
|
"motor": {
|
||||||
|
"type": "Module",
|
||||||
|
"value": 6
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
rust/kcl-lib/tests/kcl_samples/axial-fan/rendered_model.png
Normal file
BIN
rust/kcl-lib/tests/kcl_samples/axial-fan/rendered_model.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 105 KiB |
544
rust/kcl-lib/tests/kcl_samples/bottle/artifact_commands.snap
Normal file
544
rust/kcl-lib/tests/kcl_samples/bottle/artifact_commands.snap
Normal file
@ -0,0 +1,544 @@
|
|||||||
|
---
|
||||||
|
source: kcl-lib/src/simulation_tests.rs
|
||||||
|
description: Artifact commands bottle.kcl
|
||||||
|
---
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "edge_lines_visible",
|
||||||
|
"hidden": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "object_visible",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"hidden": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "object_visible",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"hidden": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "set_scene_units",
|
||||||
|
"unit": "mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "make_plane",
|
||||||
|
"origin": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0
|
||||||
|
},
|
||||||
|
"x_axis": {
|
||||||
|
"x": 1.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0
|
||||||
|
},
|
||||||
|
"y_axis": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 1.0,
|
||||||
|
"z": 0.0
|
||||||
|
},
|
||||||
|
"size": 60.0,
|
||||||
|
"clobber": false,
|
||||||
|
"hide": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "enable_sketch_mode",
|
||||||
|
"entity_id": "[uuid]",
|
||||||
|
"ortho": false,
|
||||||
|
"animated": false,
|
||||||
|
"adjust_camera": false,
|
||||||
|
"planar_normal": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 1.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "start_path"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "move_path_pen",
|
||||||
|
"path": "[uuid]",
|
||||||
|
"to": {
|
||||||
|
"x": -62.5,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "sketch_mode_disable"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "extend_path",
|
||||||
|
"path": "[uuid]",
|
||||||
|
"segment": {
|
||||||
|
"type": "line",
|
||||||
|
"end": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 26.6667,
|
||||||
|
"z": 0.0
|
||||||
|
},
|
||||||
|
"relative": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "extend_path",
|
||||||
|
"path": "[uuid]",
|
||||||
|
"segment": {
|
||||||
|
"type": "arc_to",
|
||||||
|
"interior": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 40.0,
|
||||||
|
"z": 0.0
|
||||||
|
},
|
||||||
|
"end": {
|
||||||
|
"x": 62.5,
|
||||||
|
"y": 26.6667,
|
||||||
|
"z": 0.0
|
||||||
|
},
|
||||||
|
"relative": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "extend_path",
|
||||||
|
"path": "[uuid]",
|
||||||
|
"segment": {
|
||||||
|
"type": "line",
|
||||||
|
"end": {
|
||||||
|
"x": 62.5,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0
|
||||||
|
},
|
||||||
|
"relative": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "entity_mirror",
|
||||||
|
"ids": [
|
||||||
|
"[uuid]"
|
||||||
|
],
|
||||||
|
"axis": {
|
||||||
|
"x": 1.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0
|
||||||
|
},
|
||||||
|
"point": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "entity_get_all_child_uuids",
|
||||||
|
"entity_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "close_path",
|
||||||
|
"path_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "enable_sketch_mode",
|
||||||
|
"entity_id": "[uuid]",
|
||||||
|
"ortho": false,
|
||||||
|
"animated": false,
|
||||||
|
"adjust_camera": false,
|
||||||
|
"planar_normal": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 1.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "extrude",
|
||||||
|
"target": "[uuid]",
|
||||||
|
"distance": 202.0,
|
||||||
|
"faces": null,
|
||||||
|
"opposite": "None"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "sketch_mode_disable"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "object_bring_to_front",
|
||||||
|
"object_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "solid3d_get_extrusion_face_info",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"edge_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "solid3d_get_opposite_edge",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"edge_id": "[uuid]",
|
||||||
|
"face_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "solid3d_get_next_adjacent_edge",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"edge_id": "[uuid]",
|
||||||
|
"face_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "solid3d_get_opposite_edge",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"edge_id": "[uuid]",
|
||||||
|
"face_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "solid3d_get_next_adjacent_edge",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"edge_id": "[uuid]",
|
||||||
|
"face_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "solid3d_get_opposite_edge",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"edge_id": "[uuid]",
|
||||||
|
"face_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "solid3d_get_next_adjacent_edge",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"edge_id": "[uuid]",
|
||||||
|
"face_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "solid3d_get_opposite_edge",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"edge_id": "[uuid]",
|
||||||
|
"face_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "solid3d_get_next_adjacent_edge",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"edge_id": "[uuid]",
|
||||||
|
"face_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "solid3d_get_opposite_edge",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"edge_id": "[uuid]",
|
||||||
|
"face_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "solid3d_get_next_adjacent_edge",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"edge_id": "[uuid]",
|
||||||
|
"face_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "enable_sketch_mode",
|
||||||
|
"entity_id": "[uuid]",
|
||||||
|
"ortho": false,
|
||||||
|
"animated": false,
|
||||||
|
"adjust_camera": false,
|
||||||
|
"planar_normal": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "start_path"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "move_path_pen",
|
||||||
|
"path": "[uuid]",
|
||||||
|
"to": {
|
||||||
|
"x": 22.5,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "sketch_mode_disable"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "extend_path",
|
||||||
|
"path": "[uuid]",
|
||||||
|
"segment": {
|
||||||
|
"type": "arc",
|
||||||
|
"center": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0
|
||||||
|
},
|
||||||
|
"radius": 22.5,
|
||||||
|
"start": {
|
||||||
|
"unit": "degrees",
|
||||||
|
"value": 0.0
|
||||||
|
},
|
||||||
|
"end": {
|
||||||
|
"unit": "degrees",
|
||||||
|
"value": 360.0
|
||||||
|
},
|
||||||
|
"relative": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "close_path",
|
||||||
|
"path_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "enable_sketch_mode",
|
||||||
|
"entity_id": "[uuid]",
|
||||||
|
"ortho": false,
|
||||||
|
"animated": false,
|
||||||
|
"adjust_camera": false,
|
||||||
|
"planar_normal": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "extrude",
|
||||||
|
"target": "[uuid]",
|
||||||
|
"distance": 18.0,
|
||||||
|
"faces": null,
|
||||||
|
"opposite": "None"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "sketch_mode_disable"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "object_bring_to_front",
|
||||||
|
"object_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "solid3d_get_extrusion_face_info",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"edge_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "solid3d_get_opposite_edge",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"edge_id": "[uuid]",
|
||||||
|
"face_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "solid3d_get_next_adjacent_edge",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"edge_id": "[uuid]",
|
||||||
|
"face_id": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "solid3d_shell_face",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"face_ids": [
|
||||||
|
"[uuid]"
|
||||||
|
],
|
||||||
|
"shell_thickness": 4.0,
|
||||||
|
"hollow": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "object_set_material_params_pbr",
|
||||||
|
"object_id": "[uuid]",
|
||||||
|
"color": {
|
||||||
|
"r": 0.0,
|
||||||
|
"g": 0.47058824,
|
||||||
|
"b": 0.7607843,
|
||||||
|
"a": 100.0
|
||||||
|
},
|
||||||
|
"metalness": 0.0,
|
||||||
|
"roughness": 0.0,
|
||||||
|
"ambient_occlusion": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "set_scene_units",
|
||||||
|
"unit": "mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "set_scene_units",
|
||||||
|
"unit": "mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cmdId": "[uuid]",
|
||||||
|
"range": [],
|
||||||
|
"command": {
|
||||||
|
"type": "set_scene_units",
|
||||||
|
"unit": "mm"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
source: kcl-lib/src/simulation_tests.rs
|
||||||
|
description: Artifact graph flowchart bottle.kcl
|
||||||
|
extension: md
|
||||||
|
snapshot_kind: binary
|
||||||
|
---
|
||||||
@ -0,0 +1,44 @@
|
|||||||
|
```mermaid
|
||||||
|
flowchart LR
|
||||||
|
subgraph path2 [Path]
|
||||||
|
2["Path<br>[337, 378, 0]"]
|
||||||
|
3["Segment<br>[384, 415, 0]"]
|
||||||
|
4["Segment<br>[421, 528, 0]"]
|
||||||
|
5["Segment<br>[534, 556, 0]"]
|
||||||
|
6["Segment<br>[586, 593, 0]"]
|
||||||
|
7[Solid2d]
|
||||||
|
end
|
||||||
|
subgraph path10 [Path]
|
||||||
|
10["Path<br>[750, 800, 0]"]
|
||||||
|
11["Segment<br>[750, 800, 0]"]
|
||||||
|
12[Solid2d]
|
||||||
|
end
|
||||||
|
1["Plane<br>[314, 331, 0]"]
|
||||||
|
8["Sweep Extrusion<br>[599, 641, 0]"]
|
||||||
|
9["Plane<br>[750, 800, 0]"]
|
||||||
|
13["Sweep Extrusion<br>[806, 833, 0]"]
|
||||||
|
14[Wall]
|
||||||
|
15["Cap End"]
|
||||||
|
16["SweepEdge Opposite"]
|
||||||
|
17["SweepEdge Adjacent"]
|
||||||
|
18["StartSketchOnFace<br>[707, 744, 0]"]
|
||||||
|
1 --- 2
|
||||||
|
2 --- 3
|
||||||
|
2 --- 4
|
||||||
|
2 --- 5
|
||||||
|
2 --- 6
|
||||||
|
2 ---- 8
|
||||||
|
2 --- 7
|
||||||
|
9 --- 10
|
||||||
|
10 --- 11
|
||||||
|
10 ---- 13
|
||||||
|
10 --- 12
|
||||||
|
11 --- 14
|
||||||
|
11 --- 16
|
||||||
|
11 --- 17
|
||||||
|
13 --- 14
|
||||||
|
13 --- 15
|
||||||
|
13 --- 16
|
||||||
|
13 --- 17
|
||||||
|
9 <--x 18
|
||||||
|
```
|
||||||
1401
rust/kcl-lib/tests/kcl_samples/bottle/ast.snap
Normal file
1401
rust/kcl-lib/tests/kcl_samples/bottle/ast.snap
Normal file
File diff suppressed because it is too large
Load Diff
152
rust/kcl-lib/tests/kcl_samples/bottle/ops.snap
Normal file
152
rust/kcl-lib/tests/kcl_samples/bottle/ops.snap
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
---
|
||||||
|
source: kcl-lib/src/simulation_tests.rs
|
||||||
|
description: Operations executed bottle.kcl
|
||||||
|
---
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"labeledArgs": {
|
||||||
|
"planeOrSolid": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "startSketchOn",
|
||||||
|
"sourceRange": [],
|
||||||
|
"type": "StdLibCall",
|
||||||
|
"unlabeledArg": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"labeledArgs": {
|
||||||
|
"length": {
|
||||||
|
"value": {
|
||||||
|
"type": "Number",
|
||||||
|
"value": 202.0,
|
||||||
|
"ty": {
|
||||||
|
"type": "Default",
|
||||||
|
"len": {
|
||||||
|
"type": "Mm"
|
||||||
|
},
|
||||||
|
"angle": {
|
||||||
|
"type": "Degrees"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "extrude",
|
||||||
|
"sourceRange": [],
|
||||||
|
"type": "StdLibCall",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Sketch",
|
||||||
|
"value": {
|
||||||
|
"artifactId": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"labeledArgs": {
|
||||||
|
"face": {
|
||||||
|
"value": {
|
||||||
|
"type": "String",
|
||||||
|
"value": "end"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "startSketchOn",
|
||||||
|
"sourceRange": [],
|
||||||
|
"type": "StdLibCall",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Solid",
|
||||||
|
"value": {
|
||||||
|
"artifactId": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"labeledArgs": {
|
||||||
|
"length": {
|
||||||
|
"value": {
|
||||||
|
"type": "Number",
|
||||||
|
"value": 18.0,
|
||||||
|
"ty": {
|
||||||
|
"type": "Default",
|
||||||
|
"len": {
|
||||||
|
"type": "Mm"
|
||||||
|
},
|
||||||
|
"angle": {
|
||||||
|
"type": "Degrees"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "extrude",
|
||||||
|
"sourceRange": [],
|
||||||
|
"type": "StdLibCall",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Sketch",
|
||||||
|
"value": {
|
||||||
|
"artifactId": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"labeledArgs": {
|
||||||
|
"faces": {
|
||||||
|
"value": {
|
||||||
|
"type": "Array",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"type": "String",
|
||||||
|
"value": "end"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
"thickness": {
|
||||||
|
"value": {
|
||||||
|
"type": "Number",
|
||||||
|
"value": 4.0,
|
||||||
|
"ty": {
|
||||||
|
"type": "Default",
|
||||||
|
"len": {
|
||||||
|
"type": "Mm"
|
||||||
|
},
|
||||||
|
"angle": {
|
||||||
|
"type": "Degrees"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "shell",
|
||||||
|
"sourceRange": [],
|
||||||
|
"type": "StdLibCall",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Solid",
|
||||||
|
"value": {
|
||||||
|
"artifactId": "[uuid]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
817
rust/kcl-lib/tests/kcl_samples/bottle/program_memory.snap
Normal file
817
rust/kcl-lib/tests/kcl_samples/bottle/program_memory.snap
Normal file
@ -0,0 +1,817 @@
|
|||||||
|
---
|
||||||
|
source: kcl-lib/src/simulation_tests.rs
|
||||||
|
description: Variables in memory after executing bottle.kcl
|
||||||
|
---
|
||||||
|
{
|
||||||
|
"bottleBody": {
|
||||||
|
"type": "Solid",
|
||||||
|
"value": {
|
||||||
|
"type": "Solid",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"artifactId": "[uuid]",
|
||||||
|
"value": [],
|
||||||
|
"sketch": {
|
||||||
|
"type": "Sketch",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"paths": [
|
||||||
|
{
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
"from": [
|
||||||
|
-62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"tag": null,
|
||||||
|
"to": [
|
||||||
|
-62.5,
|
||||||
|
26.6667
|
||||||
|
],
|
||||||
|
"type": "ToPoint",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
"from": [
|
||||||
|
-62.5,
|
||||||
|
26.6667
|
||||||
|
],
|
||||||
|
"p1": [
|
||||||
|
-62.5,
|
||||||
|
26.666666666666668
|
||||||
|
],
|
||||||
|
"p2": [
|
||||||
|
0.0,
|
||||||
|
40.0
|
||||||
|
],
|
||||||
|
"p3": [
|
||||||
|
62.5,
|
||||||
|
26.666666666666668
|
||||||
|
],
|
||||||
|
"tag": null,
|
||||||
|
"to": [
|
||||||
|
62.5,
|
||||||
|
26.6667
|
||||||
|
],
|
||||||
|
"type": "ArcThreePoint",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
"from": [
|
||||||
|
62.5,
|
||||||
|
26.6667
|
||||||
|
],
|
||||||
|
"tag": null,
|
||||||
|
"to": [
|
||||||
|
62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"type": "ToPoint",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
"from": [
|
||||||
|
62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"tag": null,
|
||||||
|
"to": [
|
||||||
|
-62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"type": "ToPoint",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"on": {
|
||||||
|
"type": "plane",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"artifactId": "[uuid]",
|
||||||
|
"value": "XY",
|
||||||
|
"origin": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xAxis": {
|
||||||
|
"x": 1.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"yAxis": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 1.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zAxis": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 1.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"start": {
|
||||||
|
"from": [
|
||||||
|
-62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"to": [
|
||||||
|
-62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
},
|
||||||
|
"tag": null,
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"artifactId": "[uuid]",
|
||||||
|
"originalId": "[uuid]",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"height": 202.0,
|
||||||
|
"startCapId": "[uuid]",
|
||||||
|
"endCapId": "[uuid]",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bottleHeight": {
|
||||||
|
"type": "Number",
|
||||||
|
"value": 220.0,
|
||||||
|
"ty": {
|
||||||
|
"type": "Default",
|
||||||
|
"len": {
|
||||||
|
"type": "Mm"
|
||||||
|
},
|
||||||
|
"angle": {
|
||||||
|
"type": "Degrees"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bottleLength": {
|
||||||
|
"type": "Number",
|
||||||
|
"value": 125.0,
|
||||||
|
"ty": {
|
||||||
|
"type": "Default",
|
||||||
|
"len": {
|
||||||
|
"type": "Mm"
|
||||||
|
},
|
||||||
|
"angle": {
|
||||||
|
"type": "Degrees"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bottleNeck": {
|
||||||
|
"type": "Solid",
|
||||||
|
"value": {
|
||||||
|
"type": "Solid",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"artifactId": "[uuid]",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"faceId": "[uuid]",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": [],
|
||||||
|
"tag": null,
|
||||||
|
"type": "extrudeArc"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sketch": {
|
||||||
|
"type": "Sketch",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"paths": [
|
||||||
|
{
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
"ccw": true,
|
||||||
|
"center": [
|
||||||
|
0.0,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"from": [
|
||||||
|
22.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"radius": 22.5,
|
||||||
|
"tag": null,
|
||||||
|
"to": [
|
||||||
|
22.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"type": "Circle",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"on": {
|
||||||
|
"type": "face",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"artifactId": "[uuid]",
|
||||||
|
"value": "end",
|
||||||
|
"xAxis": {
|
||||||
|
"x": 1.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"yAxis": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 1.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zAxis": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 1.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"solid": {
|
||||||
|
"type": "Solid",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"artifactId": "[uuid]",
|
||||||
|
"value": [],
|
||||||
|
"sketch": {
|
||||||
|
"type": "Sketch",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"paths": [
|
||||||
|
{
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
"from": [
|
||||||
|
-62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"tag": null,
|
||||||
|
"to": [
|
||||||
|
-62.5,
|
||||||
|
26.6667
|
||||||
|
],
|
||||||
|
"type": "ToPoint",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
"from": [
|
||||||
|
-62.5,
|
||||||
|
26.6667
|
||||||
|
],
|
||||||
|
"p1": [
|
||||||
|
-62.5,
|
||||||
|
26.666666666666668
|
||||||
|
],
|
||||||
|
"p2": [
|
||||||
|
0.0,
|
||||||
|
40.0
|
||||||
|
],
|
||||||
|
"p3": [
|
||||||
|
62.5,
|
||||||
|
26.666666666666668
|
||||||
|
],
|
||||||
|
"tag": null,
|
||||||
|
"to": [
|
||||||
|
62.5,
|
||||||
|
26.6667
|
||||||
|
],
|
||||||
|
"type": "ArcThreePoint",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
"from": [
|
||||||
|
62.5,
|
||||||
|
26.6667
|
||||||
|
],
|
||||||
|
"tag": null,
|
||||||
|
"to": [
|
||||||
|
62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"type": "ToPoint",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
"from": [
|
||||||
|
62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"tag": null,
|
||||||
|
"to": [
|
||||||
|
-62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"type": "ToPoint",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"on": {
|
||||||
|
"type": "plane",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"artifactId": "[uuid]",
|
||||||
|
"value": "XY",
|
||||||
|
"origin": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xAxis": {
|
||||||
|
"x": 1.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"yAxis": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 1.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zAxis": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 1.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"start": {
|
||||||
|
"from": [
|
||||||
|
-62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"to": [
|
||||||
|
-62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
},
|
||||||
|
"tag": null,
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"artifactId": "[uuid]",
|
||||||
|
"originalId": "[uuid]",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"height": 202.0,
|
||||||
|
"startCapId": "[uuid]",
|
||||||
|
"endCapId": "[uuid]",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"start": {
|
||||||
|
"from": [
|
||||||
|
22.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"to": [
|
||||||
|
22.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
},
|
||||||
|
"tag": null,
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"artifactId": "[uuid]",
|
||||||
|
"originalId": "[uuid]",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"height": 18.0,
|
||||||
|
"startCapId": null,
|
||||||
|
"endCapId": "[uuid]",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bottleShell": {
|
||||||
|
"type": "Solid",
|
||||||
|
"value": {
|
||||||
|
"type": "Solid",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"artifactId": "[uuid]",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"faceId": "[uuid]",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": [],
|
||||||
|
"tag": null,
|
||||||
|
"type": "extrudeArc"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sketch": {
|
||||||
|
"type": "Sketch",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"paths": [
|
||||||
|
{
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
"ccw": true,
|
||||||
|
"center": [
|
||||||
|
0.0,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"from": [
|
||||||
|
22.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"radius": 22.5,
|
||||||
|
"tag": null,
|
||||||
|
"to": [
|
||||||
|
22.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"type": "Circle",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"on": {
|
||||||
|
"type": "face",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"artifactId": "[uuid]",
|
||||||
|
"value": "end",
|
||||||
|
"xAxis": {
|
||||||
|
"x": 1.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"yAxis": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 1.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zAxis": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 1.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"solid": {
|
||||||
|
"type": "Solid",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"artifactId": "[uuid]",
|
||||||
|
"value": [],
|
||||||
|
"sketch": {
|
||||||
|
"type": "Sketch",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"paths": [
|
||||||
|
{
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
"from": [
|
||||||
|
-62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"tag": null,
|
||||||
|
"to": [
|
||||||
|
-62.5,
|
||||||
|
26.6667
|
||||||
|
],
|
||||||
|
"type": "ToPoint",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
"from": [
|
||||||
|
-62.5,
|
||||||
|
26.6667
|
||||||
|
],
|
||||||
|
"p1": [
|
||||||
|
-62.5,
|
||||||
|
26.666666666666668
|
||||||
|
],
|
||||||
|
"p2": [
|
||||||
|
0.0,
|
||||||
|
40.0
|
||||||
|
],
|
||||||
|
"p3": [
|
||||||
|
62.5,
|
||||||
|
26.666666666666668
|
||||||
|
],
|
||||||
|
"tag": null,
|
||||||
|
"to": [
|
||||||
|
62.5,
|
||||||
|
26.6667
|
||||||
|
],
|
||||||
|
"type": "ArcThreePoint",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
"from": [
|
||||||
|
62.5,
|
||||||
|
26.6667
|
||||||
|
],
|
||||||
|
"tag": null,
|
||||||
|
"to": [
|
||||||
|
62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"type": "ToPoint",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
"from": [
|
||||||
|
62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"tag": null,
|
||||||
|
"to": [
|
||||||
|
-62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"type": "ToPoint",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"on": {
|
||||||
|
"type": "plane",
|
||||||
|
"id": "[uuid]",
|
||||||
|
"artifactId": "[uuid]",
|
||||||
|
"value": "XY",
|
||||||
|
"origin": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xAxis": {
|
||||||
|
"x": 1.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"yAxis": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 1.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zAxis": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 1.0,
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"start": {
|
||||||
|
"from": [
|
||||||
|
-62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"to": [
|
||||||
|
-62.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
},
|
||||||
|
"tag": null,
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"artifactId": "[uuid]",
|
||||||
|
"originalId": "[uuid]",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"height": 202.0,
|
||||||
|
"startCapId": "[uuid]",
|
||||||
|
"endCapId": "[uuid]",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"start": {
|
||||||
|
"from": [
|
||||||
|
22.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"to": [
|
||||||
|
22.5,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
},
|
||||||
|
"tag": null,
|
||||||
|
"__geoMeta": {
|
||||||
|
"id": "[uuid]",
|
||||||
|
"sourceRange": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"artifactId": "[uuid]",
|
||||||
|
"originalId": "[uuid]",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"height": 18.0,
|
||||||
|
"startCapId": null,
|
||||||
|
"endCapId": "[uuid]",
|
||||||
|
"units": {
|
||||||
|
"type": "Mm"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bottleWidth": {
|
||||||
|
"type": "Number",
|
||||||
|
"value": 80.0,
|
||||||
|
"ty": {
|
||||||
|
"type": "Default",
|
||||||
|
"len": {
|
||||||
|
"type": "Mm"
|
||||||
|
},
|
||||||
|
"angle": {
|
||||||
|
"type": "Degrees"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"neckDepth": {
|
||||||
|
"type": "Number",
|
||||||
|
"value": 18.0,
|
||||||
|
"ty": {
|
||||||
|
"type": "Default",
|
||||||
|
"len": {
|
||||||
|
"type": "Mm"
|
||||||
|
},
|
||||||
|
"angle": {
|
||||||
|
"type": "Degrees"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"neckDiameter": {
|
||||||
|
"type": "Number",
|
||||||
|
"value": 45.0,
|
||||||
|
"ty": {
|
||||||
|
"type": "Default",
|
||||||
|
"len": {
|
||||||
|
"type": "Mm"
|
||||||
|
},
|
||||||
|
"angle": {
|
||||||
|
"type": "Degrees"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wallThickness": {
|
||||||
|
"type": "Number",
|
||||||
|
"value": 4.0,
|
||||||
|
"ty": {
|
||||||
|
"type": "Default",
|
||||||
|
"len": {
|
||||||
|
"type": "Mm"
|
||||||
|
},
|
||||||
|
"angle": {
|
||||||
|
"type": "Degrees"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
rust/kcl-lib/tests/kcl_samples/bottle/rendered_model.png
Normal file
BIN
rust/kcl-lib/tests/kcl_samples/bottle/rendered_model.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 70 KiB |
Reference in New Issue
Block a user