vibe-openscad

tier-2-hex-bolt / claude-opus-4-5-20251101

7 run / 累計 32.6s / 累計 $0.0695

claude opus 4.5 2025-11-01 bare

bare (provider default effort)

run detail →
render
bare render of tier-2-hex-bolt
loading STL…
success 6.3s · 252/265t · $0.0079
SCAD (19 lines)
// M8 Hex Bolt (simplified without threads)

// Parameters
head_across_flats = 13;    // Across-flats distance (mm)
head_height = 5.3;         // Head height (mm)
shank_diameter = 8;        // Shank diameter (mm)
shank_length = 30;         // Shank length (mm)

// Calculate circumscribed radius for hexagon
// For a regular hexagon, circumradius = across_flats / sqrt(3)
head_radius = head_across_flats / sqrt(3);

// Hex head (positioned with bottom at z=0, extending upward)
translate([0, 0, head_height/2])
    cylinder(h = head_height, r = head_radius, center = true, $fn = 6);

// Shank (positioned extending downward from z=0)
translate([0, 0, -shank_length/2])
    cylinder(h = shank_length, d = shank_diameter, center = true, $fn = 64);
パラメータ (4)
スライダを動かすと openscad-wasm で再レンダリング

prompt

OpenSCAD で、規格に準じた M8 サイズの六角ボルトを作ってください。
ねじ山自体は省略してよく、円柱のシャンクで構いません。

寸法は以下に従ってください:
- 頭部は六角柱で、対辺距離(across-flats)13mm、高さ 5.3mm
- シャンク(軸部)は直径 8mm、長さ 30mm の円柱
- ボルト全体の中心軸は +Z 軸方向
- 頭部の底面が原点(z=0)に来るように配置し、シャンクは z<0 側へ伸ばす

完成したコード全体を ```openscad ... ``` のフェンスで囲んで出力してください。コードのみで、追加の説明は不要です。

variant: effort

low success
low
2.7s · 353/90t · $0.0040
SCAD (8 lines)
$fn = 50;

// 頭部(六角柱)
cylinder(h = 5.3, r = 13 / sqrt(3), $fn = 6);

// シャンク(円柱)
translate([0, 0, -30])
    cylinder(h = 30, d = 8);
mediumnot run
high (default) success
high
6.3s · 252/265t · $0.0079
SCAD (19 lines)
// M8 Hex Bolt (simplified without threads)

// Parameters
head_across_flats = 13;    // Across-flats distance (mm)
head_height = 5.3;         // Head height (mm)
shank_diameter = 8;        // Shank diameter (mm)
shank_length = 30;         // Shank length (mm)

// Calculate circumscribed radius for hexagon
// For a regular hexagon, circumradius = across_flats / sqrt(3)
head_radius = head_across_flats / sqrt(3);

// Hex head (positioned with bottom at z=0, extending upward)
translate([0, 0, head_height/2])
    cylinder(h = head_height, r = head_radius, center = true, $fn = 6);

// Shank (positioned extending downward from z=0)
translate([0, 0, -shank_length/2])
    cylinder(h = shank_length, d = shank_diameter, center = true, $fn = 64);
maxnot run
xhighnot run

variant: thinking

off (default) success
off
2.7s · 353/90t · $0.0040
SCAD (8 lines)
$fn = 50;

// 頭部(六角柱)
cylinder(h = 5.3, r = 13 / sqrt(3), $fn = 6);

// シャンク(円柱)
translate([0, 0, -30])
    cylinder(h = 30, d = 8);
adaptivenot run
dynamicnot run

iteration: iter-png

i1 success
iter 1
6.1s · 1273/411t · $0.0166
diff vs bare: +5/-3
  // M8 Hex Bolt (simplified without threads)
  
  // Parameters
  head_across_flats = 13;    // Across-flats distance (mm)
  head_height = 5.3;         // Head height (mm)
  shank_diameter = 8;        // Shank diameter (mm)
  shank_length = 30;         // Shank length (mm)
  
  // Calculate circumscribed radius for hexagon
- // For a regular hexagon, circumradius = across_flats / sqrt(3)
- head_radius = head_across_flats / sqrt(3);
+ // For a regular hexagon with $fn=6, cylinder uses circumradius
+ // across_flats = 2 * circumradius * cos(30°) = circumradius * sqrt(3)
+ // Therefore: circumradius = across_flats / sqrt(3)
+ head_circumradius = head_across_flats / 2 / cos(30);
  
  // Hex head (positioned with bottom at z=0, extending upward)
  translate([0, 0, head_height/2])
-     cylinder(h = head_height, r = head_radius, center = true, $fn = 6);
+     cylinder(h = head_height, r = head_circumradius, center = true, $fn = 6);
  
  // Shank (positioned extending downward from z=0)
  translate([0, 0, -shank_length/2])
      cylinder(h = shank_length, d = shank_diameter, center = true, $fn = 64);
SCAD (21 lines)
// M8 Hex Bolt (simplified without threads)

