base and shroud ok

This commit is contained in:
sebastian bruesemeister 2022-07-07 16:30:42 +02:00
parent 9b18ae9afd
commit 1943721187
Signed by: sebastian
GPG Key ID: FEF8FF6BC3A8CDA8
7 changed files with 205 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*.stl
!/stl/**

50
BaseLeft.scad Normal file
View File

@ -0,0 +1,50 @@
t = 7;
w = 35;
h = 47.7;
rc = 6.5;
rcs = 2;
$fn = 100;
module through(l=7, lh=3.3, lt=1, lb=1){
union(){
translate([0,0,l-lh])cylinder(h=lh+lt, d=5.6);
translate([0,0,-lb])cylinder(h=l+lh+lb, d=3.5);
}
}
module m3 (h=8, lb=1){
translate([0,0,-lb])cylinder(h+lb, d=2.5); // tapped M3
//translate([0,0,-lb])cylinder(h+lb, d=4); // rutex insert
}
difference(){
hull(){
translate([rc, rc])cylinder(h=t, r=rc);
translate([rc,h-rc])cylinder(h=t, r=rc);
translate([w-rcs, h-rcs])cylinder(h=t, r=rcs);
translate([w-rcs, rcs])cylinder(h=t, r=rcs);
}
translate([30.4, h-14.75])through(l=t);
translate([13.2, h-33.7])through(l=t);
translate([-1, h-24-14,-1])hull(){
cube([1,14, t+2]);
translate([5,3])cylinder(h=t+2,r=3);
translate([5,11])cylinder(h=t+2,r=3);
}
translate([35,h-19.5-31,-1])hull(){
translate([0,3])cylinder(h=t+2,r=3);
translate([0,28])cylinder(h=t+2,r=3);
}
translate([12,h-12,-1])cylinder(h=t+2,d=5.5);
translate([32.3,h-52.3,-1])cylinder(h=t+2,d=11);
//fan shroud
for(x=[24.6]){
for(y=[23.4,43.7]){
translate([x,h-y,0])m3();
}
}
}

55
BaseRight.scad Normal file
View File

@ -0,0 +1,55 @@
t = 7;
w = 38;
h = 47.7;
rc = 6.5;
rcs = 2;
ofs = 88.1-w;
$fn = 100;
module through(l=7, lh=3.3, lt=1, lb=1){
union(){
translate([0,0,l-lh])cylinder(h=lh+lt, d=5.6);
translate([0,0,-lb])cylinder(h=l+lh+lb, d=3.5);
}
}
module m3 (h=8, lb=1){
translate([0,0,-lb])cylinder(h+lb, d=2.5); // tapped M3
//translate([0,0,-lb])cylinder(h+lb, d=4); // rutex insert
}
difference(){
hull(){
translate([w-rc, rc])cylinder(h=t, r=rc);
translate([w-rc,h-rc])cylinder(h=t, r=rc);
translate([rcs, h-rcs])cylinder(h=t, r=rcs);
translate([rcs, rcs])cylinder(h=t, r=rcs);
}
translate([72.2-ofs, h-14.75])through(l=t);
translate([72.2-ofs, h-39.9])through(l=t);
translate([82.1-ofs, h-6.65])through(l=t);
translate([w-7, h-24-14,-1])hull(){
translate([7,0])cube([1,14, t+2]);
translate([3,3])cylinder(h=t+2,r=3);
translate([3,11])cylinder(h=t+2,r=3);
}
translate([-1,h-19.5-31,-1])hull(){
cube([0.01,31,t+2]);
translate([12,3])cylinder(h=t+2,r=3);
translate([12,28])cylinder(h=t+2,r=3);
}
// translate([32.3,h-52.3,-1])cylinder(h=t+2,d=11);
for(x=[72.6-ofs]){
for(y=[33.4]){
translate([x,h-y,0])m3();
}
}
for(x=[64.6-ofs]){
for(y=[11.4]){
translate([x,h-y,0])m3();
}
}
}

98
shroud.scad Normal file
View File

@ -0,0 +1,98 @@
/* shroud options */
wt = 3;
tb = 40;
bpt = 7;
/* fan size */
lf = 40;
tf = 10;
hd = 38;
lhf = 32;
rc = 4;
/* heatsink size */
lh = 30;
wh = 26;
th = 16;
ofsx = 0;
ofsy = 0;
ofsz = 3.5;
t= tb-bpt-tf;
$fn= 100;
module through(l=7, lh=3.3, lt=1, lb=1){
union(){
translate([0,0,l-lh])cylinder(h=lh+lt, d=5.6);
translate([0,0,-lb])cylinder(h=l+lh+lb, d=3.5);
}
}
module m3 (h=8, lt=1){
translate([0,0,-lt])cylinder(h, d=2.5); // tapped M3
//translate([0,0,-lt])cylinder(h, d=4); // rutex insert
}
module mount(){
translate([4,4,-12])difference(){
hull(){
translate([0,0,6])cylinder(h=6, d=8);
translate([4,-4,0])cube([0.01,8,12]);
}
translate([0,0,12])mirror([0,0,1])through(l=10,lb=1,lt=1,lh=7);
}
}
difference(){
union(){
hull(){
for(x=[rc, lf-rc]){
for(y=[rc, lf-rc]){
translate([x,y])cylinder(h=wt,r=rc);
}
}
}
if (2*wt+hd> lf){
translate([lf/2, lf/2])cylinder(h=wt, d=2*wt+hd);
}
hull(){
for(x=[lf-rc]){
for(y=[rc, lf-rc]){
translate([x,y,0])cylinder(h=t,r=rc);
}
}
}
hull(){
x=rc;
translate([x,rc])cylinder(h=t,r=rc);
translate([x,lf-rc])cylinder(h=1,r=rc);
translate([x-1*rc,lf-1,t-12])cube([2*rc,1,12]);
}
hull(){
translate([lf/2,lf/2, wt-0.1])cylinder(h=0.1,d=hd+2*wt);
translate([lf/2-wh/2-wt+ofsx,lf/2-lh/2+ofsy,t-th+ofsz])cube([wh+2*wt,lh,0.01]);
}
translate([lf/2-wh/2-wt+ofsx,lf/2-lh/2+ofsy,t-th+ofsz])cube([wh+2*wt,lh,th]);
for(x=[48]){
for(y=[7.7,28]){
translate([x,y,t])mirror([1,0,0])mount();
}
}
for(x=[-8]){
for(y=[18]){
translate([x,y,t])mount();
}
}
translate([0,48,t])rotate([0,0,-90])mount();
}
hull(){
translate([lf/2,lf/2,-0.01])cylinder(h=wt+0.01,d=hd);
translate([lf/2-wh/2+ofsx,lf/2-lh/2+ofsy-0.01,t-th+ofsz])cube([wh,lh+0.02,0.01]);
}
translate([lf/2-wh/2+ofsx,lf/2-lh/2+ofsy-0.01,t-th+ofsz])cube([wh,lh+0.02,th+0.01]);
for(x=[(lf-lhf)/2, (lf-lhf)/2+lhf]){
for(y=[(lf-lhf)/2, (lf-lhf)/2+lhf]){
translate([x,y])m3();
}
}
}

BIN
stl/BaseLeft.stl Normal file

Binary file not shown.

BIN
stl/BaseRight.stl Normal file

Binary file not shown.

BIN
stl/shroud.stl Normal file

Binary file not shown.