New single-file samples for the website (#6670)

* New single-file samples for the website

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

* Delete public/kcl-samples/piston directory

* More

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* move another test

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
Co-authored-by: Jess Frazelle <github@jessfraz.com>
This commit is contained in:
Nicholas Boone
2025-05-13 18:05:57 -04:00
committed by GitHub
parent 4640f1a3ad
commit 7944a4ce41
92 changed files with 128165 additions and 159 deletions

View File

@ -31,12 +31,16 @@ When you submit a PR to add or modify KCL samples, images will be generated and
[![ball-bearing](screenshots/ball-bearing.png)](ball-bearing/main.kcl)
#### [bench](bench/main.kcl) ([screenshot](screenshots/bench.png))
[![bench](screenshots/bench.png)](bench/main.kcl)
#### [bone-plate](bone-plate/main.kcl) ([screenshot](screenshots/bone-plate.png))
[![bone-plate](screenshots/bone-plate.png)](bone-plate/main.kcl)
#### [bottle](bottle/main.kcl) ([screenshot](screenshots/bottle.png))
[![bottle](screenshots/bottle.png)](bottle/main.kcl)
#### [bracket](bracket/main.kcl) ([screenshot](screenshots/bracket.png))
[![bracket](screenshots/bracket.png)](bracket/main.kcl)
#### [car-wheel-assembly](car-wheel-assembly/main.kcl) ([screenshot](screenshots/car-wheel-assembly.png))
[![car-wheel-assembly](screenshots/car-wheel-assembly.png)](car-wheel-assembly/main.kcl)
#### [cold-plate](cold-plate/main.kcl) ([screenshot](screenshots/cold-plate.png))
[![cold-plate](screenshots/cold-plate.png)](cold-plate/main.kcl)
#### [color-cube](color-cube/main.kcl) ([screenshot](screenshots/color-cube.png))
[![color-cube](screenshots/color-cube.png)](color-cube/main.kcl)
#### [counterdrilled-weldment](counterdrilled-weldment/main.kcl) ([screenshot](screenshots/counterdrilled-weldment.png))
@ -71,10 +75,14 @@ When you submit a PR to add or modify KCL samples, images will be generated and
[![gridfinity-bins](screenshots/gridfinity-bins.png)](gridfinity-bins/main.kcl)
#### [gridfinity-bins-stacking-lip](gridfinity-bins-stacking-lip/main.kcl) ([screenshot](screenshots/gridfinity-bins-stacking-lip.png))
[![gridfinity-bins-stacking-lip](screenshots/gridfinity-bins-stacking-lip.png)](gridfinity-bins-stacking-lip/main.kcl)
#### [hammer](hammer/main.kcl) ([screenshot](screenshots/hammer.png))
[![hammer](screenshots/hammer.png)](hammer/main.kcl)
#### [helical-gear](helical-gear/main.kcl) ([screenshot](screenshots/helical-gear.png))
[![helical-gear](screenshots/helical-gear.png)](helical-gear/main.kcl)
#### [helical-planetary-gearset](helical-planetary-gearset/main.kcl) ([screenshot](screenshots/helical-planetary-gearset.png))
[![helical-planetary-gearset](screenshots/helical-planetary-gearset.png)](helical-planetary-gearset/main.kcl)
#### [helium-tank](helium-tank/main.kcl) ([screenshot](screenshots/helium-tank.png))
[![helium-tank](screenshots/helium-tank.png)](helium-tank/main.kcl)
#### [herringbone-gear](herringbone-gear/main.kcl) ([screenshot](screenshots/herringbone-gear.png))
[![herringbone-gear](screenshots/herringbone-gear.png)](herringbone-gear/main.kcl)
#### [herringbone-planetary-gearset](herringbone-planetary-gearset/main.kcl) ([screenshot](screenshots/herringbone-planetary-gearset.png))
@ -105,6 +113,8 @@ When you submit a PR to add or modify KCL samples, images will be generated and
[![pipe-with-bend](screenshots/pipe-with-bend.png)](pipe-with-bend/main.kcl)
#### [poopy-shoe](poopy-shoe/main.kcl) ([screenshot](screenshots/poopy-shoe.png))
[![poopy-shoe](screenshots/poopy-shoe.png)](poopy-shoe/main.kcl)
#### [prosthetic-hip](prosthetic-hip/main.kcl) ([screenshot](screenshots/prosthetic-hip.png))
[![prosthetic-hip](screenshots/prosthetic-hip.png)](prosthetic-hip/main.kcl)
#### [router-template-cross-bar](router-template-cross-bar/main.kcl) ([screenshot](screenshots/router-template-cross-bar.png))
[![router-template-cross-bar](screenshots/router-template-cross-bar.png)](router-template-cross-bar/main.kcl)
#### [router-template-slate](router-template-slate/main.kcl) ([screenshot](screenshots/router-template-slate.png))
@ -117,10 +127,16 @@ When you submit a PR to add or modify KCL samples, images will be generated and
[![spur-gear](screenshots/spur-gear.png)](spur-gear/main.kcl)
#### [spur-reduction-gearset](spur-reduction-gearset/main.kcl) ([screenshot](screenshots/spur-reduction-gearset.png))
[![spur-reduction-gearset](screenshots/spur-reduction-gearset.png)](spur-reduction-gearset/main.kcl)
#### [surgical-drill-guide](surgical-drill-guide/main.kcl) ([screenshot](screenshots/surgical-drill-guide.png))
[![surgical-drill-guide](screenshots/surgical-drill-guide.png)](surgical-drill-guide/main.kcl)
#### [tooling-nest-block](tooling-nest-block/main.kcl) ([screenshot](screenshots/tooling-nest-block.png))
[![tooling-nest-block](screenshots/tooling-nest-block.png)](tooling-nest-block/main.kcl)
#### [utility-sink](utility-sink/main.kcl) ([screenshot](screenshots/utility-sink.png))
[![utility-sink](screenshots/utility-sink.png)](utility-sink/main.kcl)
#### [walkie-talkie](walkie-talkie/main.kcl) ([screenshot](screenshots/walkie-talkie.png))
[![walkie-talkie](screenshots/walkie-talkie.png)](walkie-talkie/main.kcl)
#### [washer](washer/main.kcl) ([screenshot](screenshots/washer.png))
[![washer](screenshots/washer.png)](washer/main.kcl)
#### [wing-spar](wing-spar/main.kcl) ([screenshot](screenshots/wing-spar.png))
[![wing-spar](screenshots/wing-spar.png)](wing-spar/main.kcl)

View File

@ -0,0 +1,55 @@
// Bone Plate
// A bone plate is a medical device used in orthopedics to stabilize and fix bone fractures during the healing process. They are typically made of stainless steel or titanium and are secured to the bone with screws. Bone plates come in various types, including locking, compression, and bridge plates, each with specific applications
// Set units
@settings(defaultLengthUnit = mm)
// Define parameters
boltSize = 4.5
// Revolve the profile of a compression plate designed to fit a bone
plateRevolve = startSketchOn(YZ)
|> startProfile(at = [22.9, 0])
|> arc(angleStart = 180, angleEnd = 176, radius = 120)
|> arc(angleStart = -60, angleEnd = 54, radius = 5)
|> arc(angleStart = 180, angleEnd = 176, radius = 120)
|> arc(angleStart = -60, angleEnd = 54, radius = 5)
|> arc(angleStart = 180, angleEnd = 176, radius = 120)
|> arc(angleStart = -60, angleEnd = 54, radius = 5)
|> arc(angleStart = 180, angleEnd = 174, radius = 170)
|> tangentialArc(endAbsolute = [41.8, 91.88])
|> tangentialArc(endAbsolute = [56.92, 117.08], tag = $seg01)
|> angledLine(angle = tangentToEnd(seg01), length = 23.16)
|> tangentialArc(endAbsolute = [60.93, 140.44], tag = $seg02)
|> angledLine(angle = tangentToEnd(seg02), length = 25.65)
|> tangentialArc(endAbsolute = [48.35, 85.53])
|> tangentialArc(endAbsolute = [35.2, 67.73], tag = $seg03)
|> angledLine(angle = tangentToEnd(seg03), length = 49.06)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> revolve(axis = Y, angle = 65, symmetric = true)
// Create a hole sketch with the size and location of each bolt hole
holeSketch = startSketchOn(XZ)
hole01 = circle(holeSketch, center = [0, 12.25], radius = boltSize / 2)
|> extrude(length = -100)
hole02 = circle(holeSketch, center = [0, 29.5], radius = boltSize / 2)
|> extrude(length = -100)
hole03 = circle(holeSketch, center = [0, 46.25], radius = boltSize / 2)
|> extrude(length = -100)
hole04 = circle(holeSketch, center = [0, 77], radius = boltSize / 2)
|> extrude(length = -100)
hole05 = circle(holeSketch, center = [0, 100], radius = boltSize / 2)
|> extrude(length = -100)
hole06 = circle(holeSketch, center = [0, 130], radius = boltSize / 2)
|> extrude(length = -100)
hole07 = circle(holeSketch, center = [-20, 130], radius = boltSize / 2)
|> extrude(length = -100)
hole08 = circle(holeSketch, center = [20, 130], radius = boltSize / 2)
|> extrude(length = -100)
// Cut each guiding clearance hole from the bone plate
solid001 = subtract([plateRevolve], tools = union([hole01, hole02]))
solid002 = subtract([solid001], tools = union([hole03, hole04]))
solid003 = subtract([solid002], tools = union([hole05, hole06]))
solid004 = subtract([solid003], tools = union([hole07, hole08]))

View File

@ -0,0 +1,67 @@
// Cold Plate
// A cold plate is a thermal management device used to remove heat from a device or component, typically by transferring heat to a liquid coolant that flows through the plate. It's a conductive cooling solution, commonly made of materials like aluminum or copper, with internal channels or tubes for the coolant
// Set units
@settings(defaultLengthUnit = in)
// Define parameters
tubeDiameter = 5 / 8
wallThickness = 0.080
bendRadius = 1
// Create the cold plate with indentions to secure each pass of the brazed copper tube
coldPlate = startSketchOn(YZ)
|> startProfile(at = [0, tubeDiameter * 2])
|> xLine(length = bendRadius - (tubeDiameter / 2))
|> yLine(length = -tubeDiameter)
|> tangentialArc(angle = 180, radius = tubeDiameter / 2)
|> yLine(length = tubeDiameter)
|> xLine(length = bendRadius * 2 - tubeDiameter, tag = $seg07)
|> yLine(length = -tubeDiameter, tag = $seg09)
|> tangentialArc(angle = 180, radius = tubeDiameter / 2)
|> yLine(length = tubeDiameter, tag = $seg08)
|> xLine(length = bendRadius - (tubeDiameter / 2))
|> angledLine(angle = -77, length = tubeDiameter / 3)
|> tangentialArc(angle = 77, radius = tubeDiameter, tag = $seg01)
|> angledLine(angle = tangentToEnd(seg01), length = 1)
|> yLine(endAbsolute = 0)
|> xLine(endAbsolute = 0)
|> mirror2d(axis = Y)
|> close()
|> extrude(length = 10, symmetric = true)
// Sketch the path for the copper tube to follow
copperTubePath = startSketchOn(offsetPlane(XY, offset = tubeDiameter))
|> startProfile(at = [-7.35, -bendRadius * 3])
|> xLine(length = 14.13, tag = $seg05)
|> tangentialArc(angle = 180, radius = bendRadius, tag = $seg02)
|> angledLine(angle = tangentToEnd(seg02), length = 13.02, tag = $seg06)
|> tangentialArc(angle = -180, radius = bendRadius, tag = $seg03)
|> angledLine(angle = tangentToEnd(seg03), length = segLen(seg06))
|> tangentialArc(angle = 180, radius = bendRadius, tag = $seg04)
|> angledLine(angle = tangentToEnd(seg04), length = segLen(seg05))
// Create the profile for the inner and outer diameter of the hollow copper tube
tubeWall = startSketchOn(offsetPlane(YZ, offset = -7.35))
|> circle(center = [-bendRadius * 3, tubeDiameter], radius = tubeDiameter / 2)
|> subtract2d(%, tool = circle(center = [-bendRadius * 3, tubeDiameter], radius = tubeDiameter / 2 - wallThickness))
|> sweep(path = copperTubePath)
|> appearance(color = "#b81b0a")
// Model a brazed cap to cover each tube. Constrain the caps using the walls of the plate
brazedCap = startSketchOn(YZ)
|> startProfile(at = segEnd(seg07))
|> arc(interiorAbsolute = [bendRadius * 3, tubeDiameter * 1.85], endAbsolute = segEnd(seg08))
|> yLine(endAbsolute = segStartY(seg08))
|> arc(
interiorAbsolute = [
bendRadius * 3,
segEndY(seg09) + tubeDiameter / 2
],
endAbsolute = segEnd(seg09),
)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> extrude(length = 10, symmetric = true)
|> patternLinear3d(instances = 4, distance = bendRadius * 2, axis = [0, -1, 0])
|> appearance(color = "#6b261e")

View File

@ -0,0 +1,118 @@
// Claw Hammer
// Often used in construction, a claw hammer is a levered metal hand tool that is used to strike and extract nails
// Set units
@settings(defaultLengthUnit = in)
// Sketch the side profile of the hammer head
headSideProfile = startSketchOn(XZ)
|> startProfile(at = [0.33, 11.26])
|> yLine(length = 0.1)
|> tangentialArc(endAbsolute = [0.95, 11.92])
|> tangentialArc(endAbsolute = [2.72, 11.26], tag = $seg01)
|> angledLine(angle = tangentToEnd(seg01) + 90, length = .2)
|> angledLine(angle = tangentToEnd(seg01) - 10, length = -0.5)
|> tangentialArc(endAbsolute = [-0.91, 12.78], tag = $seg03)
|> tangentialArc(endAbsolute = [-1.67, 12.85])
|> xLine(length = -.25)
|> tangentialArc(angle = 90, radius = .05)
|> yLine(length = -1.125, tag = $seg02)
|> tangentialArc(angle = 90, radius = .05)
|> xLine(length = .25, tag = $seg04)
|> angledLine(angle = 23, length = 0.1)
|> tangentialArc(endAbsolute = [-0.33, profileStartY(%)])
|> xLine(endAbsolute = profileStartX(%))
|> close()
|> extrude(length = 3, symmetric = true)
// Sketch the top profile of the hammer head
headTopProfile = startSketchOn(offsetPlane(XY, offset = 13))
leftSideCut = startProfile(headTopProfile, at = [-4, -1.6])
|> line(endAbsolute = [segEndX(seg02), -segLen(seg02) / 2])
|> arc(
%,
angleStart = 180,
angleEnd = 270,
radius = .05,
)
|> xLine(endAbsolute = segEndX(seg04))
|> arc(interiorAbsolute = [segEndX(seg03) - .1, lastSegY(%) + .03], endAbsolute = [segEndX(seg03), lastSegY(%)])
|> tangentialArc(endAbsolute = [3.39, -1.15])
|> yLine(endAbsolute = profileStartY(%))
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> extrude(length = -14)
rearCut = startProfile(headTopProfile, at = [3.39, -0.56])
|> angledLine(angle = 177, length = 0.1)
|> tangentialArc(endAbsolute = [1.86, -0.37])
|> tangentialArc(endAbsolute = [lastSegX(%), -lastSegY(%)])
|> tangentialArc(endAbsolute = [profileStartX(%), -profileStartY(%)])
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> extrude(length = -14)
rightSideCut = startProfile(headTopProfile, at = [-4, 1.6])
|> line(endAbsolute = [segEndX(seg02), segLen(seg02) / 2])
|> arc(
%,
angleStart = -180,
angleEnd = -270,
radius = .05,
)
|> xLine(endAbsolute = segEndX(seg04))
|> arc(interiorAbsolute = [segEndX(seg03) - .1, lastSegY(%) - .03], endAbsolute = [segEndX(seg03), lastSegY(%)])
|> tangentialArc(endAbsolute = [3.39, 1.15])
|> yLine(endAbsolute = profileStartY(%))
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> extrude(length = -14)
// Subtract the top profiles from the side profile to create a CSG hammer shape
firstProfiles = subtract(
[headSideProfile],
tools = [
union([
leftSideCut,
union([rearCut, rightSideCut])
])
],
)
// Extrude a polygon through the center of the hammer head to create the mounting hole for the handle
handleHole = startSketchOn(XY)
|> polygon(
%,
radius = .28,
numSides = 10,
center = [0, 0],
)
|> extrude(length = 14)
// Add an additional fillet feature to support the handle, and union it to the rest of the head
baseSupport = startSketchOn(offsetPlane(XY, offset = 11.5))
|> circle(center = [0, 0], radius = .45, tag = $seg05)
|> extrude(length = 1, tagStart = $capStart001)
|> fillet(
radius = .05,
tags = [
getCommonEdge(faces = [seg05, capStart001])
],
)
// Union all pieces into a single solid, then cut the handle hole
hammerHead = union([firstProfiles, baseSupport])
|> subtract(tools = [handleHole])
// Draw a profile for the handle, then revolve around the center axis
handleSketch = startSketchOn(XZ)
|> startProfile(at = [0.01, 0])
|> xLine(length = 1.125 / 2)
|> tangentialArc(angle = 90, radius = 0.05)
|> tangentialArc(endAbsolute = [0.38, 12.8 / 1.612])
|> tangentialArc(endAbsolute = [0.28, 12.8])
|> xLine(endAbsolute = profileStartX(%))
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
handle = revolve(handleSketch, angle = 360, axis = Y)
|> appearance(color = "#f14f04")

View File

@ -0,0 +1,123 @@
// Helium Tank
// A helium tank is a portable pressure vessel used to store and dispense helium gas for a variety of commercial and entertainment purposes
// Set units
@settings(defaultLengthUnit = in)
// Define parameters
tankHeight = 2.5ft
tankDiameter = 9
wallThickness = 0.125
portDiameter = 1.25
bracketThickness = 0.090
boltSize = 1 / 4
// Sketch the perimeter of the gas tank- inside and out, then revolve around the vertical axis.
tankSketch = startSketchOn(YZ)
|> startProfile(at = [portDiameter / 2, tankHeight])
|> yLine(length = -0.6)
|> xLine(length = 0.1)
|> tangentialArc(angle = -110, radius = 0.1)
|> tangentialArc(angle = 40, radius = 0.6)
|> tangentialArc(angle = -110, radius = 0.1)
|> tangentialArc(angle = 180, radius = 0.1)
|> tangentialArc(angle = -90, radius = tankDiameter / 2 - lastSegX(%), tag = $seg01)
|> angledLine(angle = tangentToEnd(seg01), endAbsoluteY = 1.5, tag = $seg09)
|> tangentialArc(angle = -90, radius = 2, tag = $seg02)
|> angledLine(angle = tangentToEnd(seg02), endAbsoluteX = 0.001, tag = $seg08)
|> yLine(length = wallThickness)
|> xLine(length = segLen(seg08))
|> tangentialArc(angle = 90, radius = 2 - wallThickness)
|> yLine(length = segLen(seg09))
|> tangentialArc(angle = 90, radius = tankDiameter / 2 - wallThickness - 1.3)
|> xLine(endAbsolute = profileStartX(%) - .1)
|> yLine(endAbsolute = profileStartY(%))
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
// Only revolving to 220deg so that the interior of the tank is visible. It should ultimately be closed at 360deg
tankRevolve = revolve(tankSketch, angle = 220, axis = Y)
// Model the brass valve on top of the tank port
valveBody = startSketchOn(offsetPlane(XY, offset = tankHeight - 0.5))
|> circle(center = [0, 0], radius = portDiameter / 1.9, tag = $seg03)
|> extrude(length = 1.5, tagEnd = $capEnd001)
|> fillet(
radius = 0.1,
tags = [
getCommonEdge(faces = [seg03, capEnd001])
],
)
// Model the outlet port of the valve, then union it all together
valvePort = startSketchOn(YZ)
|> circle(center = [0, tankHeight + 0.3], radius = portDiameter / 3)
|> subtract2d(tool = circle(center = [0, tankHeight + 0.3], radius = portDiameter / 3.25))
|> extrude(length = 1.3)
valve = union([valveBody, valvePort])
|> appearance(color = "#9a4618")
// Sketch the offset profile of the mounting bracket
bracketOffsetProfile = startSketchOn(offsetPlane(XY, offset = tankHeight * 0.67))
|> startProfile(at = [0, tankDiameter / 2 + wallThickness])
|> xLine(length = -0.1)
|> tangentialArc(angle = 35, radius = tankDiameter / 2 + wallThickness)
|> tangentialArc(angle = -135, radius = 0.25 - wallThickness, tag = $seg06)
|> angledLine(angle = tangentToEnd(seg06), length = tankDiameter / 7)
|> tangentialArc(angle = -80, radius = 0.25 - wallThickness, tag = $seg07)
|> angledLine(angle = tangentToEnd(seg07), endAbsoluteX = 0)
|> mirror2d(axis = Y)
|> close()
// Sketch the outer perimeter of the offset bracket, then subtract the inner offset to create a constant thickness sheet metal hoop
bracketProfile = startSketchOn(offsetPlane(XY, offset = tankHeight * 0.67))
|> startProfile(at = [0, tankDiameter / 2])
|> xLine(length = -0.1)
|> tangentialArc(angle = 35, radius = tankDiameter / 2)
|> tangentialArc(angle = -135, radius = 0.25, tag = $seg04)
|> angledLine(angle = tangentToEnd(seg04), length = tankDiameter / 7)
|> tangentialArc(angle = -80, radius = 0.25, tag = $seg05)
|> angledLine(angle = tangentToEnd(seg05), endAbsoluteX = 0)
|> mirror2d(axis = Y)
|> close()
|> subtract2d(tool = bracketOffsetProfile)
|> extrude(length = 1, symmetric = true)
// Cut holes in the bracket for a mounting strap
strapSleeve = startSketchOn(offsetPlane(XY, offset = tankHeight * 0.67))
|> circle(center = [0, .125 / 2], radius = 4.75)
|> subtract2d(tool = circle(center = [0, .125 / 2], radius = 4.65))
|> extrude(length = .8, symmetric = true)
bracketSleeve = subtract([bracketProfile], tools = [strapSleeve])
// Create holes in the bracket for anchor mounts to secure the bracket to a wall
mountingHoles = startSketchOn(offsetPlane(XZ, offset = -tankDiameter / 1.9))
|> circle(center = [tankDiameter / 4.5, tankHeight * 0.67], radius = boltSize / 2)
|> extrude(length = -5)
bracket = subtract(
[bracketSleeve],
tools = union(patternLinear3d(
mountingHoles,
instances = 2,
distance = tankDiameter / 2.25,
axis = [-1, 0, 0],
)),
)
|> appearance(color = "#cd0404")
// Model a circular strap to secure the tank to the bracket
mountingStrap = startSketchOn(offsetPlane(XY, offset = tankHeight * 0.67))
|> circle(center = [0, .155 / 2], radius = tankDiameter / 1.9)
|> subtract2d(tool = circle(center = [0, .155 / 2], radius = tankDiameter / 1.9 - 0.1))
|> extrude(length = .75, symmetric = true)
|> appearance(color = "#210d03")
// Create a second instance of the bracket and strap at a lower point on the tank
[bracket, mountingStrap]
|> patternLinear3d(
%,
instances = 2,
distance = tankHeight * 0.33,
axis = [0, 0, -1],
)

View File

@ -44,6 +44,16 @@
"main.kcl"
]
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "bone-plate/main.kcl",
"multipleFiles": false,
"title": "Bone Plate",
"description": "A bone plate is a medical device used in orthopedics to stabilize and fix bone fractures during the healing process. They are typically made of stainless steel or titanium and are secured to the bone with screws. Bone plates come in various types, including locking, compression, and bridge plates, each with specific applications",
"files": [
"main.kcl"
]
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "bottle/main.kcl",
@ -80,6 +90,16 @@
"parameters.kcl"
]
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "cold-plate/main.kcl",
"multipleFiles": false,
"title": "Cold Plate",
"description": "A cold plate is a thermal management device used to remove heat from a device or component, typically by transferring heat to a liquid coolant that flows through the plate. It's a conductive cooling solution, commonly made of materials like aluminum or copper, with internal channels or tubes for the coolant",
"files": [
"main.kcl"
]
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "color-cube/main.kcl",
@ -257,6 +277,16 @@
"main.kcl"
]
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "hammer/main.kcl",
"multipleFiles": false,
"title": "Claw Hammer",
"description": "Often used in construction, a claw hammer is a levered metal hand tool that is used to strike and extract nails",
"files": [
"main.kcl"
]
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "helical-gear/main.kcl",
@ -277,6 +307,16 @@
"main.kcl"
]
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "helium-tank/main.kcl",
"multipleFiles": false,
"title": "Helium Tank",
"description": "A helium tank is a portable pressure vessel used to store and dispense helium gas for a variety of commercial and entertainment purposes",
"files": [
"main.kcl"
]
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "herringbone-gear/main.kcl",
@ -442,6 +482,16 @@
"main.kcl"
]
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "prosthetic-hip/main.kcl",
"multipleFiles": false,
"title": "Prosthetic Hip",
"description": "A prosthetic hip is a surgically implanted ball-and-socket intended to replace a damaged or worn hip joint",
"files": [
"main.kcl"
]
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "router-template-cross-bar/main.kcl",
@ -502,6 +552,26 @@
"main.kcl"
]
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "surgical-drill-guide/main.kcl",
"multipleFiles": false,
"title": "Surgical Drill Guide",
"description": "A surgical drill guide is a tool used in medical procedures to assist in drilling holes to a desired depth, ensuring proper orientation and minimizing intraosseal pressure",
"files": [
"main.kcl"
]
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "tooling-nest-block/main.kcl",
"multipleFiles": false,
"title": "Tooling Nest Block",
"description": "A tooling nest block is a block-shaped tool made from high-carbon steel. It features an assortment of conical or hemispherical indentions, which are used to form or shape metal, particularly in crafting bells or jewelry",
"files": [
"main.kcl"
]
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "utility-sink/main.kcl",
@ -539,5 +609,15 @@
"files": [
"main.kcl"
]
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "wing-spar/main.kcl",
"multipleFiles": false,
"title": "Wing Spar",
"description": "In a fixed-wing aircraft, the spar is often the main structural member of the wing, running spanwise at right angles (or thereabouts depending on wing sweep) to the fuselage. The spar carries flight loads and the weight of the wings while on the ground. Other structural and forming members such as ribs may be attached to the spars",
"files": [
"main.kcl"
]
}
]

