vibe-openscad

tier-2-hex-bolt / gemini-2.5-flash

6 run / 累計 54.7s / 累計 $0.0083

gemini flash 2.5 bare

bare (provider default effort)

run detail →
render
bare render of tier-2-hex-bolt
loading STL…
success 12.6s · 173/529t · $0.0014
SCAD (53 lines)
// M8 Hex Bolt

// Dimensions for the M8 hex bolt
// Standard dimensions for M8 bolts (ISO 4017/DIN 933 or similar)
// Head across-flats (s): 13 mm
// Head height (k): 5.3 mm
// Shank diameter (nominal thread diameter, d): 8 mm
// Shank length (l): 30 mm

// --- Parameters ---
// Head dimensions
head_across_flats = 13;   // 対辺距離 (across-flats)
head_height = 5.3;        // 頭部の高さ

// Shank dimensions
shank_diameter = 8;       // シャンクの直径
shank_length = 30;        // シャンクの長さ

// --- Calculated values ---
// Radius of the circumcircle for the hexagonal head
// For a regular hexagon, the across-flats distance (s) is related to the circumcircle radius (R) by:
// s = 2 * R * cos(30 degrees)
// R = s / (2 * cos(30 degrees)) = s / sqrt(3)
head_radius_circumcircle = head_across_flats / sqrt(3);

// Shank radius
shank_radius = shank_diameter / 2;


// --- Bolt Assembly ---
union() {
    // 1. Hexagonal Head
    // Placed such that its bottom face is at z=0 and extends upwards (+Z direction).
    // $fn=6 specifies a hexagon (6 faces).
    // center=false makes the cylinder extend from z=0 to z=height.
    cylinder(
        h = head_height,
        r = head_radius_circumcircle,
        $fn = 6,
        center = false
    );

    // 2. Shank (Cylindrical part)
    // Placed such that it starts from z=0 and extends downwards (-Z direction).
    // The cylinder itself is defined from z=0 to z=shank_length (center=false).
    // It is then translated downwards by its full length to align its top face with z=0.
    translate([0, 0, -shank_length])
    cylinder(
        h = shank_length,
        r = shank_radius,
        center = false
    );
}
パラメータ (4)
スライダを動かすと openscad-wasm で再レンダリング

prompt

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

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

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

variant: thinking

off success
off
2.4s · 173/257t · $0.0007
SCAD (21 lines)
// M8 Hex Bolt

// Dimensions
head_across_flats = 13; // Across-flats distance for the hexagonal head
head_height = 5.3;      // Height of the hexagonal head
shank_diameter = 8;     // Diameter of the cylindrical shank
shank_length = 30;      // Length of the cylindrical shank

// Calculate radius for hexagonal head
// A hexagon with across-flats 'a' has a radius 'r' such that r = a / sqrt(3)
head_radius = head_across_flats / sqrt(3);

// Head
translate([0, 0, -head_height]) { // Position the head so its bottom is at z=0 after head is translated up.
    cylinder(h = head_height, r = head_radius, $fn = 6);
}

// Shank
translate([0, 0, -shank_length]) { // Position the shank so its top is at z=0 after shank is translated up.
    cylinder(h = shank_length, r = shank_diameter / 2, $fn = 64);
}
adaptivenot run
dynamic (default) success
dynamic
12.6s · 173/529t · $0.0014
SCAD (53 lines)
// M8 Hex Bolt

// Dimensions for the M8 hex bolt
// Standard dimensions for M8 bolts (ISO 4017/DIN 933 or similar)
// Head across-flats (s): 13 mm
// Head height (k): 5.3 mm
// Shank diameter (nominal thread diameter, d): 8 mm
// Shank length (l): 30 mm

// --- Parameters ---
// Head dimensions
head_across_flats = 13;   // 対辺距離 (across-flats)
head_height = 5.3;        // 頭部の高さ

// Shank dimensions
shank_diameter = 8;       // シャンクの直径
shank_length = 30;        // シャンクの長さ

// --- Calculated values ---
// Radius of the circumcircle for the hexagonal head
// For a regular hexagon, the across-flats distance (s) is related to the circumcircle radius (R) by:
// s = 2 * R * cos(30 degrees)
// R = s / (2 * cos(30 degrees)) = s / sqrt(3)
head_radius_circumcircle = head_across_flats / sqrt(3);

