OpenSCAD
$fn = 50;
module bottom() {
difference() {
hull() {
translate([1, 1, 0]) cylinder(6, 1, 1);
translate([21.5, 1, 0]) cylinder(6, 1, 1);
translate([1, 42, 0]) cylinder(6, 1, 1);
translate([21.5, 42, 0]) cylinder(6, 1, 1);
}
translate([((21.5 - 12) / 2) + 0.5, 35, 3]) cube([12, 10, 5]);
translate([2, 2, 1.5]) cube([18.5, 39, 10]);
}
}
module top() {
difference() {
translate([0, 0, 0]) cube([18, 38.5, 2]);
translate([(18 - 8) / 2, -1, -1]) cube([8, 6, 5]);
translate([2, 15, -1]) cube([4.5, 7, 5]);
translate([(18 - 11) / 2, 30, -1]) cube([11, 9, 5]);
}
}
translate([30, 0, 0]) top();
translate([0, 0, 0]) bottom();

列印

組裝

完成

小巧可愛