View File

@ -0,0 +1,176 @@
// Prosthetic Hip
// A prosthetic hip is a surgically implanted ball-and-socket intended to replace a damaged or worn hip joint
// Set units
@settings(defaultLengthUnit = mm)
// Create the femur using a series of lofts. Draw the profile for the first loft on the XY plane.
l1 = 1
r1 = 3
stemLoftProfile1 = startSketchOn(XY)
|> startProfile(at = [-3, -l1 / 2])
|> yLine(length = l1, tag = $seg01)
|> tangentialArc(angle = -120, radius = r1)
|> angledLine(angle = -30, length = segLen(seg01))
|> tangentialArc(angle = -120, radius = r1)
|> angledLine(angle = 30, length = -segLen(seg01))
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
// Draw the second profile for the lofted femur
l2 = 19
r2 = 3
stemLoftProfile2 = startSketchOn(offsetPlane(XY, offset = 75))
|> startProfile(at = [-8, -l2 / 2])
|> yLine(length = l2, tag = $seg02)
|> tangentialArc(angle = -120, radius = r2)
|> angledLine(angle = -30, length = segLen(seg02))
|> tangentialArc(angle = -120, radius = r2)
|> angledLine(angle = 30, length = -segLen(seg02))
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
// Draw the third profile for the lofted femur
p3Z = 110
p3A = 25
plane003 = {
origin = [0, 0.0, p3Z],
xAxis = [cos(p3A), 0, sin(p3A)],
yAxis = [0.0, 1.0, 0.0]
}
l3 = 32
r3 = 4
stemLoftProfile3 = startSketchOn(plane003)
|> startProfile(at = [-15.5, -l3 / 2])
|> yLine(length = l3, tag = $seg03)
|> tangentialArc(angle = -120, radius = r3)
|> angledLine(angle = -30, length = segLen(seg03))
|> tangentialArc(angle = -120, radius = r3)
|> angledLine(angle = 30, length = -segLen(seg03))
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
// Draw the fourth profile for the lofted femur
p4Z = 130
p4A = 36.5
plane004 = {
origin = [0, 0.0, p4Z],
xAxis = [cos(p4A), 0, sin(p4A)],
yAxis = [0.0, 1.0, 0.0]
}
l4 = 16
r4 = 5
stemLoftProfile4 = startSketchOn(plane004)
|> startProfile(at = [-23, -l4 / 2])
|> yLine(length = l4, tag = $seg04)
|> tangentialArc(angle = -120, radius = r4)
|> angledLine(angle = -30, length = segLen(seg04))
|> tangentialArc(angle = -120, radius = r4)
|> angledLine(angle = 30, length = -segLen(seg04))
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
// Draw the first profile for the femoral stem
p5Z = 140
p5A = 36.5
plane005 = {
origin = [0, 0.0, p5Z],
xAxis = [cos(p5A), 0, sin(p5A)],
yAxis = [0.0, 1.0, 0.0]
}
l5 = 1.6
r5 = 1.6
stemLoftProfile5 = startSketchOn(plane005)
|> startProfile(at = [-19.5, -l5 / 2])
|> yLine(length = l5, tag = $seg05)
|> tangentialArc(angle = -120, radius = r5)
|> angledLine(angle = -30, length = segLen(seg05))
|> tangentialArc(angle = -120, radius = r5)
|> angledLine(angle = 30, length = -segLen(seg05))
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
// Draw the second profile for the femoral stem
p6Z = 145
p6A = 36.5
plane006 = {
origin = [0, 0.0, p6Z],
xAxis = [cos(p6A), 0, sin(p6A)],
yAxis = [0.0, 1.0, 0.0]
}
l6 = 1
r6 = 3
stemLoftProfile6 = startSketchOn(plane006)
|> startProfile(at = [-23.4, -l6 / 2])
|> yLine(length = l6, tag = $seg06)
|> tangentialArc(angle = -120, radius = r6)
|> angledLine(angle = -30, length = segLen(seg06))
|> tangentialArc(angle = -120, radius = r6)
|> angledLine(angle = 30, length = -segLen(seg06))
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
// Draw the third profile for the femoral stem
stemTab = clone(stemLoftProfile6)
|> extrude(%, length = 6)
// Loft the femur using all profiles in sequence
femur = loft([
stemLoftProfile1,
stemLoftProfile2,
stemLoftProfile3,
stemLoftProfile4
])
// Loft the femoral stem
femoralStem = loft([
clone(stemLoftProfile4),
stemLoftProfile5,
stemLoftProfile6
])
// Revolve a hollow socket to represent the femoral head
femoralHead = startSketchOn(XZ)
|> startProfile(at = [4, 0])
|> xLine(length = 1.1)
|> tangentialArc(angle = 90, radius = 3)
|> tangentialArc(angle = 90, radius = 8)
|> yLine(length = -1)
|> tangentialArc(angle = 90, radius = .1)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> revolve(angle = 360, axis = Y)
|> translate(x = -16.1, z = 133)
|> rotate(pitch = -36.5)
|> appearance(color = "#d64398")
// Place a polyethylene cap over the femoral head
polyethyleneInsert = startSketchOn(XZ)
|> startProfile(at = [8.36, 3])
|> xLine(length = 0.5)
|> yLine(length = .1)
|> tangentialArc(endAbsolute = [0.1, 12.55])
|> yLine(length = -0.85)
|> xLine(length = 0.58)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> revolve(angle = 360, axis = Y)
|> translate(x = -16.1, z = 133)
|> rotate(pitch = -36.5)
|> appearance(color = "#3cadd3")
// Place a ceramic or metal shell over the cap
acetabularShell = startSketchOn(XZ)
|> startProfile(at = [8.84, 4.7])
|> xLine(length = 1)
|> yLine(length = .5)
|> tangentialArc(endAbsolute = [0.1, 14])
|> yLine(endAbsolute = 12.56)
|> xLine(length = 0.1)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> revolve(angle = 360, axis = Y)
|> translate(x = -16.1, z = 133)
|> rotate(pitch = -36.5)
|> appearance(color = "#a55e2c")

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

View File

@ -0,0 +1,116 @@
// Surgical Drill Guide
// A surgical drill guide is a tool used in medical procedures to assist in drilling holes to a desired depth, ensuring proper orientation and minimizing intraosseal pressure
// Set units
@settings(defaultLengthUnit = mm)
// Define parameters
handleLength = 150
handleWidth = 30
stockThickness = 6
bendRadius = stockThickness * 1.25
bitSize01 = 2
bitSize02 = 3.2
bitLength = 45
// Model a small sheet metal bracket to represent the handle of the drill guide
bracket = startSketchOn(YZ)
|> startProfile(at = [0, 0])
|> xLine(length = handleLength, tag = $seg02)
|> yLine(length = stockThickness, tag = $seg06)
|> xLine(length = -segLen(seg02), tag = $seg04)
|> tangentialArc(angle = -60, radius = bendRadius, tag = $seg01)
|> angledLine(angle = tangentToEnd(seg01), length = handleLength / 3, tag = $seg03)
|> angledLine(angle = tangentToEnd(seg01) + 90, length = stockThickness, tag = $seg05)
|> angledLine(angle = segAng(seg03) + 180, length = segLen(seg03), tag = $seg07)
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> extrude(
length = handleWidth,
symmetric = true,
tagEnd = $capEnd001,
tagStart = $capStart001,
)
// Create a cut in the bracket to mount the first bit
bitCut01 = startSketchOn(XZ)
|> circle(center = [0, segEndY(seg03) + .1], radius = handleWidth / 1.9)
|> extrude(length = 100)
// Create a cut in the bracket to mount the second bit
bitCut02 = startSketchOn(offsetPlane(XY, offset = 35))
|> circle(center = [0, segEndX(seg02)], radius = handleWidth / 1.9)
|> extrude(length = -100)
// Cut the bracket
handle = subtract([bracket], tools = union([bitCut01, bitCut02]))
// Model the support for the first drill bit
bitSupport01 = startSketchOn(offsetPlane(XZ, offset = -segEndX(seg03) - 3))
|> circle(center = [0, segEndY(seg03) + .1], radius = handleWidth / 1.9)
|> extrude(length = -15, symmetric = true)
// Model the stem for the first drill bit
stem01 = startSketchOn(bitSupport01, face = END)
|> circle(center = [0, segEndY(seg03) + .1], radius = bitSize01, tag = $seg10)
|> extrude(length = bitLength, tagEnd = $capEnd004)
|> chamfer(
length = bitSize01 / 3,
tags = [
getCommonEdge(faces = [seg10, capEnd004])
],
)
// Negative extrude the clearance hole for the first drill bit
bitClearance01 = startSketchOn(stem01, face = END)
|> circle(center = [0, segEndY(seg03) + .1], radius = bitSize01 / 2)
|> extrude(length = -15 - bitLength)
// Model a rotating grip for the first drill bit
grip01 = startSketchOn(offsetPlane(XZ, offset = -segEndX(seg03) + 16))
|> circle(center = [0, segEndY(seg03) + .1], radius = handleWidth / 1.85, tag = $seg11)
|> subtract2d(tool = circle(center = [0, segEndY(seg03) + .1], radius = bitSize01))
|> extrude(length = -10, tagEnd = $capEnd005, tagStart = $capStart003)
|> fillet(
radius = 1,
tags = [
getCommonEdge(faces = [seg11, capEnd005]),
getCommonEdge(faces = [seg11, capStart003])
],
)
|> appearance(color = "#af7b23")
// Model the support for the second drill bit
bitSupport02 = startSketchOn(offsetPlane(XY, offset = -2))
|> circle(center = [0, segEndX(seg02)], radius = handleWidth / 1.9)
|> extrude(length = 15)
// Model the stem for the second drill bit
stem02 = startSketchOn(bitSupport02, face = START)
|> circle(center = [0, segEndX(seg02)], radius = bitSize02, tag = $seg09)
|> extrude(length = bitLength, tagEnd = $capEnd003)
|> chamfer(
length = bitSize02 / 3,
tags = [
getCommonEdge(faces = [seg09, capEnd003])
],
)
// Negative extrude the clearance hole for the second drill bit
bitClearance02 = startSketchOn(stem02, face = END)
|> circle(center = [0, segEndX(seg02)], radius = bitSize02 / 2)
|> extrude(length = -15 - bitLength)
// Model a rotating grip for the second drill bit
grip02 = startSketchOn(offsetPlane(XY, offset = -3))
|> circle(center = [0, segEndX(seg02)], radius = handleWidth / 1.85, tag = $seg08)
|> subtract2d(tool = circle(center = [0, segEndX(seg02)], radius = bitSize02))
|> extrude(length = -10, tagStart = $capStart002, tagEnd = $capEnd002)
|> fillet(
radius = 1,
tags = [
getCommonEdge(faces = [seg08, capStart002]),
getCommonEdge(faces = [seg08, capEnd002])
],
)
|> appearance(color = "#23af93")

View File

@ -0,0 +1,167 @@
// Tooling Nest Block
// A tooling nest block is a block-shaped tool made from high-carbon steel. It features an assortment of conical or hemispherical indentions, which are used to form or shape metal, particularly in crafting bells or jewelry
// Set units
@settings(defaultLengthUnit = mm)
// Define parameters
sideLength = 50
size01 = 15
size02 = 10
size03 = 6
size04 = 0.375in
size05 = 0.25in
size06 = 0.5in
size07 = 0.75in
size08 = 5
size09 = 4.5
size10 = 4
size11 = 3.5
size12 = 3
size13 = 2.5
size14 = 2
size15 = 1
// Sketch and extrude the base cube
cubeSketch = startSketchOn(XY)
|> startProfile(at = [0, 0])
|> angledLine(angle = 0, length = sideLength, tag = $rectangleSegmentA001)
|> angledLine(angle = segAng(rectangleSegmentA001) + 90, length = sideLength, tag = $rectangleSegmentB001)
|> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001), tag = $rectangleSegmentC001)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $rectangleSegmentD001)
|> close()
cubeExtrude = extrude(cubeSketch, length = sideLength)
// Write a function to create a hemispherical nest in a given cube side
fn nest(cubeFace, xPos, yPos, nestSize) {
nestFn = startSketchOn(cubeExtrude, face = cubeFace)
|> circle(center = [xPos * sideLength, yPos * sideLength], radius = nestSize, tag = $seg01)
|> extrude(length = -nestSize, tagStart = $capStart001)
|> fillet(
radius = nestSize * .99,
tags = [
getCommonEdge(faces = [seg01, capStart001])
],
)
return { }
}
// Model each nest on the top face
nest(
cubeFace = END,
xPos = 0.5,
yPos = 0.5,
nestSize = size01,
)
// Model each nest on side 1
nest(
cubeFace = rectangleSegmentA001,
xPos = 0.65,
yPos = 0.5,
nestSize = size02,
)
nest(
cubeFace = rectangleSegmentA001,
xPos = 0.25,
yPos = 0.25,
nestSize = size03,
)
nest(
cubeFace = rectangleSegmentA001,
xPos = 0.25,
yPos = 0.75,
nestSize = size03,
)
// Model each nest on side 2
nest(
cubeFace = rectangleSegmentB001,
xPos = 0.7,
yPos = 0.3,
nestSize = size04,
)
nest(
cubeFace = rectangleSegmentB001,
xPos = 0.25,
yPos = 0.3,
nestSize = size05,
)
nest(
cubeFace = rectangleSegmentB001,
xPos = 0.25,
yPos = 0.7,
nestSize = size05,
)
nest(
cubeFace = rectangleSegmentB001,
xPos = 0.7,
yPos = 0.7,
nestSize = size05,
)
// Model each nest on side 3
nest(
cubeFace = rectangleSegmentC001,
xPos = -0.5,
yPos = 0.5,
nestSize = size06,
)
// Model each nest on side 4
nest(
cubeFace = rectangleSegmentD001,
xPos = -0.2,
yPos = 0.2,
nestSize = size15,
)
nest(
cubeFace = rectangleSegmentD001,
xPos = -0.2,
yPos = 0.5,
nestSize = size14,
)
nest(
cubeFace = rectangleSegmentD001,
xPos = -0.2,
yPos = 0.8,
nestSize = size13,
)
nest(
cubeFace = rectangleSegmentD001,
xPos = -0.8,
yPos = 0.2,
nestSize = size12,
)
nest(
cubeFace = rectangleSegmentD001,
xPos = -0.8,
yPos = 0.5,
nestSize = size10,
)
nest(
cubeFace = rectangleSegmentD001,
xPos = -0.8,
yPos = 0.8,
nestSize = size08,
)
nest(
cubeFace = rectangleSegmentD001,
xPos = -0.5,
yPos = 0.33,
nestSize = size09,
)
nest(
cubeFace = rectangleSegmentD001,
xPos = -0.5,
yPos = 0.67,
nestSize = size11,
)
// Model each nest on the bottom face
nest(
cubeFace = START,
xPos = -0.5,
yPos = 0.5,
nestSize = size07,
)

View File

@ -0,0 +1,121 @@
// Wing Spar
// In a fixed-wing aircraft, the spar is often the main structural member of the wing, running spanwise at right angles (or thereabouts depending on wing sweep) to the fuselage. The spar carries flight loads and the weight of the wings while on the ground. Other structural and forming members such as ribs may be attached to the spars
// Set units
@settings(defaultLengthUnit = mm)
// Define parameters
chordLength = 355
rearSpar = 205
frontSpar = 33
upperCamber = 30
lowerCamber = 18
foilThickness = 8
nSections = 5
sparSpan = 700
sparStockThicknes = 2.102
sparBendRadius = 2.102
// Sketch an airfoil using the chord length, spar positions, and camber heights
ribSketch = startSketchOn(offsetPlane(-XZ, offset = -foilThickness))
|> startProfile(at = [chordLength, 0])
|> line(endAbsolute = [rearSpar, upperCamber])
|> tangentialArc(endAbsolute = [frontSpar, upperCamber * 1.3])
|> tangentialArc(endAbsolute = [0, 0])
|> tangentialArc(angle = 76, radius = lowerCamber)
|> tangentialArc(endAbsolute = [rearSpar, -lowerCamber])
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
// Cut circular holes along the chord curve of the airfoil to reduce the mass of each part
|> subtract2d(tool = circle(center = [62, 9], radius = 17))
|> subtract2d(tool = circle(center = [113, 10], radius = 19))
|> subtract2d(tool = circle(center = [164, 9], radius = 17))
|> subtract2d(tool = circle(center = [228, 5], radius = 11))
|> subtract2d(tool = circle(center = [260, 3.5], radius = 6.5))
// Extrude the airfoil to material thicknes, then pattern along the length of the wing spars
|> extrude(length = -foilThickness)
|> patternLinear3d(instances = nSections, distance = (sparSpan - (3 * foilThickness)) / (nSections - 1), axis = [0, -1, 0])
// Model a thin sheet spar with a hemmed top edge for structure
sparSketch = startSketchOn(-XZ)
// Sketch the sheet metal profile for the front spar, then extrude
frontSparProfile = startProfile(sparSketch, at = [frontSpar, -lowerCamber * 0.85])
|> yLine(endAbsolute = upperCamber, tag = $seg01)
|> tangentialArc(angle = -90, radius = sparBendRadius + sparStockThicknes)
|> xLine(length = 4, tag = $seg02)
|> tangentialArc(angle = -90, radius = sparBendRadius + sparStockThicknes)
|> yLine(length = -4, tag = $seg03)
|> tangentialArc(angle = -90, radius = sparBendRadius + sparStockThicknes)
|> xLine(length = -3, tag = $seg04)
|> yLine(length = sparStockThicknes)
|> xLine(length = segLen(seg04))
|> tangentialArc(angle = 90, radius = sparBendRadius)
|> yLine(length = segLen(seg03))
|> tangentialArc(angle = 90, radius = sparBendRadius)
|> xLine(length = -segLen(seg02))
|> tangentialArc(angle = 90, radius = sparBendRadius)
|> yLine(length = -segLen(seg01), tag = $seg10)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> extrude(length = -sparSpan)
// Sketch the sheet metal profile for the rear spar, then extrude
rearSparProfile = startProfile(sparSketch, at = [rearSpar, -lowerCamber * 0.7])
|> yLine(endAbsolute = upperCamber * 0.7, tag = $seg05)
|> tangentialArc(angle = 90, radius = sparBendRadius + sparStockThicknes)
|> xLine(length = -4, tag = $seg06)
|> tangentialArc(angle = 90, radius = sparBendRadius + sparStockThicknes)
|> yLine(length = -4, tag = $seg07)
|> tangentialArc(angle = 90, radius = sparBendRadius + sparStockThicknes)
|> xLine(length = 3, tag = $seg08)
|> yLine(length = sparStockThicknes)
|> xLine(length = -segLen(seg08))
|> tangentialArc(angle = -90, radius = sparBendRadius)
|> yLine(length = segLen(seg07))
|> tangentialArc(angle = -90, radius = sparBendRadius)
|> xLine(length = segLen(seg06))
|> tangentialArc(angle = -90, radius = sparBendRadius)
|> yLine(length = -segLen(seg05), tag = $seg09)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> extrude(length = -sparSpan)
// Cut rectangular holes along the spar length between each rib
frontSparHoles = startSketchOn(frontSparProfile, face = seg10)
|> startProfile(at = [-lowerCamber * 0.1, -foilThickness * 3])
|> xLine(endAbsolute = upperCamber * 0.4, tag = $seg11)
|> tangentialArc(angle = -90, radius = 5)
|> yLine(endAbsolute = -(sparSpan - (3 * foilThickness)) / (nSections - 1) + 5, tag = $seg12)
|> tangentialArc(angle = -90, radius = 5)
|> xLine(length = -segLen(seg11))
|> tangentialArc(angle = -90, radius = 5)
|> yLine(length = segLen(seg12))
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
%,
instances = nSections - 1,
distance = (sparSpan - (3 * foilThickness)) / (nSections - 1),
axis = [0, -1],
)
|> extrude(length = -10)
rearSparHoles = startSketchOn(rearSparProfile, face = seg09)
|> startProfile(at = [-lowerCamber * 0.3, -foilThickness * 3])
|> xLine(endAbsolute = -upperCamber * 0.01, tag = $seg14)
|> tangentialArc(angle = -90, radius = 5)
|> yLine(length = -segLen(seg12))
|> tangentialArc(angle = -90, radius = 5)
|> xLine(length = -segLen(seg14))
|> tangentialArc(angle = -90, radius = 5)
|> yLine(length = segLen(seg12))
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> patternLinear2d(
%,
instances = nSections - 1,
distance = (sparSpan - (3 * foilThickness)) / (nSections - 1),
axis = [0, -1],
)
|> extrude(length = -10)

View File

@ -1900,27 +1900,6 @@ someFunction('INVALID')
);
}
#[tokio::test(flavor = "multi_thread")]
async fn kcl_test_error_inside_fn_also_has_source_range_of_call_site_recursive() {
let code = r#"fn someFunction(@something) {
fn someNestedFunction(@something2) {
startSketchOn(something2)
}
someNestedFunction(something)
}
someFunction('INVALID')
"#;
let result = execute_and_snapshot(code, None).await;
assert!(result.is_err());
assert_eq!(
result.err().unwrap().to_string(),
r#"semantic: KclErrorDetails { source_ranges: [SourceRange([93, 103, 0]), SourceRange([116, 145, 0]), SourceRange([149, 172, 0])], message: "This function expected the input argument to be Solid or Plane but it's actually of type string (text)" }"#
);
}
#[tokio::test(flavor = "multi_thread")]
async fn kcl_test_error_no_auth_websocket() {
let code = r#"sketch001 = startSketchOn(XZ)

View File

@ -3023,3 +3023,24 @@ mod execute_engine_error_return {
super::execute(TEST_NAME, true).await
}
}
mod error_inside_fn_also_has_source_range_of_call_site_recursive {
const TEST_NAME: &str = "error_inside_fn_also_has_source_range_of_call_site_recursive";
/// Test parsing KCL.
#[test]
fn parse() {
super::parse(TEST_NAME)
}
/// Test that parsing and unparsing KCL produces the original KCL input.
#[tokio::test(flavor = "multi_thread")]
async fn unparse() {
super::unparse(TEST_NAME).await
}
/// Test that KCL is executed correctly.
#[tokio::test(flavor = "multi_thread")]
async fn kcl_test_execute() {
super::execute(TEST_NAME, true).await
}
}

View File

@ -0,0 +1,32 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Artifact commands error_inside_fn_also_has_source_range_of_call_site_recursive.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
}
}
]

View File

@ -0,0 +1,6 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart error_inside_fn_also_has_source_range_of_call_site_recursive.kcl
extension: md
snapshot_kind: binary
---

View File

