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)`
41 lines
1.3 KiB
Plaintext
41 lines
1.3 KiB
Plaintext
// Lug Nut
|
|
// lug Nuts are essential components used to create secure connections, whether for electrical purposes, like terminating wires or grounding, or for mechanical purposes, such as providing mounting points or reinforcing structural joints.
|
|
|
|
// Set units
|
|
@settings(defaultLengthUnit = in)
|
|
|
|
// Import parameters
|
|
import lugDiameter, lugHeadLength, lugThreadDiameter, lugLength, lugThreadDepth, lugSpacing from "parameters.kcl"
|
|
|
|
customPlane = {
|
|
plane = {
|
|
origin = {
|
|
x = lugSpacing / 2,
|
|
y = fromMm(-30),
|
|
z = 0
|
|
},
|
|
xAxis = { x = 1, y = 0, z = 0 },
|
|
yAxis = { x = 0, y = -1, z = 0 },
|
|
zAxis = { x = 0, y = 0, z = 1 }
|
|
}
|
|
}
|
|
|
|
fn lug(plane, length, diameter) {
|
|
lugSketch = startSketchOn(customPlane)
|
|
|> startProfileAt([0 + diameter / 2, 0], %)
|
|
|> angledLine(angle = 70, lengthY = lugHeadLength)
|
|
|> xLine(endAbsolute = lugDiameter / 2)
|
|
|> yLine(endAbsolute = lugLength)
|
|
|> tangentialArc({ offset = 90, radius = fromMm(3) }, %)
|
|
|> xLine(endAbsolute = 0 + .001, tag = $c1)
|
|
|> yLine(endAbsolute = lugThreadDepth)
|
|
|> xLine(endAbsolute = lugThreadDiameter)
|
|
|> yLine(endAbsolute = 0)
|
|
|> close()
|
|
|> revolve(axis = Y)
|
|
|> appearance(color = "#dbcd70", roughness = 90, metalness = 90)
|
|
return lugSketch
|
|
}
|
|
|
|
lug(customPlane, lugLength, lugDiameter)
|