TIER 3 · ASSEMBLIES·t3_01

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.

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 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)
COMPARE · SAME PROMPT
Claude Opus 4.6
Gemini 2.5 Flash
GPT-5
no output
Text2CadQuery (Qwen 3B)