@ -0,0 +1,269 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Result of parsing error_inside_fn_also_has_source_range_of_call_site_recursive.kcl
---
{
"Ok": {
"body": [
{
"commentStart": 0,
"declaration": {
"commentStart": 0,
"end": 0,
"id": {
"commentStart": 0,
"end": 0,
"name": "someFunction",
"start": 0,
"type": "Identifier"
},
"init": {
"body": {
"body": [
{
"commentStart": 0,
"declaration": {
"commentStart": 0,
"end": 0,
"id": {
"commentStart": 0,
"end": 0,
"name": "someNestedFunction",
"start": 0,
"type": "Identifier"
},
"init": {
"body": {
"body": [
{
"commentStart": 0,
"end": 0,
"expression": {
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "something2",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
"start": 0,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
}
],
"commentStart": 0,
"end": 0,
"start": 0
},
"commentStart": 0,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 0,
"end": 0,
"name": "something2",
"start": 0,
"type": "Identifier"
},
"labeled": false
}
],
"start": 0,
"type": "FunctionExpression",
"type": "FunctionExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "fn",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 0,
"end": 0,
"expression": {
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "someNestedFunction",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "something",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
},
"start": 0,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
}
],
"commentStart": 0,
"end": 0,
"nonCodeMeta": {
"nonCodeNodes": {
"0": [
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
]
},
"startNodes": []
},
"start": 0
},
"commentStart": 0,
"end": 0,
"params": [
{
"type": "Parameter",
"identifier": {
"commentStart": 0,
"end": 0,
"name": "something",
"start": 0,
"type": "Identifier"
},
"labeled": false
}
],
"start": 0,
"type": "FunctionExpression",
"type": "FunctionExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 0,
"kind": "fn",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"commentStart": 0,
"end": 0,
"expression": {
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "someFunction",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"commentStart": 0,
"end": 0,
"raw": "'INVALID'",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": "INVALID"
}
},
"start": 0,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
}
],
"commentStart": 0,
"end": 0,
"nonCodeMeta": {
"nonCodeNodes": {
"0": [
{
"commentStart": 0,
"end": 0,
"start": 0,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
]
},
"startNodes": []
},
"start": 0
}
}

View File

@ -0,0 +1,48 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Error from executing error_inside_fn_also_has_source_range_of_call_site_recursive.kcl
---
KCL Semantic error
× semantic: This function expected the input argument to be Solid or Plane
│ but it's actually of type string (text)
╭─[3:23]
2 │ fn someNestedFunction(@something2) {
3 │ startSketchOn(something2)
· ─────┬────
· ╰── tests/error_inside_fn_also_has_source_range_of_call_site_recursive/input.kcl
4 │ }
5 │
6 │ someNestedFunction(something)
· ──────────────┬──────────────
· ╰── tests/error_inside_fn_also_has_source_range_of_call_site_recursive/input.kcl
7 │ }
8 │
9 │ someFunction('INVALID')
· ───────────┬───────────
· ╰── tests/error_inside_fn_also_has_source_range_of_call_site_recursive/input.kcl
╰────
├─▶ KCL Semantic error
× semantic: This function expected the input argument to be Solid or
│ │ Plane but it's actually of type string (text)
│ ╭─[3:23]
│ 2 │ fn someNestedFunction(@something2) {
│ 3 │ startSketchOn(something2)
│ · ─────┬────
│ · ╰── tests/
│ error_inside_fn_also_has_source_range_of_call_site_recursive/input.kcl
│ 4 │ }
│ ╰────
╰─▶ KCL Semantic error
× semantic: This function expected the input argument to be Solid or
│ Plane but it's actually of type string (text)
╭─[6:5]
5 │
6 │ someNestedFunction(something)
· ──────────────┬──────────────
· ╰── tests/
error_inside_fn_also_has_source_range_of_call_site_recursive/input.kcl
7 │ }
╰────

View File

@ -0,0 +1,9 @@
fn someFunction(@something) {
fn someNestedFunction(@something2) {
startSketchOn(something2)
}
someNestedFunction(something)
}
someFunction('INVALID')

View File

@ -0,0 +1,60 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Operations executed error_inside_fn_also_has_source_range_of_call_site_recursive.kcl
---
[
{
"isError": true,
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "String",
"value": "INVALID"
},
"sourceRange": []
}
},
{
"type": "GroupBegin",
"group": {
"type": "FunctionCall",
"name": "someNestedFunction",
"functionSourceRange": [],
"unlabeledArg": {
"value": {
"type": "String",
"value": "INVALID"
},
"sourceRange": []
},
"labeledArgs": {}
},
"sourceRange": []
},
{
"type": "GroupBegin",
"group": {
"type": "FunctionCall",
"name": "someFunction",
"functionSourceRange": [],
"unlabeledArg": {
"value": {
"type": "String",
"value": "INVALID"
},
"sourceRange": []
},
"labeledArgs": {}
},
"sourceRange": []
},
{
"type": "GroupEnd"
},
{
"type": "GroupEnd"
}
]

View File

@ -0,0 +1,13 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Result of unparsing error_inside_fn_also_has_source_range_of_call_site_recursive.kcl
---
fn someFunction(@something) {
fn someNestedFunction(@something2) {
startSketchOn(something2)
}
someNestedFunction(something)
}
someFunction('INVALID')

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart bone-plate.kcl
extension: md
snapshot_kind: binary
---

View File