// Shank radius
shank_radius = shank_diameter / 2;


// --- Bolt Assembly ---
union() {
    // 1. Hexagonal Head
    // Placed such that its bottom face is at z=0 and extends upwards (+Z direction).
    // $fn=6 specifies a hexagon (6 faces).
    // center=false makes the cylinder extend from z=0 to z=height.
    cylinder(
        h = head_height,
        r = head_radius_circumcircle,
        $fn = 6,
        center = false
    );

    // 2. Shank (Cylindrical part)
    // Placed such that it starts from z=0 and extends downwards (-Z direction).
    // The cylinder itself is defined from z=0 to z=shank_length (center=false).
    // It is then translated downwards by its full length to align its top face with z=0.
    translate([0, 0, -shank_length])
    cylinder(
        h = shank_length,
        r = shank_radius,
        center = false
    );
}

iteration: iter-png

i1 success
iter 1
9.5s · 1028/529t · $0.0016
diff vs bare: +0/-0
  // M8 Hex Bolt
  
  // Dimensions for the M8 hex bolt
  // Standard dimensions for M8 bolts (ISO 4017/DIN 933 or similar)
  // Head across-flats (s): 13 mm
  // Head height (k): 5.3 mm
  // Shank diameter (nominal thread diameter, d): 8 mm
  // Shank length (l): 30 mm
  
  // --- Parameters ---
  // Head dimensions
  head_across_flats = 13;   // 対辺距離 (across-flats)
  head_height = 5.3;        // 頭部の高さ
  
  // Shank dimensions
  shank_diameter = 8;       // シャンクの直径
  shank_length = 30;        // シャンクの長さ
  
  // --- Calculated values ---
  // Radius of the circumcircle for the hexagonal head
  // For a regular hexagon, the across-flats distance (s) is related to the circumcircle radius (R) by:
  // s = 2 * R * cos(30 degrees)
  // R = s / (2 * cos(30 degrees)) = s / sqrt(3)
  head_radius_circumcircle = head_across_flats / sqrt(3);
  
  // Shank radius
  shank_radius = shank_diameter / 2;
  
  
  // --- Bolt Assembly ---
  union() {
      // 1. Hexagonal Head
      // Placed such that its bottom face is at z=0 and extends upwards (+Z direction).
      // $fn=6 specifies a hexagon (6 faces).
      // center=false makes the cylinder extend from z=0 to z=height.
      cylinder(
          h = head_height,
          r = head_radius_circumcircle,
          $fn = 6,
          center = false
      );
  
      // 2. Shank (Cylindrical part)
      // Placed such that it starts from z=0 and extends downwards (-Z direction).
      // The cylinder itself is defined from z=0 to z=shank_length (center=false).
      // It is then translated downwards by its full length to align its top face with z=0.
      translate([0, 0, -shank_length])
      cylinder(
          h = shank_length,
          r = shank_radius,
          center = false
      );
  }
SCAD (53 lines)
// M8 Hex Bolt

// Dimensions for the M8 hex bolt
// Standard dimensions for M8 bolts (ISO 4017/DIN 933 or similar)
// Head across-flats (s): 13 mm
// Head height (k): 5.3 mm
// Shank diameter (nominal thread diameter, d): 8 mm
// Shank length (l): 30 mm

// --- Parameters ---
// Head dimensions
head_across_flats = 13;   // 対辺距離 (across-flats)
head_height = 5.3;        // 頭部の高さ

// Shank dimensions
shank_diameter = 8;       // シャンクの直径
shank_length = 30;        // シャンクの長さ

// --- Calculated values ---
// Radius of the circumcircle for the hexagonal head
// For a regular hexagon, the across-flats distance (s) is related to the circumcircle radius (R) by:
// s = 2 * R * cos(30 degrees)
// R = s / (2 * cos(30 degrees)) = s / sqrt(3)
head_radius_circumcircle = head_across_flats / sqrt(3);

// Shank radius
shank_radius = shank_diameter / 2;


