vibe-openscad

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

5 run / 累計 79.9s / 累計 $0.0160

gemini pro 2.5 bare

bare (provider default effort)

run detail →
render
bare render of tier-2-hex-bolt
loading STL…
success 23.6s · 173/255t · $0.0028
SCAD (30 lines)
// --- Dimensions ---
// Head
head_across_flats = 13; // 対辺距離
head_height = 5.3;      // 高さ

// Shank
shank_diameter = 8;     // 直径
shank_length = 30;      // 長さ

// --- Model ---
union() {
    // 六角形の頭部を作成
    // cylinderの直径は外接円の直径で指定するため、対辺距離から計算
    // 頭部の底面がz=0になるように配置
    cylinder(
        h = head_height,
        d = head_across_flats / cos(30),
        $fn = 6
    );

    // 円柱のシャンクを作成
    // 頭部の底面(z=0)から-z方向へ伸ばすため、translateで移動
    translate([0, 0, -shank_length]) {
        cylinder(
            h = shank_length,
            d = shank_diameter,
            $fn = 64 // 円を滑らかにするための解像度
        );
    }
}
パラメータ (4)
スライダを動かすと openscad-wasm で再レンダリング

prompt

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

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

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

variant: thinking

offnot run
adaptivenot run
dynamic (default) success
dynamic
23.6s · 173/255t · $0.0028
SCAD (30 lines)
// --- Dimensions ---
// Head
head_across_flats = 13; // 対辺距離
head_height = 5.3;      // 高さ

// Shank
shank_diameter = 8;     // 直径
shank_length = 30;      // 長さ

// --- Model ---
union() {
    // 六角形の頭部を作成
    // cylinderの直径は外接円の直径で指定するため、対辺距離から計算
    // 頭部の底面がz=0になるように配置
    cylinder(
        h = head_height,
        d = head_across_flats / cos(30),
        $fn = 6
    );

    // 円柱のシャンクを作成
    // 頭部の底面(z=0)から-z方向へ伸ばすため、translateで移動
    translate([0, 0, -shank_length]) {
        cylinder(
            h = shank_length,
            d = shank_diameter,
            $fn = 64 // 円を滑らかにするための解像度
        );
    }
}

iteration: iter-png

i1 success
iter 1
12.5s · 754/255t · $0.0035
diff vs bare: +0/-0
  // --- Dimensions ---
  // Head
  head_across_flats = 13; // 対辺距離
  head_height = 5.3;      // 高さ
  
  // Shank
  shank_diameter = 8;     // 直径
  shank_length = 30;      // 長さ
  
  // --- Model ---
  union() {
      // 六角形の頭部を作成
      // cylinderの直径は外接円の直径で指定するため、対辺距離から計算
      // 頭部の底面がz=0になるように配置
      cylinder(
          h = head_height,
          d = head_across_flats / cos(30),
          $fn = 6
      );
  
      // 円柱のシャンクを作成
      // 頭部の底面(z=0)から-z方向へ伸ばすため、translateで移動
      translate([0, 0, -shank_length]) {
          cylinder(
              h = shank_length,
              d = shank_diameter,
              $fn = 64 // 円を滑らかにするための解像度
          );
      }
  }
SCAD (30 lines)
// --- Dimensions ---
// Head
head_across_flats = 13; // 対辺距離
head_height = 5.3;      // 高さ

// Shank
shank_diameter = 8;     // 直径
shank_length = 30;      // 長さ

// --- Model ---
union() {
    // 六角形の頭部を作成
    // cylinderの直径は外接円の直径で指定するため、対辺距離から計算
    // 頭部の底面がz=0になるように配置
    cylinder(
        h = head_height,
        d = head_across_flats / cos(30),
        $fn = 6
    );

    // 円柱のシャンクを作成
    // 頭部の底面(z=0)から-z方向へ伸ばすため、translateで移動
    translate([0, 0, -shank_length]) {
        cylinder(
            h = shank_length,
            d = shank_diameter,
            $fn = 64 // 円を滑らかにするための解像度
        );
    }
}
i2 success
iter 2
10.8s · 754/255t · $0.0035
diff vs i1: +0/-0
  // --- Dimensions ---
  // Head
  head_across_flats = 13; // 対辺距離
  head_height = 5.3;      // 高さ
  
  // Shank
  shank_diameter = 8;     // 直径
  shank_length = 30;      // 長さ
  
  // --- Model ---
  union() {
      // 六角形の頭部を作成
      // cylinderの直径は外接円の直径で指定するため、対辺距離から計算
      // 頭部の底面がz=0になるように配置
      cylinder(
          h = head_height,
          d = head_across_flats / cos(30),
          $fn = 6
      );
  
      // 円柱のシャンクを作成
      // 頭部の底面(z=0)から-z方向へ伸ばすため、translateで移動
      translate([0, 0, -shank_length]) {
          cylinder(
              h = shank_length,
              d = shank_diameter,
              $fn = 64 // 円を滑らかにするための解像度
          );
      }
  }
SCAD (30 lines)
// --- Dimensions ---
// Head
head_across_flats = 13; // 対辺距離
head_height = 5.3;      // 高さ

// Shank
shank_diameter = 8;     // 直径
shank_length = 30;      // 長さ

// --- Model ---
union() {
    // 六角形の頭部を作成
    // cylinderの直径は外接円の直径で指定するため、対辺距離から計算
    // 頭部の底面がz=0になるように配置
    cylinder(
        h = head_height,
        d = head_across_flats / cos(30),
        $fn = 6
    );

    // 円柱のシャンクを作成
    // 頭部の底面(z=0)から-z方向へ伸ばすため、translateで移動
    translate([0, 0, -shank_length]) {
        cylinder(
            h = shank_length,
            d = shank_diameter,
            $fn = 64 // 円を滑らかにするための解像度
        );
    }
}
i3 success
iter 3
9.4s · 754/255t · $0.0035
diff vs i2: +0/-0
  // --- Dimensions ---
  // Head
  head_across_flats = 13; // 対辺距離
  head_height = 5.3;      // 高さ
  
  // Shank
  shank_diameter = 8;     // 直径
  shank_length = 30;      // 長さ
  
  // --- Model ---
  union() {
      // 六角形の頭部を作成
      // cylinderの直径は外接円の直径で指定するため、対辺距離から計算
      // 頭部の底面がz=0になるように配置
      cylinder(
          h = head_height,
          d = head_across_flats / cos(30),
          $fn = 6
      );
  
      // 円柱のシャンクを作成
      // 頭部の底面(z=0)から-z方向へ伸ばすため、translateで移動
      translate([0, 0, -shank_length]) {
          cylinder(
              h = shank_length,
              d = shank_diameter,
              $fn = 64 // 円を滑らかにするための解像度
          );
      }
  }
SCAD (30 lines)
// --- Dimensions ---
// Head
head_across_flats = 13; // 対辺距離
head_height = 5.3;      // 高さ

// Shank
shank_diameter = 8;     // 直径
shank_length = 30;      // 長さ

// --- Model ---
union() {
    // 六角形の頭部を作成
    // cylinderの直径は外接円の直径で指定するため、対辺距離から計算
    // 頭部の底面がz=0になるように配置
    cylinder(
        h = head_height,
        d = head_across_flats / cos(30),
        $fn = 6
    );

    // 円柱のシャンクを作成
    // 頭部の底面(z=0)から-z方向へ伸ばすため、translateで移動
    translate([0, 0, -shank_length]) {
        cylinder(
            h = shank_length,
            d = shank_diameter,
            $fn = 64 // 円を滑らかにするための解像度
        );
    }
}