A spur gear with 20 teeth, module 2mm (so pitch diameter 40mm), face width 10mm, and a central bore 8mm in diameter.
/*
Generated by Text-to-CAD:
A spur gear with 20 teeth, module 2mm (so pitch diameter 40mm), face width 10mm, and a central bore 8mm in diameter.
*/
@settings(defaultLengthUnit = mm)
// Parameters
nTeeth = 20
module = 2
pressureAngle = 20deg
gearHeight = 10
boreDiam = 8
// Derived gear geometry
pitchDiameter = module * nTeeth
baseDiameter = pitchDiameter * cos(pressureAngle)
tipDiameter = pitchDiameter + 2 * module
// Involute tooth profile patterned around center, with an 8mm bore
startSketchOn(XY)
|> startProfile(at = polar(angle = 0, length = baseDiameter / 2))
|> involuteCircular(
startRadius = baseDiameter / 2,
endRadius = tipDiameter / 2,
angle = 0,
tag = $seg01,
)
|> line(endAbsolute = polar(angle = 160deg / nTeeth, length = tipDiameter / 2))
|> involuteCircular(
startRadius = baseDiameter / 2,
endRadius = tipDiameter / 2,
angle = -atan(segEndY(seg01) / segEndX(seg01)) - (180deg / nTeeth),
reverse = true,
)
|> line(endAbsolute = polar(angle = 360deg / nTeeth, length = baseDiameter / 2))
|> patternCircular2d(
instances = nTeeth,
center = [0, 0],
arcDegrees = 360deg,
rotateDuplicates = true,
)
|> close()
|> subtract2d(tool = circle(center = [0, 0], diameter = boreDiam))
|> extrude(length = gearHeight)