57 lines
2.3 KiB
Plaintext
57 lines
2.3 KiB
Plaintext
![]() |
// Pillow Block Bearing
|
||
|
// The machined block for the pillow block bearing assembly. The block is dimensioned using the bolt pattern spacing, and each bolt hole includes a counterbore
|
||
|
|
||
|
// Set units
|
||
|
@settings(defaultLengthUnit = in)
|
||
|
|
||
|
// Import Parameters
|
||
|
import * from "parameters.kcl"
|
||
|
|
||
|
// Calculate the dimensions of the block using the specified bolt spacing. The size of the block can be defined by adding a multiple of the counterbore diameter to the bolt spacing
|
||
|
blockLength = boltSpacingX + counterboreDiameter + boltDiameter
|
||
|
blockWidth = boltSpacingY + counterboreDiameter + boltDiameter
|
||
|
|
||
|
// Draw the base plate
|
||
|
plateSketch = startSketchOn(XY)
|
||
|
|> startProfile(at = [-blockLength / 2, -blockWidth / 2])
|
||
|
|> angledLine(angle = 0, length = blockLength, tag = $rectangleSegmentA001)
|
||
|
|> angledLine(angle = segAng(rectangleSegmentA001) + 90, length = blockWidth, tag = $rectangleSegmentB001)
|
||
|
|> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001), tag = $rectangleSegmentC001)
|
||
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $rectangleSegmentD001)
|
||
|
|> close()
|
||
|
|> subtract2d(tool = circle(center = [0, 0], radius = bearingOuterDiameter / 2))
|
||
|
plateBody = extrude(plateSketch, length = stockThickness)
|
||
|
|> appearance(%, color = "#1e62eb")
|
||
|
|> fillet(
|
||
|
radius = boltDiameter * 1 / 3,
|
||
|
tags = [
|
||
|
getNextAdjacentEdge(rectangleSegmentB001),
|
||
|
getNextAdjacentEdge(rectangleSegmentA001),
|
||
|
getNextAdjacentEdge(rectangleSegmentC001),
|
||
|
getNextAdjacentEdge(rectangleSegmentD001)
|
||
|
],
|
||
|
)
|
||
|
|
||
|
// Define hole positions
|
||
|
holePositions = [
|
||
|
[-boltSpacingX / 2, -boltSpacingY / 2],
|
||
|
[-boltSpacingX / 2, boltSpacingY / 2],
|
||
|
[boltSpacingX / 2, -boltSpacingY / 2],
|
||
|
[boltSpacingX / 2, boltSpacingY / 2]
|
||
|
]
|
||
|
|
||
|
// Function to create a counterbored hole
|
||
|
fn counterbore(@holePosition) {
|
||
|
cbBore = startSketchOn(plateBody, face = END)
|
||
|
|> circle(center = holePosition, radius = counterboreDiameter / 2)
|
||
|
|> extrude(length = -counterboreDepth)
|
||
|
cbBolt = startSketchOn(cbBore, face = START)
|
||
|
|> circle(center = holePosition, radius = boltDiameter / 2, tag = $hole01)
|
||
|
|> extrude(length = -stockThickness + counterboreDepth)
|
||
|
|
||
|
return { }
|
||
|
}
|
||
|
|
||
|
// Place a counterbored hole at each bolt hole position
|
||
|
map(holePositions, f = counterbore)
|