// Gehaeuse mit Parametern //============================= $LG=100; // Laenge Gehaeuse $BG=50; // Breite Gehaeuse $HG=15; // Hoehe Gehaeuse $RG=5; // Radius Ecken $WG=4; // Wandstaerke Gehaeuse $TG=$HG-$WG; // Tiefe Gehaeuse $DS=7; // Durchmesser Stütze $HS=$HG; // Hoeche Stuetze module gehaeuse(l,b,h,r) { minkowski() { cube([l, b, h], center=true); cylinder(r=r,h=0.1,center=true); } }; module gehaeuse_deckel(l,b,h,r,ws,t) { difference() { gehaeuse(l=l,b=b,h=h,r=r); translate([0,0,ws]) gehaeuse(l=l-2*ws,b=b-2*ws,h=t,r=r); }; }; module gehaeuse_boden(l,b,h,r,ws,t) { difference() { gehaeuse(l=l,b=b,h=h,r=r); translate([0,0,ws]) gehaeuse(l=l-2*ws,b=b-2*ws,h=t,r=r); }; }; module senkkopf(d1,h1,d2,h2) { translate([0,0,h1/2+h2]) cylinder(h=h1, d1=d2, d2=d1, center=true); translate([0,0,h2/2]) cylinder(h=h2, d=d2, center=true); } module stehbolzen(d,h,d1,h1,d2,h2) { difference() { cylinder(h=h,d=d); senkkopf(d1=d1,h1=h1,d2=d2,h2=h2); } } translate([0,$BG,0]) gehaeuse_deckel(l=$LG,b=$BG,h=$HG,r=$RG,ws=$WG,t=$TG); translate([0,-$BG,0]) gehaeuse_boden(l=$LG,b=$BG,h=$HG,r=$RG,ws=$WG,t=$TG); // Stuetzen mit Senkkopf for (i = [ [$BG,$LG/2+$BG/2,-$HS/2], [$BG,$LG/2-$BG/2,-$HS/2], [$BG,-($LG/2+$BG/2),-$HS/2], [$BG,-($LG/2-$BG/2),-$HS/2], [-$BG,$LG/2+$BG/2,-$HS/2], [-$BG,$LG/2-$BG/2,-$HS/2], [-$BG,-($LG/2+$BG/2),-$HS/2], [-$BG,-($LG/2-$BG/2),-$HS/2] ] ) { rotate([0,180,0]) translate(i) stehbolzen($DS,$HS+0.1,5,3,3,$HS-3+1); }