46 lines
1.1 KiB
OpenSCAD
46 lines
1.1 KiB
OpenSCAD
$fn=24;
|
|
length = 60;
|
|
|
|
module screwHole() {
|
|
color("blue") union() {
|
|
translate([2.1, 5.1, 0]) cylinder(r = 2.1, h = 6);
|
|
translate([2.1, 2.1, 0]) cylinder(r = 2.1, h = 6);
|
|
translate([0, 2.1, 0]) cube([4.2, 3, 6]);
|
|
}
|
|
}
|
|
|
|
difference() {
|
|
union() {
|
|
// channel
|
|
cube([30, 13, length + 10]);
|
|
|
|
// angled support
|
|
translate([16, 9, -8]) rotate([0, -17, 0]) cube([30, 4, length + 10]);
|
|
|
|
// base
|
|
cube([50, 32, 4]);
|
|
}
|
|
|
|
union() {
|
|
// bottom flush-cut
|
|
translate([-10, -10, -20]) cube([60, 40, 20]);
|
|
|
|
// X-side flush-cut
|
|
translate([-8, -2, -length * 0.05]) cube([8, 20, length * 1.1]);
|
|
|
|
// channel interior
|
|
translate([3, 3, 4]) cube([23, 9, length]);
|
|
|
|
// channel side cutaway
|
|
translate([4, 8, 4]) cube([20, 9, length]);
|
|
|
|
// screw holes
|
|
translate([4.2, 32 - 7.2 - 4, -1]) screwHole();
|
|
translate([50 - 8.4, 32 - 7.2 - 4, -1]) screwHole();
|
|
translate([25 + 4.2, 32 - 5.7 - 4, -1]) rotate([0, 0, 90]) screwHole();
|
|
|
|
// top flush-cut
|
|
color("red") translate([-10, -8, length]) cube([60, 40, length / 2]);
|
|
}
|
|
}
|