// --- Bolt Assembly ---
union() {
    // 1. Hexagonal Head
    // Placed such that its bottom face is at z=0 and extends upwards (+Z direction).
    // $fn=6 specifies a hexagon (6 faces).
    // center=false makes the cylinder extend from z=0 to z=height.
    cylinder(
        h = head_height,
        r = head_radius_circumcircle,
        $fn = 6,
        center = false
    );

    // 2. Shank (Cylindrical part)
    // Placed such that it starts from z=0 and extends downwards (-Z direction).
    // The cylinder itself is defined from z=0 to z=shank_length (center=false).
    // It is then translated downwards by its full length to align its top face with z=0.
    translate([0, 0, -shank_length])
    cylinder(
        h = shank_length,
        r = shank_radius,
        center = false
    );
}
i2 success
iter 2
7.8s · 1028/529t · $0.0016
diff vs i1: +0/-0
  // M8 Hex Bolt
  
  // Dimensions for the M8 hex bolt
  // Standard dimensions for M8 bolts (ISO 4017/DIN 933 or similar)
  // Head across-flats (s): 13 mm
  // Head height (k): 5.3 mm
  // Shank diameter (nominal thread diameter, d): 8 mm
  // Shank length (l): 30 mm
  
  // --- Parameters ---
  // Head dimensions
  head_across_flats = 13;   // 対辺距離 (across-flats)
  head_height = 5.3;        // 頭部の高さ
  
  // Shank dimensions
  shank_diameter = 8;       // シャンクの直径
  shank_length = 30;        // シャンクの長さ
  
  // --- Calculated values ---
  // Radius of the circumcircle for the hexagonal head
  // For a regular hexagon, the across-flats distance (s) is related to the circumcircle radius (R) by:
  // s = 2 * R * cos(30 degrees)
  // R = s / (2 * cos(30 degrees)) = s / sqrt(3)
  head_radius_circumcircle = head_across_flats / sqrt(3);
  
  // Shank radius
  shank_radius = shank_diameter / 2;
  
  
  // --- Bolt Assembly ---
  union() {
      // 1. Hexagonal Head
      // Placed such that its bottom face is at z=0 and extends upwards (+Z direction).
      // $fn=6 specifies a hexagon (6 faces).
      // center=false makes the cylinder extend from z=0 to z=height.
      cylinder(
          h = head_height,
          r = head_radius_circumcircle,
          $fn = 6,
          center = false
      );
  
      // 2. Shank (Cylindrical part)
      // Placed such that it starts from z=0 and extends downwards (-Z direction).
      // The cylinder itself is defined from z=0 to z=shank_length (center=false).
      // It is then translated downwards by its full length to align its top face with z=0.
      translate([0, 0, -shank_length])
      cylinder(
          h = shank_length,
          r = shank_radius,
          center = false
      );
  }
SCAD (53 lines)
// M8 Hex Bolt

// Dimensions for the M8 hex bolt
// Standard dimensions for M8 bolts (ISO 4017/DIN 933 or similar)
// Head across-flats (s): 13 mm
// Head height (k): 5.3 mm
// Shank diameter (nominal thread diameter, d): 8 mm
// Shank length (l): 30 mm

// --- Parameters ---
// Head dimensions
head_across_flats = 13;   // 対辺距離 (across-flats)
head_height = 5.3;        // 頭部の高さ

// Shank dimensions
shank_diameter = 8;       // シャンクの直径
shank_length = 30;        // シャンクの長さ

// --- Calculated values ---
// Radius of the circumcircle for the hexagonal head
// For a regular hexagon, the across-flats distance (s) is related to the circumcircle radius (R) by:
// s = 2 * R * cos(30 degrees)
// R = s / (2 * cos(30 degrees)) = s / sqrt(3)
head_radius_circumcircle = head_across_flats / sqrt(3);

// Shank radius
shank_radius = shank_diameter / 2;


// --- Bolt Assembly ---
union() {
    // 1. Hexagonal Head
    // Placed such that its bottom face is at z=0 and extends upwards (+Z direction).
    // $fn=6 specifies a hexagon (6 faces).
    // center=false makes the cylinder extend from z=0 to z=height.
    cylinder(
        h = head_height,
        r = head_radius_circumcircle,
        $fn = 6,
        center = false
    );

