vibe-openscad

tier-2-hex-bolt / o3-2025-04-16

7 run / 累計 106.5s / 累計 $0.0679

openai o3 2025-04-16 bare

bare (provider default effort)

run detail →
render
bare render of tier-2-hex-bolt
loading STL…
success 17.0s · 200/1343t · $0.0111
SCAD (24 lines)
// M8 Hex Bolt (threadless)

// Parameters
across_flats = 13;      // distance across flats of hex head [mm]
head_height  = 5.3;     // height of hex head [mm]
shank_dia    = 8;       // shank diameter [mm]
shank_len    = 30;      // shank length [mm]

// Derived value
head_radius = across_flats / (2 * cos(30));  // circumscribed radius for hexagon

union() {
    // Hexagonal head: bottom at z = 0, extending in +Z
    rotate([0,0,30])                       // align a flat horizontally (optional)
        cylinder(h = head_height,
                 r = head_radius,
                 $fn = 6);

    // Cylindrical shank: starts at z = 0, extends in –Z
    translate([0,0,-shank_len])
        cylinder(h = shank_len,
                 r = shank_dia / 2,
                 $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
21.1s · 200/856t · $0.0072
SCAD (20 lines)
// M8 hex bolt (thread omitted)

// parameters
across_flats = 13;          // head across-flats (mm)
head_height   = 5.3;        // head thickness (mm)
shank_diameter = 8;         // shank diameter (mm)
shank_length   = 30;        // shank length (mm)

// derived
head_radius = across_flats / sqrt(3);   // circumscribed radius of hex
shank_radius = shank_diameter / 2;

union() {
    // hexagonal head (z = 0 … +head_height)
    cylinder(h = head_height, r = head_radius, $fn = 6);

    // cylindrical shank (z = 0 … -shank_length)
    translate([0, 0, -shank_length])
        cylinder(h = shank_length, r = shank_radius, $fn = 64);
}
medium (default) success
medium
17.0s · 200/1343t · $0.0111
SCAD (24 lines)
// M8 Hex Bolt (threadless)

// Parameters
across_flats = 13;      // distance across flats of hex head [mm]
head_height  = 5.3;     // height of hex head [mm]
shank_dia    = 8;       // shank diameter [mm]
shank_len    = 30;      // shank length [mm]

// Derived value
head_radius = across_flats / (2 * cos(30));  // circumscribed radius for hexagon

union() {
    // Hexagonal head: bottom at z = 0, extending in +Z
    rotate([0,0,30])                       // align a flat horizontally (optional)
        cylinder(h = head_height,
                 r = head_radius,
                 $fn = 6);

    // Cylindrical shank: starts at z = 0, extends in –Z
    translate([0,0,-shank_len])
        cylinder(h = shank_len,
                 r = shank_dia / 2,
                 $fn = 64);
}
high success
high
23.8s · 200/1916t · $0.0157
SCAD (17 lines)
// M8 hex bolt (simplified, no threads)

af            = 13;   // across-flats of hex head [mm]
head_height   = 5.3;  // head height [mm]
shank_d       = 8;    // shank diameter [mm]
shank_length  = 30;   // shank length [mm]

hex_r = af / sqrt(3); // circumradius for the hex head

union() {
    // Hexagonal head (extends in +Z)
    cylinder(h = head_height, r = hex_r, $fn = 6);

    // Cylindrical shank (extends in –Z)
    translate([0, 0, -shank_length])
        cylinder(h = shank_length, d = shank_d, $fn = 64);
}
maxnot run
xhighnot run

iteration: iter-png

i1 success
iter 1
5.6s · 1203/526t · $0.0066
diff vs bare: +0/-0
  // M8 Hex Bolt (threadless)
  
  // Parameters
  across_flats = 13;      // distance across flats of hex head [mm]
  head_height  = 5.3;     // height of hex head [mm]
  shank_dia    = 8;       // shank diameter [mm]
  shank_len    = 30;      // shank length [mm]
  
  // Derived value
  head_radius = across_flats / (2 * cos(30));  // circumscribed radius for hexagon
  
  union() {
      // Hexagonal head: bottom at z = 0, extending in +Z
      rotate([0,0,30])                       // align a flat horizontally (optional)
          cylinder(h = head_height,
                   r = head_radius,
                   $fn = 6);
  
      // Cylindrical shank: starts at z = 0, extends in –Z
      translate([0,0,-shank_len])
          cylinder(h = shank_len,
                   r = shank_dia / 2,
                   $fn = 64);
  }
SCAD (24 lines)
// M8 Hex Bolt (threadless)

// Parameters
across_flats = 13;      // distance across flats of hex head [mm]
head_height  = 5.3;     // height of hex head [mm]
shank_dia    = 8;       // shank diameter [mm]
shank_len    = 30;      // shank length [mm]

// Derived value
head_radius = across_flats / (2 * cos(30));  // circumscribed radius for hexagon

union() {
    // Hexagonal head: bottom at z = 0, extending in +Z
    rotate([0,0,30])                       // align a flat horizontally (optional)
        cylinder(h = head_height,
                 r = head_radius,
                 $fn = 6);

    // Cylindrical shank: starts at z = 0, extends in –Z
    translate([0,0,-shank_len])
        cylinder(h = shank_len,
                 r = shank_dia / 2,
                 $fn = 64);
}
i2 success
iter 2
8.3s · 1203/475t · $0.0062
diff vs i1: +0/-0
  // M8 Hex Bolt (threadless)
  
  // Parameters
  across_flats = 13;      // distance across flats of hex head [mm]
  head_height  = 5.3;     // height of hex head [mm]
  shank_dia    = 8;       // shank diameter [mm]
  shank_len    = 30;      // shank length [mm]
  
  // Derived value
  head_radius = across_flats / (2 * cos(30));  // circumscribed radius for hexagon
  
  union() {
      // Hexagonal head: bottom at z = 0, extending in +Z
      rotate([0,0,30])                       // align a flat horizontally (optional)
          cylinder(h = head_height,
                   r = head_radius,
                   $fn = 6);
  
      // Cylindrical shank: starts at z = 0, extends in –Z
      translate([0,0,-shank_len])
          cylinder(h = shank_len,
                   r = shank_dia / 2,
                   $fn = 64);
  }
SCAD (24 lines)
// M8 Hex Bolt (threadless)

// Parameters
across_flats = 13;      // distance across flats of hex head [mm]
head_height  = 5.3;     // height of hex head [mm]
shank_dia    = 8;       // shank diameter [mm]
shank_len    = 30;      // shank length [mm]

// Derived value
head_radius = across_flats / (2 * cos(30));  // circumscribed radius for hexagon

union() {
    // Hexagonal head: bottom at z = 0, extending in +Z
    rotate([0,0,30])                       // align a flat horizontally (optional)
        cylinder(h = head_height,
                 r = head_radius,
                 $fn = 6);

    // Cylindrical shank: starts at z = 0, extends in –Z
    translate([0,0,-shank_len])
        cylinder(h = shank_len,
                 r = shank_dia / 2,
                 $fn = 64);
}
i3 success
iter 3
13.5s · 1203/928t · $0.0098
diff vs i2: +0/-0
  // M8 Hex Bolt (threadless)
  
  // Parameters
  across_flats = 13;      // distance across flats of hex head [mm]
  head_height  = 5.3;     // height of hex head [mm]
  shank_dia    = 8;       // shank diameter [mm]
  shank_len    = 30;      // shank length [mm]
  
  // Derived value
  head_radius = across_flats / (2 * cos(30));  // circumscribed radius for hexagon
  
  union() {
      // Hexagonal head: bottom at z = 0, extending in +Z
      rotate([0,0,30])                       // align a flat horizontally (optional)
          cylinder(h = head_height,
                   r = head_radius,
                   $fn = 6);
  
      // Cylindrical shank: starts at z = 0, extends in –Z
      translate([0,0,-shank_len])
          cylinder(h = shank_len,
                   r = shank_dia / 2,
                   $fn = 64);
  }
SCAD (24 lines)
// M8 Hex Bolt (threadless)

// Parameters
across_flats = 13;      // distance across flats of hex head [mm]
head_height  = 5.3;     // height of hex head [mm]
shank_dia    = 8;       // shank diameter [mm]
shank_len    = 30;      // shank length [mm]

// Derived value
head_radius = across_flats / (2 * cos(30));  // circumscribed radius for hexagon

union() {
    // Hexagonal head: bottom at z = 0, extending in +Z
    rotate([0,0,30])                       // align a flat horizontally (optional)
        cylinder(h = head_height,
                 r = head_radius,
                 $fn = 6);

    // Cylindrical shank: starts at z = 0, extends in –Z
    translate([0,0,-shank_len])
        cylinder(h = shank_len,
                 r = shank_dia / 2,
                 $fn = 64);
}