From a285b275b51767475ce4317966a9710aba3124cf Mon Sep 17 00:00:00 2001 From: zeus Date: Mon, 17 May 2021 20:57:48 +0200 Subject: [PATCH] added more variants and description --- .../fanholder_34mm_rear.stl | Bin 0 -> 102084 bytes .../fanholder_back.scad | 80 ++++++++++++++---- 2 files changed, 62 insertions(+), 18 deletions(-) create mode 100644 openscad/own/supermicro_cs836_fan-holder/fanholder_34mm_rear.stl diff --git a/openscad/own/supermicro_cs836_fan-holder/fanholder_34mm_rear.stl b/openscad/own/supermicro_cs836_fan-holder/fanholder_34mm_rear.stl new file mode 100644 index 0000000000000000000000000000000000000000..4cfcb423147a1af603cf86c7b8f2823440b9a268 GIT binary patch literal 102084 zcmbrn3Ai0awZB~qDxiTQs6b>m3O9&yRk(tP$?iTaGN@NUL?c1uiVOlW8VI1UWfsDa zIXMXkDgqG|5CtXYG%6Z!U=~FMM1z2$3^EA>zV++gtLv?k-TC`G-+3Nj)4krR>h2oW zTD7X`BS-9i*dFg2+HvrI5C81`hprX=|NcGqst~@h;DmCUr(az1+kJNETr=;kJcRS@ zpAcSo;9v4DzD2(W^RFFqS3Yy2+12$BW*V_ozI@3oMo^0MhYtFSN!N4;7cMv<>#n_g zqVjlXzbCU(e|uh)?)=-{(31+`wtb$=B5{!s$FIJ8;yp%Ciu4WZuAd+Fm$Q4NI?YP; zna?ku_zxrA*7-}m>rclhSk=FBhX+wC`%UhR^ zytH+uQXT!&Xui(N@2zrw%ddZxUwzAeSNR0j3qkgL)s1z!VzK5RYB73e-{n@vesBfb0K`GMuU4N57qmF;& z@+DujH+;Jhv+cX;P1b4Yi>;Br{PI_`7dM_+{eJlHi|xCtvikBR`X+zqmCB{Y()G7e zT3h|@(CnwDFYavq=^Z-Heqoh-uPqL>^ak@=jvCCrchcwWcL(|fceAwHE-fZ!j-zj3{yG2Mey7>*!TjWd?#u^1QC|;X;G${e zizjc~(c7gI=?(t*K>or$-HHz3uCGqZ9zJv9QML2ScYZE=#l>H(@4REf{PD{c*>C&G zoelFTzpsCXFz%vh*#}P9c=Xps1W1v-bi=2!w=5d2QwnFlYWb3jt+spJ^>*+>`z~8r zyVrB*&3ao2!Fq)y>K)WGP)c>z>3R0`##!%R1++hV>QO!Ytwua)>u#@4T%tBeDbnooLpaz7x$E)ihjDP2D<<;GB*fGS7}M&-jA(U<)M7f`{g@(c}%wwZEeI7BPd1s&reRucY5`P6&=E6_MT38 z#evzSMtt-3{p{)*`NWsTRqyHi$JVH%-t+k>)%ChwjWgnOBUIb<2B#0J-wT1XdQ
L{olxcR=66oWk9qambLGySbGvi5%U>#XvFrM? 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 Bjb#7; literal 0 HcmV?d00001 diff --git a/openscad/own/supermicro_cs836_fan-holder/fanholder_back.scad b/openscad/own/supermicro_cs836_fan-holder/fanholder_back.scad index 511c562..18738e3 100644 --- a/openscad/own/supermicro_cs836_fan-holder/fanholder_back.scad +++ b/openscad/own/supermicro_cs836_fan-holder/fanholder_back.scad @@ -1,22 +1,46 @@ -// VARS -old_fan_depth=38; -fan_dia=80; -fan_depth=25; -fan_oversize=10; -mt=2.5; -width=fan_dia; -length=fan_dia; -hole_dia=4.25; -hole_offset=4.5; -depth=old_fan_depth-fan_depth; -cage_mt=2; -$fn=100; - +// by zeus - zeus@ctdo.de - CC-BY-NC-4.0 +// -> https://www.thingiverse.com/zeus +// -> https://github.com/zeus86 +// -> https://blog.tastatursport.de/ +// 2021-05-16 +// Supermicro Fan-Guard for CSE-836 //################## - +// This Bracket is designed for a Supermicro CSE-836 (3U) Case, +// but will most likely fit others as well. If you plan to use anything +// else, than the stock turbines, you most likely want to swap fans. +// This bracket is designed to bridge the gap, which occurs, when +// using narrower Fans than stock, e.G. standard ones with 25mm depth. +// For 25mm fans, set "old_fan_depth" to 34 and use the rear exhaust +// module, for the center fanwall use 38mm and the fanwall module. +// These should fit then with a very slight gap to accomodate the +// I/O-Shielding. There are 2 different Models, because the rear ones +// must not overshoot the original bracket in height in order for the +// case top to be able to be closed. These are meant to Replace the +// fans FAN-0062L4 (rear) and the fanholder bracket 05-SC93304-XX00C002 +// as well as FAN-0094L4 (center-) with the bracket 05-SC82508-XX00C003. +// I swapped in 80x80x25mm fans, which works fine. +// +//################## +// +// VARS +old_fan_depth=34; // height of the fan, which is goint to be replaced +fan_dia=80; // fan diameter +fan_depth=25; // desired fan-depth, most likely 25mm unless you use server-fans +fan_oversize=10; // more headroom for the radial area +mt=2.5; // general material thickness, the wall will be slightly thinner on the rear-model, because it needs to be moved inwards +width=fan_dia; +length=fan_dia; +hole_dia=4.25; // diameter for the screw holes. I designed them with a slight slope for easy insertion +hole_offset=4.5; // x and y offst of the screw-holes from the corner (centered), 4.5mm for 80mm fans +depth=old_fan_depth-fan_depth; // the difference to be gapped +cage_mt=2; //roughly the material thickness of the cage +screw_clearance=2; //clearance in the Wall for the screw head +$fn=100; +// +//################## +// // MODEL - -module bracket_bottom(){ +module bracket_fanwall(){ difference(){ cube([width,length,mt]); translate([fan_dia/2,fan_dia/2,-0.1])cylinder(r=(fan_dia+fan_oversize)/2,h=depth+0.2); @@ -29,4 +53,24 @@ module bracket_bottom(){ translate([-cage_mt,-mt,0])cube([length+cage_mt*2,mt,depth]); } -bracket_bottom(); +module bracket_rear_exhaust(){ + difference(){ + cube([width,length,mt]); + translate([fan_dia/2,fan_dia/2,-0.1])cylinder(r=(fan_dia+fan_oversize)/2,h=depth+0.2); + translate([-0.1,length/2+0.1,-0.1])cube([width+0.2,(length+0.1)/2,depth+0.2]); + translate([length/2,hole_offset,-0.1]){ + translate([-length/2+hole_offset,0,0])cylinder(r1=hole_dia/2,r2=hole_dia/2+0.5,h=mt+0.2); + translate([length/2-hole_offset,0,0])cylinder(r1=hole_dia/2,r2=hole_dia/2+0.5,h=mt+0.2); + } + } + difference(){ + translate([0,0,0])cube([length,mt*0.85,depth]); + translate([length/2,hole_offset,0]){ + translate([-length/2+hole_offset,0,mt])cylinder(r=hole_dia/2+screw_clearance,h=depth-mt+0.2); + translate([length/2-hole_offset,0,mt])cylinder(r=hole_dia/2+screw_clearance,h=depth-mt+0.2); + } + } +} + +//bracket_fanwall(); +bracket_rear_exhaust();