SCAD (7 lines)
$fn = 64;
union() {
cylinder(h = 5.3, r = 13 / sqrt(3), $fn = 6);
translate([0, 0, -30])
cylinder(h = 30, d = 8);
} gpt-5.4-2026-03-05 7 run / 累計 32.9s / 累計 $0.0341
$fn = 64;
// M8 hex bolt (thread omitted)
// Head: hex prism, across flats = 13 mm, height = 5.3 mm
// Shank: cylinder, diameter = 8 mm, length = 30 mm
// Head bottom face at z = 0, shank extends toward negative Z
head_af = 13;
head_h = 5.3;
shank_d = 8;
shank_l = 30;
// For a regular hexagon, across-flats = sqrt(3) * circumradius
hex_r = head_af / sqrt(3);
union() {
cylinder(h = head_h, r = hex_r, $fn = 6);
translate([0, 0, -shank_l])
cylinder(h = shank_l, d = shank_d);
} OpenSCAD で、規格に準じた M8 サイズの六角ボルトを作ってください。 ねじ山自体は省略してよく、円柱のシャンクで構いません。 寸法は以下に従ってください: - 頭部は六角柱で、対辺距離(across-flats)13mm、高さ 5.3mm - シャンク(軸部)は直径 8mm、長さ 30mm の円柱 - ボルト全体の中心軸は +Z 軸方向 - 頭部の底面が原点(z=0)に来るように配置し、シャンクは z<0 側へ伸ばす 完成したコード全体を ```openscad ... ``` のフェンスで囲んで出力してください。コードのみで、追加の説明は不要です。
effort
$fn = 64;
union() {
cylinder(h = 5.3, r = 13 / sqrt(3), $fn = 6);
translate([0, 0, -30])
cylinder(h = 30, d = 8);
}
$fn = 64;
// M8 hex bolt (thread omitted)
// Head: hex prism, across flats = 13 mm, height = 5.3 mm
// Shank: cylinder, diameter = 8 mm, length = 30 mm
// Head bottom face at z = 0, shank extends toward negative Z
head_af = 13;
head_h = 5.3;
shank_d = 8;
shank_l = 30;
// For a regular hexagon, across-flats = sqrt(3) * circumradius
hex_r = head_af / sqrt(3);
union() {
cylinder(h = head_h, r = hex_r, $fn = 6);
translate([0, 0, -shank_l])
cylinder(h = shank_l, d = shank_d);
}
head_af = 13;
head_height = 5.3;
shank_diameter = 8;
shank_length = 30;
head_r = head_af / sqrt(3);
union() {
cylinder(h = head_height, r = head_r, $fn = 6);
translate([0, 0, -shank_length])
cylinder(h = shank_length, d = shank_diameter, $fn = 64);
} iter-png
$fn = 64;
// M8 hex bolt (thread omitted)
// Head: hex prism, across flats = 13 mm, height = 5.3 mm
// Shank: cylinder, diameter = 8 mm, length = 30 mm
// Head bottom face at z = 0, shank extends toward negative Z
head_af = 13;
head_h = 5.3;
shank_d = 8;
shank_l = 30;
- // For a regular hexagon, across-flats = sqrt(3) * circumradius
+ // For a regular hexagon, across flats = 2 * apothem = sqrt(3) * circumradius
hex_r = head_af / sqrt(3);
union() {
cylinder(h = head_h, r = hex_r, $fn = 6);
translate([0, 0, -shank_l])
cylinder(h = shank_l, d = shank_d);
}
$fn = 64;
// M8 hex bolt (thread omitted)
// Head: hex prism, across flats = 13 mm, height = 5.3 mm
// Shank: cylinder, diameter = 8 mm, length = 30 mm
// Head bottom face at z = 0, shank extends toward negative Z
head_af = 13;
head_h = 5.3;
shank_d = 8;
shank_l = 30;
// For a regular hexagon, across flats = 2 * apothem = sqrt(3) * circumradius
hex_r = head_af / sqrt(3);
union() {
cylinder(h = head_h, r = hex_r, $fn = 6);
translate([0, 0, -shank_l])
cylinder(h = shank_l, d = shank_d);
}
$fn = 64;
// M8 hex bolt (thread omitted)
// Head: hex prism, across flats = 13 mm, height = 5.3 mm
// Shank: cylinder, diameter = 8 mm, length = 30 mm
// Head bottom face at z = 0, shank extends toward negative Z
head_af = 13;
head_h = 5.3;
shank_d = 8;
shank_l = 30;
- // For a regular hexagon, across flats = 2 * apothem = sqrt(3) * circumradius
+ // For a regular hexagon, across flats = sqrt(3) * circumradius
hex_r = head_af / sqrt(3);
union() {
cylinder(h = head_h, r = hex_r, $fn = 6);
translate([0, 0, -shank_l])
cylinder(h = shank_l, d = shank_d);
}
$fn = 64;
// M8 hex bolt (thread omitted)
// Head: hex prism, across flats = 13 mm, height = 5.3 mm
// Shank: cylinder, diameter = 8 mm, length = 30 mm
// Head bottom face at z = 0, shank extends toward negative Z
head_af = 13;
head_h = 5.3;
shank_d = 8;
shank_l = 30;
// For a regular hexagon, across flats = sqrt(3) * circumradius
hex_r = head_af / sqrt(3);
union() {
cylinder(h = head_h, r = hex_r, $fn = 6);
translate([0, 0, -shank_l])
cylinder(h = shank_l, d = shank_d);
}
$fn = 64;
// M8 hex bolt (thread omitted)
// Head: hex prism, across flats = 13 mm, height = 5.3 mm
// Shank: cylinder, diameter = 8 mm, length = 30 mm
+ // Bolt axis: +Z direction
// Head bottom face at z = 0, shank extends toward negative Z
head_af = 13;
head_h = 5.3;
shank_d = 8;
shank_l = 30;
- // For a regular hexagon, across flats = sqrt(3) * circumradius
+ // For a regular hexagon, across flats = 2 * apothem = sqrt(3) * circumradius
hex_r = head_af / sqrt(3);
union() {
cylinder(h = head_h, r = hex_r, $fn = 6);
translate([0, 0, -shank_l])
cylinder(h = shank_l, d = shank_d);
}
$fn = 64;
// M8 hex bolt (thread omitted)
// Head: hex prism, across flats = 13 mm, height = 5.3 mm
// Shank: cylinder, diameter = 8 mm, length = 30 mm
// Bolt axis: +Z direction
// Head bottom face at z = 0, shank extends toward negative Z
head_af = 13;
head_h = 5.3;
shank_d = 8;
shank_l = 30;
// For a regular hexagon, across flats = 2 * apothem = sqrt(3) * circumradius
hex_r = head_af / sqrt(3);
union() {
cylinder(h = head_h, r = hex_r, $fn = 6);
translate([0, 0, -shank_l])
cylinder(h = shank_l, d = shank_d);
}