pi_rack/holder/holder.scad

79 lines
3.6 KiB
OpenSCAD
Raw Permalink Normal View History

2024-03-29 10:34:59 +00:00
include <../tray/common.scad>
u2 = 89;
rw = 482.6;
2024-03-29 11:27:07 +00:00
holder_size = [tray_size[0]+5, u2, tray_size[2]+3*2+20];
2024-03-29 10:34:59 +00:00
holder_margin = 7.5;
top_size = 5;
bottom_size = 11;
2024-03-29 11:27:07 +00:00
holder_pillar_spacing = 3;
holder_pillar_size = (holder_size[1]-tray_size[1])/2-holder_pillar_spacing;
stud_size = [5, 2.5];
2024-03-29 10:34:59 +00:00
module holder() {
color("#a0a0a0") difference() {
translate([-5.01, 0, -3]) union() {
// base
2024-03-29 11:27:07 +00:00
translate([0, -(holder_size[1]-tray_size[1])/2, 0]) cube([holder_size[0], (holder_size[1]-tray_size[1])/2+2.5, bottom_size]);
mirror([0,1,0]) translate([0, -(holder_size[1]-tray_size[1])/2 - tray_size[1], 0]) cube([holder_size[0], (holder_size[1]-tray_size[1])/2+2.5, bottom_size]);
cube([5, tray_size[1], bottom_size]);
translate([holder_size[0]-holder_margin, 0, 0]) cube([holder_margin, tray_size[1], 3]);
2024-03-29 10:34:59 +00:00
// pillars
2024-03-29 11:27:07 +00:00
translate([0, -(holder_size[1]-tray_size[1])/2, 0]) {
cube([holder_pillar_size, holder_pillar_size, holder_size[2]]);
translate([0, holder_size[1]-2-(holder_size[1]-tray_size[1])/2+5, 0])
cube([holder_pillar_size, holder_pillar_size, holder_size[2]]);
translate([holder_size[0]-(holder_pillar_size), holder_size[1]-2-(holder_size[1]-tray_size[1])/2+5, 0])
cube([holder_pillar_size, holder_pillar_size, holder_size[2]]);
translate([holder_size[0]-(holder_pillar_size), 0, 0])
cube([holder_pillar_size, holder_pillar_size, holder_size[2]]);
2024-03-29 10:34:59 +00:00
}
// studs
2024-03-29 11:27:07 +00:00
translate([(holder_pillar_size)/2, -holder_pillar_spacing-(holder_pillar_size)/2, holder_size[2]+stud_size[0]/2]) {
cylinder(h=stud_size[0], r=stud_size[1], center=true);
translate([holder_size[0]-(holder_pillar_size)/2-2*stud_size[1], 0, 0])
cylinder(h=stud_size[0], r=stud_size[1], center=true);
translate([0, holder_size[1]-(holder_pillar_size), 0])
cylinder(h=stud_size[0], r=stud_size[1], center=true);
translate([holder_size[0]-(holder_pillar_size)/2-2*stud_size[1], holder_size[1]-(holder_pillar_size), 0])
cylinder(h=stud_size[0], r=stud_size[1], center=true);
2024-03-29 10:34:59 +00:00
}
}
union() {
tray();
2024-03-29 11:27:07 +00:00
// stud holes
translate([(holder_pillar_size)/2-5.01, -holder_pillar_spacing-(holder_pillar_size)/2, -0.51]) {
cylinder(h=stud_size[0], r=stud_size[1], center=true);
translate([holder_size[0]-(holder_pillar_size)/2-2*stud_size[1], 0, 0])
cylinder(h=stud_size[0], r=stud_size[1], center=true);
translate([0, holder_size[1]-(holder_pillar_size), 0])
cylinder(h=stud_size[0], r=stud_size[1], center=true);
translate([holder_size[0]-(holder_pillar_size)/2-2*stud_size[1], holder_size[1]-(holder_pillar_size), 0])
cylinder(h=stud_size[0], r=stud_size[1], center=true);
2024-03-29 10:34:59 +00:00
}
}
}
}
// color("#f0f0f0") holder();