Add clock (#7206)
* Add clock * update minute hand params * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * add better parameterization * Update kcl-samples simulation test output --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
@ -39,6 +39,8 @@ When you submit a PR to add or modify KCL samples, images will be generated and
|
||||
[](brake-rotor/main.kcl)
|
||||
#### [car-wheel-assembly](car-wheel-assembly/main.kcl) ([screenshot](screenshots/car-wheel-assembly.png))
|
||||
[](car-wheel-assembly/main.kcl)
|
||||
#### [clock](clock/main.kcl) ([screenshot](screenshots/clock.png))
|
||||
[](clock/main.kcl)
|
||||
#### [cold-plate](cold-plate/main.kcl) ([screenshot](screenshots/cold-plate.png))
|
||||
[](cold-plate/main.kcl)
|
||||
#### [color-cube](color-cube/main.kcl) ([screenshot](screenshots/color-cube.png))
|
||||
|
||||
441
public/kcl-samples/clock/main.kcl
Normal file
441
public/kcl-samples/clock/main.kcl
Normal file
@ -0,0 +1,441 @@
|
||||
// Clock
|
||||
// A clock with roman numerals
|
||||
|
||||
// Define parameters
|
||||
clockDiameter = 500
|
||||
clockThickness = 50
|
||||
minuteHandLength = 100
|
||||
nubDiameter = 30
|
||||
numHeight = 10
|
||||
minuteHandWidth = 25
|
||||
hourHandWidth = 25
|
||||
hourHandLargeDiameter = 230
|
||||
minuteHandLargeDiameter = 310
|
||||
filletRadius = 5
|
||||
ridgeThickness = 10
|
||||
numberThickness = 10
|
||||
|
||||
// Calculated parameters
|
||||
ridgeDiameter = clockDiameter - 50
|
||||
hourHandArmLength = clockDiameter / 2 * .25
|
||||
minuteHandArmLength = clockDiameter / 2 * .40
|
||||
|
||||
// Add assert for clockDiameter
|
||||
assert(clockDiameter, isGreaterThan = 450, error = "clock diameter needs to be greater than 400")
|
||||
|
||||
// What time is it?
|
||||
hour = 9
|
||||
minute = 29
|
||||
|
||||
// Calculate hand angles
|
||||
hourHandAngle = 90 - (hour * 30)
|
||||
minuteHandAngle = 90 - (minute * 6)
|
||||
|
||||
// Create the clock body
|
||||
clockBodySketch = startSketchOn(XY)
|
||||
profile001 = circle(
|
||||
clockBodySketch,
|
||||
center = [0, 0],
|
||||
diameter = clockDiameter,
|
||||
tag = $seg02,
|
||||
)
|
||||
|
||||
clockBody = extrude(profile001, length = clockThickness, tagStart = $capStart001)
|
||||
|> fillet(
|
||||
radius = filletRadius,
|
||||
tags = [
|
||||
getCommonEdge(faces = [seg02, capStart001])
|
||||
],
|
||||
)
|
||||
|
||||
// Create the ridge on the top face of the body
|
||||
clockRidgeSketch = startSketchOn(clockBody, face = END)
|
||||
profile002 = circle(
|
||||
clockRidgeSketch,
|
||||
center = [0, 0],
|
||||
diameter = clockDiameter,
|
||||
tag = $seg01,
|
||||
)
|
||||
profile003 = circle(clockRidgeSketch, center = [0, 0], diameter = ridgeDiameter)
|
||||
subtract2d(profile002, tool = profile003)
|
||||
clockRidge = extrude(profile002, length = ridgeThickness, tagEnd = $capEnd001)
|
||||
|> fillet(
|
||||
radius = filletRadius,
|
||||
tags = [
|
||||
getCommonEdge(faces = [seg01, capEnd001])
|
||||
],
|
||||
)
|
||||
|> appearance(%, color = "#ab4321")
|
||||
|
||||
// Create an object that has all of the x and y starting positions of every number
|
||||
numberObject = {
|
||||
// one = { i = [90, 160] },
|
||||
one = {
|
||||
i = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(60),
|
||||
clockDiameter / 2 * 3 / 4 * sin(60)
|
||||
]
|
||||
},
|
||||
two = {
|
||||
i = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(30) - 10,
|
||||
clockDiameter / 2 * 3 / 4 * sin(30)
|
||||
],
|
||||
i2 = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(30) + 5,
|
||||
clockDiameter / 2 * 3 / 4 * sin(30)
|
||||
]
|
||||
},
|
||||
three = {
|
||||
i = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(0) - 15,
|
||||
clockDiameter / 2 * 3 / 4 * sin(0)
|
||||
],
|
||||
i2 = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(0),
|
||||
clockDiameter / 2 * 3 / 4 * sin(0)
|
||||
],
|
||||
i3 = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(0) + 15,
|
||||
clockDiameter / 2 * 3 / 4 * sin(0)
|
||||
]
|
||||
},
|
||||
four = {
|
||||
i = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(-30) - 10,
|
||||
clockDiameter / 2 * 3 / 4 * sin(-30)
|
||||
],
|
||||
v = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(-30) + 13,
|
||||
clockDiameter / 2 * 3 / 4 * sin(-30)
|
||||
]
|
||||
},
|
||||
five = {
|
||||
v = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(-60),
|
||||
clockDiameter / 2 * 3 / 4 * sin(-60)
|
||||
]
|
||||
},
|
||||
six = {
|
||||
v = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(-90) - 10,
|
||||
clockDiameter / 2 * 3 / 4 * sin(-90)
|
||||
],
|
||||
i = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(-90) + 12,
|
||||
clockDiameter / 2 * 3 / 4 * sin(-90)
|
||||
]
|
||||
},
|
||||
seven = {
|
||||
v = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(-120) - 15,
|
||||
clockDiameter / 2 * 3 / 4 * sin(-120)
|
||||
],
|
||||
i = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(-120) + 5,
|
||||
clockDiameter / 2 * 3 / 4 * sin(-120)
|
||||
],
|
||||
i2 = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(-120) + 20,
|
||||
clockDiameter / 2 * 3 / 4 * sin(-120)
|
||||
]
|
||||
},
|
||||
eight = {
|
||||
v = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(-150) - 10,
|
||||
clockDiameter / 2 * 3 / 4 * sin(-150)
|
||||
],
|
||||
i = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(-150) + 10,
|
||||
clockDiameter / 2 * 3 / 4 * sin(-150)
|
||||
],
|
||||
i2 = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(-150) + 25,
|
||||
clockDiameter / 2 * 3 / 4 * sin(-150)
|
||||
],
|
||||
i3 = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(-150) + 40,
|
||||
clockDiameter / 2 * 3 / 4 * sin(-150)
|
||||
]
|
||||
},
|
||||
nine = {
|
||||
i = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(180) - 15,
|
||||
clockDiameter / 2 * 3 / 4 * sin(180)
|
||||
],
|
||||
x = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(180) + 15,
|
||||
clockDiameter / 2 * 3 / 4 * sin(180)
|
||||
]
|
||||
},
|
||||
ten = {
|
||||
x = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(150) + 5,
|
||||
clockDiameter / 2 * 3 / 4 * sin(150)
|
||||
]
|
||||
},
|
||||
eleven = {
|
||||
x = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(120),
|
||||
clockDiameter / 2 * 3 / 4 * sin(120)
|
||||
],
|
||||
i = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(120) + 10,
|
||||
clockDiameter / 2 * 3 / 4 * sin(120)
|
||||
]
|
||||
},
|
||||
twelve = {
|
||||
x = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(90) - 10,
|
||||
clockDiameter / 2 * 3 / 4 * sin(90)
|
||||
],
|
||||
i = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(90) + 5,
|
||||
clockDiameter / 2 * 3 / 4 * sin(90)
|
||||
],
|
||||
i2 = [
|
||||
clockDiameter / 2 * 3 / 4 * cos(90) + 20,
|
||||
clockDiameter / 2 * 3 / 4 * sin(90)
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
// Function for the letter I
|
||||
fn letterI(startX, startY) {
|
||||
iWidth = 8
|
||||
iLength = 40
|
||||
return startSketchOn(offsetPlane(XY, offset = 50))
|
||||
|> startProfile(
|
||||
%,
|
||||
at = [
|
||||
startX - (iWidth / 2),
|
||||
startY + iLength / 2
|
||||
],
|
||||
)
|
||||
|> xLine(%, length = iWidth)
|
||||
|> yLine(%, length = -iLength)
|
||||
|> xLine(%, length = -iWidth)
|
||||
|> close(%)
|
||||
|> extrude(%, length = numberThickness)
|
||||
|> appearance(%, color = "#140f0f")
|
||||
}
|
||||
|
||||
// Function for the letter X
|
||||
fn letterX(startX, startY) {
|
||||
xWidth = 40
|
||||
xLength = 40
|
||||
|
||||
return startSketchOn(offsetPlane(XY, offset = 50))
|
||||
|> startProfile(
|
||||
%,
|
||||
at = [
|
||||
startX - (xWidth / 2),
|
||||
startY + xLength / 2
|
||||
],
|
||||
)
|
||||
|> xLine(%, length = xWidth / 6)
|
||||
|> angledLine(%, angle = -70, lengthY = xLength * 1 / 3)
|
||||
|> angledLine(%, angle = 70, lengthY = xLength * 1 / 3)
|
||||
|> xLine(%, length = xWidth / 6)
|
||||
|> angledLine(%, angle = 70 + 180, lengthY = xLength * 1 / 2)
|
||||
|> angledLine(%, angle = -70, lengthY = xLength * 1 / 2)
|
||||
|> xLine(%, length = -xWidth / 6)
|
||||
|> angledLine(%, angle = -70 - 180, lengthY = xLength * 1 / 3)
|
||||
|> angledLine(%, angle = 70 + 180, lengthY = xLength * 1 / 3)
|
||||
|> xLine(%, length = -xWidth / 6)
|
||||
|> angledLine(%, angle = 70, lengthY = xLength * 1 / 2)
|
||||
|> close(%)
|
||||
|> extrude(%, length = numberThickness)
|
||||
|> appearance(%, color = "#140f0f")
|
||||
}
|
||||
|
||||
// Function for the letter V
|
||||
fn letterV(startX, startY) {
|
||||
vWidth = 25
|
||||
vLength = 40
|
||||
return startSketchOn(offsetPlane(XY, offset = 50))
|
||||
|> startProfile(
|
||||
%,
|
||||
at = [
|
||||
startX - (vWidth / 2),
|
||||
startY + vLength / 2
|
||||
],
|
||||
)
|
||||
|> xLine(%, length = vWidth * 1 / 3)
|
||||
|> line(%, end = [vWidth / 6, -vLength / 2])
|
||||
|> line(%, end = [vWidth / 6, vLength / 2])
|
||||
|> xLine(%, length = vWidth * 1 / 3)
|
||||
|> line(%, end = [-vWidth * 1 / 2, -vLength])
|
||||
|> close(%)
|
||||
|> extrude(%, length = numberThickness)
|
||||
|> appearance(%, color = "#140f0f")
|
||||
}
|
||||
|
||||
// Create the numbers on the face of the clock
|
||||
|
||||
// 1 //
|
||||
letterI(startX = numberObject.one.i[0], startY = numberObject.one.i[1])
|
||||
|
||||
// 2 //
|
||||
letterI(startX = numberObject.two.i[0], startY = numberObject.two.i[1])
|
||||
letterI(startX = numberObject.two.i2[0], startY = numberObject.two.i2[1])
|
||||
|
||||
// 3 //
|
||||
letterI(startX = numberObject.three.i[0], startY = numberObject.three.i[1])
|
||||
letterI(startX = numberObject.three.i2[0], startY = numberObject.three.i2[1])
|
||||
letterI(startX = numberObject.three.i3[0], startY = numberObject.three.i3[1])
|
||||
|
||||
// 4 //
|
||||
letterI(startX = numberObject.four.i[0], startY = numberObject.four.i[1])
|
||||
letterV(startX = numberObject.four.v[0], startY = numberObject.four.v[1])
|
||||
|
||||
// 5 //
|
||||
letterV(startX = numberObject.five.v[0], startY = numberObject.five.v[1])
|
||||
|
||||
// 6 //
|
||||
letterV(startX = numberObject.six.v[0], startY = numberObject.six.v[1])
|
||||
letterI(startX = numberObject.six.i[0], startY = numberObject.six.i[1])
|
||||
|
||||
// 7 //
|
||||
letterV(startX = numberObject.seven.v[0], startY = numberObject.seven.v[1])
|
||||
letterI(startX = numberObject.seven.i[0], startY = numberObject.seven.i[1])
|
||||
letterI(startX = numberObject.seven.i2[0], startY = numberObject.seven.i2[1])
|
||||
|
||||
// 8 //
|
||||
letterV(startX = numberObject.eight.v[0], startY = numberObject.eight.v[1])
|
||||
letterI(startX = numberObject.eight.i[0], startY = numberObject.eight.i[1])
|
||||
letterI(startX = numberObject.eight.i2[0], startY = numberObject.eight.i2[1])
|
||||
letterI(startX = numberObject.eight.i3[0], startY = numberObject.eight.i3[1])
|
||||
|
||||
// 9 //
|
||||
letterI(startX = numberObject.nine.i[0], startY = numberObject.nine.i[1])
|
||||
letterX(startX = numberObject.nine.x[0], startY = numberObject.nine.x[1])
|
||||
|
||||
// 10 //
|
||||
letterX(startX = numberObject.ten.x[0], startY = numberObject.ten.x[1])
|
||||
|
||||
// 11 //
|
||||
letterX(startX = numberObject.eleven.x[0], startY = numberObject.eleven.x[1])
|
||||
letterI(startX = numberObject.eleven.i[0], startY = numberObject.eleven.i[1])
|
||||
|
||||
// 12 //
|
||||
letterX(startX = numberObject.twelve.x[0], startY = numberObject.twelve.x[1])
|
||||
letterI(startX = numberObject.twelve.i[0], startY = numberObject.twelve.i[1])
|
||||
letterI(startX = numberObject.twelve.i2[0], startY = numberObject.twelve.i2[1])
|
||||
|
||||
// Create nub for the minute and hour hands
|
||||
startSketchOn(clockBody, face = END)
|
||||
|> circle(center = [0, 0], diameter = nubDiameter)
|
||||
|> extrude(%, length = numHeight)
|
||||
|
||||
// Create the hour hand
|
||||
sketch005 = startSketchOn(offsetPlane(XY, offset = 55))
|
||||
profile007 = startProfile(
|
||||
sketch005,
|
||||
at = [
|
||||
nubDiameter / 2 * 1.375 * cos(hourHandAngle + 20),
|
||||
nubDiameter / 2 * 1.375 * sin(hourHandAngle + 20)
|
||||
],
|
||||
)
|
||||
|> arc(
|
||||
%,
|
||||
interiorAbsolute = [
|
||||
nubDiameter / 2 * 1.375 * cos(hourHandAngle + 180),
|
||||
nubDiameter / 2 * 1.375 * sin(hourHandAngle + 180)
|
||||
],
|
||||
endAbsolute = [
|
||||
nubDiameter / 2 * 1.375 * cos(hourHandAngle + 340),
|
||||
nubDiameter / 2 * 1.375 * sin(hourHandAngle + 340)
|
||||
],
|
||||
)
|
||||
|> angledLine(%, angle = hourHandAngle, length = hourHandArmLength)
|
||||
|> angledLine(
|
||||
%,
|
||||
angle = hourHandAngle - 90,
|
||||
length = hourHandWidth / 2,
|
||||
tag = $seg004,
|
||||
)
|
||||
|> line(
|
||||
%,
|
||||
endAbsolute = [
|
||||
hourHandLargeDiameter / 2 * cos(hourHandAngle),
|
||||
hourHandLargeDiameter / 2 * sin(hourHandAngle)
|
||||
],
|
||||
tag = $seg002,
|
||||
)
|
||||
|> angledLine(%, angle = segAng(seg002) + 120, length = segLen(seg002))
|
||||
// |> angledLineThatIntersects(%, angle = segAng(seg002) + hourHandAngle - 90, intersectTag = seg004)
|
||||
|> angledLine(%, angle = hourHandAngle - 90, length = segLen(seg004))
|
||||
|> line(%, endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close(%)
|
||||
profile008 = circle(sketch005, center = [0, 0], diameter = nubDiameter)
|
||||
subtract2d(profile007, tool = profile008)
|
||||
|> extrude(%, length = 5)
|
||||
|> appearance(%, color = "#404040")
|
||||
|
||||
// create the minute hand
|
||||
sketch006 = startSketchOn(offsetPlane(XY, offset = 50))
|
||||
profile009 = startProfile(
|
||||
sketch006,
|
||||
at = [
|
||||
nubDiameter / 2 * 1.375 * cos(minuteHandAngle + 20),
|
||||
nubDiameter / 2 * 1.375 * sin(minuteHandAngle + 20)
|
||||
],
|
||||
)
|
||||
|> arc(
|
||||
%,
|
||||
interiorAbsolute = [
|
||||
nubDiameter / 2 * 1.375 * cos(minuteHandAngle + 180),
|
||||
nubDiameter / 2 * 1.375 * sin(minuteHandAngle + 180)
|
||||
],
|
||||
endAbsolute = [
|
||||
nubDiameter / 2 * 1.375 * cos(minuteHandAngle + 340),
|
||||
nubDiameter / 2 * 1.375 * sin(minuteHandAngle + 340)
|
||||
],
|
||||
)
|
||||
|> angledLine(%, angle = minuteHandAngle, length = minuteHandArmLength)
|
||||
|> angledLine(
|
||||
%,
|
||||
angle = minuteHandAngle - 90,
|
||||
length = minuteHandWidth / 2,
|
||||
tag = $seg003,
|
||||
)
|
||||
|> line(
|
||||
%,
|
||||
endAbsolute = [
|
||||
minuteHandLargeDiameter / 2 * cos(minuteHandAngle),
|
||||
minuteHandLargeDiameter / 2 * sin(minuteHandAngle)
|
||||
],
|
||||
tag = $seg005,
|
||||
)
|
||||
|> angledLine(%, angle = segAng(seg005) + 120, length = segLen(seg005))
|
||||
|> angledLine(%, angle = minuteHandAngle - 90, length = segLen(seg003))
|
||||
|> line(%, endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close(%)
|
||||
profile010 = circle(sketch006, center = [0, 0], diameter = 30)
|
||||
subtract2d(profile009, tool = profile010)
|
||||
|> extrude(%, length = 5)
|
||||
|> appearance(%, color = "#404040")
|
||||
|
||||
// Define parameters of the screw slot for hanging the clock
|
||||
screwHeadDiameter = 9.53
|
||||
screwTolerance = .5
|
||||
slotWidth = (screwHeadDiameter + screwTolerance) / 2
|
||||
slotLength = 40
|
||||
|
||||
// Create the screw slot
|
||||
sketch003 = startSketchOn(clockBody, face = START)
|
||||
profile004 = startProfile(sketch003, at = [-slotWidth / 2, 200])
|
||||
|> yLine(length = -slotLength)
|
||||
|> arc(
|
||||
%,
|
||||
radius = screwHeadDiameter / 2 + screwTolerance,
|
||||
angleStart = 120,
|
||||
angleEnd = 420,
|
||||
)
|
||||
|> yLine(%, length = slotLength)
|
||||
|> tangentialArc(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
|> extrude(%, length = -20)
|
||||
|
||||
// todo: create cavity for the screw to slide into (need csg update)
|
||||
@ -90,6 +90,16 @@
|
||||
"parameters.kcl"
|
||||
]
|
||||
},
|
||||
{
|
||||
"file": "main.kcl",
|
||||
"pathFromProjectDirectoryToFirstFile": "clock/main.kcl",
|
||||
"multipleFiles": false,
|
||||
"title": "Clock",
|
||||
"description": "A clock with roman numerals",
|
||||
"files": [
|
||||
"main.kcl"
|
||||
]
|
||||
},
|
||||
{
|
||||
"file": "main.kcl",
|
||||
"pathFromProjectDirectoryToFirstFile": "cold-plate/main.kcl",
|
||||
|
||||
BIN
public/kcl-samples/screenshots/clock.png
Normal file
BIN
public/kcl-samples/screenshots/clock.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 106 KiB |
@ -652,19 +652,19 @@ flowchart LR
|
||||
84 --- 144
|
||||
84 --- 237
|
||||
86 --- 168
|
||||
86 x--> 188
|
||||
86 x--> 189
|
||||
86 --- 212
|
||||
86 --- 256
|
||||
88 --- 169
|
||||
88 x--> 188
|
||||
88 x--> 189
|
||||
88 --- 213
|
||||
88 --- 257
|
||||
90 --- 167
|
||||
90 x--> 188
|
||||
90 x--> 189
|
||||
90 --- 214
|
||||
90 --- 258
|
||||
92 --- 170
|
||||
92 x--> 188
|
||||
92 x--> 189
|
||||
92 --- 215
|
||||
92 --- 259
|
||||
119 --- 133
|
||||
@ -946,10 +946,10 @@ flowchart LR
|
||||
218 <--x 186
|
||||
219 <--x 186
|
||||
194 <--x 187
|
||||
212 <--x 189
|
||||
213 <--x 189
|
||||
214 <--x 189
|
||||
215 <--x 189
|
||||
212 <--x 188
|
||||
213 <--x 188
|
||||
214 <--x 188
|
||||
215 <--x 188
|
||||
220 <--x 268
|
||||
223 <--x 267
|
||||
```
|
||||
|
||||
@ -87,24 +87,24 @@ flowchart LR
|
||||
27 --- 4
|
||||
8 --- 20
|
||||
8 x--> 25
|
||||
8 --- 33
|
||||
8 --- 39
|
||||
8 --- 29
|
||||
8 --- 35
|
||||
9 --- 21
|
||||
9 x--> 25
|
||||
9 --- 31
|
||||
9 --- 37
|
||||
9 --- 33
|
||||
9 --- 39
|
||||
10 --- 22
|
||||
10 x--> 25
|
||||
10 --- 32
|
||||
10 --- 38
|
||||
10 --- 30
|
||||
10 --- 36
|
||||
11 --- 23
|
||||
11 x--> 25
|
||||
11 --- 30
|
||||
11 --- 36
|
||||
11 --- 31
|
||||
11 --- 37
|
||||
12 --- 24
|
||||
12 x--> 25
|
||||
12 --- 29
|
||||
12 --- 35
|
||||
12 --- 32
|
||||
12 --- 38
|
||||
14 --- 19
|
||||
14 x--> 27
|
||||
14 --- 28
|
||||
@ -132,21 +132,21 @@ flowchart LR
|
||||
18 --- 34
|
||||
19 --- 28
|
||||
19 --- 34
|
||||
20 --- 33
|
||||
35 <--x 20
|
||||
20 --- 39
|
||||
21 --- 31
|
||||
21 --- 37
|
||||
38 <--x 21
|
||||
22 --- 32
|
||||
22 --- 38
|
||||
39 <--x 22
|
||||
23 --- 30
|
||||
23 --- 36
|
||||
37 <--x 23
|
||||
24 --- 29
|
||||
24 --- 35
|
||||
36 <--x 24
|
||||
20 --- 29
|
||||
20 --- 35
|
||||
36 <--x 20
|
||||
21 --- 33
|
||||
35 <--x 21
|
||||
21 --- 39
|
||||
22 --- 30
|
||||
22 --- 36
|
||||
37 <--x 22
|
||||
23 --- 31
|
||||
23 --- 37
|
||||
38 <--x 23
|
||||
24 --- 32
|
||||
24 --- 38
|
||||
39 <--x 24
|
||||
28 <--x 26
|
||||
29 <--x 27
|
||||
30 <--x 27
|
||||
|
||||
8215
rust/kcl-lib/tests/kcl_samples/clock/artifact_commands.snap
Normal file
8215
rust/kcl-lib/tests/kcl_samples/clock/artifact_commands.snap
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,6 @@
|
||||
---
|
||||
source: kcl-lib/src/simulation_tests.rs
|
||||
description: Artifact graph flowchart clock.kcl
|
||||
extension: md
|
||||
snapshot_kind: binary
|
||||
---
|
||||
File diff suppressed because it is too large
Load Diff
23582
rust/kcl-lib/tests/kcl_samples/clock/ast.snap
Normal file
23582
rust/kcl-lib/tests/kcl_samples/clock/ast.snap
Normal file
File diff suppressed because it is too large
Load Diff
3715
rust/kcl-lib/tests/kcl_samples/clock/ops.snap
Normal file
3715
rust/kcl-lib/tests/kcl_samples/clock/ops.snap
Normal file
File diff suppressed because it is too large
Load Diff
3817
rust/kcl-lib/tests/kcl_samples/clock/program_memory.snap
Normal file
3817
rust/kcl-lib/tests/kcl_samples/clock/program_memory.snap
Normal file
File diff suppressed because it is too large
Load Diff
BIN
rust/kcl-lib/tests/kcl_samples/clock/rendered_model.png
Normal file
BIN
rust/kcl-lib/tests/kcl_samples/clock/rendered_model.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 106 KiB |
@ -366,114 +366,114 @@ flowchart LR
|
||||
11 ---- 74
|
||||
26 --- 75
|
||||
26 x--> 108
|
||||
26 --- 131
|
||||
26 --- 163
|
||||
26 --- 138
|
||||
26 --- 170
|
||||
27 --- 76
|
||||
27 x--> 108
|
||||
27 --- 132
|
||||
27 --- 164
|
||||
27 --- 124
|
||||
27 --- 156
|
||||
28 --- 77
|
||||
28 x--> 108
|
||||
28 --- 116
|
||||
28 --- 148
|
||||
28 --- 137
|
||||
28 --- 169
|
||||
29 --- 78
|
||||
29 x--> 108
|
||||
29 --- 134
|
||||
29 --- 166
|
||||
29 --- 133
|
||||
29 --- 165
|
||||
30 --- 79
|
||||
30 x--> 108
|
||||
30 --- 120
|
||||
30 --- 152
|
||||
30 --- 116
|
||||
30 --- 148
|
||||
31 --- 80
|
||||
31 x--> 108
|
||||
31 --- 136
|
||||
31 --- 168
|
||||
31 --- 115
|
||||
31 --- 147
|
||||
32 --- 81
|
||||
32 x--> 108
|
||||
32 --- 123
|
||||
32 --- 155
|
||||
32 --- 118
|
||||
32 --- 150
|
||||
33 --- 82
|
||||
33 x--> 108
|
||||
33 --- 129
|
||||
33 --- 161
|
||||
33 --- 134
|
||||
33 --- 166
|
||||
34 --- 83
|
||||
34 x--> 108
|
||||
34 --- 114
|
||||
34 --- 146
|
||||
34 --- 129
|
||||
34 --- 161
|
||||
35 --- 84
|
||||
35 x--> 108
|
||||
35 --- 117
|
||||
35 --- 149
|
||||
35 --- 127
|
||||
35 --- 159
|
||||
36 --- 85
|
||||
36 x--> 108
|
||||
36 --- 115
|
||||
36 --- 147
|
||||
36 --- 132
|
||||
36 --- 164
|
||||
37 --- 86
|
||||
37 x--> 108
|
||||
37 --- 126
|
||||
37 --- 158
|
||||
37 --- 122
|
||||
37 --- 154
|
||||
38 --- 87
|
||||
38 x--> 108
|
||||
38 --- 130
|
||||
38 --- 162
|
||||
38 --- 123
|
||||
38 --- 155
|
||||
39 --- 88
|
||||
39 x--> 108
|
||||
39 --- 122
|
||||
39 --- 154
|
||||
39 --- 131
|
||||
39 --- 163
|
||||
40 --- 89
|
||||
40 x--> 108
|
||||
40 --- 127
|
||||
40 --- 159
|
||||
40 --- 119
|
||||
40 --- 151
|
||||
41 --- 90
|
||||
41 x--> 108
|
||||
41 --- 125
|
||||
41 --- 157
|
||||
41 --- 130
|
||||
41 --- 162
|
||||
42 --- 91
|
||||
42 x--> 108
|
||||
42 --- 135
|
||||
42 --- 167
|
||||
42 --- 114
|
||||
42 --- 146
|
||||
43 --- 92
|
||||
43 x--> 108
|
||||
43 --- 119
|
||||
43 --- 151
|
||||
43 --- 125
|
||||
43 --- 157
|
||||
44 --- 93
|
||||
44 x--> 108
|
||||
44 --- 118
|
||||
44 --- 150
|
||||
44 --- 121
|
||||
44 --- 153
|
||||
45 --- 94
|
||||
45 x--> 108
|
||||
45 --- 121
|
||||
45 --- 153
|
||||
45 --- 135
|
||||
45 --- 167
|
||||
46 --- 95
|
||||
46 x--> 108
|
||||
46 --- 138
|
||||
46 --- 170
|
||||
46 --- 120
|
||||
46 --- 152
|
||||
47 --- 96
|
||||
47 x--> 108
|
||||
47 --- 128
|
||||
47 --- 160
|
||||
47 --- 126
|
||||
47 --- 158
|
||||
48 --- 97
|
||||
48 x--> 108
|
||||
48 --- 133
|
||||
48 --- 165
|
||||
48 --- 117
|
||||
48 --- 149
|
||||
49 --- 98
|
||||
49 x--> 108
|
||||
49 --- 137
|
||||
49 --- 169
|
||||
49 --- 113
|
||||
49 --- 145
|
||||
50 --- 99
|
||||
50 x--> 108
|
||||
50 --- 139
|
||||
50 --- 171
|
||||
50 --- 136
|
||||
50 --- 168
|
||||
51 --- 100
|
||||
51 x--> 108
|
||||
51 --- 124
|
||||
51 --- 156
|
||||
51 --- 128
|
||||
51 --- 160
|
||||
52 --- 101
|
||||
52 x--> 108
|
||||
52 --- 113
|
||||
52 --- 145
|
||||
52 --- 139
|
||||
52 --- 171
|
||||
61 --- 102
|
||||
61 x--> 110
|
||||
61 x--> 109
|
||||
61 --- 140
|
||||
61 --- 172
|
||||
63 --- 103
|
||||
@ -594,87 +594,87 @@ flowchart LR
|
||||
74 --- 174
|
||||
74 --- 175
|
||||
74 --- 176
|
||||
75 --- 131
|
||||
75 --- 163
|
||||
164 <--x 75
|
||||
76 --- 132
|
||||
76 --- 164
|
||||
165 <--x 76
|
||||
77 --- 116
|
||||
77 --- 148
|
||||
149 <--x 77
|
||||
78 --- 134
|
||||
78 --- 166
|
||||
167 <--x 78
|
||||
79 --- 120
|
||||
79 --- 152
|
||||
153 <--x 79
|
||||
80 --- 136
|
||||
80 --- 168
|
||||
169 <--x 80
|
||||
81 --- 123
|
||||
81 --- 155
|
||||
156 <--x 81
|
||||
82 --- 129
|
||||
82 --- 161
|
||||
162 <--x 82
|
||||
83 --- 114
|
||||
83 --- 146
|
||||
147 <--x 83
|
||||
84 --- 117
|
||||
84 --- 149
|
||||
150 <--x 84
|
||||
85 --- 115
|
||||
85 --- 147
|
||||
148 <--x 85
|
||||
86 --- 126
|
||||
86 --- 158
|
||||
159 <--x 86
|
||||
87 --- 130
|
||||
87 --- 162
|
||||
163 <--x 87
|
||||
88 --- 122
|
||||
88 --- 154
|
||||
155 <--x 88
|
||||
89 --- 127
|
||||
89 --- 159
|
||||
160 <--x 89
|
||||
90 --- 125
|
||||
90 --- 157
|
||||
158 <--x 90
|
||||
91 --- 135
|
||||
91 --- 167
|
||||
168 <--x 91
|
||||
92 --- 119
|
||||
92 --- 151
|
||||
152 <--x 92
|
||||
93 --- 118
|
||||
93 --- 150
|
||||
151 <--x 93
|
||||
94 --- 121
|
||||
94 --- 153
|
||||
154 <--x 94
|
||||
95 --- 138
|
||||
95 --- 170
|
||||
171 <--x 95
|
||||
96 --- 128
|
||||
96 --- 160
|
||||
161 <--x 96
|
||||
97 --- 133
|
||||
97 --- 165
|
||||
166 <--x 97
|
||||
98 --- 137
|
||||
98 --- 169
|
||||
170 <--x 98
|
||||
99 --- 139
|
||||
145 <--x 99
|
||||
99 --- 171
|
||||
100 --- 124
|
||||
100 --- 156
|
||||
157 <--x 100
|
||||
101 --- 113
|
||||
101 --- 145
|
||||
146 <--x 101
|
||||
75 --- 138
|
||||
75 --- 170
|
||||
171 <--x 75
|
||||
76 --- 124
|
||||
76 --- 156
|
||||
157 <--x 76
|
||||
77 --- 137
|
||||
77 --- 169
|
||||
170 <--x 77
|
||||
78 --- 133
|
||||
78 --- 165
|
||||
166 <--x 78
|
||||
79 --- 116
|
||||
79 --- 148
|
||||
149 <--x 79
|
||||
80 --- 115
|
||||
80 --- 147
|
||||
148 <--x 80
|
||||
81 --- 118
|
||||
81 --- 150
|
||||
151 <--x 81
|
||||
82 --- 134
|
||||
82 --- 166
|
||||
167 <--x 82
|
||||
83 --- 129
|
||||
83 --- 161
|
||||
162 <--x 83
|
||||
84 --- 127
|
||||
84 --- 159
|
||||
160 <--x 84
|
||||
85 --- 132
|
||||
85 --- 164
|
||||
165 <--x 85
|
||||
86 --- 122
|
||||
86 --- 154
|
||||
155 <--x 86
|
||||
87 --- 123
|
||||
87 --- 155
|
||||
156 <--x 87
|
||||
88 --- 131
|
||||
88 --- 163
|
||||
164 <--x 88
|
||||
89 --- 119
|
||||
89 --- 151
|
||||
152 <--x 89
|
||||
90 --- 130
|
||||
90 --- 162
|
||||
163 <--x 90
|
||||
91 --- 114
|
||||
91 --- 146
|
||||
147 <--x 91
|
||||
92 --- 125
|
||||
92 --- 157
|
||||
158 <--x 92
|
||||
93 --- 121
|
||||
93 --- 153
|
||||
154 <--x 93
|
||||
94 --- 135
|
||||
94 --- 167
|
||||
168 <--x 94
|
||||
95 --- 120
|
||||
95 --- 152
|
||||
153 <--x 95
|
||||
96 --- 126
|
||||
96 --- 158
|
||||
159 <--x 96
|
||||
97 --- 117
|
||||
97 --- 149
|
||||
150 <--x 97
|
||||
98 --- 113
|
||||
98 --- 145
|
||||
146 <--x 98
|
||||
99 --- 136
|
||||
99 --- 168
|
||||
169 <--x 99
|
||||
100 --- 128
|
||||
100 --- 160
|
||||
161 <--x 100
|
||||
101 --- 139
|
||||
145 <--x 101
|
||||
101 --- 171
|
||||
102 --- 140
|
||||
102 --- 172
|
||||
103 --- 144
|
||||
@ -689,7 +689,7 @@ flowchart LR
|
||||
106 --- 141
|
||||
106 --- 173
|
||||
174 <--x 106
|
||||
140 <--x 109
|
||||
140 <--x 110
|
||||
141 <--x 111
|
||||
142 <--x 111
|
||||
143 <--x 111
|
||||
|
||||
@ -582,48 +582,48 @@ flowchart LR
|
||||
46 --- 226
|
||||
72 --- 112
|
||||
72 x--> 151
|
||||
72 --- 164
|
||||
72 --- 198
|
||||
72 --- 169
|
||||
72 --- 203
|
||||
73 --- 113
|
||||
73 x--> 151
|
||||
73 --- 168
|
||||
73 --- 202
|
||||
73 --- 166
|
||||
73 --- 200
|
||||
74 --- 114
|
||||
74 x--> 151
|
||||
74 --- 161
|
||||
74 --- 195
|
||||
74 --- 160
|
||||
74 --- 194
|
||||
75 --- 115
|
||||
75 x--> 151
|
||||
75 --- 163
|
||||
75 --- 197
|
||||
75 --- 168
|
||||
75 --- 202
|
||||
76 --- 116
|
||||
76 x--> 151
|
||||
76 --- 170
|
||||
76 --- 204
|
||||
77 --- 117
|
||||
77 x--> 151
|
||||
77 --- 167
|
||||
77 --- 201
|
||||
77 --- 162
|
||||
77 --- 196
|
||||
78 --- 118
|
||||
78 x--> 151
|
||||
78 --- 162
|
||||
78 --- 196
|
||||
78 --- 161
|
||||
78 --- 195
|
||||
79 --- 119
|
||||
79 x--> 151
|
||||
79 --- 160
|
||||
79 --- 194
|
||||
79 --- 165
|
||||
79 --- 199
|
||||
80 --- 120
|
||||
80 x--> 151
|
||||
80 --- 169
|
||||
80 --- 203
|
||||
80 --- 163
|
||||
80 --- 197
|
||||
81 --- 121
|
||||
81 x--> 151
|
||||
81 --- 166
|
||||
81 --- 200
|
||||
81 --- 167
|
||||
81 --- 201
|
||||
82 --- 122
|
||||
82 x--> 151
|
||||
82 --- 165
|
||||
82 --- 199
|
||||
82 --- 164
|
||||
82 --- 198
|
||||
84 --- 123
|
||||
84 x--> 145
|
||||
84 --- 171
|
||||
@ -756,39 +756,39 @@ flowchart LR
|
||||
109 --- 107
|
||||
111 --- 159
|
||||
111 --- 193
|
||||
112 --- 164
|
||||
112 --- 198
|
||||
199 <--x 112
|
||||
113 --- 168
|
||||
113 --- 202
|
||||
203 <--x 113
|
||||
114 --- 161
|
||||
114 --- 195
|
||||
196 <--x 114
|
||||
115 --- 163
|
||||
115 --- 197
|
||||
198 <--x 115
|
||||
112 --- 169
|
||||
112 --- 203
|
||||
204 <--x 112
|
||||
113 --- 166
|
||||
113 --- 200
|
||||
201 <--x 113
|
||||
114 --- 160
|
||||
114 --- 194
|
||||
195 <--x 114
|
||||
115 --- 168
|
||||
115 --- 202
|
||||
203 <--x 115
|
||||
116 --- 170
|
||||
194 <--x 116
|
||||
116 --- 204
|
||||
117 --- 167
|
||||
117 --- 201
|
||||
202 <--x 117
|
||||
118 --- 162
|
||||
118 --- 196
|
||||
197 <--x 118
|
||||
119 --- 160
|
||||
119 --- 194
|
||||
195 <--x 119
|
||||
120 --- 169
|
||||
120 --- 203
|
||||
204 <--x 120
|
||||
121 --- 166
|
||||
121 --- 200
|
||||
201 <--x 121
|
||||
122 --- 165
|
||||
122 --- 199
|
||||
200 <--x 122
|
||||
117 --- 162
|
||||
117 --- 196
|
||||
197 <--x 117
|
||||
118 --- 161
|
||||
118 --- 195
|
||||
196 <--x 118
|
||||
119 --- 165
|
||||
119 --- 199
|
||||
200 <--x 119
|
||||
120 --- 163
|
||||
120 --- 197
|
||||
198 <--x 120
|
||||
121 --- 167
|
||||
121 --- 201
|
||||
202 <--x 121
|
||||
122 --- 164
|
||||
122 --- 198
|
||||
199 <--x 122
|
||||
123 --- 171
|
||||
123 --- 205
|
||||
124 --- 186
|
||||
|
||||
@ -177,72 +177,72 @@ flowchart LR
|
||||
2 ---- 34
|
||||
17 --- 35
|
||||
17 x--> 52
|
||||
17 --- 58
|
||||
17 --- 75
|
||||
17 --- 61
|
||||
17 --- 78
|
||||
18 --- 36
|
||||
18 x--> 52
|
||||
18 --- 63
|
||||
18 --- 80
|
||||
18 --- 55
|
||||
18 --- 72
|
||||
19 --- 37
|
||||
19 x--> 52
|
||||
19 --- 67
|
||||
19 --- 84
|
||||
19 --- 64
|
||||
19 --- 81
|
||||
20 --- 38
|
||||
20 x--> 52
|
||||
20 --- 65
|
||||
20 --- 82
|
||||
20 --- 63
|
||||
20 --- 80
|
||||
21 --- 39
|
||||
21 x--> 52
|
||||
21 --- 62
|
||||
21 --- 79
|
||||
21 --- 58
|
||||
21 --- 75
|
||||
22 --- 40
|
||||
22 x--> 52
|
||||
22 --- 70
|
||||
22 --- 87
|
||||
22 --- 66
|
||||
22 --- 83
|
||||
23 --- 41
|
||||
23 x--> 52
|
||||
23 --- 59
|
||||
23 --- 76
|
||||
23 --- 56
|
||||
23 --- 73
|
||||
24 --- 42
|
||||
24 x--> 52
|
||||
24 --- 60
|
||||
24 --- 77
|
||||
24 --- 68
|
||||
24 --- 85
|
||||
25 --- 43
|
||||
25 x--> 52
|
||||
25 --- 69
|
||||
25 --- 86
|
||||
25 --- 67
|
||||
25 --- 84
|
||||
26 --- 44
|
||||
26 x--> 52
|
||||
26 --- 55
|
||||
26 --- 72
|
||||
26 --- 54
|
||||
26 --- 71
|
||||
27 --- 45
|
||||
27 x--> 52
|
||||
27 --- 68
|
||||
27 --- 85
|
||||
27 --- 69
|
||||
27 --- 86
|
||||
28 --- 46
|
||||
28 x--> 52
|
||||
28 --- 56
|
||||
28 --- 73
|
||||
28 --- 60
|
||||
28 --- 77
|
||||
29 --- 47
|
||||
29 x--> 52
|
||||
29 --- 57
|
||||
29 --- 74
|
||||
30 --- 48
|
||||
30 x--> 52
|
||||
30 --- 54
|
||||
30 --- 71
|
||||
30 --- 65
|
||||
30 --- 82
|
||||
31 --- 49
|
||||
31 x--> 52
|
||||
31 --- 64
|
||||
31 --- 81
|
||||
31 --- 62
|
||||
31 --- 79
|
||||
32 --- 50
|
||||
32 x--> 52
|
||||
32 --- 61
|
||||
32 --- 78
|
||||
32 --- 70
|
||||
32 --- 87
|
||||
33 --- 51
|
||||
33 x--> 52
|
||||
33 --- 66
|
||||
33 --- 83
|
||||
33 --- 59
|
||||
33 --- 76
|
||||
34 --- 35
|
||||
34 --- 36
|
||||
34 --- 37
|
||||
@ -296,57 +296,57 @@ flowchart LR
|
||||
34 --- 85
|
||||
34 --- 86
|
||||
34 --- 87
|
||||
35 --- 58
|
||||
74 <--x 35
|
||||
35 --- 75
|
||||
36 --- 63
|
||||
79 <--x 36
|
||||
36 --- 80
|
||||
37 --- 67
|
||||
83 <--x 37
|
||||
37 --- 84
|
||||
38 --- 65
|
||||
81 <--x 38
|
||||
38 --- 82
|
||||
39 --- 62
|
||||
78 <--x 39
|
||||
39 --- 79
|
||||
40 --- 70
|
||||
86 <--x 40
|
||||
40 --- 87
|
||||
41 --- 59
|
||||
75 <--x 41
|
||||
41 --- 76
|
||||
42 --- 60
|
||||
76 <--x 42
|
||||
42 --- 77
|
||||
43 --- 69
|
||||
85 <--x 43
|
||||
43 --- 86
|
||||
44 --- 55
|
||||
71 <--x 44
|
||||
44 --- 72
|
||||
45 --- 68
|
||||
84 <--x 45
|
||||
45 --- 85
|
||||
46 --- 56
|
||||
72 <--x 46
|
||||
46 --- 73
|
||||
35 --- 61
|
||||
77 <--x 35
|
||||
35 --- 78
|
||||
36 --- 55
|
||||
71 <--x 36
|
||||
36 --- 72
|
||||
37 --- 64
|
||||
80 <--x 37
|
||||
37 --- 81
|
||||
38 --- 63
|
||||
79 <--x 38
|
||||
38 --- 80
|
||||
39 --- 58
|
||||
74 <--x 39
|
||||
39 --- 75
|
||||
40 --- 66
|
||||
82 <--x 40
|
||||
40 --- 83
|
||||
41 --- 56
|
||||
72 <--x 41
|
||||
41 --- 73
|
||||
42 --- 68
|
||||
84 <--x 42
|
||||
42 --- 85
|
||||
43 --- 67
|
||||
83 <--x 43
|
||||
43 --- 84
|
||||
44 --- 54
|
||||
44 --- 71
|
||||
87 <--x 44
|
||||
45 --- 69
|
||||
85 <--x 45
|
||||
45 --- 86
|
||||
46 --- 60
|
||||
76 <--x 46
|
||||
46 --- 77
|
||||
47 --- 57
|
||||
73 <--x 47
|
||||
47 --- 74
|
||||
48 --- 54
|
||||
48 --- 71
|
||||
87 <--x 48
|
||||
49 --- 64
|
||||
80 <--x 49
|
||||
49 --- 81
|
||||
50 --- 61
|
||||
77 <--x 50
|
||||
50 --- 78
|
||||
51 --- 66
|
||||
82 <--x 51
|
||||
51 --- 83
|
||||
48 --- 65
|
||||
81 <--x 48
|
||||
48 --- 82
|
||||
49 --- 62
|
||||
78 <--x 49
|
||||
49 --- 79
|
||||
50 --- 70
|
||||
86 <--x 50
|
||||
50 --- 87
|
||||
51 --- 59
|
||||
75 <--x 51
|
||||
51 --- 76
|
||||
54 <--x 53
|
||||
55 <--x 53
|
||||
56 <--x 53
|
||||
|
||||
@ -112,8 +112,8 @@ flowchart LR
|
||||
8 --- 20
|
||||
8 ---- 25
|
||||
12 <--x 32
|
||||
12 <--x 33
|
||||
12 --- 34
|
||||
12 --- 33
|
||||
12 <--x 34
|
||||
13 --- 31
|
||||
13 x--> 35
|
||||
13 --- 39
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user