3d-stuff/openscad/own/xaser3-ssd-bracket/xaser3-ssd-bracket.scad

49 lines
2.0 KiB
OpenSCAD

// Thermaltake Xaser III rear-fanmount-ssd-bracket for retro-computer
// by zeus - 2022-06-12 - CC-BY-NC-SA-4.0
// comment out cutting-block for editing
// ###
// vars:
mt=4; //material thickness
mts=6; //material thickness (melt-in screw-posts)
fanbase_l=81; // fanshroud outer dimensions
fanbase_w=fanbase_l;
fanbase_spacing=20; // Distance between SREWHOLES!
fan_hole_dist=71.5; // Distance between fan holes for 80mm fans
fan_hole_dia=4.5; // 4.5 on 80mm fans
ssd_hole_dia=3.75; // 4 should be enough for m3-hdd screws
ssd_hole_dist_x=61.72; // from intel documenation
ssd_hole_dist_y=76.60; // from intel documenation
$fn=100;
// model:
module fanbase(){
difference(){
cube([fanbase_w,fanbase_l,mt],center=true);
for(x=[fan_hole_dist/2,-fan_hole_dist/2],y=[fan_hole_dist/2,-fan_hole_dist/2]){
translate([x,y,0]){
cylinder(r2=fan_hole_dia/2,r1=(fan_hole_dia/2)*1.25,h=mt+0.1,center=true); // fan-mounting holes
}
}
}
}
difference(){
union(){
translate([0,-fanbase_w/2+((fanbase_w-fan_hole_dist)/2)-fanbase_spacing/2,0])fanbase(); // lower shroud, complex translation ensures correct distance between the shrouds
translate([0,fanbase_w/2-((fanbase_w-fan_hole_dist)/2)+fanbase_spacing/2,0]) fanbase(); // upper shroud
for(x=[ssd_hole_dist_x/2,-ssd_hole_dist_x/2],y=[ssd_hole_dist_y/2,-ssd_hole_dist_y/2]){ // standoffs
translate([x,y,-mt/2+mts/2]){
cylinder(r1=ssd_hole_dia,r2=ssd_hole_dia*0.85,h=mts,center=true);
}
}
}
for(x=[ssd_hole_dist_x/2,-ssd_hole_dist_x/2],y=[ssd_hole_dist_y/2,-ssd_hole_dist_y/2]){ // standoff holes
translate([x,y,-mt/2+mts/2]){
cylinder(r=ssd_hole_dia/2,h=mts+0.1,center=true);
}
// cutting-block. only one shroud has finally to be drawn, because they are symetrical
translate([0,fanbase_w/2-((fanbase_w-fan_hole_dist)/2)+fanbase_spacing/2,-mt/2+mts/2]) cube([fanbase_w+0.1,fanbase_l+0.1,mts+0.1],center=true);
}
}