KCL (KITTYCAD LANGUAGE)SOURCE
✓ executed/*
Generated by Text-to-CAD:
A flanged cylinder: a 20mm-diameter shaft 30mm tall sitting on a 40mm-diameter flange 6mm thick. The flange has four 4mm holes equally spaced on a 32mm bolt circle.
*/
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Parameters
shaftDiameter = 20
shaftHeight = 30
flangeDiameter = 40
flangeThickness = 6
boltCircleDiameter = 32
boltHoleDiameter = 4
boltHoleCount = 4
// Derived
shaftRadius = shaftDiameter / 2
flangeRadius = flangeDiameter / 2
boltCircleRadius = boltCircleDiameter / 2
boltHoleRadius = boltHoleDiameter / 2
// Create bolt hole pattern sketches
boltHoleSeed = startSketchOn(XY)
|> circle(center = [boltCircleRadius, 0], radius = boltHoleRadius)
boltHolesPattern = patternCircular2d(
boltHoleSeed,
instances = boltHoleCount,
center = [0, 0],
arcDegrees = 360,
rotateDuplicates = false,
)
// Flange with holes
flangeProfile = startSketchOn(XY)
|> circle(center = [0, 0], radius = flangeRadius)
|> subtract2d(tool = boltHolesPattern)
flange = extrude(flangeProfile, length = flangeThickness)
// Shaft on top of flange
startSketchOn(flange, face = END)
|> circle(center = [0, 0], radius = shaftRadius)
|> extrude(length = shaftHeight)