2025-03-06 18:01:24 -05:00
|
|
|
// Robot Rotating Base
|
|
|
|
|
|
|
|
// Set Units
|
|
|
|
@settings(defaultLengthUnit = in)
|
|
|
|
|
|
|
|
import axisJ1, baseHeight, plane001, plane002 from "globals.kcl"
|
|
|
|
|
|
|
|
// Create Rotating Base
|
|
|
|
sketch005 = startSketchOn(plane001)
|
|
|
|
|> circle(center = [0, 0], radius = 3.9, tag = $referenceEdge1)
|
|
|
|
extrude005 = extrude(sketch005, length = 1.5 - 0.1)
|
2025-03-26 08:53:34 -07:00
|
|
|
|> fillet(radius = 0.1, tags = [getOppositeEdge(referenceEdge1)])
|
2025-03-06 18:01:24 -05:00
|
|
|
|> appearance(color = "#4f7d54", metalness = 90, roughness = 90)
|
|
|
|
|
|
|
|
sketch006 = startSketchOn(plane002)
|
|
|
|
|> startProfileAt([3.5, baseHeight], %)
|
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
|
|
|
|> angledLine(angle = 60, length = 1.75)
|
2025-04-18 17:40:44 -05:00
|
|
|
|> arc(angleStart = -30, angleEnd = -30 + 180, radius = 3)
|
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
|
|
|
|> angledLine(angle = 60, endAbsoluteY = baseHeight)
|
2025-03-06 18:01:24 -05:00
|
|
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|
|
|
|> close()
|
|
|
|
|
|
|
|
extrude006 = extrude(sketch006, length = 1)
|
|
|
|
|
2025-04-14 05:58:19 -04:00
|
|
|
sketch007 = startSketchOn(extrude006, face = END)
|
2025-03-06 18:01:24 -05:00
|
|
|
|> circle(
|
|
|
|
center = [
|
|
|
|
1.75 * cos(toRadians(axisJ1)) / abs(cos(toRadians(axisJ1))),
|
|
|
|
8
|
|
|
|
],
|
|
|
|
radius = 2.75,
|
2025-03-26 08:53:34 -07:00
|
|
|
tag = $referenceEdge2,
|
2025-03-06 18:01:24 -05:00
|
|
|
)
|
2025-03-26 08:53:34 -07:00
|
|
|
extrude007 = extrude(sketch007, length = 1.5)
|
|
|
|
|> fillet(radius = 0.1, tags = [getOppositeEdge(referenceEdge2)])
|
2025-03-06 18:01:24 -05:00
|
|
|
|
|
|
|
// Draw Bolt Pattern on Rotating Base
|
2025-04-14 05:58:19 -04:00
|
|
|
sketch008 = startSketchOn(extrude007, face = END)
|
2025-03-06 18:01:24 -05:00
|
|
|
|> circle(
|
|
|
|
center = [
|
|
|
|
1.75 * cos(toRadians(axisJ1)) / abs(cos(toRadians(axisJ1))),
|
|
|
|
6.75
|
|
|
|
],
|
2025-03-26 08:53:34 -07:00
|
|
|
radius = 0.2,
|
2025-03-06 18:01:24 -05:00
|
|
|
)
|
|
|
|
|> patternCircular2d(
|
|
|
|
center = [
|
|
|
|
1.75 * cos(toRadians(axisJ1)) / abs(cos(toRadians(axisJ1))),
|
|
|
|
8
|
|
|
|
],
|
|
|
|
instances = 4,
|
|
|
|
arcDegrees = 360,
|
2025-03-26 08:53:34 -07:00
|
|
|
rotateDuplicates = true,
|
2025-03-06 18:01:24 -05:00
|
|
|
)
|
|
|
|
extrude008 = extrude(sketch008, length = 0.2)
|
|
|
|
|
2025-04-14 05:58:19 -04:00
|
|
|
sketch009 = startSketchOn(extrude007, face = END)
|
2025-03-06 18:01:24 -05:00
|
|
|
|> circle(
|
|
|
|
center = [
|
|
|
|
1.75 * cos(toRadians(axisJ1)) / abs(cos(toRadians(axisJ1))),
|
|
|
|
8
|
|
|
|
],
|
|
|
|
radius = 0.5,
|
2025-03-26 08:53:34 -07:00
|
|
|
tag = $referenceEdge3,
|
2025-03-06 18:01:24 -05:00
|
|
|
)
|
2025-03-26 08:53:34 -07:00
|
|
|
extrude009 = extrude(sketch009, length = 0.15)
|
|
|
|
|> fillet(radius = 0.1, tags = [getOppositeEdge(referenceEdge3)])
|
2025-03-06 18:01:24 -05:00
|
|
|
|> appearance(color = "#4f7d54", metalness = 90, roughness = 90)
|
|
|
|
|
|
|
|
sketch010 = startSketchOn(plane002)
|
|
|
|
|> circle(center = [1.75, 8], radius = 0.3)
|
|
|
|
|
|
|
|
extrude(sketch010, length = -1)
|