    // 2. Shank (Cylindrical part)
    // Placed such that it starts from z=0 and extends downwards (-Z direction).
    // The cylinder itself is defined from z=0 to z=shank_length (center=false).
    // It is then translated downwards by its full length to align its top face with z=0.
    translate([0, 0, -shank_length])
    cylinder(
        h = shank_length,
        r = shank_radius,
        center = false
    );
}
i3 success
iter 3
9.8s · 1028/529t · $0.0016
diff vs i2: +0/-0
  // M8 Hex Bolt
  
  // Dimensions for the M8 hex bolt
  // Standard dimensions for M8 bolts (ISO 4017/DIN 933 or similar)
  // Head across-flats (s): 13 mm
  // Head height (k): 5.3 mm
  // Shank diameter (nominal thread diameter, d): 8 mm
  // Shank length (l): 30 mm
  
  // --- Parameters ---
  // Head dimensions
  head_across_flats = 13;   // 対辺距離 (across-flats)
  head_height = 5.3;        // 頭部の高さ
  
  // Shank dimensions
  shank_diameter = 8;       // シャンクの直径
  shank_length = 30;        // シャンクの長さ
  
  // --- Calculated values ---
  // Radius of the circumcircle for the hexagonal head
  // For a regular hexagon, the across-flats distance (s) is related to the circumcircle radius (R) by:
  // s = 2 * R * cos(30 degrees)
  // R = s / (2 * cos(30 degrees)) = s / sqrt(3)
  head_radius_circumcircle = head_across_flats / sqrt(3);
  
  // Shank radius
  shank_radius = shank_diameter / 2;
  
  
  // --- Bolt Assembly ---
  union() {
      // 1. Hexagonal Head
      // Placed such that its bottom face is at z=0 and extends upwards (+Z direction).
      // $fn=6 specifies a hexagon (6 faces).
      // center=false makes the cylinder extend from z=0 to z=height.
      cylinder(
          h = head_height,
          r = head_radius_circumcircle,
          $fn = 6,
          center = false
      );
  
      // 2. Shank (Cylindrical part)
      // Placed such that it starts from z=0 and extends downwards (-Z direction).
      // The cylinder itself is defined from z=0 to z=shank_length (center=false).
      // It is then translated downwards by its full length to align its top face with z=0.
      translate([0, 0, -shank_length])
      cylinder(
          h = shank_length,
          r = shank_radius,
          center = false
      );
  }
SCAD (53 lines)
// M8 Hex Bolt

// Dimensions for the M8 hex bolt
// Standard dimensions for M8 bolts (ISO 4017/DIN 933 or similar)
// Head across-flats (s): 13 mm
// Head height (k): 5.3 mm
// Shank diameter (nominal thread diameter, d): 8 mm
// Shank length (l): 30 mm

// --- Parameters ---
// Head dimensions
head_across_flats = 13;   // 対辺距離 (across-flats)
head_height = 5.3;        // 頭部の高さ

// Shank dimensions
shank_diameter = 8;       // シャンクの直径
shank_length = 30;        // シャンクの長さ

// --- Calculated values ---
// Radius of the circumcircle for the hexagonal head
// For a regular hexagon, the across-flats distance (s) is related to the circumcircle radius (R) by:
// s = 2 * R * cos(30 degrees)
// R = s / (2 * cos(30 degrees)) = s / sqrt(3)
head_radius_circumcircle = head_across_flats / sqrt(3);

// Shank radius
shank_radius = shank_diameter / 2;


// --- Bolt Assembly ---
union() {
    // 1. Hexagonal Head
    // Placed such that its bottom face is at z=0 and extends upwards (+Z direction).
    // $fn=6 specifies a hexagon (6 faces).
    // center=false makes the cylinder extend from z=0 to z=height.
    cylinder(
        h = head_height,
        r = head_radius_circumcircle,
        $fn = 6,
        center = false
    );

    // 2. Shank (Cylindrical part)
    // Placed such that it starts from z=0 and extends downwards (-Z direction).
    // The cylinder itself is defined from z=0 to z=shank_length (center=false).
    // It is then translated downwards by its full length to align its top face with z=0.
    translate([0, 0, -shank_length])
    cylinder(
        h = shank_length,
        r = shank_radius,
        center = false
    );
}