vibe-openscad

tier-2-hex-bolt / google/gemma-4-12b-qat

4 run / 累計 433.1s / 累計 $0

google (self-hosted) gemma-4-12b-qat bare

bare (provider default effort)

run detail →
render
bare render of tier-2-hex-bolt
loading STL…
success 152.3s · 187/5296t
SCAD (30 lines)
// M8 Hex Bolt (Simplified)
// $fn defines the smoothness of the circular shank.
$fn = 64;

// Dimensions
head_across_flats = 13;
head_height = 5.3;
shank_diameter = 8;
shank_length = 30;

// The distance from the center to each vertex of the hexagon
// is calculated as: R = (across-flats) / sqrt(3)
head_radius_vertex = head_across_flats / sqrt(3);

// --- Shank ---
// Placed from z = -30 to z = 0
translate([0, 0, -shank_length])
    cylinder(d=shank_diameter, h=shank_length);

// --- Head ---
// Placed from z = 0 to z = 5.3
// A hexagon is created by taking the hull of 6 small cylinders 
// placed at the vertices of a hexagon.
hull() {
    for (i = [0:5]) {
        rotate([0, 0, i * 60])
            translate([head_radius_vertex, 0, 0])
                cylinder(d=0.1, h=head_height);
    }
}
パラメータ (4) —
スライダを動かすと openscad-wasm で再レンダリング

prompt

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

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

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

iteration: iter-png

i1 success →
iter 1
123.0s · 776/9202t
diff vs bare: +6/-4
- // M8 Hex Bolt (Simplified)
+ // M8 Hex Bolt (Standard Dimensions)
  // $fn defines the smoothness of the circular shank.
  $fn = 64;
  
  // Dimensions
  head_across_flats = 13;
  head_height = 5.3;
  shank_diameter = 8;
  shank_length = 30;
  
  // The distance from the center to each vertex of the hexagon
- // is calculated as: R = (across-flats) / sqrt(3)
+ // Across-flats (W) and Radius to vertex (R) relationship:
+ // W = R * sqrt(3)  =>  R = W / sqrt(3)
  head_radius_vertex = head_across_flats / sqrt(3);
  
  // --- Shank ---
  // Placed from z = -30 to z = 0
  translate([0, 0, -shank_length])
      cylinder(d=shank_diameter, h=shank_length);
  
  // --- Head ---
  // Placed from z = 0 to z = 5.3
- // A hexagon is created by taking the hull of 6 small cylinders 
- // placed at the vertices of a hexagon.
+ // Using hull() to create a perfect hexagon based on vertex distance.
+ // The orientation is adjusted so that a flat face is perpendicular to the X-axis.
+ rotate([0, 0, 30])
  hull() {
      for (i = [0:5]) {
          rotate([0, 0, i * 60])
              translate([head_radius_vertex, 0, 0])
                  cylinder(d=0.1, h=head_height);
      }
  }
SCAD (32 lines)
// M8 Hex Bolt (Standard Dimensions)
// $fn defines the smoothness of the circular shank.
$fn = 64;

// Dimensions
head_across_flats = 13;
head_height = 5.3;
shank_diameter = 8;
shank_length = 30;

// The distance from the center to each vertex of the hexagon
// Across-flats (W) and Radius to vertex (R) relationship:
// W = R * sqrt(3)  =>  R = W / sqrt(3)
head_radius_vertex = head_across_flats / sqrt(3);

// --- Shank ---
// Placed from z = -30 to z = 0
translate([0, 0, -shank_length])
    cylinder(d=shank_diameter, h=shank_length);

// --- Head ---
// Placed from z = 0 to z = 5.3
// Using hull() to create a perfect hexagon based on vertex distance.
// The orientation is adjusted so that a flat face is perpendicular to the X-axis.
rotate([0, 0, 30])
hull() {
    for (i = [0:5]) {
        rotate([0, 0, i * 60])
            translate([head_radius_vertex, 0, 0])
                cylinder(d=0.1, h=head_height);
    }
}
i2 success →
iter 2
66.3s · 817/5023t
diff vs i1: +9/-15
  // M8 Hex Bolt (Standard Dimensions)
- // $fn defines the smoothness of the circular shank.
+ // $fn is set globally for the shank smoothness.
  $fn = 64;
  
  // Dimensions
  head_across_flats = 13;
  head_height = 5.3;
  shank_diameter = 8;
  shank_length = 30;
  