@ -0,0 +1,515 @@
```mermaid
flowchart LR
subgraph path3 [Path]
3["Path<br>[541, 569, 0]"]
12["Segment<br>[575, 626, 0]"]
13["Segment<br>[632, 680, 0]"]
14["Segment<br>[686, 737, 0]"]
15["Segment<br>[743, 791, 0]"]
16["Segment<br>[797, 848, 0]"]
17["Segment<br>[854, 902, 0]"]
18["Segment<br>[908, 959, 0]"]
19["Segment<br>[965, 1007, 0]"]
20["Segment<br>[1013, 1071, 0]"]
21["Segment<br>[1077, 1132, 0]"]
22["Segment<br>[1138, 1196, 0]"]
23["Segment<br>[1202, 1257, 0]"]
24["Segment<br>[1263, 1306, 0]"]
25["Segment<br>[1312, 1368, 0]"]
26["Segment<br>[1374, 1429, 0]"]
27["Segment<br>[1435, 1491, 0]"]
28["Segment<br>[1497, 1504, 0]"]
45[Solid2d]
end
subgraph path4 [Path]
4["Path<br>[1668, 1730, 0]"]
29["Segment<br>[1668, 1730, 0]"]
44[Solid2d]
end
subgraph path5 [Path]
5["Path<br>[1768, 1829, 0]"]
30["Segment<br>[1768, 1829, 0]"]
40[Solid2d]
end
subgraph path6 [Path]
6["Path<br>[1867, 1929, 0]"]
31["Segment<br>[1867, 1929, 0]"]
41[Solid2d]
end
subgraph path7 [Path]
7["Path<br>[1967, 2026, 0]"]
32["Segment<br>[1967, 2026, 0]"]
42[Solid2d]
end
subgraph path8 [Path]
8["Path<br>[2064, 2124, 0]"]
33["Segment<br>[2064, 2124, 0]"]
37[Solid2d]
end
subgraph path9 [Path]
9["Path<br>[2162, 2222, 0]"]
34["Segment<br>[2162, 2222, 0]"]
38[Solid2d]
end
subgraph path10 [Path]
10["Path<br>[2260, 2322, 0]"]
35["Segment<br>[2260, 2322, 0]"]
39[Solid2d]
end
subgraph path11 [Path]
11["Path<br>[2360, 2421, 0]"]
36["Segment<br>[2360, 2421, 0]"]
43[Solid2d]
end
1["Plane<br>[518, 535, 0]"]
2["Plane<br>[1641, 1658, 0]"]
46["Sweep Revolve<br>[1510, 1557, 0]"]
47["Sweep Extrusion<br>[1736, 1758, 0]"]
48["Sweep Extrusion<br>[1835, 1857, 0]"]
49["Sweep Extrusion<br>[1935, 1957, 0]"]
50["Sweep Extrusion<br>[2032, 2054, 0]"]
51["Sweep Extrusion<br>[2130, 2152, 0]"]
52["Sweep Extrusion<br>[2228, 2250, 0]"]
53["Sweep Extrusion<br>[2328, 2350, 0]"]
54["Sweep Extrusion<br>[2427, 2449, 0]"]
55["CompositeSolid Subtract<br>[2517, 2574, 0]"]
56["CompositeSolid Union<br>[2550, 2573, 0]"]
57["CompositeSolid Union<br>[2680, 2703, 0]"]
58["CompositeSolid Union<br>[2615, 2638, 0]"]
59["CompositeSolid Subtract<br>[2651, 2704, 0]"]
60["CompositeSolid Subtract<br>[2716, 2769, 0]"]
61["CompositeSolid Union<br>[2745, 2768, 0]"]
62["CompositeSolid Subtract<br>[2586, 2639, 0]"]
63[Wall]
64[Wall]
65[Wall]
66[Wall]
67[Wall]
68[Wall]
69[Wall]
70[Wall]
71[Wall]
72[Wall]
73[Wall]
74[Wall]
75[Wall]
76[Wall]
77[Wall]
78[Wall]
79[Wall]
80[Wall]
81[Wall]
82[Wall]
83[Wall]
84[Wall]
85[Wall]
86[Wall]
87["Cap Start"]
88["Cap Start"]
89["Cap Start"]
90["Cap Start"]
91["Cap Start"]
92["Cap Start"]
93["Cap Start"]
94["Cap Start"]
95["Cap Start"]
96["Cap End"]
97["Cap End"]
98["Cap End"]
99["Cap End"]
100["Cap End"]
101["Cap End"]
102["Cap End"]
103["Cap End"]
104["Cap End"]
105["SweepEdge Opposite"]
106["SweepEdge Opposite"]
107["SweepEdge Opposite"]
108["SweepEdge Opposite"]
109["SweepEdge Opposite"]
110["SweepEdge Opposite"]
111["SweepEdge Opposite"]
112["SweepEdge Opposite"]
113["SweepEdge Opposite"]
114["SweepEdge Opposite"]
115["SweepEdge Opposite"]
116["SweepEdge Opposite"]
117["SweepEdge Opposite"]
118["SweepEdge Opposite"]
119["SweepEdge Opposite"]
120["SweepEdge Opposite"]
121["SweepEdge Opposite"]
122["SweepEdge Opposite"]
123["SweepEdge Opposite"]
124["SweepEdge Opposite"]
125["SweepEdge Opposite"]
126["SweepEdge Opposite"]
127["SweepEdge Opposite"]
128["SweepEdge Opposite"]
129["SweepEdge Adjacent"]
130["SweepEdge Adjacent"]
131["SweepEdge Adjacent"]
132["SweepEdge Adjacent"]
133["SweepEdge Adjacent"]
134["SweepEdge Adjacent"]
135["SweepEdge Adjacent"]
136["SweepEdge Adjacent"]
137["SweepEdge Adjacent"]
138["SweepEdge Adjacent"]
139["SweepEdge Adjacent"]
140["SweepEdge Adjacent"]
141["SweepEdge Adjacent"]
142["SweepEdge Adjacent"]
143["SweepEdge Adjacent"]
144["SweepEdge Adjacent"]
145["SweepEdge Adjacent"]
146["SweepEdge Adjacent"]
147["SweepEdge Adjacent"]
148["SweepEdge Adjacent"]
149["SweepEdge Adjacent"]
150["SweepEdge Adjacent"]
151["SweepEdge Adjacent"]
152["SweepEdge Adjacent"]
1 --- 3
2 --- 4
2 --- 5
2 --- 6
2 --- 7
2 --- 8
2 --- 9
2 --- 10
2 --- 11
3 --- 12
3 --- 13
3 --- 14
3 --- 15
3 --- 16
3 --- 17
3 --- 18
3 --- 19
3 --- 20
3 --- 21
3 --- 22
3 --- 23
3 --- 24
3 --- 25
3 --- 26
3 --- 27
3 --- 28
3 --- 45
3 ---- 46
3 --- 55
4 --- 29
4 --- 44
4 ---- 47
4 --- 56
5 --- 30
5 --- 40
5 ---- 48
5 --- 56
6 --- 31
6 --- 41
6 ---- 49
6 --- 58
7 --- 32
7 --- 42
7 ---- 50
7 --- 58
8 --- 33
8 --- 37
8 ---- 51
8 --- 57
9 --- 34
9 --- 38
9 ---- 52
9 --- 57
10 --- 35
10 --- 39
10 ---- 53
10 --- 61
11 --- 36
11 --- 43
11 ---- 54
11 --- 61
12 --- 81
12 x--> 97
12 --- 121
12 --- 144
13 --- 76
13 x--> 97
13 --- 115
13 --- 135
14 --- 75
14 x--> 97
14 --- 116
14 --- 142
15 --- 77
15 x--> 97
15 --- 123
15 --- 145
16 --- 73
16 x--> 97
16 --- 126
16 --- 138
17 --- 72
17 x--> 97
17 --- 125
17 --- 147
18 --- 80
18 x--> 97
18 --- 114
18 --- 143
19 --- 83
19 x--> 97
19 --- 119
19 --- 141
20 --- 82
20 x--> 97
20 --- 124
20 --- 146
21 --- 70
21 x--> 97
21 --- 118
21 --- 139
22 --- 71
22 x--> 97
22 --- 120
22 --- 148
23 --- 84
23 x--> 97
23 --- 111
23 --- 140
24 --- 78
24 x--> 97
24 --- 113
24 --- 137
25 --- 74
25 x--> 97
25 --- 117
25 --- 150
26 --- 69
26 x--> 97
26 --- 112
26 --- 136
27 --- 79
27 x--> 97
27 --- 122
27 --- 149
29 --- 68
29 x--> 103
29 --- 110
29 --- 134
30 --- 63
30 x--> 102
30 --- 105
30 --- 129
31 --- 85
31 x--> 101
31 --- 127
31 --- 151
32 --- 65
32 x--> 100
32 --- 107
32 --- 131
33 --- 67
33 x--> 98
33 --- 109
33 --- 133
34 --- 86
34 x--> 104
34 --- 128
34 --- 152
35 --- 64
35 x--> 99
35 --- 106
35 --- 130
36 --- 66
36 x--> 96
36 --- 108
36 --- 132
46 --- 69
46 --- 70
46 --- 71
46 --- 72
46 --- 73
46 --- 74
46 --- 75
46 --- 76
46 --- 77
46 --- 78
46 --- 79
46 --- 80
46 --- 81
46 --- 82
46 --- 83
46 --- 84
46 --- 88
46 --- 97
46 --- 111
46 --- 112
46 --- 113
46 --- 114
46 --- 115
46 --- 116
46 --- 117
46 --- 118
46 --- 119
46 --- 120
46 --- 121
46 --- 122
46 --- 123
46 --- 124
46 --- 125
46 --- 126
46 --- 135
46 --- 136
46 --- 137
46 --- 138
46 --- 139
46 --- 140
46 --- 141
46 --- 142
46 --- 143
46 --- 144
46 --- 145
46 --- 146
46 --- 147
46 --- 148
46 --- 149
46 --- 150
47 --- 68
47 --- 94
47 --- 103
47 --- 110
47 --- 134
48 --- 63
48 --- 93
48 --- 102
48 --- 105
48 --- 129
49 --- 85
49 --- 92
49 --- 101
49 --- 127
49 --- 151
50 --- 65
50 --- 91
50 --- 100
50 --- 107
50 --- 131
51 --- 67
51 --- 89
51 --- 98
51 --- 109
51 --- 133
52 --- 86
52 --- 95
52 --- 104
52 --- 128
52 --- 152
53 --- 64
53 --- 90
53 --- 99
53 --- 106
53 --- 130
54 --- 66
54 --- 87
54 --- 96
54 --- 108
54 --- 132
56 --- 55
55 --- 62
57 --- 59
58 --- 62
59 --- 60
62 --- 59
61 --- 60
105 <--x 63
129 <--x 63
106 <--x 64
130 <--x 64
107 <--x 65
131 <--x 65
108 <--x 66
132 <--x 66
109 <--x 67
133 <--x 67
110 <--x 68
134 <--x 68
112 <--x 69
136 <--x 69
150 <--x 69
118 <--x 70
139 <--x 70
146 <--x 70
120 <--x 71
139 <--x 71
148 <--x 71
125 <--x 72
138 <--x 72
147 <--x 72
126 <--x 73
138 <--x 73
145 <--x 73
117 <--x 74
137 <--x 74
150 <--x 74
116 <--x 75
135 <--x 75
142 <--x 75
115 <--x 76
135 <--x 76
144 <--x 76
123 <--x 77
142 <--x 77
145 <--x 77
113 <--x 78
137 <--x 78
140 <--x 78
122 <--x 79
136 <--x 79
149 <--x 79
114 <--x 80
143 <--x 80
147 <--x 80
121 <--x 81
144 <--x 81
149 <--x 81
124 <--x 82
141 <--x 82
146 <--x 82
119 <--x 83
141 <--x 83
143 <--x 83
111 <--x 84
140 <--x 84
148 <--x 84
127 <--x 85
151 <--x 85
128 <--x 86
152 <--x 86
108 <--x 87
111 <--x 88
112 <--x 88
113 <--x 88
114 <--x 88
115 <--x 88
116 <--x 88
117 <--x 88
118 <--x 88
119 <--x 88
120 <--x 88
121 <--x 88
122 <--x 88
123 <--x 88
124 <--x 88
125 <--x 88
126 <--x 88
109 <--x 89
106 <--x 90
107 <--x 91
127 <--x 92
105 <--x 93
110 <--x 94
128 <--x 95
```

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,621 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Operations executed bone-plate.kcl
---
[
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
{
"type": "KclStdLibCall",
"name": "revolve",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
},
"labeledArgs": {
"angle": {
"value": {
"type": "Number",
"value": 65.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
},
"axis": {
"value": {
"type": "Object",
"value": {
"direction": {
"type": "Array",
"value": [
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 1.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
}
]
},
"origin": {
"type": "Array",
"value": [
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
}
]
}
}
},
"sourceRange": []
},
"symmetric": {
"value": {
"type": "Bool",
"value": true
},
"sourceRange": []
}
},
"sourceRange": []
},
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
{
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": -100.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": {
"length": {
"value": {
"type": "Number",
"value": -100.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": {
"length": {
"value": {
"type": "Number",
"value": -100.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": {
"length": {
"value": {
"type": "Number",
"value": -100.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": {
"length": {
"value": {
"type": "Number",
"value": -100.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": {
"length": {
"value": {
"type": "Number",
"value": -100.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": {
"length": {
"value": {
"type": "Number",
"value": -100.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": {
"length": {
"value": {
"type": "Number",
"value": -100.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": {
"tools": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
"name": "subtract",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "union",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
{
"labeledArgs": {
"tools": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
"name": "subtract",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "union",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
{
"labeledArgs": {
"tools": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
"name": "subtract",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "union",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
{
"labeledArgs": {
"tools": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
"name": "subtract",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "union",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
}
]

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

View File

@ -706,7 +706,7 @@ flowchart LR
34 --- 247
34 x--> 324
34 --- 361
34 --- 409
34 --- 408
36 --- 286
36 x--> 323
36 --- 377
@ -714,11 +714,11 @@ flowchart LR
38 --- 259
38 x--> 332
38 --- 364
38 --- 421
38 --- 420
39 --- 257
39 x--> 333
39 --- 362
39 --- 419
39 --- 418
176 <--x 40
40 --- 297
40 --- 455
@ -733,16 +733,16 @@ flowchart LR
43 --- 456
177 <--x 45
45 --- 242
45 --- 406
45 --- 405
177 <--x 46
46 --- 243
46 --- 405
46 --- 404
177 <--x 47
47 --- 244
47 --- 407
47 --- 406
177 <--x 48
48 --- 245
48 --- 404
48 --- 403
50 --- 292
50 x--> 335
50 --- 381
@ -858,7 +858,7 @@ flowchart LR
86 --- 241
86 x--> 340
86 --- 359
86 --- 403
86 --- 402
87 --- 322
87 x--> 325
87 --- 385
@ -866,11 +866,11 @@ flowchart LR
88 --- 258
88 x--> 328
88 --- 363
88 --- 420
88 --- 419
89 --- 246
89 x--> 337
89 --- 360
89 --- 408
89 --- 407
90 --- 289
90 x--> 325
90 --- 380
@ -910,15 +910,15 @@ flowchart LR
101 --- 232
101 x--> 331
101 --- 354
101 --- 389
101 x--> 389
102 --- 225
102 x--> 331
102 --- 353
102 --- 394
102 --- 393
103 --- 237
103 x--> 331
103 --- 356
103 --- 396
103 --- 395
104 --- 228
104 x--> 331
104 --- 343
@ -926,19 +926,19 @@ flowchart LR
105 --- 238
105 x--> 331
105 --- 357
105 --- 392
105 --- 391
106 --- 226
106 x--> 331
106 --- 345
106 --- 395
106 --- 394
107 --- 239
107 x--> 331
107 --- 355
107 --- 399
107 --- 398
108 --- 240
108 x--> 331
108 --- 347
108 --- 401
108 --- 400
109 --- 229
109 x--> 331
109 --- 344
@ -946,15 +946,15 @@ flowchart LR
110 --- 235
110 x--> 331
110 --- 352
110 --- 391
110 --- 390
111 --- 234
111 x--> 331
111 --- 346
111 --- 402
111 --- 401
112 --- 236
112 x--> 331
112 --- 342
112 --- 398
112 --- 397
113 --- 227
113 x--> 331
113 --- 350
@ -962,49 +962,49 @@ flowchart LR
114 --- 224
114 x--> 331
114 --- 358
114 --- 400
114 --- 399
115 --- 233
115 x--> 331
115 --- 351
115 --- 393
115 --- 392
116 --- 231
116 x--> 331
116 --- 349
116 --- 397
116 --- 396
117 --- 230
117 x--> 331
117 --- 348
117 --- 390
117 --- 389
222 <--x 118
118 --- 249
118 --- 413
118 --- 412
222 <--x 119
119 --- 252
119 --- 415
119 --- 414
222 <--x 120
120 --- 256
120 --- 418
120 --- 417
222 <--x 121
121 --- 250
121 --- 414
121 --- 413
222 <--x 122
122 --- 253
122 --- 412
122 --- 411
222 <--x 123
123 --- 254
123 --- 411
123 --- 410
222 <--x 124
124 --- 251
124 --- 417
124 --- 416
222 <--x 125
125 --- 255
125 --- 416
125 --- 415
222 <--x 126
126 --- 248
126 --- 410
126 --- 409
223 <--x 127
127 --- 269
127 x--> 427
127 --- 422
223 <--x 128
128 --- 271
128 --- 425
@ -1034,7 +1034,7 @@ flowchart LR
136 --- 426
223 <--x 137
137 --- 262
137 --- 422
137 --- 421
223 <--x 138
138 --- 267
138 --- 424
@ -1048,7 +1048,7 @@ flowchart LR
164 --- 324
164 --- 333
164 --- 361
164 --- 409
164 --- 408
165 --- 286
165 --- 323
165 --- 332
@ -1056,10 +1056,10 @@ flowchart LR
165 --- 447
167 --- 259
167 --- 364
167 --- 421
167 --- 420
172 --- 257
172 --- 362
172 --- 419
172 --- 418
176 --- 294
176 --- 295
176 --- 296
@ -1072,10 +1072,10 @@ flowchart LR
177 --- 243
177 --- 244
177 --- 245
177 --- 403
177 --- 404
177 --- 405
177 --- 406
177 --- 407
178 --- 282
178 --- 283
178 --- 284
@ -1163,7 +1163,7 @@ flowchart LR
182 --- 449
183 --- 241
183 --- 359
183 --- 403
183 --- 402
188 --- 322
188 --- 341
188 --- 385
@ -1172,10 +1172,10 @@ flowchart LR
189 --- 328
189 --- 337
189 --- 363
189 --- 420
189 --- 419
191 --- 246
191 --- 360
191 --- 408
191 --- 407
202 --- 289
202 --- 338
202 --- 380
@ -1258,7 +1258,6 @@ flowchart LR
221 --- 399
221 --- 400
221 --- 401
221 --- 402
222 --- 248
222 --- 249
222 --- 250
@ -1268,6 +1267,7 @@ flowchart LR
222 --- 254
222 --- 255
222 --- 256
222 --- 409
222 --- 410
222 --- 411
222 --- 412
@ -1276,7 +1276,6 @@ flowchart LR
222 --- 415
222 --- 416
222 --- 417
222 --- 418
223 --- 260
223 --- 261
223 --- 262
@ -1291,6 +1290,7 @@ flowchart LR
223 --- 271
223 --- 272
223 --- 273
223 --- 421
223 --- 422
223 --- 423
223 --- 424
@ -1306,98 +1306,96 @@ flowchart LR
223 --- 434
358 <--x 224
386 <--x 224
400 <--x 224
399 <--x 224
353 <--x 225
389 <--x 225
394 <--x 225
393 <--x 225
345 <--x 226
392 <--x 226
395 <--x 226
391 <--x 226
394 <--x 226
350 <--x 227
386 <--x 227
398 <--x 227
397 <--x 227
343 <--x 228
388 <--x 228
396 <--x 228
395 <--x 228
344 <--x 229
387 <--x 229
401 <--x 229
400 <--x 229
348 <--x 230
390 <--x 230
397 <--x 230
389 <--x 230
396 <--x 230
349 <--x 231
393 <--x 231
397 <--x 231
392 <--x 231
396 <--x 231
354 <--x 232
389 <--x 232
390 <--x 232
351 <--x 233
393 <--x 233
400 <--x 233
392 <--x 233
399 <--x 233
346 <--x 234
391 <--x 234
402 <--x 234
390 <--x 234
401 <--x 234
352 <--x 235
387 <--x 235
391 <--x 235
390 <--x 235
342 <--x 236
398 <--x 236
402 <--x 236
397 <--x 236
401 <--x 236
356 <--x 237
394 <--x 237
396 <--x 237
393 <--x 237
395 <--x 237
357 <--x 238
388 <--x 238
392 <--x 238
391 <--x 238
355 <--x 239
395 <--x 239
399 <--x 239
394 <--x 239
398 <--x 239
347 <--x 240
399 <--x 240
401 <--x 240
398 <--x 240
400 <--x 240
359 <--x 241
403 <--x 241
404 <--x 242
406 <--x 242
402 <--x 241
403 <--x 242
405 <--x 242
404 <--x 243
405 <--x 243
406 <--x 243
405 <--x 244
407 <--x 244
404 <--x 245
407 <--x 245
404 <--x 244
406 <--x 244
403 <--x 245
406 <--x 245
360 <--x 246
408 <--x 246
407 <--x 246
361 <--x 247
409 <--x 247
410 <--x 248
416 <--x 248
410 <--x 249
413 <--x 249
414 <--x 250
418 <--x 250
411 <--x 251
417 <--x 251
413 <--x 252
415 <--x 252
412 <--x 253
414 <--x 253
408 <--x 247
409 <--x 248
415 <--x 248
409 <--x 249
412 <--x 249
413 <--x 250
417 <--x 250
410 <--x 251
416 <--x 251
412 <--x 252
414 <--x 252
411 <--x 253
413 <--x 253
410 <--x 254
411 <--x 254
412 <--x 254
415 <--x 255
416 <--x 255
417 <--x 255
415 <--x 256
418 <--x 256
414 <--x 256
417 <--x 256
362 <--x 257
419 <--x 257
418 <--x 257
363 <--x 258
420 <--x 258
419 <--x 258
364 <--x 259
421 <--x 259
420 <--x 259
430 <--x 260
431 <--x 260
428 <--x 261
434 <--x 261
422 <--x 262
421 <--x 262
426 <--x 262
425 <--x 263
433 <--x 263
@ -1407,13 +1405,15 @@ flowchart LR
434 <--x 265
423 <--x 266
427 <--x 266
422 <--x 267
421 <--x 267
424 <--x 267
423 <--x 268
424 <--x 268
422 <--x 269
427 <--x 269
431 <--x 270
433 <--x 270
422 <--x 271
425 <--x 271
428 <--x 272
432 <--x 272

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart cold-plate.kcl
extension: md
snapshot_kind: binary
---

View File

@ -0,0 +1,180 @@
```mermaid
flowchart LR
subgraph path7 [Path]
7["Path<br>[577, 617, 0]"]
12["Segment<br>[623, 670, 0]"]
13["Segment<br>[676, 705, 0]"]
14["Segment<br>[711, 764, 0]"]
15["Segment<br>[770, 798, 0]"]
16["Segment<br>[804, 863, 0]"]
17["Segment<br>[869, 912, 0]"]
18["Segment<br>[918, 971, 0]"]
19["Segment<br>[977, 1019, 0]"]
20["Segment<br>[1025, 1072, 0]"]
21["Segment<br>[1078, 1128, 0]"]
22["Segment<br>[1134, 1196, 0]"]
23["Segment<br>[1202, 1253, 0]"]
24["Segment<br>[1259, 1281, 0]"]
25["Segment<br>[1287, 1309, 0]"]
26["Segment<br>[1339, 1346, 0]"]
43[Solid2d]
end
subgraph path8 [Path]
8["Path<br>[1517, 1560, 0]"]
27["Segment<br>[1566, 1601, 0]"]
28["Segment<br>[1607, 1668, 0]"]
29["Segment<br>[1674, 1743, 0]"]
30["Segment<br>[1749, 1811, 0]"]
31["Segment<br>[1817, 1880, 0]"]
32["Segment<br>[1886, 1947, 0]"]
33["Segment<br>[1953, 2016, 0]"]
end
subgraph path9 [Path]
9["Path<br>[2162, 2237, 0]"]
34["Segment<br>[2162, 2237, 0]"]
41[Solid2d]
end
subgraph path10 [Path]
10["Path<br>[2264, 2355, 0]"]
35["Segment<br>[2264, 2355, 0]"]
44[Solid2d]
end
subgraph path11 [Path]
11["Path<br>[2552, 2584, 0]"]
36["Segment<br>[2590, 2680, 0]"]
37["Segment<br>[2686, 2723, 0]"]
38["Segment<br>[2729, 2882, 0]"]
39["Segment<br>[2888, 2944, 0]"]
40["Segment<br>[2950, 2957, 0]"]
42[Solid2d]
end
1["Plane<br>[554, 571, 0]"]
2["Plane<br>[1472, 1510, 0]"]
3["Plane<br>[2124, 2155, 0]"]
4["Plane<br>[2529, 2546, 0]"]
5["StartSketchOnPlane<br>[2110, 2156, 0]"]
6["StartSketchOnPlane<br>[1458, 1511, 0]"]
45["Sweep Extrusion<br>[1352, 1390, 0]"]
46["Sweep Sweep<br>[2362, 2390, 0]"]
47["Sweep Extrusion<br>[2963, 3001, 0]"]
48[Wall]
49[Wall]
50[Wall]
51[Wall]
52[Wall]
53["Cap Start"]
54["Cap Start"]
55["Cap Start"]
56["Cap End"]
57["SweepEdge Opposite"]
58["SweepEdge Opposite"]
59["SweepEdge Opposite"]
60["SweepEdge Opposite"]
61["SweepEdge Opposite"]
62["SweepEdge Adjacent"]
63["SweepEdge Adjacent"]
64["SweepEdge Adjacent"]
65["SweepEdge Adjacent"]
66["SweepEdge Adjacent"]
1 --- 7
2 <--x 6
2 --- 8
3 <--x 5
3 --- 9
3 --- 10
4 --- 11
7 --- 12
7 --- 13
7 --- 14
7 --- 15
7 --- 16
7 --- 17
7 --- 18
7 --- 19
7 --- 20
7 --- 21
7 --- 22
7 --- 23
7 --- 24
7 --- 25
7 --- 26
7 --- 43
7 ---- 45
8 --- 27
8 --- 28
8 --- 29
8 --- 30
8 --- 31
8 --- 32
8 --- 33
9 --- 34
9 --- 41
9 ---- 46
10 --- 35
10 --- 44
11 --- 36
11 --- 37
11 --- 38
11 --- 39
11 --- 40
11 --- 42
11 ---- 47
34 --- 48
34 x--> 54
34 --- 57
34 --- 62
36 --- 52
36 x--> 55
36 --- 61
36 --- 64
37 --- 50
37 x--> 55
37 --- 60
37 --- 65
38 --- 49
38 x--> 55
38 --- 58
38 --- 63
39 --- 51
39 x--> 55
39 --- 59
39 --- 66
46 --- 48
46 --- 53
46 --- 54
46 --- 57
46 --- 62
47 --- 49
47 --- 50
47 --- 51
47 --- 52
47 --- 55
47 --- 56
47 --- 58
47 --- 59
47 --- 60
47 --- 61
47 --- 63
47 --- 64
47 --- 65
47 --- 66
57 <--x 48
62 <--x 48
58 <--x 49
63 <--x 49
65 <--x 49
60 <--x 50
64 <--x 50
65 <--x 50
59 <--x 51
63 <--x 51
66 <--x 51
61 <--x 52
64 <--x 52
66 <--x 52
57 <--x 53
58 <--x 56
59 <--x 56
60 <--x 56
61 <--x 56
```

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,341 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Operations executed cold-plate.kcl
---
[
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
{
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": 10.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
},
"symmetric": {
"value": {
"type": "Bool",
"value": true
},
"sourceRange": []
}
},
"name": "extrude",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
{
"type": "KclStdLibCall",
"name": "offsetPlane",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
},
"labeledArgs": {
"offset": {
"value": {
"type": "Number",
"value": 0.625,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
}
},
"sourceRange": []
},
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
{
"type": "KclStdLibCall",
"name": "offsetPlane",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
},
"labeledArgs": {
"offset": {
"value": {
"type": "Number",
"value": -7.35,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
}
},
"sourceRange": []
},
{
"labeledArgs": {
"tool": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
"name": "subtract2d",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"path": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
"name": "sweep",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
{
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": 10.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
},
"symmetric": {
"value": {
"type": "Bool",
"value": true
},
"sourceRange": []
}
},
"name": "extrude",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"axis": {
"value": {
"type": "Array",
"value": [
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": -1.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
}
]
},
"sourceRange": []
},
"distance": {
"value": {
"type": "Number",
"value": 2.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
},
"instances": {
"value": {
"type": "Number",
"value": 4.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
}
},
"name": "patternLinear3d",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
}
]

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@ -987,19 +987,19 @@ flowchart LR
106 --- 391
106 --- 447
120 --- 304
120 x--> 373
120 x--> 372
120 --- 388
120 --- 442
123 --- 305
123 x--> 373
123 x--> 372
123 --- 386
123 --- 445
124 --- 302
124 x--> 373
124 x--> 372
124 --- 389
124 --- 444
126 --- 303
126 x--> 373
126 x--> 372
126 --- 387
126 --- 443
137 --- 308
@ -1066,11 +1066,11 @@ flowchart LR
194 --- 435
194 --- 504
215 --- 325
215 x--> 375
215 x--> 374
215 --- 409
215 --- 465
216 --- 326
216 x--> 356
216 x--> 357
216 --- 410
216 --- 466
227 --- 296
@ -1078,7 +1078,7 @@ flowchart LR
227 --- 380
227 --- 436
228 --- 297
228 x--> 363
228 x--> 364
228 --- 381
228 --- 437
229 --- 349
@ -1427,7 +1427,7 @@ flowchart LR
430 <--x 349
392 <--x 352
424 <--x 354
410 <--x 357
410 <--x 356
401 <--x 358
402 <--x 358
403 <--x 358
@ -1436,7 +1436,7 @@ flowchart LR
406 <--x 358
407 <--x 358
408 <--x 358
381 <--x 364
381 <--x 363
393 <--x 365
394 <--x 365
395 <--x 365
@ -1469,11 +1469,11 @@ flowchart LR
426 <--x 371
427 <--x 371
428 <--x 371
386 <--x 372
387 <--x 372
388 <--x 372
389 <--x 372
409 <--x 374
386 <--x 373
387 <--x 373
388 <--x 373
389 <--x 373
409 <--x 375
430 <--x 376
431 <--x 376
432 <--x 376

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart hammer.kcl
extension: md
snapshot_kind: binary
---

View File

@ -0,0 +1,902 @@
```mermaid
flowchart LR
subgraph path8 [Path]
8["Path<br>[266, 298, 0]"]
15["Segment<br>[304, 323, 0]"]
16["Segment<br>[329, 371, 0]"]
17["Segment<br>[377, 433, 0]"]
18["Segment<br>[439, 496, 0]"]
19["Segment<br>[502, 561, 0]"]
20["Segment<br>[567, 624, 0]"]
21["Segment<br>[630, 673, 0]"]
22["Segment<br>[679, 699, 0]"]
23["Segment<br>[705, 744, 0]"]
24["Segment<br>[750, 786, 0]"]
25["Segment<br>[792, 831, 0]"]
26["Segment<br>[837, 870, 0]"]
27["Segment<br>[876, 912, 0]"]
28["Segment<br>[918, 972, 0]"]
29["Segment<br>[978, 1015, 0]"]
30["Segment<br>[1021, 1028, 0]"]
75[Solid2d]
end
subgraph path9 [Path]
9["Path<br>[1193, 1238, 0]"]
31["Segment<br>[1244, 1300, 0]"]
32["Segment<br>[1306, 1396, 0]"]
33["Segment<br>[1402, 1437, 0]"]
34["Segment<br>[1443, 1552, 0]"]
35["Segment<br>[1558, 1600, 0]"]
36["Segment<br>[1606, 1643, 0]"]
37["Segment<br>[1649, 1705, 0]"]
38["Segment<br>[1711, 1718, 0]"]
72[Solid2d]
end
subgraph path10 [Path]
10["Path<br>[1757, 1805, 0]"]
39["Segment<br>[1811, 1848, 0]"]
40["Segment<br>[1854, 1896, 0]"]
41["Segment<br>[1902, 1958, 0]"]
42["Segment<br>[1964, 2030, 0]"]
43["Segment<br>[2036, 2092, 0]"]
44["Segment<br>[2098, 2105, 0]"]
73[Solid2d]
end
subgraph path11 [Path]
11["Path<br>[2149, 2193, 0]"]
45["Segment<br>[2199, 2254, 0]"]
46["Segment<br>[2260, 2352, 0]"]
47["Segment<br>[2358, 2393, 0]"]
48["Segment<br>[2399, 2508, 0]"]
49["Segment<br>[2514, 2555, 0]"]
50["Segment<br>[2561, 2598, 0]"]
51["Segment<br>[2604, 2660, 0]"]
52["Segment<br>[2666, 2673, 0]"]
74[Solid2d]
end
subgraph path12 [Path]
12["Path<br>[3050, 3142, 0]"]
53["Segment<br>[3050, 3142, 0]"]
54["Segment<br>[3050, 3142, 0]"]
55["Segment<br>[3050, 3142, 0]"]
56["Segment<br>[3050, 3142, 0]"]
57["Segment<br>[3050, 3142, 0]"]
58["Segment<br>[3050, 3142, 0]"]
59["Segment<br>[3050, 3142, 0]"]
60["Segment<br>[3050, 3142, 0]"]
61["Segment<br>[3050, 3142, 0]"]
62["Segment<br>[3050, 3142, 0]"]
63["Segment<br>[3050, 3142, 0]"]
76[Solid2d]
end
subgraph path13 [Path]
13["Path<br>[3331, 3382, 0]"]
64["Segment<br>[3331, 3382, 0]"]
78[Solid2d]
end
subgraph path14 [Path]
14["Path<br>[3814, 3842, 0]"]
65["Segment<br>[3848, 3873, 0]"]
66["Segment<br>[3879, 3919, 0]"]
67["Segment<br>[3925, 3974, 0]"]
68["Segment<br>[3980, 4021, 0]"]
69["Segment<br>[4027, 4064, 0]"]
70["Segment<br>[4070, 4126, 0]"]
71["Segment<br>[4132, 4139, 0]"]
77[Solid2d]
end
1["Plane<br>[243, 260, 0]"]
2["Plane<br>[1149, 1177, 0]"]
3["Plane<br>[3027, 3044, 0]"]
4["Plane<br>[3294, 3324, 0]"]
5["Plane<br>[3791, 3808, 0]"]
6["StartSketchOnPlane<br>[1135, 1178, 0]"]
7["StartSketchOnPlane<br>[3280, 3325, 0]"]
79["Sweep Extrusion<br>[1034, 1071, 0]"]
80["Sweep Extrusion<br>[1724, 1745, 0]"]
81["Sweep Extrusion<br>[2111, 2132, 0]"]
82["Sweep Extrusion<br>[2679, 2700, 0]"]
83["Sweep Extrusion<br>[3148, 3168, 0]"]
84["Sweep Extrusion<br>[3388, 3432, 0]"]
85["Sweep Revolve<br>[4149, 4193, 0]"]
86["CompositeSolid Union<br>[3633, 3668, 0]"]
87["CompositeSolid Union<br>[2870, 2900, 0]"]
88["CompositeSolid Subtract<br>[2798, 2910, 0]"]
89["CompositeSolid Subtract<br>[3674, 3704, 0]"]
90["CompositeSolid Union<br>[2845, 2903, 0]"]
91[Wall]
92[Wall]
93[Wall]
94[Wall]
95[Wall]
96[Wall]
97[Wall]
98[Wall]
99[Wall]
100[Wall]
101[Wall]
102[Wall]
103[Wall]
104[Wall]
105[Wall]
106[Wall]
107[Wall]
108[Wall]
109[Wall]
110[Wall]
111[Wall]
112[Wall]
113[Wall]
114[Wall]
115[Wall]
116[Wall]
117[Wall]
118[Wall]
119[Wall]
120[Wall]
121[Wall]
122[Wall]
123[Wall]
124[Wall]
125[Wall]
126[Wall]
127[Wall]
128[Wall]
129[Wall]
130[Wall]
131[Wall]
132[Wall]
133[Wall]
134[Wall]
135[Wall]
136[Wall]
137[Wall]
138[Wall]
139[Wall]
140[Wall]
141[Wall]
142["Cap Start"]
143["Cap Start"]
144["Cap Start"]
145["Cap Start"]
146["Cap Start"]
147["Cap Start"]
148["Cap End"]
149["Cap End"]
150["Cap End"]
151["Cap End"]
152["Cap End"]
153["Cap End"]
154["SweepEdge Opposite"]
155["SweepEdge Opposite"]
156["SweepEdge Opposite"]
157["SweepEdge Opposite"]
158["SweepEdge Opposite"]
159["SweepEdge Opposite"]
160["SweepEdge Opposite"]
161["SweepEdge Opposite"]
162["SweepEdge Opposite"]
163["SweepEdge Opposite"]
164["SweepEdge Opposite"]
165["SweepEdge Opposite"]
166["SweepEdge Opposite"]
167["SweepEdge Opposite"]
168["SweepEdge Opposite"]
169["SweepEdge Opposite"]
170["SweepEdge Opposite"]
171["SweepEdge Opposite"]
172["SweepEdge Opposite"]
173["SweepEdge Opposite"]
174["SweepEdge Opposite"]
175["SweepEdge Opposite"]
176["SweepEdge Opposite"]
177["SweepEdge Opposite"]
178["SweepEdge Opposite"]
179["SweepEdge Opposite"]
180["SweepEdge Opposite"]
181["SweepEdge Opposite"]
182["SweepEdge Opposite"]
183["SweepEdge Opposite"]
184["SweepEdge Opposite"]
185["SweepEdge Opposite"]
186["SweepEdge Opposite"]
187["SweepEdge Opposite"]
188["SweepEdge Opposite"]
189["SweepEdge Opposite"]
190["SweepEdge Opposite"]
191["SweepEdge Opposite"]
192["SweepEdge Opposite"]
193["SweepEdge Opposite"]
194["SweepEdge Opposite"]
195["SweepEdge Opposite"]
196["SweepEdge Opposite"]
197["SweepEdge Opposite"]
198["SweepEdge Opposite"]
199["SweepEdge Adjacent"]
200["SweepEdge Adjacent"]
201["SweepEdge Adjacent"]
202["SweepEdge Adjacent"]
203["SweepEdge Adjacent"]
204["SweepEdge Adjacent"]
205["SweepEdge Adjacent"]
206["SweepEdge Adjacent"]
207["SweepEdge Adjacent"]
208["SweepEdge Adjacent"]
209["SweepEdge Adjacent"]
210["SweepEdge Adjacent"]
211["SweepEdge Adjacent"]
212["SweepEdge Adjacent"]
213["SweepEdge Adjacent"]
214["SweepEdge Adjacent"]
215["SweepEdge Adjacent"]
216["SweepEdge Adjacent"]
217["SweepEdge Adjacent"]
218["SweepEdge Adjacent"]
219["SweepEdge Adjacent"]
220["SweepEdge Adjacent"]
221["SweepEdge Adjacent"]
222["SweepEdge Adjacent"]
223["SweepEdge Adjacent"]
224["SweepEdge Adjacent"]
225["SweepEdge Adjacent"]
226["SweepEdge Adjacent"]
227["SweepEdge Adjacent"]
228["SweepEdge Adjacent"]
229["SweepEdge Adjacent"]
230["SweepEdge Adjacent"]
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["SweepEdge Adjacent"]
243["SweepEdge Adjacent"]
244["SweepEdge Adjacent"]
245["SweepEdge Adjacent"]
246["SweepEdge Adjacent"]
247["SweepEdge Adjacent"]
248["SweepEdge Adjacent"]
249["EdgeCut Fillet<br>[3438, 3552, 0]"]
1 --- 8
2 <--x 6
2 --- 9
2 --- 10
2 --- 11
3 --- 12
4 <--x 7
4 --- 13
5 --- 14
8 --- 15
8 --- 16
8 --- 17
8 --- 18
8 --- 19
8 --- 20
8 --- 21
8 --- 22
8 --- 23
8 --- 24
8 --- 25
8 --- 26
8 --- 27
8 --- 28
8 --- 29
8 --- 30
8 --- 75
8 ---- 79
8 --- 88
9 --- 31
9 --- 32
9 --- 33
9 --- 34
9 --- 35
9 --- 36
9 --- 37
9 --- 38
9 --- 72
9 ---- 80
9 --- 90
10 --- 39
10 --- 40
10 --- 41
10 --- 42
10 --- 43
10 --- 44
10 --- 73
10 ---- 81
10 --- 87
11 --- 45
11 --- 46
11 --- 47
11 --- 48
11 --- 49
11 --- 50
11 --- 51
11 --- 52
11 --- 74
11 ---- 82
11 --- 87
12 --- 53
12 --- 54
12 --- 55
12 --- 56
12 --- 57
12 --- 58
12 --- 59
12 --- 60
12 --- 61
12 --- 62
12 --- 63
12 --- 76
12 ---- 83
12 --- 89
13 --- 64
13 --- 78
13 ---- 84
13 --- 86
14 --- 65
14 --- 66
14 --- 67
14 --- 68
14 --- 69
14 --- 70
14 --- 71
14 --- 77
14 ---- 85
15 --- 112
15 x--> 146
15 --- 173
15 --- 216
16 --- 108
16 x--> 146
16 --- 164
16 --- 222
17 --- 107
17 x--> 146
17 --- 171
17 --- 217
18 --- 109
18 x--> 146
18 --- 174
18 --- 214
19 --- 105
19 x--> 146
19 --- 167
19 --- 221
20 --- 104
20 x--> 146
20 --- 176
20 --- 210
21 --- 111
21 x--> 146
21 --- 172
21 --- 220
22 --- 114
22 x--> 146
22 --- 170
22 --- 218
23 --- 113
23 x--> 146
23 --- 175
23 --- 219
24 --- 102
24 x--> 146
24 --- 168
24 --- 209
25 --- 103
25 x--> 146
25 --- 177
25 --- 223
26 --- 115
26 x--> 146
26 --- 169
26 --- 212
27 --- 110
27 x--> 146
27 --- 166
27 --- 215
28 --- 106
28 x--> 146
28 --- 178
28 --- 213
29 --- 101
29 x--> 146
29 --- 165
29 --- 211
31 --- 127
31 x--> 153
31 --- 188
31 --- 235
32 --- 121
32 x--> 153
32 --- 190
32 --- 232
33 --- 126
33 x--> 153
33 --- 184
33 --- 234
34 --- 124
34 x--> 153
34 --- 187
34 --- 230
35 --- 123
35 x--> 153
35 --- 186
35 --- 233
36 --- 122
36 x--> 153
36 --- 189
36 --- 229
37 --- 125
37 x--> 153
37 --- 185
37 --- 231
39 --- 118
39 x--> 149
39 --- 181
39 --- 226
40 --- 117
40 x--> 149
40 --- 183
40 --- 224
41 --- 116
41 x--> 149
41 --- 179
41 --- 228
42 --- 119
42 x--> 149
42 --- 182
42 --- 227
43 --- 120
43 x--> 149
43 --- 180
43 --- 225
45 --- 133
45 x--> 151
45 --- 192
45 --- 242
46 --- 131
46 x--> 151
46 --- 197
46 --- 238
47 --- 132
47 x--> 151
47 --- 191
47 --- 236
48 --- 130
48 x--> 151
48 --- 194
48 --- 240
49 --- 129
49 x--> 151
49 --- 193
49 --- 237
50 --- 134
50 x--> 151
50 --- 196
50 --- 239
51 --- 128
51 x--> 151
51 --- 195
51 --- 241
53 --- 91
53 x--> 142
53 --- 160
53 --- 208
54 --- 92
54 x--> 142
54 --- 161
54 --- 207
55 --- 93
55 x--> 142
55 --- 156
55 --- 200
56 --- 94
56 x--> 142
56 --- 157
56 --- 203
57 --- 95
57 x--> 142
57 --- 159
57 --- 201
59 --- 96
59 x--> 142
59 --- 155
59 --- 202
60 --- 97
60 x--> 142
60 --- 154
60 --- 205
61 --- 98
61 x--> 142
61 --- 158
61 --- 204
62 --- 99
62 x--> 142
62 --- 162
62 --- 206
63 --- 100
63 x--> 142
63 --- 163
63 --- 199
64 --- 141
64 x--> 144
64 --- 198
64 --- 248
64 --- 249
85 <--x 65
65 --- 135
65 x--> 247
85 <--x 66
66 --- 137
66 --- 247
85 <--x 67
67 --- 140
67 --- 245
85 <--x 68
68 --- 136
68 --- 244
85 <--x 69
69 --- 139
69 --- 246
85 <--x 70
70 --- 138
70 --- 243
79 --- 101
79 --- 102
79 --- 103
79 --- 104
79 --- 105
79 --- 106
79 --- 107
79 --- 108
79 --- 109
79 --- 110
79 --- 111
79 --- 112
79 --- 113
79 --- 114
79 --- 115
79 --- 146
79 --- 152
79 --- 164
79 --- 165
79 --- 166
79 --- 167
79 --- 168
79 --- 169
79 --- 170
79 --- 171
79 --- 172
79 --- 173
79 --- 174
79 --- 175
79 --- 176
79 --- 177
79 --- 178
79 --- 209
79 --- 210
79 --- 211
79 --- 212
79 --- 213
79 --- 214
79 --- 215
79 --- 216
79 --- 217
79 --- 218
79 --- 219
79 --- 220
79 --- 221
79 --- 222
79 --- 223
80 --- 121
80 --- 122
80 --- 123
80 --- 124
80 --- 125
80 --- 126
80 --- 127
80 --- 147
80 --- 153
80 --- 184
80 --- 185
80 --- 186
80 --- 187
80 --- 188
80 --- 189
80 --- 190
80 --- 229
80 --- 230
80 --- 231
80 --- 232
80 --- 233
80 --- 234
80 --- 235
81 --- 116
81 --- 117
81 --- 118
81 --- 119
81 --- 120
81 --- 143
81 --- 149
81 --- 179
81 --- 180
81 --- 181
81 --- 182
81 --- 183
81 --- 224
81 --- 225
81 --- 226
81 --- 227
81 --- 228
82 --- 128
82 --- 129
82 --- 130
82 --- 131
82 --- 132
82 --- 133
82 --- 134
82 --- 145
82 --- 151
82 --- 191
82 --- 192
82 --- 193
82 --- 194
82 --- 195
82 --- 196
82 --- 197
82 --- 236
82 --- 237
82 --- 238
82 --- 239
82 --- 240
82 --- 241
82 --- 242
83 --- 91
83 --- 92
83 --- 93
83 --- 94
83 --- 95
83 --- 96
83 --- 97
83 --- 98
83 --- 99
83 --- 100
83 --- 142
83 --- 148
83 --- 154
83 --- 155
83 --- 156
83 --- 157
83 --- 158
83 --- 159
83 --- 160
83 --- 161
83 --- 162
83 --- 163
83 --- 199
83 --- 200
83 --- 201
83 --- 202
83 --- 203
83 --- 204
83 --- 205
83 --- 206
83 --- 207
83 --- 208
84 --- 141
84 --- 144
84 --- 150
84 --- 198
84 --- 248
85 --- 135
85 --- 136
85 --- 137
85 --- 138
85 --- 139
85 --- 140
85 --- 243
85 --- 244
85 --- 245
85 --- 246
85 --- 247
88 --- 86
86 --- 89
87 --- 90
90 --- 88
160 <--x 91
204 <--x 91
208 <--x 91
161 <--x 92
200 <--x 92
207 <--x 92
156 <--x 93
199 <--x 93
200 <--x 93
157 <--x 94
201 <--x 94
203 <--x 94
159 <--x 95
201 <--x 95
202 <--x 95
155 <--x 96
202 <--x 96
205 <--x 96
154 <--x 97
205 <--x 97
206 <--x 97
158 <--x 98
203 <--x 98
204 <--x 98
162 <--x 99
206 <--x 99
207 <--x 99
163 <--x 100
199 <--x 100
208 <--x 100
165 <--x 101
211 <--x 101
213 <--x 101
168 <--x 102
209 <--x 102
219 <--x 102
177 <--x 103
209 <--x 103
223 <--x 103
176 <--x 104
210 <--x 104
221 <--x 104
167 <--x 105
214 <--x 105
221 <--x 105
178 <--x 106
213 <--x 106
215 <--x 106
171 <--x 107
217 <--x 107
222 <--x 107
164 <--x 108
216 <--x 108
222 <--x 108
174 <--x 109
214 <--x 109
217 <--x 109
166 <--x 110
212 <--x 110
215 <--x 110
172 <--x 111
210 <--x 111
220 <--x 111
173 <--x 112
211 <--x 112
216 <--x 112
175 <--x 113
218 <--x 113
219 <--x 113
170 <--x 114
218 <--x 114
220 <--x 114
169 <--x 115
212 <--x 115
223 <--x 115
179 <--x 116
224 <--x 116
228 <--x 116
183 <--x 117
224 <--x 117
226 <--x 117
181 <--x 118
225 <--x 118
226 <--x 118
182 <--x 119
227 <--x 119
228 <--x 119
180 <--x 120
225 <--x 120
227 <--x 120
190 <--x 121
232 <--x 121
235 <--x 121
189 <--x 122
229 <--x 122
233 <--x 122
186 <--x 123
230 <--x 123
233 <--x 123
187 <--x 124
230 <--x 124
234 <--x 124
185 <--x 125
229 <--x 125
231 <--x 125
184 <--x 126
232 <--x 126
234 <--x 126
188 <--x 127
231 <--x 127
235 <--x 127
195 <--x 128
239 <--x 128
241 <--x 128
193 <--x 129
237 <--x 129
240 <--x 129
194 <--x 130
236 <--x 130
240 <--x 130
197 <--x 131
238 <--x 131
242 <--x 131
191 <--x 132
236 <--x 132
238 <--x 132
192 <--x 133
241 <--x 133
242 <--x 133
196 <--x 134
237 <--x 134
239 <--x 134
243 <--x 135
247 <--x 135
244 <--x 136
245 <--x 136
247 <--x 137
243 <--x 138
246 <--x 138
244 <--x 139
246 <--x 139
245 <--x 140
198 <--x 141
248 <--x 141
179 <--x 143
180 <--x 143
181 <--x 143
182 <--x 143
183 <--x 143
191 <--x 145
192 <--x 145
193 <--x 145
194 <--x 145
195 <--x 145
196 <--x 145
197 <--x 145
184 <--x 147
185 <--x 147
186 <--x 147
187 <--x 147
188 <--x 147
189 <--x 147
190 <--x 147
154 <--x 148
155 <--x 148
156 <--x 148
157 <--x 148
158 <--x 148
159 <--x 148
160 <--x 148
161 <--x 148
162 <--x 148
163 <--x 148
198 <--x 150
164 <--x 152
165 <--x 152
166 <--x 152
167 <--x 152
168 <--x 152
169 <--x 152
170 <--x 152
171 <--x 152
172 <--x 152
173 <--x 152
174 <--x 152
175 <--x 152
176 <--x 152
177 <--x 152
178 <--x 152
```

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,631 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Operations executed hammer.kcl
---
[
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
{
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": 3.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
},
"symmetric": {
"value": {
"type": "Bool",
"value": true
},
"sourceRange": []
}
},
"name": "extrude",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
{
"type": "KclStdLibCall",
"name": "offsetPlane",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
},
"labeledArgs": {
"offset": {
"value": {
"type": "Number",
"value": 13.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
}
},
"sourceRange": []
},
{
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": -14.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
}
},
"name": "extrude",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": -14.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
}
},
"name": "extrude",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": -14.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
}
},
"name": "extrude",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"tools": {
"value": {
"type": "Array",
"value": [
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
"name": "subtract",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "union",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "union",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
{
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": 14.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
}
},
"name": "extrude",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
{
"type": "KclStdLibCall",
"name": "offsetPlane",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
},
"labeledArgs": {
"offset": {
"value": {
"type": "Number",
"value": 11.5,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
}
},
"sourceRange": []
},
{
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": 1.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
},
"tagStart": {
"value": {
"type": "TagDeclarator",
"name": "capStart001"
},
"sourceRange": []
}
},
"name": "extrude",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"type": "KclStdLibCall",
"name": "fillet",
"unlabeledArg": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
},
"labeledArgs": {
"radius": {
"value": {
"type": "Number",
"value": 0.05,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
},
"tags": {
"value": {
"type": "Array",
"value": [
{
"type": "Uuid",
"value": "[uuid]"
}
]
},
"sourceRange": []
}
},
"sourceRange": []
},
{
"labeledArgs": {},
"name": "union",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
{
"labeledArgs": {
"tools": {
"value": {
"type": "Array",
"value": [
{
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
"name": "subtract",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
{
"type": "KclStdLibCall",
"name": "revolve",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
},
"labeledArgs": {
"angle": {
"value": {
"type": "Number",
"value": 360.0,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
},
"axis": {
"value": {
"type": "Object",
"value": {
"direction": {
"type": "Array",
"value": [
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 1.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
}
]
},
"origin": {
"type": "Array",
"value": [
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
}
]
}
}
},
"sourceRange": []
}
},
"sourceRange": []
}
]

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -632,7 +632,7 @@ description: Artifact commands helical-gear.kcl
"end_radius": 23.0,
"angle": {
"unit": "degrees",
"value": -91.27233528099597
"value": -91.27233528099592
},
"reverse": true
}

View File

@ -746,7 +746,7 @@ description: Artifact commands helical-planetary-gearset.kcl
"type": "move_path_pen",
"path": "[uuid]",
"to": {
"x": 1.9390985478752734,
"x": 1.9390985478752714,
"y": 8.514650570188689,
"z": 0.0
}
@ -772,7 +772,7 @@ description: Artifact commands helical-planetary-gearset.kcl
"type": "move_path_pen",
"path": "[uuid]",
"to": {
"x": -0.9695492739376349,
"x": -0.9695492739376368,
"y": 8.678672232328719,
"z": 0.0
}
@ -977,7 +977,7 @@ description: Artifact commands helical-planetary-gearset.kcl
"end_radius": 10.5,
"angle": {
"unit": "degrees",
"value": 77.17045767129221
"value": 77.17045767129224
},
"reverse": false
}
@ -1013,7 +1013,7 @@ description: Artifact commands helical-planetary-gearset.kcl
"end_radius": 10.5,
"angle": {
"unit": "degrees",
"value": 96.3744421764834
"value": 96.37444217648343
},
"reverse": false
}
@ -1187,7 +1187,7 @@ description: Artifact commands helical-planetary-gearset.kcl
"end_radius": 10.5,
"angle": {
"unit": "degrees",
"value": -95.26661676641692
"value": -95.26661676641686
},
"reverse": true
}
@ -6407,7 +6407,7 @@ description: Artifact commands helical-planetary-gearset.kcl
"type": "move_path_pen",
"path": "[uuid]",
"to": {
"x": -2.159450655588366,
"x": -2.159450655588373,
"y": 30.487934455669738,
"z": 0.0
}

View File

@ -378,7 +378,7 @@ description: Operations executed helical-planetary-gearset.kcl
"angle": {
"value": {
"type": "Number",
"value": 1.3468785716349652,
"value": 1.3468785716349654,
"ty": {
"type": "Known",
"type": "Angle",
@ -458,7 +458,7 @@ description: Operations executed helical-planetary-gearset.kcl
"angle": {
"value": {
"type": "Number",
"value": 1.6820513307525256,
"value": 1.6820513307525258,
"ty": {
"type": "Known",
"type": "Angle",
@ -618,7 +618,7 @@ description: Operations executed helical-planetary-gearset.kcl
"angle": {
"value": {
"type": "Number",
"value": 1.5795891385675425,
"value": 1.5795891385675427,
"ty": {
"type": "Known",
"type": "Angle",
@ -698,7 +698,7 @@ description: Operations executed helical-planetary-gearset.kcl
"angle": {
"value": {
"type": "Number",
"value": 1.9147618976851029,
"value": 1.914761897685103,
"ty": {
"type": "Known",
"type": "Angle",
@ -1609,7 +1609,7 @@ description: Operations executed helical-planetary-gearset.kcl
"angle": {
"value": {
"type": "Number",
"value": 1.641507915383644,
"value": 1.6415079153836443,
"ty": {
"type": "Known",
"type": "Angle",
@ -1849,7 +1849,7 @@ description: Operations executed helical-planetary-gearset.kcl
"angle": {
"value": {
"type": "Number",
"value": 1.7911075655545865,
"value": 1.7911075655545867,
"ty": {
"type": "Known",
"type": "Angle",

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart helium-tank.kcl
extension: md
snapshot_kind: binary
---

View File

@ -0,0 +1,539 @@
```mermaid
flowchart LR
subgraph path15 [Path]
15["Path<br>[478, 527, 0]"]
26["Segment<br>[533, 553, 0]"]
27["Segment<br>[559, 578, 0]"]
28["Segment<br>[584, 625, 0]"]
29["Segment<br>[631, 670, 0]"]
30["Segment<br>[676, 717, 0]"]
31["Segment<br>[723, 763, 0]"]
32["Segment<br>[769, 850, 0]"]
33["Segment<br>[856, 929, 0]"]
34["Segment<br>[935, 987, 0]"]
35["Segment<br>[993, 1068, 0]"]
36["Segment<br>[1074, 1103, 0]"]
37["Segment<br>[1109, 1138, 0]"]
38["Segment<br>[1144, 1197, 0]"]
39["Segment<br>[1203, 1232, 0]"]
40["Segment<br>[1238, 1312, 0]"]
41["Segment<br>[1318, 1360, 0]"]
42["Segment<br>[1366, 1403, 0]"]
43["Segment<br>[1409, 1465, 0]"]
44["Segment<br>[1471, 1478, 0]"]
72[Solid2d]
end
subgraph path16 [Path]
16["Path<br>[1776, 1842, 0]"]
45["Segment<br>[1776, 1842, 0]"]
70[Solid2d]
end
subgraph path17 [Path]
17["Path<br>[2111, 2176, 0]"]
46["Segment<br>[2111, 2176, 0]"]
67[Solid2d]
end
subgraph path18 [Path]
18["Path<br>[2200, 2268, 0]"]
47["Segment<br>[2200, 2268, 0]"]
73[Solid2d]
end
subgraph path19 [Path]
19["Path<br>[2511, 2567, 0]"]
48["Segment<br>[2573, 2593, 0]"]
49["Segment<br>[2599, 2667, 0]"]
50["Segment<br>[2673, 2745, 0]"]
51["Segment<br>[2751, 2817, 0]"]
52["Segment<br>[2823, 2894, 0]"]
53["Segment<br>[2900, 2957, 0]"]
54["Segment<br>[2987, 2994, 0]"]
68[Solid2d]
end
subgraph path20 [Path]
20["Path<br>[3209, 3249, 0]"]
55["Segment<br>[3255, 3275, 0]"]
56["Segment<br>[3281, 3333, 0]"]
57["Segment<br>[3339, 3395, 0]"]
58["Segment<br>[3401, 3467, 0]"]
59["Segment<br>[3473, 3528, 0]"]
60["Segment<br>[3534, 3591, 0]"]
61["Segment<br>[3621, 3628, 0]"]
77[Solid2d]
end
subgraph path21 [Path]
21["Path<br>[3845, 3890, 0]"]
62["Segment<br>[3845, 3890, 0]"]
69[Solid2d]
end
subgraph path22 [Path]
22["Path<br>[3914, 3959, 0]"]
63["Segment<br>[3914, 3959, 0]"]
71[Solid2d]
end
subgraph path23 [Path]
23["Path<br>[4235, 4314, 0]"]
64["Segment<br>[4235, 4314, 0]"]
74[Solid2d]
end
subgraph path24 [Path]
24["Path<br>[4735, 4794, 0]"]
65["Segment<br>[4735, 4794, 0]"]
76[Solid2d]
end
subgraph path25 [Path]
25["Path<br>[4818, 4883, 0]"]
66["Segment<br>[4818, 4883, 0]"]
75[Solid2d]
end
1["Plane<br>[455, 472, 0]"]
2["Plane<br>[1727, 1769, 0]"]
3["Plane<br>[2088, 2105, 0]"]
4["Plane<br>[2461, 2504, 0]"]
5["Plane<br>[3159, 3202, 0]"]
6["Plane<br>[3795, 3838, 0]"]
7["Plane<br>[4183, 4228, 0]"]
8["Plane<br>[4685, 4728, 0]"]
9["StartSketchOnPlane<br>[2447, 2505, 0]"]
10["StartSketchOnPlane<br>[4671, 4729, 0]"]
11["StartSketchOnPlane<br>[1713, 1770, 0]"]
12["StartSketchOnPlane<br>[4169, 4229, 0]"]
13["StartSketchOnPlane<br>[3781, 3839, 0]"]
14["StartSketchOnPlane<br>[3145, 3203, 0]"]
78["Sweep Revolve<br>[1608, 1650, 0]"]
79["Sweep Extrusion<br>[1848, 1890, 0]"]
80["Sweep Extrusion<br>[2275, 2296, 0]"]
81["Sweep Extrusion<br>[3679, 3716, 0]"]
82["Sweep Extrusion<br>[3966, 4004, 0]"]
83["Sweep Extrusion<br>[4320, 4340, 0]"]
84["Sweep Extrusion<br>[4890, 4929, 0]"]
85["CompositeSolid Subtract<br>[4021, 4070, 0]"]
86["CompositeSolid Union<br>[4401, 4550, 0]"]
87["CompositeSolid Subtract<br>[4352, 4558, 0]"]
88["CompositeSolid Union<br>[2305, 2334, 0]"]
89[Wall]
90[Wall]
91[Wall]
92[Wall]
93[Wall]
94[Wall]
95[Wall]
96[Wall]
97[Wall]
98[Wall]
99[Wall]
100[Wall]
101[Wall]
102[Wall]
103[Wall]
104[Wall]
105[Wall]
106[Wall]
107[Wall]
108[Wall]
109[Wall]
110[Wall]
111[Wall]
112["Cap Start"]
113["Cap Start"]
114["Cap Start"]
115["Cap Start"]
116["Cap Start"]
117["Cap Start"]
118["Cap End"]
119["Cap End"]
120["Cap End"]
121["Cap End"]
122["Cap End"]
123["Cap End"]
124["SweepEdge Opposite"]
125["SweepEdge Opposite"]
126["SweepEdge Opposite"]
127["SweepEdge Opposite"]
128["SweepEdge Opposite"]
129["SweepEdge Opposite"]
130["SweepEdge Opposite"]
131["SweepEdge Opposite"]
132["SweepEdge Opposite"]
133["SweepEdge Opposite"]
134["SweepEdge Opposite"]
135["SweepEdge Opposite"]
136["SweepEdge Opposite"]
137["SweepEdge Opposite"]
138["SweepEdge Opposite"]
139["SweepEdge Opposite"]
140["SweepEdge Opposite"]
141["SweepEdge Opposite"]
142["SweepEdge Opposite"]
143["SweepEdge Opposite"]
144["SweepEdge Opposite"]
145["SweepEdge Opposite"]
146["SweepEdge Opposite"]
147["SweepEdge Adjacent"]
148["SweepEdge Adjacent"]
149["SweepEdge Adjacent"]
150["SweepEdge Adjacent"]
151["SweepEdge Adjacent"]
152["SweepEdge Adjacent"]
153["SweepEdge Adjacent"]
154["SweepEdge Adjacent"]
155["SweepEdge Adjacent"]
156["SweepEdge Adjacent"]
157["SweepEdge Adjacent"]
158["SweepEdge Adjacent"]
159["SweepEdge Adjacent"]
160["SweepEdge Adjacent"]
161["SweepEdge Adjacent"]
162["SweepEdge Adjacent"]
163["SweepEdge Adjacent"]
164["SweepEdge Adjacent"]
165["SweepEdge Adjacent"]
166["SweepEdge Adjacent"]
167["SweepEdge Adjacent"]
168["SweepEdge Adjacent"]
169["SweepEdge Adjacent"]
170["EdgeCut Fillet<br>[1896, 2008, 0]"]
1 --- 15
2 <--x 11
2 --- 16
3 --- 17
3 --- 18
4 <--x 9
4 --- 19
5 <--x 14
5 --- 20
6 <--x 13
6 --- 21
6 --- 22
7 <--x 12
7 --- 23
8 <--x 10
8 --- 24
8 --- 25
15 --- 26
15 --- 27
15 --- 28
15 --- 29
15 --- 30
15 --- 31
15 --- 32
15 --- 33
15 --- 34
15 --- 35
15 --- 36
15 --- 37
15 --- 38
15 --- 39
15 --- 40
15 --- 41
15 --- 42
15 --- 43
15 --- 44
15 --- 72
15 ---- 78
16 --- 45
16 --- 70
16 ---- 79
16 --- 88
17 --- 46
17 --- 67
17 ---- 80
17 --- 88
18 --- 47
18 --- 73
19 --- 48
19 --- 49
19 --- 50
19 --- 51
19 --- 52
19 --- 53
19 --- 54
19 --- 68
20 --- 55
20 --- 56
20 --- 57
20 --- 58
20 --- 59
20 --- 60
20 --- 61
20 --- 77
20 ---- 81
20 --- 85
21 --- 62
21 --- 69
21 ---- 82
21 --- 85
22 --- 63
22 --- 71
23 --- 64
23 --- 74
23 ---- 83
23 --- 86
24 --- 65
24 --- 76
24 ---- 84
25 --- 66
25 --- 75
26 --- 106
26 x--> 119
26 --- 137
26 --- 159
27 --- 101
27 x--> 119
27 --- 144
27 --- 154
28 --- 100
28 x--> 119
28 --- 139
28 --- 155
29 --- 102
29 x--> 119
29 --- 134
29 --- 163
30 --- 98
30 x--> 119
30 --- 143
30 --- 161
31 --- 97
31 x--> 119
31 --- 129
31 --- 157
32 --- 105
32 x--> 119
32 --- 142
32 --- 167
33 --- 109
33 x--> 119
33 --- 140
33 --- 165
34 --- 108
34 x--> 119
34 --- 141
34 --- 151
35 --- 95
35 x--> 119
35 --- 128
35 --- 160
36 --- 96
36 x--> 119
36 --- 145
36 --- 152
37 --- 110
37 x--> 119
37 --- 131
37 --- 156
38 --- 103
38 x--> 119
38 --- 135
38 --- 162
39 --- 99
39 x--> 119
39 --- 132
39 --- 158
40 --- 93
40 x--> 119
40 --- 130
40 --- 166
41 --- 104
41 x--> 119
41 --- 136
41 --- 153
42 --- 94
42 x--> 119
42 --- 133
42 --- 168
43 --- 107
43 x--> 119
43 --- 138
43 --- 164
45 --- 89
45 x--> 116
45 --- 124
45 --- 147
46 --- 92
46 x--> 117
46 --- 127
46 --- 150
62 --- 111
62 x--> 112
62 --- 146
62 --- 169
64 --- 91
64 x--> 121
64 --- 126
64 --- 149
65 --- 90
65 x--> 114
65 --- 125
65 --- 148
78 --- 93
78 --- 94
78 --- 95
78 --- 96
78 --- 97
78 --- 98
78 --- 99
78 --- 100
78 --- 101
78 --- 102
78 --- 103
78 --- 104
78 --- 105
78 --- 106
78 --- 107
78 --- 108
78 --- 109
78 --- 110
78 --- 113
78 --- 119
78 --- 128
78 --- 129
78 --- 130
78 --- 131
78 --- 132
78 --- 133
78 --- 134
78 --- 135
78 --- 136
78 --- 137
78 --- 138
78 --- 139
78 --- 140
78 --- 141
78 --- 142
78 --- 143
78 --- 144
78 --- 145
78 --- 151
78 --- 152
78 --- 153
78 --- 154
78 --- 155
78 --- 156
78 --- 157
78 --- 158
78 --- 159
78 --- 160
78 --- 161
78 --- 162
78 --- 163
78 --- 164
78 --- 165
78 --- 166
78 --- 167
78 --- 168
79 --- 89
79 --- 116
79 --- 122
79 --- 124
79 --- 147
80 --- 92
80 --- 117
80 --- 123
80 --- 127
80 --- 150
82 --- 111
82 --- 112
82 --- 118
82 --- 146
82 --- 169
83 --- 91
83 --- 115
83 --- 121
83 --- 126
83 --- 149
84 --- 90
84 --- 114
84 --- 120
84 --- 125
84 --- 148
85 --- 87
86 --- 87
124 <--x 89
147 <--x 89
125 <--x 90
148 <--x 90
126 <--x 91
149 <--x 91
127 <--x 92
150 <--x 92
130 <--x 93
158 <--x 93
166 <--x 93
133 <--x 94
153 <--x 94
168 <--x 94
128 <--x 95
151 <--x 95
160 <--x 95
145 <--x 96
152 <--x 96
160 <--x 96
129 <--x 97
157 <--x 97
161 <--x 97
143 <--x 98
161 <--x 98
163 <--x 98
132 <--x 99
158 <--x 99
162 <--x 99
139 <--x 100
154 <--x 100
155 <--x 100
144 <--x 101
154 <--x 101
159 <--x 101
134 <--x 102
155 <--x 102
163 <--x 102
135 <--x 103
156 <--x 103
162 <--x 103
136 <--x 104
153 <--x 104
166 <--x 104
142 <--x 105
157 <--x 105
167 <--x 105
137 <--x 106
159 <--x 106
164 <--x 106
138 <--x 107
164 <--x 107
168 <--x 107
141 <--x 108
151 <--x 108
165 <--x 108
140 <--x 109
165 <--x 109
167 <--x 109
131 <--x 110
152 <--x 110
156 <--x 110
146 <--x 111
169 <--x 111
128 <--x 113
129 <--x 113
130 <--x 113
131 <--x 113
132 <--x 113
133 <--x 113
134 <--x 113
135 <--x 113
136 <--x 113
137 <--x 113
138 <--x 113
139 <--x 113
140 <--x 113
141 <--x 113
142 <--x 113
143 <--x 113
144 <--x 113
145 <--x 113
126 <--x 115
146 <--x 118
125 <--x 120
124 <--x 122
127 <--x 123
124 <--x 170
```

File diff suppressed because it is too large Load Diff

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: 76 KiB

View File

@ -545,7 +545,7 @@ description: Artifact commands herringbone-planetary-gearset.kcl
"end_radius": 15.0,
"angle": {
"unit": "degrees",
"value": 618.7643201493639
"value": 618.764320149364
},
"reverse": true
}
@ -581,7 +581,7 @@ description: Artifact commands herringbone-planetary-gearset.kcl
"end_radius": 15.0,
"angle": {
"unit": "degrees",
"value": 618.7643201493639
"value": 618.764320149364
},
"reverse": true
}
@ -8261,7 +8261,7 @@ description: Artifact commands herringbone-planetary-gearset.kcl
"type": "move_path_pen",
"path": "[uuid]",
"to": {
"x": -2.627045743080315,
"x": -2.6270457430803247,
"y": 42.12603021835093,
"z": 0.0
}
@ -8343,7 +8343,7 @@ description: Artifact commands herringbone-planetary-gearset.kcl
"end_radius": 45.0,
"angle": {
"unit": "degrees",
"value": 93.56843420271129
"value": 93.5684342027113
},
"reverse": false
}

View File

@ -1132,7 +1132,7 @@ description: Operations executed herringbone-planetary-gearset.kcl
"angle": {
"value": {
"type": "Number",
"value": 1.6330772527729873,
"value": 1.6330772527729875,
"ty": {
"type": "Known",
"type": "Angle",
@ -1212,7 +1212,7 @@ description: Operations executed herringbone-planetary-gearset.kcl
"angle": {
"value": {
"type": "Number",
"value": 1.6992793968141515,
"value": 1.6992793968141517,
"ty": {
"type": "Known",
"type": "Angle",
@ -1292,7 +1292,7 @@ description: Operations executed herringbone-planetary-gearset.kcl
"angle": {
"value": {
"type": "Number",
"value": 1.741408033931256,
"value": 1.7414080339312563,
"ty": {
"type": "Known",
"type": "Angle",

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart prosthetic-hip.kcl
extension: md
snapshot_kind: binary
---

View File

@ -0,0 +1,449 @@
```mermaid
flowchart LR
subgraph path11 [Path]
11["Path<br>[331, 363, 0]"]
20["Segment<br>[369, 401, 0]"]
21["Segment<br>[407, 447, 0]"]
22["Segment<br>[453, 500, 0]"]
23["Segment<br>[506, 546, 0]"]
24["Segment<br>[552, 599, 0]"]
25["Segment<br>[605, 670, 0]"]
26["Segment<br>[676, 683, 0]"]
81[Solid2d]
end
subgraph path12 [Path]
12["Path<br>[816, 848, 0]"]
27["Segment<br>[854, 886, 0]"]
28["Segment<br>[892, 932, 0]"]
29["Segment<br>[938, 985, 0]"]
30["Segment<br>[991, 1031, 0]"]
31["Segment<br>[1037, 1084, 0]"]
32["Segment<br>[1090, 1155, 0]"]
33["Segment<br>[1161, 1168, 0]"]
84[Solid2d]
end
subgraph path13 [Path]
13["Path<br>[1401, 1436, 0]"]
34["Segment<br>[1442, 1474, 0]"]
35["Segment<br>[1480, 1520, 0]"]
36["Segment<br>[1526, 1573, 0]"]
37["Segment<br>[1579, 1619, 0]"]
38["Segment<br>[1625, 1672, 0]"]
39["Segment<br>[1678, 1743, 0]"]
40["Segment<br>[1749, 1756, 0]"]
77[Solid2d]
end
subgraph path14 [Path]
14["Path<br>[1992, 2025, 0]"]
41["Segment<br>[2338, 2345, 0]"]
85[Solid2d]
end
subgraph path15 [Path]
15["Path<br>[2583, 2618, 0]"]
42["Segment<br>[2624, 2656, 0]"]
43["Segment<br>[2662, 2702, 0]"]
44["Segment<br>[2708, 2755, 0]"]
45["Segment<br>[2761, 2801, 0]"]
46["Segment<br>[2807, 2854, 0]"]
47["Segment<br>[2860, 2925, 0]"]
48["Segment<br>[2931, 2938, 0]"]
80[Solid2d]
end
subgraph path16 [Path]
16["Path<br>[3173, 3208, 0]"]
49["Segment<br>[3214, 3246, 0]"]
50["Segment<br>[3252, 3292, 0]"]
51["Segment<br>[3298, 3345, 0]"]
52["Segment<br>[3351, 3391, 0]"]
53["Segment<br>[3397, 3444, 0]"]
54["Segment<br>[3450, 3515, 0]"]
55["Segment<br>[3521, 3528, 0]"]
79[Solid2d]
end
subgraph path17 [Path]
17["Path<br>[3998, 4023, 0]"]
56["Segment<br>[4029, 4048, 0]"]
57["Segment<br>[4054, 4091, 0]"]
58["Segment<br>[4097, 4134, 0]"]
59["Segment<br>[4140, 4158, 0]"]
60["Segment<br>[4164, 4202, 0]"]
61["Segment<br>[4208, 4273, 0]"]
62["Segment<br>[4279, 4286, 0]"]
83[Solid2d]
end
subgraph path18 [Path]
18["Path<br>[4515, 4543, 0]"]
63["Segment<br>[4549, 4568, 0]"]
64["Segment<br>[4574, 4592, 0]"]
65["Segment<br>[4598, 4639, 0]"]
66["Segment<br>[4645, 4666, 0]"]
67["Segment<br>[4672, 4692, 0]"]
68["Segment<br>[4698, 4763, 0]"]
69["Segment<br>[4769, 4776, 0]"]
78[Solid2d]
end
subgraph path19 [Path]
19["Path<br>[4999, 5029, 0]"]
70["Segment<br>[5035, 5052, 0]"]
71["Segment<br>[5058, 5076, 0]"]
72["Segment<br>[5082, 5120, 0]"]
73["Segment<br>[5126, 5152, 0]"]
74["Segment<br>[5158, 5177, 0]"]
75["Segment<br>[5183, 5248, 0]"]
76["Segment<br>[5254, 5261, 0]"]
82[Solid2d]
end
1["Plane<br>[308, 325, 0]"]
2["Plane<br>[781, 809, 0]"]
3["Plane<br>[1372, 1395, 0]"]
4["Plane<br>[1963, 1986, 0]"]
5["Plane<br>[2554, 2577, 0]"]
6["Plane<br>[3144, 3167, 0]"]
7["Plane<br>[3975, 3992, 0]"]
8["Plane<br>[4492, 4509, 0]"]
9["Plane<br>[4976, 4993, 0]"]
10["StartSketchOnPlane<br>[767, 810, 0]"]
86["Sweep Extrusion<br>[3616, 3638, 0]"]
87["Sweep Loft<br>[3698, 3786, 0]"]
88["Sweep Loft<br>[3827, 3902, 0]"]
89["Sweep Revolve<br>[4292, 4322, 0]"]
90["Sweep Revolve<br>[4782, 4812, 0]"]
91["Sweep Revolve<br>[5267, 5297, 0]"]
92[Wall]
93[Wall]
94[Wall]
95[Wall]
96[Wall]
97[Wall]
98[Wall]
99[Wall]
100[Wall]
101[Wall]
102[Wall]
103[Wall]
104[Wall]
105[Wall]
106[Wall]
107[Wall]
108[Wall]
109[Wall]
110[Wall]
111[Wall]
112[Wall]
113[Wall]
114[Wall]
115[Wall]
116["Cap Start"]
117["Cap End"]
118["SweepEdge Opposite"]
119["SweepEdge Opposite"]
120["SweepEdge Opposite"]
121["SweepEdge Opposite"]
122["SweepEdge Opposite"]
123["SweepEdge Opposite"]
124["SweepEdge Adjacent"]
125["SweepEdge Adjacent"]
126["SweepEdge Adjacent"]
127["SweepEdge Adjacent"]
128["SweepEdge Adjacent"]
129["SweepEdge Adjacent"]
130["SweepEdge Adjacent"]
131["SweepEdge Adjacent"]
132["SweepEdge Adjacent"]
133["SweepEdge Adjacent"]
134["SweepEdge Adjacent"]
135["SweepEdge Adjacent"]
136["SweepEdge Adjacent"]
137["SweepEdge Adjacent"]
138["SweepEdge Adjacent"]
139["SweepEdge Adjacent"]
140["SweepEdge Adjacent"]
141["SweepEdge Adjacent"]
142["SweepEdge Adjacent"]
143["SweepEdge Adjacent"]
144["SweepEdge Adjacent"]
145["SweepEdge Adjacent"]
146["SweepEdge Adjacent"]
1 --- 11
2 <--x 10
2 --- 12
3 --- 13
4 --- 14
5 --- 15
6 --- 16
7 --- 17
8 --- 18
9 --- 19
11 --- 20
11 --- 21
11 --- 22
11 --- 23
11 --- 24
11 --- 25
11 --- 26
11 --- 81
11 ---- 87
12 --- 27
12 --- 28
12 --- 29
12 --- 30
12 --- 31
12 --- 32
12 --- 33
12 --- 84
12 x---> 87
13 --- 34
13 --- 35
13 --- 36
13 --- 37
13 --- 38
13 --- 39
13 --- 40
13 --- 77
13 x---> 87
14 --- 41
14 --- 85
14 x---> 87
14 x--> 118
14 x--> 119
14 x--> 120
14 x--> 121
14 x--> 122
14 x--> 123
15 --- 42
15 --- 43
15 --- 44
15 --- 45
15 --- 46
15 --- 47
15 --- 48
15 --- 80
15 x---> 88
16 --- 49
16 --- 50
16 --- 51
16 --- 52
16 --- 53
16 --- 54
16 --- 55
16 --- 79
16 x---> 88
17 --- 56
17 --- 57
17 --- 58
17 --- 59
17 --- 60
17 --- 61
17 --- 62
17 --- 83
17 ---- 89
18 --- 63
18 --- 64
18 --- 65
18 --- 66
18 --- 67
18 --- 68
18 --- 69
18 --- 78
18 ---- 90
19 --- 70
19 --- 71
19 --- 72
19 --- 73
19 --- 74
19 --- 75
19 --- 76
19 --- 82
19 ---- 91
20 --- 115
20 x--> 116
20 --- 122
20 --- 142
21 --- 113
21 x--> 116
21 --- 119
21 --- 146
22 --- 112
22 x--> 116
22 --- 118
22 --- 144
23 --- 114
23 x--> 116
23 --- 121
23 --- 141
24 --- 111
24 x--> 116
24 --- 123
24 --- 145
25 --- 110
25 x--> 116
25 --- 120
25 --- 143
89 <--x 56
56 --- 100
56 x--> 133
89 <--x 57
57 --- 101
57 --- 133
89 <--x 58
58 --- 99
58 --- 131
89 <--x 59
59 --- 103
59 --- 134
89 <--x 60
60 --- 102
60 --- 130
89 <--x 61
61 --- 98
61 --- 132
90 <--x 63
63 --- 93
63 --- 125
90 <--x 64
64 --- 94
64 --- 128
90 <--x 65
65 --- 95
65 --- 129
90 <--x 66
66 --- 96
66 --- 126
90 <--x 67
67 --- 97
67 --- 124
90 <--x 68
68 --- 92
68 --- 127
91 <--x 70
70 --- 106
70 --- 136
91 <--x 71
71 --- 104
71 --- 137
91 <--x 72
72 --- 107
72 --- 139
91 <--x 73
73 --- 105
73 --- 140
91 <--x 74
74 --- 108
74 --- 138
91 <--x 75
75 --- 109
75 --- 135
87 --- 110
87 --- 111
87 --- 112
87 --- 113
87 --- 114
87 --- 115
87 --- 116
87 --- 117
87 --- 118
87 --- 119
87 --- 120
87 --- 121
87 --- 122
87 --- 123
87 --- 141
87 --- 142
87 --- 143
87 --- 144
87 --- 145
87 --- 146
89 --- 98
89 --- 99
89 --- 100
89 --- 101
89 --- 102
89 --- 103
89 --- 130
89 --- 131
89 --- 132
89 --- 133
89 --- 134
90 --- 92
90 --- 93
90 --- 94
90 --- 95
90 --- 96
90 --- 97
90 --- 124
90 --- 125
90 --- 126
90 --- 127
90 --- 128
90 --- 129
91 --- 104
91 --- 105
91 --- 106
91 --- 107
91 --- 108
91 --- 109
91 --- 135
91 --- 136
91 --- 137
91 --- 138
91 --- 139
91 --- 140
124 <--x 92
127 <--x 92
125 <--x 93
127 <--x 93
125 <--x 94
128 <--x 94
128 <--x 95
129 <--x 95
126 <--x 96
129 <--x 96
124 <--x 97
126 <--x 97
130 <--x 98
132 <--x 98
131 <--x 99
132 <--x 100
133 <--x 100
133 <--x 101
130 <--x 102
134 <--x 102
131 <--x 103
134 <--x 103
136 <--x 104
137 <--x 104
139 <--x 105
140 <--x 105
135 <--x 106
136 <--x 106
137 <--x 107
139 <--x 107
138 <--x 108
140 <--x 108
135 <--x 109
138 <--x 109
120 <--x 110
142 <--x 110
143 <--x 110
123 <--x 111
143 <--x 111
145 <--x 111
118 <--x 112
141 <--x 112
144 <--x 112
119 <--x 113
144 <--x 113
146 <--x 113
121 <--x 114
141 <--x 114
145 <--x 114
122 <--x 115
142 <--x 115
146 <--x 115
118 <--x 117
119 <--x 117
120 <--x 117
121 <--x 117
122 <--x 117
123 <--x 117
```

File diff suppressed because it is too large Load Diff

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: 82 KiB

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart surgical-drill-guide.kcl
extension: md
snapshot_kind: binary
---

View File

@ -0,0 +1,462 @@
```mermaid
flowchart LR
subgraph path17 [Path]
17["Path<br>[518, 543, 0]"]
30["Segment<br>[549, 591, 0]"]
31["Segment<br>[597, 641, 0]"]
32["Segment<br>[647, 691, 0]"]
33["Segment<br>[697, 758, 0]"]
34["Segment<br>[764, 844, 0]"]
35["Segment<br>[850, 933, 0]"]
36["Segment<br>[939, 1016, 0]"]
37["Segment<br>[1022, 1087, 0]"]
38["Segment<br>[1093, 1100, 0]"]
56[Solid2d]
end
subgraph path18 [Path]
18["Path<br>[1325, 1394, 0]"]
39["Segment<br>[1325, 1394, 0]"]
55[Solid2d]
end
subgraph path19 [Path]
19["Path<br>[1538, 1602, 0]"]
40["Segment<br>[1538, 1602, 0]"]
51[Solid2d]
end
subgraph path20 [Path]
20["Path<br>[1844, 1913, 0]"]
41["Segment<br>[1844, 1913, 0]"]
61[Solid2d]
end
subgraph path21 [Path]
21["Path<br>[2056, 2131, 0]"]
42["Segment<br>[2056, 2131, 0]"]
57[Solid2d]
end
subgraph path22 [Path]
22["Path<br>[2435, 2500, 0]"]
43["Segment<br>[2435, 2500, 0]"]
60[Solid2d]
end
subgraph path23 [Path]
23["Path<br>[2666, 2750, 0]"]
44["Segment<br>[2666, 2750, 0]"]
62[Solid2d]
end
subgraph path24 [Path]
24["Path<br>[2774, 2835, 0]"]
45["Segment<br>[2774, 2835, 0]"]
59[Solid2d]
end
subgraph path25 [Path]
25["Path<br>[3226, 3290, 0]"]
46["Segment<br>[3226, 3290, 0]"]
63[Solid2d]
end
subgraph path26 [Path]
26["Path<br>[3417, 3487, 0]"]
47["Segment<br>[3417, 3487, 0]"]
52[Solid2d]
end
subgraph path27 [Path]
27["Path<br>[3792, 3852, 0]"]
48["Segment<br>[3792, 3852, 0]"]
54[Solid2d]
end
subgraph path28 [Path]
28["Path<br>[4001, 4080, 0]"]
49["Segment<br>[4001, 4080, 0]"]
58[Solid2d]
end
subgraph path29 [Path]
29["Path<br>[4104, 4160, 0]"]
50["Segment<br>[4104, 4160, 0]"]
53[Solid2d]
end
1["Plane<br>[495, 512, 0]"]
2["Plane<br>[1302, 1319, 0]"]
3["Plane<br>[1503, 1531, 0]"]
4["Plane<br>[1792, 1837, 0]"]
5["Plane<br>[2613, 2659, 0]"]
6["Plane<br>[3191, 3219, 0]"]
7["Plane<br>[3966, 3994, 0]"]
8["StartSketchOnPlane<br>[2599, 2660, 0]"]
9["StartSketchOnPlane<br>[3952, 3995, 0]"]
10["StartSketchOnPlane<br>[1778, 1838, 0]"]
11["StartSketchOnPlane<br>[3177, 3220, 0]"]
12["StartSketchOnPlane<br>[1489, 1532, 0]"]
13["StartSketchOnFace<br>[3753, 3786, 0]"]
14["StartSketchOnFace<br>[3370, 3411, 0]"]
15["StartSketchOnFace<br>[2396, 2429, 0]"]
16["StartSketchOnFace<br>[2011, 2050, 0]"]
64["Sweep Extrusion<br>[1106, 1235, 0]"]
65["Sweep Extrusion<br>[1400, 1421, 0]"]
66["Sweep Extrusion<br>[1608, 1630, 0]"]
67["Sweep Extrusion<br>[1919, 1958, 0]"]
68["Sweep Extrusion<br>[2137, 2185, 0]"]
69["Sweep Extrusion<br>[2506, 2539, 0]"]
70["Sweep Extrusion<br>[2842, 2909, 0]"]
71["Sweep Extrusion<br>[3296, 3316, 0]"]
72["Sweep Extrusion<br>[3493, 3541, 0]"]
73["Sweep Extrusion<br>[3858, 3891, 0]"]
74["Sweep Extrusion<br>[4167, 4234, 0]"]
75["CompositeSolid Subtract<br>[1660, 1716, 0]"]
76["CompositeSolid Union<br>[1688, 1715, 0]"]
77[Wall]
78[Wall]
79[Wall]
80[Wall]
81[Wall]
82[Wall]
83[Wall]
84[Wall]
85[Wall]
86[Wall]
87[Wall]
88[Wall]
89[Wall]
90[Wall]
91[Wall]
92[Wall]
93[Wall]
94[Wall]
95["Cap Start"]
96["Cap Start"]
97["Cap Start"]
98["Cap Start"]
99["Cap Start"]
100["Cap Start"]
101["Cap Start"]
102["Cap End"]
103["Cap End"]
104["Cap End"]
105["Cap End"]
106["Cap End"]
107["Cap End"]
108["Cap End"]
109["Cap End"]
110["Cap End"]
111["SweepEdge Opposite"]
112["SweepEdge Opposite"]
113["SweepEdge Opposite"]
114["SweepEdge Opposite"]
115["SweepEdge Opposite"]
116["SweepEdge Opposite"]
117["SweepEdge Opposite"]
118["SweepEdge Opposite"]
119["SweepEdge Opposite"]
120["SweepEdge Opposite"]
121["SweepEdge Opposite"]
122["SweepEdge Opposite"]
123["SweepEdge Opposite"]
124["SweepEdge Opposite"]
125["SweepEdge Opposite"]
126["SweepEdge Opposite"]
127["SweepEdge Opposite"]
128["SweepEdge Opposite"]
129["SweepEdge Adjacent"]
130["SweepEdge Adjacent"]
131["SweepEdge Adjacent"]
132["SweepEdge Adjacent"]
133["SweepEdge Adjacent"]
134["SweepEdge Adjacent"]
135["SweepEdge Adjacent"]
136["SweepEdge Adjacent"]
137["SweepEdge Adjacent"]
138["SweepEdge Adjacent"]
139["SweepEdge Adjacent"]
140["SweepEdge Adjacent"]
141["SweepEdge Adjacent"]
142["SweepEdge Adjacent"]
143["SweepEdge Adjacent"]
144["SweepEdge Adjacent"]
145["SweepEdge Adjacent"]
146["SweepEdge Adjacent"]
147["EdgeCut Chamfer<br>[2191, 2314, 0]"]
148["EdgeCut Fillet<br>[2915, 3079, 0]"]
149["EdgeCut Fillet<br>[2915, 3079, 0]"]
150["EdgeCut Chamfer<br>[3547, 3670, 0]"]
151["EdgeCut Fillet<br>[4240, 4404, 0]"]
152["EdgeCut Fillet<br>[4240, 4404, 0]"]
1 --- 17
2 --- 18
3 <--x 12
3 --- 19
4 <--x 10
4 --- 20
5 <--x 8
5 --- 23
5 --- 24
6 <--x 11
6 --- 25
7 <--x 9
7 --- 28
7 --- 29
109 x--> 13
100 x--> 14
103 x--> 15
110 x--> 16
17 --- 30
17 --- 31
17 --- 32
17 --- 33
17 --- 34
17 --- 35
17 --- 36
17 --- 37
17 --- 38
17 --- 56
17 ---- 64
17 --- 75
18 --- 39
18 --- 55
18 ---- 65
18 --- 76
19 --- 40
19 --- 51
19 ---- 66
19 --- 76
20 --- 41
20 --- 61
20 ---- 67
21 --- 42
21 --- 57
21 ---- 68
110 --- 21
22 --- 43
22 --- 60
22 ---- 69
103 --- 22
23 --- 44
23 --- 62
23 ---- 70
24 --- 45
24 --- 59
25 --- 46
25 --- 63
25 ---- 71
26 --- 47
26 --- 52
26 ---- 72
100 --- 26
27 --- 48
27 --- 54
27 ---- 73
109 --- 27
28 --- 49
28 --- 58
28 ---- 74
29 --- 50
29 --- 53
30 --- 83
30 x--> 98
30 --- 111
30 --- 134
31 --- 80
31 x--> 98
31 --- 114
31 --- 132
32 --- 79
32 x--> 98
32 --- 112
32 --- 130
33 --- 81
33 x--> 98
33 --- 116
33 --- 131
34 --- 78
34 x--> 98
34 --- 117
34 --- 133
35 --- 77
35 x--> 98
35 --- 118
35 --- 136
36 --- 82
36 x--> 98
36 --- 113
36 --- 135
37 --- 84
37 x--> 98
37 --- 115
37 --- 129
39 --- 93
39 x--> 96
39 --- 127
39 --- 145
40 --- 86
40 x--> 107
40 --- 120
40 --- 138
41 --- 88
41 x--> 110
41 --- 122
41 --- 140
42 --- 94
42 x--> 110
42 --- 128
42 --- 146
43 --- 90
43 x--> 103
43 --- 124
43 --- 142
44 --- 91
44 x--> 102
44 --- 125
44 --- 143
44 --- 148
46 --- 85
46 x--> 100
46 --- 119
46 --- 137
47 --- 89
47 x--> 100
47 --- 123
47 --- 141
48 --- 92
48 x--> 109
48 --- 126
48 --- 144
49 --- 87
49 x--> 105
49 --- 121
49 --- 139
49 --- 152
64 --- 77
64 --- 78
64 --- 79
64 --- 80
64 --- 81
64 --- 82
64 --- 83
64 --- 84
64 --- 98
64 --- 106
64 --- 111
64 --- 112
64 --- 113
64 --- 114
64 --- 115
64 --- 116
64 --- 117
64 --- 118
64 --- 129
64 --- 130
64 --- 131
64 --- 132
64 --- 133
64 --- 134
64 --- 135
64 --- 136
65 --- 93
65 --- 96
65 --- 104
65 --- 127
65 --- 145
66 --- 86
66 --- 99
66 --- 107
66 --- 120
66 --- 138
67 --- 88
67 --- 101
67 --- 110
67 --- 122
67 --- 140
68 --- 94
68 --- 103
68 --- 128
68 --- 146
69 --- 90
69 --- 124
69 --- 142
70 --- 91
70 --- 95
70 --- 102
70 --- 125
70 --- 143
71 --- 85
71 --- 100
71 --- 108
71 --- 119
71 --- 137
72 --- 89
72 --- 109
72 --- 123
72 --- 141
73 --- 92
73 --- 126
73 --- 144
74 --- 87
74 --- 97
74 --- 105
74 --- 121
74 --- 139
76 --- 75
118 <--x 77
133 <--x 77
136 <--x 77
117 <--x 78
131 <--x 78
133 <--x 78
112 <--x 79
130 <--x 79
132 <--x 79
114 <--x 80
132 <--x 80
134 <--x 80
116 <--x 81
130 <--x 81
131 <--x 81
113 <--x 82
135 <--x 82
136 <--x 82
111 <--x 83
129 <--x 83
134 <--x 83
115 <--x 84
129 <--x 84
135 <--x 84
119 <--x 85
137 <--x 85
120 <--x 86
138 <--x 86
121 <--x 87
139 <--x 87
122 <--x 88
140 <--x 88
123 <--x 89
141 <--x 89
124 <--x 90
142 <--x 90
125 <--x 91
143 <--x 91
126 <--x 92
144 <--x 92
127 <--x 93
145 <--x 93
128 <--x 94
146 <--x 94
125 <--x 95
121 <--x 97
120 <--x 99
122 <--x 101
124 <--x 101
128 <--x 103
127 <--x 104
111 <--x 106
112 <--x 106
113 <--x 106
114 <--x 106
115 <--x 106
116 <--x 106
117 <--x 106
118 <--x 106
119 <--x 108
126 <--x 108
123 <--x 109
121 <--x 151
123 <--x 150
125 <--x 149
128 <--x 147
```

File diff suppressed because it is too large Load Diff

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: 35 KiB

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart tooling-nest-block.kcl
extension: md
snapshot_kind: binary
---

View File

@ -0,0 +1,604 @@
```mermaid
flowchart LR
subgraph path20 [Path]
20["Path<br>[597, 622, 0]"]
39["Segment<br>[628, 699, 0]"]
40["Segment<br>[705, 808, 0]"]
41["Segment<br>[814, 931, 0]"]
42["Segment<br>[937, 1022, 0]"]
43["Segment<br>[1028, 1035, 0]"]
71[Solid2d]
end
subgraph path21 [Path]
21["Path<br>[1268, 1356, 0]"]
45["Segment<br>[1268, 1356, 0]"]
62[Solid2d]
end
subgraph path22 [Path]
22["Path<br>[1268, 1356, 0]"]
59["Segment<br>[1268, 1356, 0]"]
63[Solid2d]
end
subgraph path23 [Path]
23["Path<br>[1268, 1356, 0]"]
61["Segment<br>[1268, 1356, 0]"]
64[Solid2d]
end
subgraph path24 [Path]
24["Path<br>[1268, 1356, 0]"]
55["Segment<br>[1268, 1356, 0]"]
65[Solid2d]
end
subgraph path25 [Path]
25["Path<br>[1268, 1356, 0]"]
54["Segment<br>[1268, 1356, 0]"]
66[Solid2d]
end
subgraph path26 [Path]
26["Path<br>[1268, 1356, 0]"]
46["Segment<br>[1268, 1356, 0]"]
67[Solid2d]
end
subgraph path27 [Path]
27["Path<br>[1268, 1356, 0]"]
56["Segment<br>[1268, 1356, 0]"]
68[Solid2d]
end
subgraph path28 [Path]
28["Path<br>[1268, 1356, 0]"]
60["Segment<br>[1268, 1356, 0]"]
69[Solid2d]
end
subgraph path29 [Path]
29["Path<br>[1268, 1356, 0]"]
49["Segment<br>[1268, 1356, 0]"]
70[Solid2d]
end
subgraph path30 [Path]
30["Path<br>[1268, 1356, 0]"]
48["Segment<br>[1268, 1356, 0]"]
72[Solid2d]
end
subgraph path31 [Path]
31["Path<br>[1268, 1356, 0]"]
58["Segment<br>[1268, 1356, 0]"]
73[Solid2d]
end
subgraph path32 [Path]
32["Path<br>[1268, 1356, 0]"]
57["Segment<br>[1268, 1356, 0]"]
74[Solid2d]
end
subgraph path33 [Path]
33["Path<br>[1268, 1356, 0]"]
51["Segment<br>[1268, 1356, 0]"]
75[Solid2d]
end
subgraph path34 [Path]
34["Path<br>[1268, 1356, 0]"]
44["Segment<br>[1268, 1356, 0]"]
76[Solid2d]
end
subgraph path35 [Path]
35["Path<br>[1268, 1356, 0]"]
52["Segment<br>[1268, 1356, 0]"]
77[Solid2d]
end
subgraph path36 [Path]
36["Path<br>[1268, 1356, 0]"]
53["Segment<br>[1268, 1356, 0]"]
78[Solid2d]
end
subgraph path37 [Path]
37["Path<br>[1268, 1356, 0]"]
50["Segment<br>[1268, 1356, 0]"]
79[Solid2d]
end
subgraph path38 [Path]
38["Path<br>[1268, 1356, 0]"]
47["Segment<br>[1268, 1356, 0]"]
80[Solid2d]
end
1["Plane<br>[574, 591, 0]"]
2["StartSketchOnFace<br>[1217, 1260, 0]"]
3["StartSketchOnFace<br>[1217, 1260, 0]"]
4["StartSketchOnFace<br>[1217, 1260, 0]"]
5["StartSketchOnFace<br>[1217, 1260, 0]"]
6["StartSketchOnFace<br>[1217, 1260, 0]"]
7["StartSketchOnFace<br>[1217, 1260, 0]"]
8["StartSketchOnFace<br>[1217, 1260, 0]"]
9["StartSketchOnFace<br>[1217, 1260, 0]"]
10["StartSketchOnFace<br>[1217, 1260, 0]"]
11["StartSketchOnFace<br>[1217, 1260, 0]"]
12["StartSketchOnFace<br>[1217, 1260, 0]"]
13["StartSketchOnFace<br>[1217, 1260, 0]"]
14["StartSketchOnFace<br>[1217, 1260, 0]"]
15["StartSketchOnFace<br>[1217, 1260, 0]"]
16["StartSketchOnFace<br>[1217, 1260, 0]"]
17["StartSketchOnFace<br>[1217, 1260, 0]"]
18["StartSketchOnFace<br>[1217, 1260, 0]"]
19["StartSketchOnFace<br>[1217, 1260, 0]"]
81["Sweep Extrusion<br>[1050, 1090, 0]"]
82["Sweep Extrusion<br>[1364, 1416, 0]"]
83["Sweep Extrusion<br>[1364, 1416, 0]"]
84["Sweep Extrusion<br>[1364, 1416, 0]"]
85["Sweep Extrusion<br>[1364, 1416, 0]"]
86["Sweep Extrusion<br>[1364, 1416, 0]"]
87["Sweep Extrusion<br>[1364, 1416, 0]"]
88["Sweep Extrusion<br>[1364, 1416, 0]"]
89["Sweep Extrusion<br>[1364, 1416, 0]"]
90["Sweep Extrusion<br>[1364, 1416, 0]"]
91["Sweep Extrusion<br>[1364, 1416, 0]"]
92["Sweep Extrusion<br>[1364, 1416, 0]"]
93["Sweep Extrusion<br>[1364, 1416, 0]"]
94["Sweep Extrusion<br>[1364, 1416, 0]"]
95["Sweep Extrusion<br>[1364, 1416, 0]"]
96["Sweep Extrusion<br>[1364, 1416, 0]"]
97["Sweep Extrusion<br>[1364, 1416, 0]"]
98["Sweep Extrusion<br>[1364, 1416, 0]"]
99["Sweep Extrusion<br>[1364, 1416, 0]"]
100[Wall]
101[Wall]
102[Wall]
103[Wall]
104[Wall]
105[Wall]
106[Wall]
107[Wall]
108[Wall]
109[Wall]
110[Wall]
111[Wall]
112[Wall]
113[Wall]
114[Wall]
115[Wall]
116[Wall]
117[Wall]
118[Wall]
119[Wall]
120[Wall]
121[Wall]
122["Cap Start"]
123["Cap Start"]
124["Cap Start"]
125["Cap Start"]
126["Cap Start"]
127["Cap Start"]
128["Cap Start"]
129["Cap Start"]
130["Cap Start"]
131["Cap Start"]
132["Cap Start"]
133["Cap Start"]
134["Cap Start"]
135["Cap Start"]
136["Cap Start"]
137["Cap Start"]
138["Cap Start"]
139["Cap Start"]
140["Cap Start"]
141["Cap End"]
142["SweepEdge Opposite"]
143["SweepEdge Opposite"]
144["SweepEdge Opposite"]
145["SweepEdge Opposite"]
146["SweepEdge Opposite"]
147["SweepEdge Opposite"]
148["SweepEdge Opposite"]
149["SweepEdge Opposite"]
150["SweepEdge Opposite"]
151["SweepEdge Opposite"]
152["SweepEdge Opposite"]
153["SweepEdge Opposite"]
154["SweepEdge Opposite"]
155["SweepEdge Opposite"]
156["SweepEdge Opposite"]
157["SweepEdge Opposite"]
158["SweepEdge Opposite"]
159["SweepEdge Opposite"]
160["SweepEdge Opposite"]
161["SweepEdge Opposite"]
162["SweepEdge Opposite"]
163["SweepEdge Opposite"]
164["SweepEdge Adjacent"]
165["SweepEdge Adjacent"]
166["SweepEdge Adjacent"]
167["SweepEdge Adjacent"]
168["SweepEdge Adjacent"]
169["SweepEdge Adjacent"]
170["SweepEdge Adjacent"]
171["SweepEdge Adjacent"]
172["SweepEdge Adjacent"]
173["SweepEdge Adjacent"]
174["SweepEdge Adjacent"]
175["SweepEdge Adjacent"]
176["SweepEdge Adjacent"]
177["SweepEdge Adjacent"]
178["SweepEdge Adjacent"]
179["SweepEdge Adjacent"]
180["SweepEdge Adjacent"]
181["SweepEdge Adjacent"]
182["SweepEdge Adjacent"]
183["SweepEdge Adjacent"]
184["SweepEdge Adjacent"]
185["SweepEdge Adjacent"]
186["EdgeCut Fillet<br>[1424, 1559, 0]"]
187["EdgeCut Fillet<br>[1424, 1559, 0]"]
188["EdgeCut Fillet<br>[1424, 1559, 0]"]
189["EdgeCut Fillet<br>[1424, 1559, 0]"]
190["EdgeCut Fillet<br>[1424, 1559, 0]"]
191["EdgeCut Fillet<br>[1424, 1559, 0]"]
192["EdgeCut Fillet<br>[1424, 1559, 0]"]
193["EdgeCut Fillet<br>[1424, 1559, 0]"]
194["EdgeCut Fillet<br>[1424, 1559, 0]"]
195["EdgeCut Fillet<br>[1424, 1559, 0]"]
196["EdgeCut Fillet<br>[1424, 1559, 0]"]
197["EdgeCut Fillet<br>[1424, 1559, 0]"]
198["EdgeCut Fillet<br>[1424, 1559, 0]"]
199["EdgeCut Fillet<br>[1424, 1559, 0]"]
200["EdgeCut Fillet<br>[1424, 1559, 0]"]
201["EdgeCut Fillet<br>[1424, 1559, 0]"]
202["EdgeCut Fillet<br>[1424, 1559, 0]"]
203["EdgeCut Fillet<br>[1424, 1559, 0]"]
1 --- 20
106 x--> 2
107 x--> 3
108 x--> 4
107 x--> 5
106 x--> 6
108 x--> 7
106 x--> 8
108 x--> 9
141 x--> 10
124 x--> 11
107 x--> 12
107 x--> 13
107 x--> 14
107 x--> 15
106 x--> 16
107 x--> 17
105 x--> 18
107 x--> 19
20 --- 39
20 --- 40
20 --- 41
20 --- 42
20 --- 43
20 --- 71
20 ---- 81
21 --- 45
21 --- 62
21 ---- 91
107 --- 21
22 --- 59
22 --- 63
22 ---- 95
105 --- 22
23 --- 61
23 --- 64
23 ---- 89
108 --- 23
24 --- 55
24 --- 65
24 ---- 82
106 --- 24
25 --- 54
25 --- 66
25 ---- 87
106 --- 25
26 --- 46
26 --- 67
26 ---- 94
124 --- 26
27 --- 56
27 --- 68
27 ---- 99
108 --- 27
28 --- 60
28 --- 69
28 ---- 96
107 --- 28
29 --- 49
29 --- 70
29 ---- 85
107 --- 29
30 --- 48
30 --- 72
30 ---- 93
107 --- 30
31 --- 58
31 --- 73
31 ---- 88
107 --- 31
32 --- 57
32 --- 74
32 ---- 90
141 --- 32
33 --- 51
33 --- 75
33 ---- 98
107 --- 33
34 --- 44
34 --- 76
34 ---- 83
107 --- 34
35 --- 52
35 --- 77
35 ---- 86
106 --- 35
36 --- 53
36 --- 78
36 ---- 92
106 --- 36
37 --- 50
37 --- 79
37 ---- 84
108 --- 37
38 --- 47
38 --- 80
38 ---- 97
107 --- 38
39 --- 108
39 x--> 124
39 --- 147
39 --- 172
40 --- 106
40 x--> 124
40 --- 150
40 --- 170
41 --- 105
41 x--> 124
41 --- 149
41 --- 171
42 --- 107
42 x--> 124
42 --- 148
42 --- 169
44 --- 101
44 x--> 107
44 --- 143
44 --- 165
45 x--> 107
45 --- 113
45 --- 155
45 --- 177
46 --- 116
46 x--> 124
46 --- 158
46 --- 180
47 x--> 107
47 --- 119
47 --- 161
47 --- 183
48 x--> 107
48 --- 115
48 --- 157
48 --- 179
49 --- 103
49 x--> 107
49 --- 145
49 --- 167
50 --- 102
50 x--> 108
50 --- 144
50 --- 166
51 x--> 107
51 --- 120
51 --- 162
51 --- 184
52 --- 104
52 x--> 106
52 --- 146
52 --- 168
53 x--> 106
53 --- 114
53 --- 156
53 --- 178
54 x--> 106
54 --- 109
54 --- 151
54 --- 173
55 --- 100
55 x--> 106
55 --- 142
55 --- 164
56 x--> 108
56 --- 121
56 --- 163
56 --- 185
57 --- 112
57 x--> 141
57 --- 154
57 --- 176
58 x--> 107
58 --- 110
58 --- 152
58 --- 174
59 x--> 105
59 --- 117
59 --- 159
59 --- 181
60 x--> 107
60 --- 118
60 --- 160
60 --- 182
61 x--> 108
61 --- 111
61 --- 153
61 --- 175
81 --- 105
81 --- 106
81 --- 107
81 --- 108
81 --- 124
81 --- 141
81 --- 147
81 --- 148
81 --- 149
81 --- 150
81 --- 169
81 --- 170
81 --- 171
81 --- 172
82 --- 100
82 --- 138
82 --- 142
82 --- 164
83 --- 101
83 --- 129
83 --- 143
83 --- 165
84 --- 102
84 --- 126
84 --- 144
84 --- 166
85 --- 103
85 --- 130
85 --- 145
85 --- 167
86 --- 104
86 --- 137
86 --- 146
86 --- 168
87 --- 109
87 --- 134
87 --- 151
87 --- 173
88 --- 110
88 --- 132
88 --- 152
88 --- 174
89 --- 111
89 --- 136
89 --- 153
89 --- 175
90 --- 112
90 --- 139
90 --- 154
90 --- 176
91 --- 113
91 --- 131
91 --- 155
91 --- 177
92 --- 114
92 --- 128
92 --- 156
92 --- 178
93 --- 115
93 --- 122
93 --- 157
93 --- 179
94 --- 116
94 --- 135
94 --- 158
94 --- 180
95 --- 117
95 --- 133
95 --- 159
95 --- 181
96 --- 118
96 --- 140
96 --- 160
96 --- 182
97 --- 119
97 --- 123
97 --- 161
97 --- 183
98 --- 120
98 --- 127
98 --- 162
98 --- 184
99 --- 121
99 --- 125
99 --- 163
99 --- 185
142 <--x 100
164 <--x 100
143 <--x 101
165 <--x 101
144 <--x 102
166 <--x 102
145 <--x 103
167 <--x 103
146 <--x 104
168 <--x 104
149 <--x 105
170 <--x 105
171 <--x 105
150 <--x 106
170 <--x 106
172 <--x 106
148 <--x 107
169 <--x 107
171 <--x 107
147 <--x 108
169 <--x 108
172 <--x 108
151 <--x 109
173 <--x 109
152 <--x 110
174 <--x 110
153 <--x 111
175 <--x 111
154 <--x 112
176 <--x 112
155 <--x 113
177 <--x 113
156 <--x 114
178 <--x 114
157 <--x 115
179 <--x 115
158 <--x 116
180 <--x 116
159 <--x 117
181 <--x 117
160 <--x 118
182 <--x 118
161 <--x 119
183 <--x 119
162 <--x 120
184 <--x 120
163 <--x 121
185 <--x 121
157 <--x 122
161 <--x 123
163 <--x 125
144 <--x 126
162 <--x 127
156 <--x 128
143 <--x 129
145 <--x 130
155 <--x 131
152 <--x 132
159 <--x 133
151 <--x 134
158 <--x 135
153 <--x 136
146 <--x 137
142 <--x 138
154 <--x 139
160 <--x 140
147 <--x 141
148 <--x 141
149 <--x 141
150 <--x 141
142 <--x 192
143 <--x 190
144 <--x 189
145 <--x 195
146 <--x 199
151 <--x 186
152 <--x 201
153 <--x 194
154 <--x 188
155 <--x 187
156 <--x 196
157 <--x 197
158 <--x 202
159 <--x 191
160 <--x 203
161 <--x 200
162 <--x 198
163 <--x 193
```

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,686 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Variables in memory after executing tooling-nest-block.kcl
---
{
"cubeExtrude": {
"type": "Solid",
"value": {
"type": "Solid",
"id": "[uuid]",
"artifactId": "[uuid]",
"value": [
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 677,
"end": 698,
"start": 677,
"type": "TagDeclarator",
"value": "rectangleSegmentA001"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 786,
"end": 807,
"start": 786,
"type": "TagDeclarator",
"value": "rectangleSegmentB001"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 909,
"end": 930,
"start": 909,
"type": "TagDeclarator",
"value": "rectangleSegmentC001"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 1000,
"end": 1021,
"start": 1000,
"type": "TagDeclarator",
"value": "rectangleSegmentD001"
},
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
0.0
],
"tag": {
"commentStart": 677,
"end": 698,
"start": 677,
"type": "TagDeclarator",
"value": "rectangleSegmentA001"
},
"to": [
50.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
50.0,
0.0
],
"tag": {
"commentStart": 786,
"end": 807,
"start": 786,
"type": "TagDeclarator",
"value": "rectangleSegmentB001"
},
"to": [
50.0,
50.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
50.0,
50.0
],
"tag": {
"commentStart": 909,
"end": 930,
"start": 909,
"type": "TagDeclarator",
"value": "rectangleSegmentC001"
},
"to": [
0.0,
50.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
50.0
],
"tag": {
"commentStart": 1000,
"end": 1021,
"start": 1000,
"type": "TagDeclarator",
"value": "rectangleSegmentD001"
},
"to": [
0.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
0.0
],
"tag": null,
"to": [
0.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "XY",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
0.0,
0.0
],
"to": [
0.0,
0.0
],
"units": {
"type": "Mm"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"tags": {
"rectangleSegmentA001": {
"type": "TagIdentifier",
"value": "rectangleSegmentA001"
},
"rectangleSegmentB001": {
"type": "TagIdentifier",
"value": "rectangleSegmentB001"
},
"rectangleSegmentC001": {
"type": "TagIdentifier",
"value": "rectangleSegmentC001"
},
"rectangleSegmentD001": {
"type": "TagIdentifier",
"value": "rectangleSegmentD001"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Mm"
}
},
"height": 50.0,
"startCapId": "[uuid]",
"endCapId": "[uuid]",
"units": {
"type": "Mm"
},
"sectional": false
}
},
"cubeSketch": {
"type": "Sketch",
"value": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
0.0
],
"tag": {
"commentStart": 677,
"end": 698,
"start": 677,
"type": "TagDeclarator",
"value": "rectangleSegmentA001"
},
"to": [
50.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
50.0,
0.0
],
"tag": {
"commentStart": 786,
"end": 807,
"start": 786,
"type": "TagDeclarator",
"value": "rectangleSegmentB001"
},
"to": [
50.0,
50.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
50.0,
50.0
],
"tag": {
"commentStart": 909,
"end": 930,
"start": 909,
"type": "TagDeclarator",
"value": "rectangleSegmentC001"
},
"to": [
0.0,
50.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
50.0
],
"tag": {
"commentStart": 1000,
"end": 1021,
"start": 1000,
"type": "TagDeclarator",
"value": "rectangleSegmentD001"
},
"to": [
0.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
0.0
],
"tag": null,
"to": [
0.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "XY",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
0.0,
0.0
],
"to": [
0.0,
0.0
],
"units": {
"type": "Mm"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"tags": {
"rectangleSegmentA001": {
"type": "TagIdentifier",
"value": "rectangleSegmentA001"
},
"rectangleSegmentB001": {
"type": "TagIdentifier",
"value": "rectangleSegmentB001"
},
"rectangleSegmentC001": {
"type": "TagIdentifier",
"value": "rectangleSegmentC001"
},
"rectangleSegmentD001": {
"type": "TagIdentifier",
"value": "rectangleSegmentD001"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Mm"
}
}
},
"nest": {
"type": "Function",
"value": null
},
"rectangleSegmentA001": {
"type": "TagIdentifier",
"type": "TagIdentifier",
"value": "rectangleSegmentA001"
},
"rectangleSegmentB001": {
"type": "TagIdentifier",
"type": "TagIdentifier",
"value": "rectangleSegmentB001"
},
"rectangleSegmentC001": {
"type": "TagIdentifier",
"type": "TagIdentifier",
"value": "rectangleSegmentC001"
},
"rectangleSegmentD001": {
"type": "TagIdentifier",
"type": "TagIdentifier",
"value": "rectangleSegmentD001"
},
"sideLength": {
"type": "Number",
"value": 50.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"size01": {
"type": "Number",
"value": 15.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"size02": {
"type": "Number",
"value": 10.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"size03": {
"type": "Number",
"value": 6.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"size04": {
"type": "Number",
"value": 0.375,
"ty": {
"type": "Known",
"type": "Length",
"type": "Inches"
}
},
"size05": {
"type": "Number",
"value": 0.25,
"ty": {
"type": "Known",
"type": "Length",
"type": "Inches"
}
},
"size06": {
"type": "Number",
"value": 0.5,
"ty": {
"type": "Known",
"type": "Length",
"type": "Inches"
}
},
"size07": {
"type": "Number",
"value": 0.75,
"ty": {
"type": "Known",
"type": "Length",
"type": "Inches"
}
},
"size08": {
"type": "Number",
"value": 5.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"size09": {
"type": "Number",
"value": 4.5,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"size10": {
"type": "Number",
"value": 4.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"size11": {
"type": "Number",
"value": 3.5,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"size12": {
"type": "Number",
"value": 3.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"size13": {
"type": "Number",
"value": 2.5,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"size14": {
"type": "Number",
"value": 2.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"size15": {
"type": "Number",
"value": 1.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

View File

@ -678,7 +678,7 @@ flowchart LR
99 --- 245
99 --- 293
106 --- 193
106 x--> 207
106 x--> 206
106 --- 272
106 --- 321
126 --- 194
@ -1012,7 +1012,7 @@ flowchart LR
233 <--x 205
234 <--x 205
235 <--x 205
272 <--x 206
272 <--x 207
254 <--x 213
255 <--x 213
256 <--x 213

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Artifact graph flowchart wing-spar.kcl
extension: md
snapshot_kind: binary
---

View File

@ -0,0 +1,983 @@
```mermaid
flowchart LR
subgraph path6 [Path]
6["Path<br>[752, 787, 0]"]
16["Segment<br>[793, 836, 0]"]
17["Segment<br>[842, 901, 0]"]
18["Segment<br>[907, 942, 0]"]
19["Segment<br>[948, 995, 0]"]
20["Segment<br>[1001, 1054, 0]"]
21["Segment<br>[1060, 1125, 0]"]
22["Segment<br>[1131, 1138, 0]"]
85[Solid2d]
end
subgraph path7 [Path]
7["Path<br>[1256, 1293, 0]"]
23["Segment<br>[1256, 1293, 0]"]
82[Solid2d]
end
subgraph path8 [Path]
8["Path<br>[1318, 1357, 0]"]
24["Segment<br>[1318, 1357, 0]"]
84[Solid2d]
end
subgraph path9 [Path]
9["Path<br>[1382, 1420, 0]"]
25["Segment<br>[1382, 1420, 0]"]
88[Solid2d]
end
subgraph path10 [Path]
10["Path<br>[1445, 1483, 0]"]
26["Segment<br>[1445, 1483, 0]"]
81[Solid2d]
end
subgraph path11 [Path]
11["Path<br>[1508, 1549, 0]"]
27["Segment<br>[1508, 1549, 0]"]
89[Solid2d]
end
subgraph path12 [Path]
12["Path<br>[1994, 2057, 0]"]
28["Segment<br>[2063, 2109, 0]"]
29["Segment<br>[2115, 2186, 0]"]
30["Segment<br>[2192, 2223, 0]"]
31["Segment<br>[2229, 2300, 0]"]
32["Segment<br>[2306, 2338, 0]"]
33["Segment<br>[2344, 2415, 0]"]
34["Segment<br>[2421, 2453, 0]"]
35["Segment<br>[2459, 2492, 0]"]
36["Segment<br>[2498, 2527, 0]"]
37["Segment<br>[2533, 2583, 0]"]
38["Segment<br>[2589, 2618, 0]"]
39["Segment<br>[2624, 2674, 0]"]
40["Segment<br>[2680, 2710, 0]"]
41["Segment<br>[2716, 2766, 0]"]
42["Segment<br>[2772, 2816, 0]"]
43["Segment<br>[2822, 2878, 0]"]
44["Segment<br>[2884, 2891, 0]"]
87[Solid2d]
end
subgraph path13 [Path]
13["Path<br>[3010, 3071, 0]"]
45["Segment<br>[3077, 3129, 0]"]
46["Segment<br>[3135, 3205, 0]"]
47["Segment<br>[3211, 3243, 0]"]
48["Segment<br>[3249, 3319, 0]"]
49["Segment<br>[3325, 3357, 0]"]
50["Segment<br>[3363, 3433, 0]"]
51["Segment<br>[3439, 3470, 0]"]
52["Segment<br>[3476, 3509, 0]"]
53["Segment<br>[3515, 3545, 0]"]
54["Segment<br>[3551, 3602, 0]"]
55["Segment<br>[3608, 3637, 0]"]
56["Segment<br>[3643, 3694, 0]"]
57["Segment<br>[3700, 3729, 0]"]
58["Segment<br>[3735, 3786, 0]"]
59["Segment<br>[3792, 3836, 0]"]
60["Segment<br>[3842, 3898, 0]"]
61["Segment<br>[3904, 3911, 0]"]
80[Solid2d]
end
subgraph path14 [Path]
14["Path<br>[4078, 4137, 0]"]
62["Segment<br>[4143, 4195, 0]"]
63["Segment<br>[4201, 4239, 0]"]
64["Segment<br>[4245, 4335, 0]"]
65["Segment<br>[4341, 4379, 0]"]
66["Segment<br>[4385, 4415, 0]"]
67["Segment<br>[4421, 4459, 0]"]
68["Segment<br>[4465, 4494, 0]"]
69["Segment<br>[4500, 4565, 0]"]
70["Segment<br>[4571, 4578, 0]"]
86[Solid2d]
end
subgraph path15 [Path]
15["Path<br>[4838, 4897, 0]"]
71["Segment<br>[4903, 4957, 0]"]
72["Segment<br>[4963, 5001, 0]"]
73["Segment<br>[5007, 5037, 0]"]
74["Segment<br>[5043, 5081, 0]"]
75["Segment<br>[5087, 5117, 0]"]
76["Segment<br>[5123, 5161, 0]"]
77["Segment<br>[5167, 5196, 0]"]
78["Segment<br>[5202, 5267, 0]"]
79["Segment<br>[5273, 5280, 0]"]
83[Solid2d]
end
1["Plane<br>[704, 745, 0]"]
2["Plane<br>[1889, 1907, 0]"]
3["StartSketchOnPlane<br>[690, 746, 0]"]
4["StartSketchOnFace<br>[4027, 4072, 0]"]
5["StartSketchOnFace<br>[4788, 4832, 0]"]
90["Sweep Extrusion<br>[1652, 1684, 0]"]
91["Sweep Extrusion<br>[2897, 2924, 0]"]
92["Sweep Extrusion<br>[3917, 3944, 0]"]
93["Sweep Extrusion<br>[4750, 4771, 0]"]
94["Sweep Extrusion<br>[4750, 4771, 0]"]
95["Sweep Extrusion<br>[4750, 4771, 0]"]
96["Sweep Extrusion<br>[4750, 4771, 0]"]
97["Sweep Extrusion<br>[5452, 5473, 0]"]
98["Sweep Extrusion<br>[5452, 5473, 0]"]
99["Sweep Extrusion<br>[5452, 5473, 0]"]
100["Sweep Extrusion<br>[5452, 5473, 0]"]
101[Wall]
102[Wall]
103[Wall]
104[Wall]
105[Wall]
106[Wall]
107[Wall]
108[Wall]
109[Wall]
110[Wall]
111[Wall]
112[Wall]
113[Wall]
114[Wall]
115[Wall]
116[Wall]
117[Wall]
118[Wall]
119[Wall]
120[Wall]
121[Wall]
122[Wall]
123[Wall]
124[Wall]
125[Wall]
126[Wall]
127[Wall]
128[Wall]
129[Wall]
130[Wall]
131[Wall]
132[Wall]
133[Wall]
134[Wall]
135[Wall]
136[Wall]
137[Wall]
138[Wall]
139[Wall]
140[Wall]
141[Wall]
142[Wall]
143[Wall]
144[Wall]
145[Wall]
146[Wall]
147[Wall]
148[Wall]
149[Wall]
150[Wall]
151[Wall]
152[Wall]
153[Wall]
154[Wall]
155["Cap Start"]
156["Cap Start"]
157["Cap Start"]
158["Cap End"]
159["Cap End"]
160["Cap End"]
161["SweepEdge Opposite"]
162["SweepEdge Opposite"]
163["SweepEdge Opposite"]
164["SweepEdge Opposite"]
165["SweepEdge Opposite"]
166["SweepEdge Opposite"]
167["SweepEdge Opposite"]
168["SweepEdge Opposite"]
169["SweepEdge Opposite"]
170["SweepEdge Opposite"]
171["SweepEdge Opposite"]
172["SweepEdge Opposite"]
173["SweepEdge Opposite"]
174["SweepEdge Opposite"]
175["SweepEdge Opposite"]
176["SweepEdge Opposite"]
177["SweepEdge Opposite"]
178["SweepEdge Opposite"]
179["SweepEdge Opposite"]
180["SweepEdge Opposite"]
181["SweepEdge Opposite"]
182["SweepEdge Opposite"]
183["SweepEdge Opposite"]
184["SweepEdge Opposite"]
185["SweepEdge Opposite"]
186["SweepEdge Opposite"]
187["SweepEdge Opposite"]
188["SweepEdge Opposite"]
189["SweepEdge Opposite"]
190["SweepEdge Opposite"]
191["SweepEdge Opposite"]
192["SweepEdge Opposite"]
193["SweepEdge Opposite"]
194["SweepEdge Opposite"]
195["SweepEdge Opposite"]
196["SweepEdge Opposite"]
197["SweepEdge Opposite"]
198["SweepEdge Opposite"]
199["SweepEdge Opposite"]
200["SweepEdge Opposite"]
201["SweepEdge Opposite"]
202["SweepEdge Opposite"]
203["SweepEdge Opposite"]
204["SweepEdge Opposite"]
205["SweepEdge Opposite"]
206["SweepEdge Opposite"]
207["SweepEdge Opposite"]
208["SweepEdge Opposite"]
209["SweepEdge Opposite"]
210["SweepEdge Opposite"]
211["SweepEdge Opposite"]
212["SweepEdge Opposite"]
213["SweepEdge Opposite"]
214["SweepEdge Opposite"]
215["SweepEdge Adjacent"]
216["SweepEdge Adjacent"]
217["SweepEdge Adjacent"]
218["SweepEdge Adjacent"]
219["SweepEdge Adjacent"]
220["SweepEdge Adjacent"]
221["SweepEdge Adjacent"]
222["SweepEdge Adjacent"]
223["SweepEdge Adjacent"]
224["SweepEdge Adjacent"]
225["SweepEdge Adjacent"]
226["SweepEdge Adjacent"]
227["SweepEdge Adjacent"]
228["SweepEdge Adjacent"]
229["SweepEdge Adjacent"]
230["SweepEdge Adjacent"]
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["SweepEdge Adjacent"]
243["SweepEdge Adjacent"]
244["SweepEdge Adjacent"]
245["SweepEdge Adjacent"]
246["SweepEdge Adjacent"]
247["SweepEdge Adjacent"]
248["SweepEdge Adjacent"]
249["SweepEdge Adjacent"]
250["SweepEdge Adjacent"]
251["SweepEdge Adjacent"]
252["SweepEdge Adjacent"]
253["SweepEdge Adjacent"]
254["SweepEdge Adjacent"]
255["SweepEdge Adjacent"]
256["SweepEdge Adjacent"]
257["SweepEdge Adjacent"]
258["SweepEdge Adjacent"]
259["SweepEdge Adjacent"]
260["SweepEdge Adjacent"]
261["SweepEdge Adjacent"]
262["SweepEdge Adjacent"]
263["SweepEdge Adjacent"]
264["SweepEdge Adjacent"]
265["SweepEdge Adjacent"]
266["SweepEdge Adjacent"]
267["SweepEdge Adjacent"]
268["SweepEdge Adjacent"]
1 <--x 3
1 --- 6
1 --- 7
1 --- 8
1 --- 9
1 --- 10
1 --- 11
2 --- 12
2 --- 13
116 x--> 4
154 x--> 5
6 --- 16
6 --- 17
6 --- 18
6 --- 19
6 --- 20
6 --- 21
6 --- 22
6 --- 85
6 ---- 90
7 --- 23
7 --- 82
8 --- 24
8 --- 84
9 --- 25
9 --- 88
10 --- 26
10 --- 81
11 --- 27
11 --- 89
12 --- 28
12 --- 29
12 --- 30
12 --- 31
12 --- 32
12 --- 33
12 --- 34
12 --- 35
12 --- 36
12 --- 37
12 --- 38
12 --- 39
12 --- 40
12 --- 41
12 --- 42
12 --- 43
12 --- 44
12 --- 87
12 ---- 91
13 --- 45
13 --- 46
13 --- 47
13 --- 48
13 --- 49
13 --- 50
13 --- 51
13 --- 52
13 --- 53
13 --- 54
13 --- 55
13 --- 56
13 --- 57
13 --- 58
13 --- 59
13 --- 60
13 --- 61
13 --- 80
13 ---- 92
14 --- 62
14 --- 63
14 --- 64
14 --- 65
14 --- 66
14 --- 67
14 --- 68
14 --- 69
14 --- 70
14 --- 86
14 ---- 93
116 --- 14
15 --- 71
15 --- 72
15 --- 73
15 --- 74
15 --- 75
15 --- 76
15 --- 77
15 --- 78
15 --- 79
15 --- 83
15 ---- 98
154 --- 15
16 --- 135
16 x--> 159
16 --- 196
16 --- 250
17 --- 134
17 x--> 159
17 --- 197
17 --- 251
18 --- 136
18 x--> 159
18 --- 194
18 --- 247
19 --- 138
19 x--> 159
19 --- 198
19 --- 252
20 --- 137
20 x--> 159
20 --- 195
20 --- 248
21 --- 133
21 x--> 159
21 --- 193
21 --- 249
28 --- 111
28 x--> 160
28 --- 163
28 --- 228
29 --- 112
29 x--> 160
29 --- 170
29 --- 224
30 --- 105
30 x--> 160
30 --- 176
30 --- 225
31 --- 101
31 x--> 160
31 --- 169
31 --- 222
32 --- 108
32 x--> 160
32 --- 161
32 --- 221
33 --- 103
33 x--> 160
33 --- 164
33 --- 219
34 --- 104
34 x--> 160
34 --- 174
34 --- 229
35 --- 115
35 x--> 160
35 --- 175
35 --- 230
36 --- 107
36 x--> 160
36 --- 165
36 --- 216
37 --- 106
37 x--> 160
37 --- 166
37 --- 217
38 --- 113
38 x--> 160
38 --- 162
38 --- 227
39 --- 102
39 x--> 160
39 --- 167
39 --- 226
40 --- 114
40 x--> 160
40 --- 171
40 --- 215
41 --- 109
41 x--> 160
41 --- 173
41 --- 223
42 --- 116
42 x--> 160
42 --- 168
42 --- 218
43 --- 110
43 x--> 160
43 --- 172
43 --- 220
45 --- 153
45 x--> 158
45 --- 210
45 --- 262
46 --- 142
46 x--> 158
46 --- 206
46 --- 266
47 --- 144
47 x--> 158
47 --- 203
47 --- 261
48 --- 151
48 x--> 158
48 --- 202
48 --- 267
49 --- 149
49 x--> 158
49 --- 205
49 --- 260
50 --- 147
50 x--> 158
50 --- 207
50 --- 259
51 --- 150
51 x--> 158
51 --- 204
51 --- 253
52 --- 143
52 x--> 158
52 --- 208
52 --- 263
53 --- 146
53 x--> 158
53 --- 209
53 --- 254
54 --- 140
54 x--> 158
54 --- 214
54 --- 258
55 --- 139
55 x--> 158
55 --- 199
55 --- 256
56 --- 141
56 x--> 158
56 --- 201
56 --- 257
57 --- 152
57 x--> 158
57 --- 213
57 --- 265
58 --- 148
58 x--> 158
58 --- 212
58 --- 268
59 --- 154
59 x--> 158
59 --- 211
59 --- 264
60 --- 145
60 x--> 158
60 --- 200
60 --- 255
62 x--> 116
62 --- 122
62 --- 180
62 --- 232
63 x--> 116
63 --- 124
63 --- 182
63 --- 235
64 x--> 116
64 --- 121
64 --- 184
64 --- 234
65 x--> 116
65 --- 120
65 --- 177
65 --- 231
66 x--> 116
66 --- 123
66 --- 179
66 --- 238
67 x--> 116
67 --- 119
67 --- 178
67 --- 237
68 x--> 116
68 --- 117
68 --- 183
68 --- 233
69 x--> 116
69 --- 118
69 --- 181
69 --- 236
71 --- 131
71 x--> 154
71 --- 191
71 --- 245
72 --- 128
72 x--> 154
72 --- 192
72 --- 243
73 --- 132
73 x--> 154
73 --- 185
73 --- 240
74 --- 126
74 x--> 154
74 --- 188
74 --- 239
75 --- 129
75 x--> 154
75 --- 189
75 --- 244
76 --- 127
76 x--> 154
76 --- 187
76 --- 241
77 --- 125
77 x--> 154
77 --- 186
77 --- 242
78 --- 130
78 x--> 154
78 --- 190
78 --- 246
90 --- 133
90 --- 134
90 --- 135
90 --- 136
90 --- 137
90 --- 138
90 --- 156
90 --- 159
90 --- 193
90 --- 194
90 --- 195
90 --- 196
90 --- 197
90 --- 198
90 --- 247
90 --- 248
90 --- 249
90 --- 250
90 --- 251
90 --- 252
91 --- 101
91 --- 102
91 --- 103
91 --- 104
91 --- 105
91 --- 106
91 --- 107
91 --- 108
91 --- 109
91 --- 110
91 --- 111
91 --- 112
91 --- 113
91 --- 114
91 --- 115
91 --- 116
91 --- 157
91 --- 160
91 --- 161
91 --- 162
91 --- 163
91 --- 164
91 --- 165
91 --- 166
91 --- 167
91 --- 168
91 --- 169
91 --- 170
91 --- 171
91 --- 172
91 --- 173
91 --- 174
91 --- 175
91 --- 176
91 --- 215
91 --- 216
91 --- 217
91 --- 218
91 --- 219
91 --- 220
91 --- 221
91 --- 222
91 --- 223
91 --- 224
91 --- 225
91 --- 226
91 --- 227
91 --- 228
91 --- 229
91 --- 230
92 --- 139
92 --- 140
92 --- 141
92 --- 142
92 --- 143
92 --- 144
92 --- 145
92 --- 146
92 --- 147
92 --- 148
92 --- 149
92 --- 150
92 --- 151
92 --- 152
92 --- 153
92 --- 154
92 --- 155
92 --- 158
92 --- 199
92 --- 200
92 --- 201
92 --- 202
92 --- 203
92 --- 204
92 --- 205
92 --- 206
92 --- 207
92 --- 208
92 --- 209
92 --- 210
92 --- 211
92 --- 212
92 --- 213
92 --- 214
92 --- 253
92 --- 254
92 --- 255
92 --- 256
92 --- 257
92 --- 258
92 --- 259
92 --- 260
92 --- 261
92 --- 262
92 --- 263
92 --- 264
92 --- 265
92 --- 266
92 --- 267
92 --- 268
93 --- 117
93 --- 118
93 --- 119
93 --- 120
93 --- 121
93 --- 122
93 --- 123
93 --- 124
93 --- 177
93 --- 178
93 --- 179
93 --- 180
93 --- 181
93 --- 182
93 --- 183
93 --- 184
93 --- 231
93 --- 232
93 --- 233
93 --- 234
93 --- 235
93 --- 236
93 --- 237
93 --- 238
98 --- 125
98 --- 126
98 --- 127
98 --- 128
98 --- 129
98 --- 130
98 --- 131
98 --- 132
98 --- 185
98 --- 186
98 --- 187
98 --- 188
98 --- 189
98 --- 190
98 --- 191
98 --- 192
98 --- 239
98 --- 240
98 --- 241
98 --- 242
98 --- 243
98 --- 244
98 --- 245
98 --- 246
169 <--x 101
222 <--x 101
225 <--x 101
167 <--x 102
226 <--x 102
227 <--x 102
164 <--x 103
219 <--x 103
221 <--x 103
174 <--x 104
219 <--x 104
229 <--x 104
176 <--x 105
224 <--x 105
225 <--x 105
166 <--x 106
216 <--x 106
217 <--x 106
165 <--x 107
216 <--x 107
230 <--x 107
161 <--x 108
221 <--x 108
222 <--x 108
173 <--x 109
215 <--x 109
223 <--x 109
172 <--x 110
218 <--x 110
220 <--x 110
163 <--x 111
177 <--x 111
178 <--x 111
179 <--x 111
180 <--x 111
181 <--x 111
182 <--x 111
183 <--x 111
184 <--x 111
220 <--x 111
228 <--x 111
170 <--x 112
224 <--x 112
228 <--x 112
162 <--x 113
217 <--x 113
227 <--x 113
171 <--x 114
215 <--x 114
226 <--x 114
175 <--x 115
229 <--x 115
230 <--x 115
168 <--x 116
218 <--x 116
223 <--x 116
183 <--x 117
233 <--x 117
237 <--x 117
181 <--x 118
233 <--x 118
236 <--x 118
178 <--x 119
237 <--x 119
238 <--x 119
177 <--x 120
231 <--x 120
234 <--x 120
184 <--x 121
234 <--x 121
235 <--x 121
180 <--x 122
232 <--x 122
236 <--x 122
179 <--x 123
231 <--x 123
238 <--x 123
182 <--x 124
232 <--x 124
235 <--x 124
186 <--x 125
241 <--x 125
242 <--x 125
188 <--x 126
239 <--x 126
240 <--x 126
187 <--x 127
241 <--x 127
244 <--x 127
192 <--x 128
243 <--x 128
245 <--x 128
189 <--x 129
239 <--x 129
244 <--x 129
190 <--x 130
242 <--x 130
246 <--x 130
191 <--x 131
245 <--x 131
246 <--x 131
185 <--x 132
240 <--x 132
243 <--x 132
193 <--x 133
248 <--x 133
249 <--x 133
197 <--x 134
250 <--x 134
251 <--x 134
196 <--x 135
249 <--x 135
250 <--x 135
194 <--x 136
247 <--x 136
251 <--x 136
195 <--x 137
248 <--x 137
252 <--x 137
198 <--x 138
247 <--x 138
252 <--x 138
199 <--x 139
256 <--x 139
258 <--x 139
214 <--x 140
254 <--x 140
258 <--x 140
201 <--x 141
256 <--x 141
257 <--x 141
206 <--x 142
262 <--x 142
266 <--x 142
208 <--x 143
253 <--x 143
263 <--x 143
203 <--x 144
261 <--x 144
266 <--x 144
200 <--x 145
255 <--x 145
264 <--x 145
209 <--x 146
254 <--x 146
263 <--x 146
207 <--x 147
259 <--x 147
260 <--x 147
212 <--x 148
265 <--x 148
268 <--x 148
205 <--x 149
260 <--x 149
267 <--x 149
204 <--x 150
253 <--x 150
259 <--x 150
202 <--x 151
261 <--x 151
267 <--x 151
213 <--x 152
257 <--x 152
265 <--x 152
185 <--x 153
186 <--x 153
187 <--x 153
188 <--x 153
189 <--x 153
190 <--x 153
191 <--x 153
192 <--x 153
210 <--x 153
255 <--x 153
262 <--x 153
211 <--x 154
264 <--x 154
268 <--x 154
199 <--x 155
200 <--x 155
201 <--x 155
202 <--x 155
203 <--x 155
204 <--x 155
205 <--x 155
206 <--x 155
207 <--x 155
208 <--x 155
209 <--x 155
210 <--x 155
211 <--x 155
212 <--x 155
213 <--x 155
214 <--x 155
193 <--x 156
194 <--x 156
195 <--x 156
196 <--x 156
197 <--x 156
198 <--x 156
161 <--x 157
162 <--x 157
163 <--x 157
164 <--x 157
165 <--x 157
166 <--x 157
167 <--x 157
168 <--x 157
169 <--x 157
170 <--x 157
171 <--x 157
172 <--x 157
173 <--x 157
174 <--x 157
175 <--x 157
176 <--x 157
```

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,536 @@
---
source: kcl-lib/src/simulation_tests.rs
description: Operations executed wing-spar.kcl
---
[
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
{
"type": "KclStdLibCall",
"name": "offsetPlane",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
},
"labeledArgs": {
"offset": {
"value": {
"type": "Number",
"value": -8.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
}
},
"sourceRange": []
},
{
"labeledArgs": {
"tool": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
"name": "subtract2d",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"tool": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
"name": "subtract2d",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"tool": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
"name": "subtract2d",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"tool": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
"name": "subtract2d",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"tool": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
"name": "subtract2d",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": -8.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": {
"axis": {
"value": {
"type": "Array",
"value": [
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": -1.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
{
"type": "Number",
"value": 0.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
}
]
},
"sourceRange": []
},
"distance": {
"value": {
"type": "Number",
"value": 169.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
},
"instances": {
"value": {
"type": "Number",
"value": 5.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
}
},
"name": "patternLinear3d",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Plane",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
{
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": -700.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": {
"length": {
"value": {
"type": "Number",
"value": -700.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": "TagIdentifier",
"value": "seg10",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": -10.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
}
},
"name": "extrude",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
{
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
{
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
{
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
},
{
"labeledArgs": {
"face": {
"value": {
"type": "TagIdentifier",
"value": "seg09",
"artifact_id": "[uuid]"
},
"sourceRange": []
}
},
"name": "startSketchOn",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Solid",
"value": {
"artifactId": "[uuid]"
}
},
"sourceRange": []
}
},
{
"labeledArgs": {
"length": {
"value": {
"type": "Number",
"value": -10.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
}
},
"name": "extrude",
"sourceRange": [],
"type": "StdLibCall",
"unlabeledArg": {
"value": {
"type": "Array",
"value": [
{
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
{
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
{
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
},
{
"type": "Sketch",
"value": {
"artifactId": "[uuid]"
}
}
]
},
"sourceRange": []
}
}
]

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB