vibe-openscad

iter-png-3/gemini-2.5-flash-lite / tier-2-hex-bolt

success tier 2

bare (gemini 2.5 flash-lite)

render
bare render of tier-2-hex-bolt
loading STL…
success 5.0s · 2563/1132t · $0.0007
SCAD (54 lines)
// M8 Hex Bolt (shank only, no threads)

// Bolt dimensions
head_across_flats = 13; // Across-flats of the hex head
head_height = 5.3;     // Height of the hex head
shank_diameter = 8;    // Diameter of the shank
shank_length = 30;     // Length of the shank

// Calculate the radius to the vertices of the hexagon from the center
// The distance from the center to the midpoint of a side (apothem) is
// half the across-flats distance. The distance to a vertex is
// apothem / cos(30 degrees).
hex_radius_to_vertex = (head_across_flats / 2) / cos(30);

// Create the hex head using polygon and linear_extrude
module hex_head() {
    // The polygon is defined in the XY plane, and linear_extrude extrudes it along Z.
    // By default, the extrusion starts from z=0 and goes up.
    linear_extrude(height = head_height) {
        polygon(points = [
            [hex_radius_to_vertex * cos(0), hex_radius_to_vertex * sin(0)],
            [hex_radius_to_vertex * cos(60), hex_radius_to_vertex * sin(60)],
            [hex_radius_to_vertex * cos(120), hex_radius_to_vertex * sin(120)],
            [hex_radius_to_vertex * cos(180), hex_radius_to_vertex * sin(180)],
            [hex_radius_to_vertex * cos(240), hex_radius_to_vertex * sin(240)],
            [hex_radius_to_vertex * cos(300), hex_radius_to_vertex * sin(300)]
        ]);
    }
}

// Create the shank
module shank() {
    // The cylinder is created with its base at z=0 and extends upwards.
    // To make it extend in the -Z direction from z=0, we rotate it 180 degrees around the X axis.
    // This makes the "top" (originally at h) be at z=0, and the "bottom" (originally at z=0) be at z=-h.
    translate([0, 0, 0]) { // Align the top of the rotated cylinder with z=0
        rotate([180, 0, 0]) {
            cylinder(h=shank_length, r=shank_diameter/2, center=false);
        }
    }
}

// Assemble the bolt
module m8_bolt() {
    // Place the hex head. Its bottom face is at z=0 as per the prompt.
    hex_head();

    // Place the shank below the head.
    // The shank module is designed to extend in the -Z direction from z=0.
    shank();
}

// Render the bolt
m8_bolt();
パラメータ (4)
スライダを動かすと openscad-wasm で再レンダリング

meta

runIditer-png-3_gemini-2.5-flash-lite-dd647e8da67c-2026-04-28T18-58-53-926Z
matrixIditer-png-3/gemini-2.5-flash-lite
signaturedd647e8da67cebca…
providergoogle
modelgemini-2.5-flash-lite
harnessbare
statussuccess
duration5.04s (wallclock: load + prompt eval + generation + network)
tokens2563 in / 1132 out
wallclock tok/s224.7 tok/s (end-to-end)
cost$0.0007
createdAt2026-04-28T18:58:53.926Z
gitCommit781e6c683dda
openscadOpenSCAD version 2026.04.27

iteration chain

各 iteration step は独立した benchmark run です。parentRunId で前段にリンクします。

prompt

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

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

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