$fn = 50; module box(){ difference(){ rotate([90,-2.2,0]) hull() { translate([0,0,8]) cylinder(r=19.5,h=70); translate([132,0,0]) cylinder(r=24.5,h=86);; } union(){ translate([0,-0.75,-1]) rotate([90,-2.2,0]) hull() { translate([0,0,8]) cylinder(r=17.5,h=68); translate([132,0,0]) cylinder(r=22.5,h=84);; } translate([1,0.75,0]) color("red",0.5) rotate([0,-2.2,0]) translate([-40,-100,1])cube([200,100,60]); translate([40,-10,-6]) cube([35,10,10]); translate([90,-100,-50])cube([200,100,60]); translate([48,-65,-25])cube([20,45,10]); translate([7.5,-45,-8])cube([10,45,10]); translate([76,-60,-25])cube([6.1,6.1,10]); translate([76,-30,-25])cube([6.1,6.1,10]); } } } module screw_hole() { difference(){ cylinder(r=4,h=3); cylinder(r=1.5,h=3); } union() { translate([-9.6,-4,0])triangle_prism(8,8,3); translate([1.6,4,0]) rotate([0,0,-90])triangle_prism(8,8,3); } } module screw_holes() { rotate([0,2,4.4]) translate([-6.5,-3.2,-9.6]) screw_hole(); rotate([0,2,4.4]) translate([30,-3.5,-9.6]) screw_hole(); rotate([0,-2,175.6]) translate([-1.5,82.5,-9.3]) screw_hole(); rotate([0,-2,175.6]) translate([-36.5,82,-9.3]) screw_hole(); } module triangle_prism(a,b,c){ difference(){ cube([a,b,c]); translate([0,0,-0.1]) rotate([0,0,45]) cube([a*1.42,b,c+2]); } } translate([0,0,8.6])screw_holes(); translate([0,-86,0])rotate([180,0,0])box();