// Parameters
head_across_flats = 13;    // Across-flats distance (mm)
head_height = 5.3;         // Head height (mm)
shank_diameter = 8;        // Shank diameter (mm)
shank_length = 30;         // Shank length (mm)

// Calculate circumscribed radius for hexagon
// For a regular hexagon with $fn=6, cylinder uses circumradius
// across_flats = 2 * circumradius * cos(30°) = circumradius * sqrt(3)
// Therefore: circumradius = across_flats / sqrt(3)
head_circumradius = head_across_flats / 2 / cos(30);

// Hex head (positioned with bottom at z=0, extending upward)
translate([0, 0, head_height/2])
    cylinder(h = head_height, r = head_circumradius, center = true, $fn = 6);

// Shank (positioned extending downward from z=0)
translate([0, 0, -shank_length/2])
    cylinder(h = shank_length, d = shank_diameter, center = true, $fn = 64);
i2 success
iter 2
4.4s · 1324/316t · $0.0145
diff vs i1: +0/-0
  // M8 Hex Bolt (simplified without threads)
  
  // Parameters
  head_across_flats = 13;    // Across-flats distance (mm)
  head_height = 5.3;         // Head height (mm)
  shank_diameter = 8;        // Shank diameter (mm)
  shank_length = 30;         // Shank length (mm)
  
  // Calculate circumscribed radius for hexagon
  // For a regular hexagon with $fn=6, cylinder uses circumradius
  // across_flats = 2 * circumradius * cos(30°) = circumradius * sqrt(3)
  // Therefore: circumradius = across_flats / sqrt(3)
  head_circumradius = head_across_flats / 2 / cos(30);
  
  // Hex head (positioned with bottom at z=0, extending upward)
  translate([0, 0, head_height/2])
      cylinder(h = head_height, r = head_circumradius, center = true, $fn = 6);
  
  // Shank (positioned extending downward from z=0)
  translate([0, 0, -shank_length/2])
      cylinder(h = shank_length, d = shank_diameter, center = true, $fn = 64);
SCAD (21 lines)
// M8 Hex Bolt (simplified without threads)

// Parameters
head_across_flats = 13;    // Across-flats distance (mm)
head_height = 5.3;         // Head height (mm)
shank_diameter = 8;        // Shank diameter (mm)
shank_length = 30;         // Shank length (mm)

// Calculate circumscribed radius for hexagon
// For a regular hexagon with $fn=6, cylinder uses circumradius
// across_flats = 2 * circumradius * cos(30°) = circumradius * sqrt(3)
// Therefore: circumradius = across_flats / sqrt(3)
head_circumradius = head_across_flats / 2 / cos(30);

// Hex head (positioned with bottom at z=0, extending upward)
translate([0, 0, head_height/2])
    cylinder(h = head_height, r = head_circumradius, center = true, $fn = 6);

// Shank (positioned extending downward from z=0)
translate([0, 0, -shank_length/2])
    cylinder(h = shank_length, d = shank_diameter, center = true, $fn = 64);
i3 success
iter 3
3.9s · 1324/316t · $0.0145
diff vs i2: +0/-0
  // M8 Hex Bolt (simplified without threads)
  
  // Parameters
  head_across_flats = 13;    // Across-flats distance (mm)
  head_height = 5.3;         // Head height (mm)
  shank_diameter = 8;        // Shank diameter (mm)
  shank_length = 30;         // Shank length (mm)
  
  // Calculate circumscribed radius for hexagon
  // For a regular hexagon with $fn=6, cylinder uses circumradius
  // across_flats = 2 * circumradius * cos(30°) = circumradius * sqrt(3)
  // Therefore: circumradius = across_flats / sqrt(3)
  head_circumradius = head_across_flats / 2 / cos(30);
  
  // Hex head (positioned with bottom at z=0, extending upward)
  translate([0, 0, head_height/2])
      cylinder(h = head_height, r = head_circumradius, center = true, $fn = 6);
  
  // Shank (positioned extending downward from z=0)
  translate([0, 0, -shank_length/2])
      cylinder(h = shank_length, d = shank_diameter, center = true, $fn = 64);
SCAD (21 lines)
// M8 Hex Bolt (simplified without threads)

// Parameters
head_across_flats = 13;    // Across-flats distance (mm)
head_height = 5.3;         // Head height (mm)
shank_diameter = 8;        // Shank diameter (mm)
shank_length = 30;         // Shank length (mm)

// Calculate circumscribed radius for hexagon
// For a regular hexagon with $fn=6, cylinder uses circumradius
// across_flats = 2 * circumradius * cos(30°) = circumradius * sqrt(3)
// Therefore: circumradius = across_flats / sqrt(3)
head_circumradius = head_across_flats / 2 / cos(30);

// Hex head (positioned with bottom at z=0, extending upward)
translate([0, 0, head_height/2])
    cylinder(h = head_height, r = head_circumradius, center = true, $fn = 6);

// Shank (positioned extending downward from z=0)
translate([0, 0, -shank_length/2])
    cylinder(h = shank_length, d = shank_diameter, center = true, $fn = 64);