2025-04-04 11:03:13 -07:00
|
|
|
// Hex Nut
|
|
|
|
// Hex nut for the screws in the pipe flange assembly.
|
2025-03-19 23:49:06 -04:00
|
|
|
|
2025-04-04 11:03:13 -07:00
|
|
|
// Set units
|
2025-05-06 08:44:03 +12:00
|
|
|
@settings(defaultLengthUnit = in, kclVersion = 1.0)
|
2025-03-19 23:49:06 -04:00
|
|
|
|
2025-04-04 11:03:13 -07:00
|
|
|
// Import parameters
|
|
|
|
import hexNutDiameter, hexNutFlatToFlat, hexNutThickness, hexNutFlatLength from "parameters.kcl"
|
2025-03-26 08:53:34 -07:00
|
|
|
|
2025-04-04 11:03:13 -07:00
|
|
|
// Create a function to make the hex nut. Must be a function since multiple hex nuts are used
|
2025-03-19 23:49:06 -04:00
|
|
|
export fn hexNut() {
|
2025-04-04 11:03:13 -07:00
|
|
|
// Create the base of the hex nut
|
2025-03-26 08:53:34 -07:00
|
|
|
hexNutBase = startSketchOn(XY)
|
2025-04-25 16:01:35 -05:00
|
|
|
|> startProfile(at = [
|
2025-03-19 23:49:06 -04:00
|
|
|
hexNutFlatToFlat / 2,
|
|
|
|
hexNutFlatLength / 2
|
2025-04-25 16:01:35 -05:00
|
|
|
])
|
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 = 270, length = hexNutFlatLength)
|
|
|
|
|> angledLine(angle = 210, length = hexNutFlatLength)
|
|
|
|
|> angledLine(angle = 150, length = hexNutFlatLength)
|
|
|
|
|> angledLine(angle = 90, length = hexNutFlatLength)
|
|
|
|
|> angledLine(angle = 30, length = hexNutFlatLength)
|
2025-03-19 23:49:06 -04:00
|
|
|
|> close()
|
|
|
|
|> extrude(length = hexNutThickness)
|
|
|
|
|
2025-04-04 11:03:13 -07:00
|
|
|
// Create the hole in the center of the hex nut
|
2025-04-14 05:58:19 -04:00
|
|
|
hexNut = startSketchOn(hexNutBase, face = END)
|
2025-03-19 23:49:06 -04:00
|
|
|
|> circle(center = [0, 0], radius = hexNutDiameter / 2)
|
|
|
|
|> extrude(%, length = -hexNutThickness)
|
|
|
|
|> appearance(%, color = "#4edfd5")
|
|
|
|
|
|
|
|
return hexNut
|
|
|
|
}
|