tier-2-hex-bolt / google/gemma-4-e2b
1 run / 累計 11.4s / 累計 $0
google (self-hosted) gemma-4-e2b bare
bare (provider default effort)
run detail → render
// M8 Hex Bolt (Simplified Shank)
// Head dimensions: Across-flats = 13mm, Height = 5.3mm
// Shank dimensions: Diameter = 8mm, Length = 30mm
// Configuration: Head base at Z=0, Shank extends into Z < 0
// --- Parameters ---
head_across_flats = 13; // 六角部の対辺距離 (Across flats)
head_height = 5.3; // 頭部の高さ (Height)
shank_diameter = 8; // シャンクの直径 (Diameter)
shank_length = 30; // シャンクの長さ (Length)
// --- Head Definition (Hexagonal Prism) ---
head_z_start = 0; // 頭部の底面がZ=0に来るように設定
head_z_end = head_height;
module hex_head() {
difference() {
// 六角柱の本体
cube([head_across_flats, head_across_flats, head_height]);
// 頭部を六角形にするための穴あけ (Center alignment)
// 穴の中心座標: X=across_flats/2, Y=across_flats/2, Z=head_height
translate([0, 0, head_height]) {
rotate([90, 0, 0]) { // 六角形がZ軸に沿うように向きを調整
// 外側の六角形を定義する穴 (少し深めに切り取る)
cube([head_across_flats + 0.2, head_across_flats + 0.2, head_height + 0.1]);
}
}
}
}
// --- Shank Definition (Cylinder) ---
module cylindrical_shank() {
shank_z_start = head_z_end; // シャンクの開始Z位置 (頭部の頂上)
shank_z_end = shank_z_start - shank_length; // シャンクの終了Z位置
difference() {
// 円柱本体
cylinder(h = shank_length, r = shank_diameter / 2, center = true);
// 頭部との接続部分を切り取るための穴 (頭部の底面がZ=0にあるため、Z軸方向の切り取り)
// シャンクが始まる位置 Z=shank_z_start から、頭部の高さ分だけ切り取る。
translate([0, 0, shank_z_start - head_z_end]) {
cube([shank_diameter + 1, shank_diameter + 1, head_height + 0.2]);
}
}
}
// --- Final Assembly ---
// ボルト全体を定義 (中心軸は+Z方向)
union() {
color("steelCC") {
hex_head();
cylindrical_shank();
}
} パラメータ (5) —
スライダを動かすと openscad-wasm で再レンダリング
prompt
OpenSCAD で、規格に準じた M8 サイズの六角ボルトを作ってください。 ねじ山自体は省略してよく、円柱のシャンクで構いません。 寸法は以下に従ってください: - 頭部は六角柱で、対辺距離(across-flats)13mm、高さ 5.3mm - シャンク(軸部)は直径 8mm、長さ 30mm の円柱 - ボルト全体の中心軸は +Z 軸方向 - 頭部の底面が原点(z=0)に来るように配置し、シャンクは z<0 側へ伸ばす 完成したコード全体を ```openscad ... ``` のフェンスで囲んで出力してください。コードのみで、追加の説明は不要です。