parametric hdd spool holder
parent
96f9117bd2
commit
2fc731d8c3
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
Binary file not shown.
After Width: | Height: | Size: 51 KiB |
Binary file not shown.
After Width: | Height: | Size: 40 KiB |
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,92 @@
|
||||||
|
// Adjustable HDD-Spoolholder
|
||||||
|
// by zeus - zeus@ctdo.de - CC-BY-NC-4.0
|
||||||
|
// -> https://www.thingiverse.com/zeus
|
||||||
|
// -> https://github.com/zeus86
|
||||||
|
// 2020-10-31
|
||||||
|
// =====================================================================
|
||||||
|
// on the given measurements you'll need springs with approx. 5.5x17mm (
|
||||||
|
// some variables
|
||||||
|
spool_id = 32; // outer diameter of the inner ring
|
||||||
|
total_h=8.5; //...of the disc-section
|
||||||
|
brim_w=150; // ...of the disc-section
|
||||||
|
brim_h=2.7; // baseplate height
|
||||||
|
spindle_dia=25.2; // inner diameter, the hdd-spindle-motor mount
|
||||||
|
slider_hole=3.25; //slot-width
|
||||||
|
slot_num=12; // number of slots
|
||||||
|
slot_num_slider=6; // number of sliders
|
||||||
|
angle = 360/slot_num;
|
||||||
|
angle_slider = 360/slot_num_slider;
|
||||||
|
spring_dia=5.5; // diameter of the tension springs
|
||||||
|
spring_recess=1.75; // amount of indentation into the inner ring
|
||||||
|
slider_screw_dia=4;// for M3 brass insert
|
||||||
|
handle_thickness=3; // this lip grabs onto the inner side of the spool
|
||||||
|
handle_height=10; // height of mentioned lip
|
||||||
|
insert_h=8; // M3-insert is actually 5.7 in dia, but abit more won't hurt to give a stury base to the sliders
|
||||||
|
|
||||||
|
$fn=100;
|
||||||
|
// =====================================================================
|
||||||
|
|
||||||
|
module main_spool() {
|
||||||
|
union() {
|
||||||
|
cylinder(r=brim_w/2, h=brim_h);
|
||||||
|
cylinder(r=spool_id/2, h=total_h);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module hollow_center() {
|
||||||
|
translate([0,0,-.5]) {
|
||||||
|
cylinder(r=spindle_dia/2, h=total_h+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
module slot() {
|
||||||
|
hull(){
|
||||||
|
translate([brim_w/2-slider_hole,0,-0.1]){
|
||||||
|
cylinder(r=slider_hole/2,h=brim_h+0.2);
|
||||||
|
}
|
||||||
|
translate([spool_id/2+slider_hole,0,-0.1]){
|
||||||
|
cylinder(r=slider_hole/2,h=brim_h+0.2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
module spring_insert() {
|
||||||
|
rotate([0,90,0]){
|
||||||
|
translate([-(brim_h+spring_dia/2+0.1),0,spool_id/2-spring_recess]){
|
||||||
|
cylinder(r=spring_dia/2,h=spool_id/2-spindle_dia/2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
module base() {
|
||||||
|
difference() {
|
||||||
|
main_spool();
|
||||||
|
hollow_center();
|
||||||
|
for (n=[1:slot_num]) rotate([0,0,(n-1)*angle]) slot();
|
||||||
|
for (n=[1:slot_num]) rotate([0,0,(n-1)*angle]) spring_insert();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module slider() {
|
||||||
|
difference(){
|
||||||
|
union(){
|
||||||
|
cylinder(r=brim_w/2,h=insert_h); //
|
||||||
|
translate([0,0,total_h-brim_h])cylinder(r=spool_id/2+handle_thickness,h=handle_height); // handle
|
||||||
|
}
|
||||||
|
translate ([0,0,-0.1])cylinder(r=spool_id/2,h=total_h-brim_h+handle_height+0.2); // center cutout
|
||||||
|
for (n=[1:slot_num_slider]) rotate([0,0,(n-1)*angle_slider])translate([-0.5,1,-0.1])cube([1,brim_w/2,total_h+handle_height]); // slits
|
||||||
|
for (n=[1:2:slot_num]) rotate([0,0,(n)*angle])translate([0,brim_w/2-slider_hole*2,-0.1])cylinder(r=slider_screw_dia/2,h=insert_h+0.2); //outer insert hole
|
||||||
|
for (n=[1:2:slot_num]) rotate([0,0,(n)*angle])translate([0,brim_w/3-slider_hole*2,-0.1])cylinder(r=slider_screw_dia/2,h=insert_h+0.2); //inner insert hole
|
||||||
|
for (n=[1:2:slot_num]) rotate([0,0,(n-1)*angle]) translate ([spring_recess/2,0,-brim_h])spring_insert(); //scpring holes
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
base();
|
||||||
|
//translate([0,0,brim_h+0.1])slider();
|
||||||
|
//translate([0,0,brim_h+0.1]){
|
||||||
|
// difference(){
|
||||||
|
// slider();
|
||||||
|
// translate([0,0,-0.05])cube([brim_w,brim_w,total_h+handle_height]); //cross-section cube
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue