3d-models/replacement-parts/drawer-slide-support.scad

51 lines
1.2 KiB
OpenSCAD
Raw Normal View History

2024-02-18 19:20:32 -06:00
$fn=24;
2024-06-01 15:46:50 -05:00
length = 100;
2024-02-18 19:20:32 -06:00
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
2024-06-01 15:46:50 -05:00
translate([16, 9, -8]) rotate([0, -10, 0]) cube([30, 4, length + 10]);
2024-02-18 19:20:32 -06:00
// base
cube([50, 32, 4]);
2024-06-01 15:46:50 -05:00
2024-02-18 19:20:32 -06:00
}
union() {
// bottom flush-cut
translate([-10, -10, -20]) cube([60, 40, 20]);
// X-side flush-cut
2024-06-01 15:46:50 -05:00
translate([-60, -2, -length * 0.05]) cube([60, 20, length * 1.1]);
2024-02-18 19:20:32 -06:00
// channel interior
translate([3, 3, 4]) cube([23, 9, length]);
// channel side cutaway
2024-06-01 15:46:50 -05:00
translate([5, 8, 4]) cube([19, 9, length]);
2024-02-18 19:20:32 -06:00
// 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
2024-06-01 15:46:50 -05:00
translate([-10, -8, length]) cube([60, 40, length / 2]);
// end chamfer
translate([-2, 13.3, length - 19]) rotate([10, 0, 0]) cube([34, 10, 20]);
translate([0, 8, length - 16.6]) rotate([-45, 0, 0]) translate([3, -2, 0]) cube([23, 6, 8]);
2024-02-18 19:20:32 -06:00
}
}