TIER 4 · COMPLEX GEOMETRY·t4_01

A spur gear with 20 teeth, module 2mm (so pitch diameter 40mm), face width 10mm, and a central bore 8mm in diameter.

Claude Opus 4.6Zoo ML-ephantGemini 2.5 FlashGPT-5Text2CadQuery (Qwen 3B)
3D RENDER · Zoo ML-ephant
KCL (KITTYCAD LANGUAGE)SOURCE
✓ executed
/*
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)
COMPARE · SAME PROMPT
Claude Opus 4.6
Gemini 2.5 Flash
'Workplane' object has no attribute 'gear'
GPT-5
no output
Text2CadQuery (Qwen 3B)