Add HDD plane

This commit is contained in:
maride 2018-02-15 23:50:26 +01:00
parent a04d0160ab
commit 0e47e139b2

View File

@ -7,6 +7,9 @@
// bottom plane:
round_base_plane(360, 250, 6.5, 300, 180, 10);
// HDD plane:
// round_psu_cable_hdd_plane(360, 250, 6.5, 300, 180, 10, 41, 83, 90, 90);
RESOLUTION=36;
@ -133,6 +136,28 @@ module round_psu_cable_fan_plane(width, height, hole_size, hole_spacing_x, hole_
}
}
/*
* HDD bearing plane with cutouts for psu and cables
*/
module round_psu_cable_hdd_plane(width, height, hole_size, hole_spacing_x, hole_spacing_y, radius, psu_width, psu_height, cable_width, cable_height) {
difference() {
intersection() {
round_psu_plane(width, height, hole_size, hole_spacing_x, hole_spacing_y, radius, psu_width, psu_height);
round_cable_plane(width, height, hole_size, hole_spacing_x, hole_spacing_y, radius, cable_width, cable_height);
}
// lower HDD 115
translate([width/2-145/2, height/2 - 10])
rotate([0, 0, -90])
__35_hdd_bearings(5);
// upper HDD 235
translate([width/2-145/2, height/2 - 10 + 120])
rotate([0, 0, -90])
__35_hdd_bearings(5);
}
}
/*
* Helper function for round edges
*/
@ -243,4 +268,40 @@ module __mainboard_bearings(mainboard_width, mainboard_height) {
// inofficial hole added by ASROCK (970M Pro3)
// translate([5, mainboard_height-5])
// circle(d=bearing_size, $fn=RESOLUTION);
}
module __35_hdd_bearings(bearing_size) {
// side bearings on 3.5" disks are at 0, 60mm and 102mm (SIC!) each, 15mm shifted
// 3.5" width is 100mm adding +10mm on each side for the clamps/holder
// bottom screw row @0mm (+15mm shift)
translate([0, 15]) {
translate([-5, 0])
circle(d=bearing_size);
translate([ 105, 0])
circle(d=bearing_size);
}
// mid screw row @60mm (+15mm shift)
translate([0, 75]) {
translate([-5, 0])
circle(d=bearing_size);
translate([ 105, 0])
circle(d=bearing_size);
}
// top screw row @102mm (+15mm shift)
translate([0, 117]) {
translate([-5, 0])
circle(d=bearing_size);
translate([ 105, 0])
circle(d=bearing_size);
}
// 3.5" HDD dummy
// square([100, 145]);
// cable slots
translate([10, 145])
__round_square(80, 10, 5);
}