Files
modeling-app/public/kcl-samples/walkie-talkie/zoo-logo.kcl
2025-04-18 17:40:44 -05:00

55 lines
1.9 KiB
Plaintext

// Zoo logo
// define a function to draw the ZOO "Z"
export fn zLogo(surface, origin, scale) {
zSketch = surface
|> startProfileAt([
0 + origin[0],
0.15 * scale + origin[1]
], %)
|> yLine(length = -0.15 * scale)
|> xLine(length = 0.15 * scale)
|> angledLine(angle = 47.15, endAbsoluteX = 0.3 * scale + origin[0], tag = $seg1)
|> yLine(endAbsolute = 0 + origin[1], tag = $seg3)
|> xLine(length = 0.63 * scale)
|> yLine(length = 0.225 * scale)
|> xLine(length = -0.57 * scale)
|> angledLine(angle = 47.15, endAbsoluteX = 0.93 * scale + origin[0])
|> yLine(length = 0.15 * scale)
|> xLine(length = -0.15 * scale)
|> angledLine(angle = 47.15, length = -segLen(seg1), tag = $seg2)
|> yLine(length = segLen(seg3))
|> xLine(endAbsolute = 0 + origin[0])
|> yLine(length = -0.225 * scale)
|> angledLineThatIntersects(angle = 0, intersectTag = seg2, offset = 0)
|> close()
return zSketch
}
// define a function to draw the ZOO "O"
export fn oLogo(surface, origin, scale) {
oSketch001 = surface
|> startProfileAt([
.788 * scale + origin[0],
.921 * scale + origin[1]
], %)
|> arc(angleStart = 47.15 + 6, angleEnd = 47.15 - 6 + 180, radius = .525 * scale)
|> angledLine(angle = 47.15, length = .24 * scale)
|> arc(angleStart = 47.15 - 11 + 180, angleEnd = 47.15 + 11, radius = .288 * scale)
|> close()
return oSketch001
}
export fn oLogo2(surface, origin, scale) {
oSketch002 = surface
|> startProfileAt([
.16 * scale + origin[0],
.079 * scale + origin[1]
], %)
|> arc(angleStart = 47.15 + 6 - 180, angleEnd = 47.15 - 6, radius = .525 * scale)
|> angledLine(angle = 47.15, length = -.24 * scale)
|> arc(angleStart = 47.15 - 11, angleEnd = 47.15 + 11 - 180, radius = .288 * scale)
|> close()
return oSketch002
}