vibe-openscad

tier-2-hex-bolt / gemini-3-flash-preview

6 run / 累計 82.4s / 累計 $0.0048

gemini flash 3 preview bare

bare (provider default effort)

run detail →
render
bare render of tier-2-hex-bolt
loading STL…
success 5.6s · 173/156t · $0.0004
SCAD (14 lines)
// M8 Hex Bolt (Simplified)

$fn = 64;

// Head: Hexagonal prism
// Across-flats (AF) = 13mm -> Circumradius = (AF/2) / cos(30)
translate([0, 0, 0])
    cylinder(h = 5.3, d = 13 / cos(30), $fn = 6);

// Shank: Cylinder
// Diameter = 8mm, Length = 30mm
// Positioned from z=0 to z=-30
translate([0, 0, -30])
    cylinder(h = 30, d = 8);

prompt

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

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

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

variant: thinking

off success
off
2.8s · 173/244t · $0.0007
SCAD (22 lines)
// M8 Hex Bolt (Simplified)

// Parameters
s = 13;      // Across-flats (二面幅)
k = 5.3;     // Head height (頭部高さ)
d = 8;       // Shank diameter (軸径)
l = 30;      // Shank length (軸長さ)
$fn = 64;    // Resolution

union() {
    // Head: Hexagonal prism
    // In OpenSCAD, cylinder with $fn=6 creates a polygon where 'r' is the circumradius.
    // Circumradius = (Across-flats / 2) / cos(30)
    translate([0, 0, 0])
        rotate([0, 0, 0])
        cylinder(h = k, r = (s / 2) / cos(30), $fn = 6);

    // Shank: Cylinder
    // Extending towards z < 0
    translate([0, 0, -l])
        cylinder(h = l, d = d);
}
adaptivenot run
dynamic (default) success
dynamic
5.6s · 173/156t · $0.0004
SCAD (14 lines)
// M8 Hex Bolt (Simplified)

$fn = 64;

// Head: Hexagonal prism
// Across-flats (AF) = 13mm -> Circumradius = (AF/2) / cos(30)
translate([0, 0, 0])
    cylinder(h = 5.3, d = 13 / cos(30), $fn = 6);

// Shank: Cylinder
// Diameter = 8mm, Length = 30mm
// Positioned from z=0 to z=-30
translate([0, 0, -30])
    cylinder(h = 30, d = 8);

iteration: iter-png

i1 success
iter 1
24.7s · 1461/306t · $0.0012
diff vs bare: +7/-9
- // M8 Hex Bolt (Simplified)
- 
+ // M8 Hex Bolt (Simplified model)
  $fn = 64;
  
- // Head: Hexagonal prism
- // Across-flats (AF) = 13mm -> Circumradius = (AF/2) / cos(30)
- translate([0, 0, 0])
-     cylinder(h = 5.3, d = 13 / cos(30), $fn = 6);
+ // 頭部: 六角柱 (Across-flats 13mm, Height 5.3mm)
+ // OpenSCADのcylinder($fn=6)において d は対角距離になるため、
+ // 対辺距離を13mmにするには 13/cos(30) を直径に指定します。
+ cylinder(h = 5.3, d = 13 / cos(30), $fn = 6);
  
- // Shank: Cylinder
- // Diameter = 8mm, Length = 30mm
- // Positioned from z=0 to z=-30
+ // シャンク: 円柱 (Diameter 8mm, Length 30mm)
+ // z=0 から負の方向 (-30) へ伸ばします。
  translate([0, 0, -30])
      cylinder(h = 30, d = 8);
SCAD (12 lines)
// M8 Hex Bolt (Simplified model)
$fn = 64;

// 頭部: 六角柱 (Across-flats 13mm, Height 5.3mm)
// OpenSCADのcylinder($fn=6)において d は対角距離になるため、
// 対辺距離を13mmにするには 13/cos(30) を直径に指定します。
cylinder(h = 5.3, d = 13 / cos(30), $fn = 6);

// シャンク: 円柱 (Diameter 8mm, Length 30mm)
// z=0 から負の方向 (-30) へ伸ばします。
translate([0, 0, -30])
    cylinder(h = 30, d = 8);
i2 success
iter 2
15.7s · 1491/248t · $0.0011
diff vs i1: +0/-0
  // M8 Hex Bolt (Simplified model)
  $fn = 64;
  
  // 頭部: 六角柱 (Across-flats 13mm, Height 5.3mm)
  // OpenSCADのcylinder($fn=6)において d は対角距離になるため、
  // 対辺距離を13mmにするには 13/cos(30) を直径に指定します。
  cylinder(h = 5.3, d = 13 / cos(30), $fn = 6);
  
  // シャンク: 円柱 (Diameter 8mm, Length 30mm)
  // z=0 から負の方向 (-30) へ伸ばします。
  translate([0, 0, -30])
      cylinder(h = 30, d = 8);
SCAD (12 lines)
// M8 Hex Bolt (Simplified model)
$fn = 64;

// 頭部: 六角柱 (Across-flats 13mm, Height 5.3mm)
// OpenSCADのcylinder($fn=6)において d は対角距離になるため、
// 対辺距離を13mmにするには 13/cos(30) を直径に指定します。
cylinder(h = 5.3, d = 13 / cos(30), $fn = 6);

// シャンク: 円柱 (Diameter 8mm, Length 30mm)
// z=0 から負の方向 (-30) へ伸ばします。
translate([0, 0, -30])
    cylinder(h = 30, d = 8);
i3 success
iter 3
28.0s · 1491/204t · $0.0010
diff vs i2: +3/-3
  // M8 Hex Bolt (Simplified model)
  $fn = 64;
  
  // 頭部: 六角柱 (Across-flats 13mm, Height 5.3mm)
- // OpenSCADのcylinder($fn=6)において d は対角距離になるため、
- // 対辺距離を13mmにするには 13/cos(30) を直径に指定します。
+ // OpenSCADのcylinder($fn=6)において d は外接円の直径(対角距離)となるため、
+ // 対辺距離(S)を13mmにするための直径(D)は D = S / cos(30) で計算します。
  cylinder(h = 5.3, d = 13 / cos(30), $fn = 6);
  
  // シャンク: 円柱 (Diameter 8mm, Length 30mm)
- // z=0 から負の方向 (-30) へ伸ばします。
+ // 頭部の底面(z=0)から負の方向へ30mm伸ばします。
  translate([0, 0, -30])
      cylinder(h = 30, d = 8);
SCAD (12 lines)
// M8 Hex Bolt (Simplified model)
$fn = 64;

// 頭部: 六角柱 (Across-flats 13mm, Height 5.3mm)
// OpenSCADのcylinder($fn=6)において d は外接円の直径(対角距離)となるため、
// 対辺距離(S)を13mmにするための直径(D)は D = S / cos(30) で計算します。
cylinder(h = 5.3, d = 13 / cos(30), $fn = 6);

// シャンク: 円柱 (Diameter 8mm, Length 30mm)
// 頭部の底面(z=0)から負の方向へ30mm伸ばします。
translate([0, 0, -30])
    cylinder(h = 30, d = 8);