78.6s
· 1264/7059t · $0.0325
diff vs bare: +0/-0
$fn = 100;
// マグカップ本体
module mug() {
difference() {
// 外形
cylinder(d = 80, h = 100);
// 内部をくり抜き(底面厚み 6mm、壁厚 4mm)
translate([0, 0, 6])
cylinder(d = 80 - 2 * 4, h = 100 - 6);
}
}
// リング状取手
module handle() {
// トーラス(管の半径 r = 12mm、トーラス中心半径 R = 40 + 12 = 52mm)
rotate_extrude()
translate([52, 0, 50])
circle(r = 12);
}
// 結合
union() {
mug();
handle();
}
SCAD (26 lines)
$fn = 100;
// マグカップ本体
module mug() {
difference() {
// 外形
cylinder(d = 80, h = 100);
// 内部をくり抜き(底面厚み 6mm、壁厚 4mm)
translate([0, 0, 6])
cylinder(d = 80 - 2 * 4, h = 100 - 6);
}
}
// リング状取手
module handle() {
// トーラス(管の半径 r = 12mm、トーラス中心半径 R = 40 + 12 = 52mm)
rotate_extrude()
translate([52, 0, 50])
circle(r = 12);
}
// 結合
union() {
mug();
handle();
}
46.1s
· 1264/5121t · $0.0239
diff vs i1: +6/-5
$fn = 100;
// マグカップ本体
module mug() {
difference() {
// 外形
cylinder(d = 80, h = 100);
// 内部をくり抜き(底面厚み 6mm、壁厚 4mm)
translate([0, 0, 6])
cylinder(d = 80 - 2 * 4, h = 100 - 6);
}
}
- // リング状取手
+ // リング状取手(指が通る部分が外径から12mm飛び出す)
module handle() {
- // トーラス(管の半径 r = 12mm、トーラス中心半径 R = 40 + 12 = 52mm)
- rotate_extrude()
- translate([52, 0, 50])
- circle(r = 12);
+ // プロファイルとして円(r=6)を、X=46, Y=50 の位置に置いて回転押し出し
+ // -> 内側R=46-6=40でカップに接触、外側R=46+6=52で外径40から12mm突出
+ rotate_extrude($fn = 100)
+ translate([46, 50])
+ circle(r = 6, $fn = 50);
}
// 結合
union() {
mug();
handle();
}
SCAD (27 lines)
$fn = 100;
// マグカップ本体
module mug() {
difference() {
// 外形
cylinder(d = 80, h = 100);
// 内部をくり抜き(底面厚み 6mm、壁厚 4mm)
translate([0, 0, 6])
cylinder(d = 80 - 2 * 4, h = 100 - 6);
}
}
// リング状取手(指が通る部分が外径から12mm飛び出す)
module handle() {
// プロファイルとして円(r=6)を、X=46, Y=50 の位置に置いて回転押し出し
// -> 内側R=46-6=40でカップに接触、外側R=46+6=52で外径40から12mm突出
rotate_extrude($fn = 100)
translate([46, 50])
circle(r = 6, $fn = 50);
}
// 結合
union() {
mug();
handle();
}
14.1s
· 1324/1383t · $0.0075
diff vs i2: +5/-6
$fn = 100;
// マグカップ本体
module mug() {
difference() {
// 外形
cylinder(d = 80, h = 100);
// 内部をくり抜き(底面厚み 6mm、壁厚 4mm)
translate([0, 0, 6])
cylinder(d = 80 - 2 * 4, h = 100 - 6);
}
}
- // リング状取手(指が通る部分が外径から12mm飛び出す)
+ // リング状取手(外周から半径 12mm 飛び出し、断面半径 12mm)
module handle() {
- // プロファイルとして円(r=6)を、X=46, Y=50 の位置に置いて回転押し出し
- // -> 内側R=46-6=40でカップに接触、外側R=46+6=52で外径40から12mm突出
- rotate_extrude($fn = 100)
- translate([46, 50])
- circle(r = 6, $fn = 50);
+ translate([0, 0, 50]) // カップ中心高さに配置
+ rotate_extrude()
+ translate([80/2 + 12, 0, 0]) // 外径40 + 飛び出し12 = 52
+ circle(r = 12);
}
// 結合
union() {
mug();
handle();
}
SCAD (26 lines)
$fn = 100;
// マグカップ本体
module mug() {
difference() {
// 外形
cylinder(d = 80, h = 100);
// 内部をくり抜き(底面厚み 6mm、壁厚 4mm)
translate([0, 0, 6])
cylinder(d = 80 - 2 * 4, h = 100 - 6);
}
}
// リング状取手(外周から半径 12mm 飛び出し、断面半径 12mm)
module handle() {
translate([0, 0, 50]) // カップ中心高さに配置
rotate_extrude()
translate([80/2 + 12, 0, 0]) // 外径40 + 飛び出し12 = 52
circle(r = 12);
}
// 結合
union() {
mug();
handle();
}