49 lines
2.0 KiB
OpenSCAD
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);
|
|
}
|
|
} |