- // The distance from the center to each vertex of the hexagon
- // Across-flats (W) and Radius to vertex (R) relationship:
- // W = R * sqrt(3)  =>  R = W / sqrt(3)
- head_radius_vertex = head_across_flats / sqrt(3);
+ // Hexagon calculation:
+ // The distance across the flats (W) is related to the vertex-to-vertex diameter (D) by:
+ // W = D * cos(30 degrees)  =>  D = W / cos(30 degrees)
+ head_diameter = head_across_flats / cos(30);
  
  // --- Shank ---
  // Placed from z = -30 to z = 0
  translate([0, 0, -shank_length])
-     cylinder(d=shank_diameter, h=shank_length);
+     cylinder(d = shank_diameter, h = shank_length);
  
  // --- Head ---
  // Placed from z = 0 to z = 5.3
- // Using hull() to create a perfect hexagon based on vertex distance.
- // The orientation is adjusted so that a flat face is perpendicular to the X-axis.
+ // Using $fn=6 creates a perfect hexagon.
+ // Rotating by 30 degrees ensures the flat face is perpendicular to the X-axis.
  rotate([0, 0, 30])
- hull() {
-     for (i = [0:5]) {
-         rotate([0, 0, i * 60])
-             translate([head_radius_vertex, 0, 0])
-                 cylinder(d=0.1, h=head_height);
-     }
- }
+     cylinder(d = head_diameter, h = head_height, $fn = 6);
SCAD (26 lines)
// M8 Hex Bolt (Standard Dimensions)
// $fn is set globally for the shank smoothness.
$fn = 64;

// Dimensions
head_across_flats = 13;
head_height = 5.3;
shank_diameter = 8;
shank_length = 30;

// Hexagon calculation:
// The distance across the flats (W) is related to the vertex-to-vertex diameter (D) by:
// W = D * cos(30 degrees)  =>  D = W / cos(30 degrees)
head_diameter = head_across_flats / cos(30);

// --- Shank ---
// Placed from z = -30 to z = 0
translate([0, 0, -shank_length])
    cylinder(d = shank_diameter, h = shank_length);

// --- Head ---
// Placed from z = 0 to z = 5.3
// Using $fn=6 creates a perfect hexagon.
// Rotating by 30 degrees ensures the flat face is perpendicular to the X-axis.
rotate([0, 0, 30])
    cylinder(d = head_diameter, h = head_height, $fn = 6);
i3 success →
iter 3
91.5s · 772/6888t
diff vs i2: +1/-0
  // M8 Hex Bolt (Standard Dimensions)
  // $fn is set globally for the shank smoothness.
  $fn = 64;
  
  // Dimensions
  head_across_flats = 13;
  head_height = 5.3;
  shank_diameter = 8;
  shank_length = 30;
  
  // Hexagon calculation:
  // The distance across the flats (W) is related to the vertex-to-vertex diameter (D) by:
  // W = D * cos(30 degrees)  =>  D = W / cos(30 degrees)
  head_diameter = head_across_flats / cos(30);
  
  // --- Shank ---
  // Placed from z = -30 to z = 0
+ // The bottom of the cylinder is at z = -30, top is at z = 0
  translate([0, 0, -shank_length])
      cylinder(d = shank_diameter, h = shank_length);
  
  // --- Head ---
  // Placed from z = 0 to z = 5.3
  // Using $fn=6 creates a perfect hexagon.
  // Rotating by 30 degrees ensures the flat face is perpendicular to the X-axis.
  rotate([0, 0, 30])
      cylinder(d = head_diameter, h = head_height, $fn = 6);
SCAD (27 lines)
// M8 Hex Bolt (Standard Dimensions)
// $fn is set globally for the shank smoothness.
$fn = 64;

// Dimensions
head_across_flats = 13;
head_height = 5.3;
shank_diameter = 8;
shank_length = 30;

// Hexagon calculation:
// The distance across the flats (W) is related to the vertex-to-vertex diameter (D) by:
// W = D * cos(30 degrees)  =>  D = W / cos(30 degrees)
head_diameter = head_across_flats / cos(30);

// --- Shank ---
// Placed from z = -30 to z = 0
// The bottom of the cylinder is at z = -30, top is at z = 0
translate([0, 0, -shank_length])
    cylinder(d = shank_diameter, h = shank_length);

// --- Head ---
// Placed from z = 0 to z = 5.3
// Using $fn=6 creates a perfect hexagon.
// Rotating by 30 degrees ensures the flat face is perpendicular to the X-axis.
rotate([0, 0, 30])
    cylinder(d = head_diameter, h = head_height, $fn = 6);