| MrMik 
								Member     Offline 
								Activity: 203 
								Merit: 37
								
								
								
								
								   | 
								|  | October 25, 2022, 02:49:33 AM |  | 
 
 I have tweaked the bottom cover and fan mount for the Apollo BTC a bit more and consider it finished now. It fits well without taking paint off, but does not stay stuck by itself any longer.  Running temperature monitoring tests of the GPU and CPU, (while hashing on Turbo, node off and playing a full-sceen youtube continuous news fees at high resolution in 25degC air temp) shows significant temperature reduction with and without powering the fan.  I have taken some screenshots and will post them once I am a Jr member. - adding a bottom cover with short (7mm) feet has almost no effect. CPU temperature drops almost imperceptably from 84degC to 83degC. But at least it's not making it hotter while providing some protection to the exposed components. - adding a bottom cover with 45mm long legs and a fan (not powered up) drops the CPU temperature to 79degC.  - running the fan on low noise setting (hooked up to a lab power supply and restricted to 0.04A max, I figured that would be very similar to using the 100ohm 'low noise cable') causes a temperature drop to 70degC - running the fan @12VDC without current restriction (it then uses 0.07A) causes a CPU temperature drop to about 63degC. The Noctua NF-A6x25 is not noisy when running at 12V full speed, but maybe it might be audible in a bedroom during a quiet night. If the Apollo is used as a media center, then the noise from the additional fan is entirely negligible. So, I might add a switch to route the amps to the fan either through a resistor, or straight from the 12V source. Might even have an Off position. Off - Quiet - Full Speed I have hopefully added enough notes to the OpenScad code to make it useful for others who want to tweak it or use a different fan or whatever. $fn=60;
 
 // Polli bottom cover
 
 // purpose: Protection from physical damage
 // better air entry
 // Wifi antenna outside
 
 translate([0,0,5])// to visually separate cover and legs -DISABLE (*) TO RENDER LEGS
 union(){// Main part of Polli bottom cover
 
 difference(){// remove bits from cube above zero line
 
 *cube([160, 109, 17.5]);//the part above ground level that slides onto the original housing; adding 2.5mm each side for wall thickness FIRST PRINT- TOO SMALL
 cube([160.5, 109, 17.5]);//the part above ground level that slides onto the original housing; adding 2.5mm each side for wall thickness
 
 
 union(){// Peg holes for legs for Polli Bottom Cover
 
 union(){// Pegs
 
 translate([12,3.5,0])
 cylinder(h=2.5,r=2.5);
 
 translate([3.5,12,0])
 cylinder(h=2.5,r=2.5);
 
 translate([147,3.5,0])
 cylinder(h=2.5,r=2.5);
 
 translate([157,13,0])
 cylinder(h=2.5,r=2.5);
 
 translate([147,105.5,0])
 cylinder(h=2.5,r=2.5);
 
 translate([157,96,0])
 cylinder(h=2.5,r=2.5);
 
 
 translate([12,105.5,0])
 cylinder(h=2.5,r=2.5);
 
 translate([3.5,96,0])
 cylinder(h=2.5,r=2.5);
 }
 // End union pegs
 
 translate([0,0,-45])
 difference(){// Making 1 leg
 
 cube([20,20,45]);
 
 translate([7,7,0])
 cube([20,20,45]);
 
 }
 // End difference making first
 
 translate([140.5,0,-45])
 difference(){// Making 1 leg
 
 cube([20,20,45]);
 
 translate([-7,7,0])
 cube([20,20,45]);
 
 }
 // End difference making 1 leg
 
 translate([140.5,89,-45])
 difference(){// Making 1 leg
 
 cube([20,20,45]);
 
 translate([-7,-7,0])
 cube([20,20,45]);
 
 }
 // End difference making 1 leg
 
 translate([0,89,-45])
 difference(){// Making 1 leg
 
 cube([20,20,45]);
 
 translate([7,-7,0])
 cube([20,20,45]);
 
 }
 // End difference making 1 leg
 
 
 
 
 
 
 
 }
 // End of union Peg holes for legs of Polli Bottom Cover
 
 
 *translate([2.5,2.5,2.5])
 cube([155, 104, 17.5]);// removing the space where the Polli body will be FIRST PRINT- TOO SMALL
 
 *translate([2.5,2.5,2.5])
 cube([155.5, 104, 17.5]);// removing the space where the Polli body will be - This size is for use with or without a Noctua NF-A6x25 FLX 60x25mm Premium Fan
 // Hole spacing: 50mm; hole size 4.4mm diameter
 
 translate([2.5,2.25,2.5])// Shifted -0.25mm on Y-axis
 cube([155.5, 104.5, 17.5]);// 0.5mm wider 3rd attempt - removing the space where the Polli body will be - This size is for use with or without a Noctua NF-A6x25 FLX 60x25mm Premium Fan
 // Hole spacing: 50mm; hole size 4.4mm diameter
 
 // side connectors and antenna hole cutout: 20mm to 90mm from rear side edge and 4mm from bottom (included // 6VDC hole: 23.6mm from side edge;' 10.9mm wide; 7.7mm high; 5.2mm from bottom edge)
 translate([67.5,-47.5,6.5])
 cube([70, 50, 17.5]);//Cutout for side connectors and antenna
 
 
 // Rear USB and ETH connectors: Continuous cutout 5mm from bottom and side and stretching to 55mm from side
 translate([110.5,7.5,7.5])
 cube([50, 50, 17.5]);//Cutout for rear USB and ETH connectors
 
 *translate([-2,0,0])
 union(){// making lots of holes (9mm optimised) in bottom plate DISABLE FOR PRINTING WITH FAN
 
 *translate([0,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([9,4.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([18,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([27,4.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([36,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([45,4.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([54,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([63,4.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([72,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([81,4.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([90,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([99,4.5,0])
 union(){//one row of holes
 
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 translate([108,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([117,4.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([126,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([135,4.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 *translate([144,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 
 
 
 
 
 
 
 
 
 
 }
 // End union making up to 150 holes (9mm optimised) in bottom plate
 
 translate([-2,0,0])
 union(){//  Making fewer holes for use with fan (9mm optimised) in bottom plate
 
 *translate([0,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 *translate([9,4.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 *translate([18,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 *translate([27,4.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 *translate([36,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 *translate([45,4.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 *translate([54,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 *translate([63,4.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([72,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([81,4.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([90,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([99,4.5,0])
 union(){//one row of holes
 
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 translate([108,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([117,4.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([126,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 translate([135,4.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 *translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 *translate([144,-0.5,0])
 union(){//one row of holes
 translate([10,7.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,17.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,27.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,37.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,47.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,57.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,67.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,77.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,87.5,0])
 cylinder(5,4.5,4.5);
 
 translate([10,97.5,0])
 cylinder(5,4.5,4.5);
 }
 // End union 1 row of holes
 
 }
 // End union making fewer holes for use with fan (9mm optimised) in bottom plate
 
 
 union(){// Fan mount holes and fan hole - disable for fan-less cover
 *translate([40.75,55.75,0])
 cylinder(h=10, r=25);// Big hole for fan TOO SMALL
 
 translate([40.75,55.75,0])
 cylinder(h=10, r=30);// Bigger hole for fan
 
 translate([15.75,30.75,0])
 cylinder(h=10, r=2.2);
 
 translate([15.75,30.75,1])
 cylinder(h=10, r=5);// recess for rubber mount
 
 translate([15.75,80.75,0])
 cylinder(h=10, r=2.2);
 
 translate([15.75,80.75,1])
 cylinder(h=10, r=5);// recess for rubber mount
 
 translate([65.75,30.75,0])
 cylinder(h=10, r=2.2);
 
 translate([65.75,30.75,1])
 cylinder(h=10, r=5);// recess for rubber mount
 
 translate([65.75,80.75,0])
 cylinder(h=10, r=2.2);
 
 translate([65.75,80.75,1])
 cylinder(h=10, r=5);// recess for rubber mount
 
 }
 // End union fan mount holes
 
 // 131.6mm x 100.5mm inner
 translate([14.5,4.5,0.4])
 cube([131,100,2.5]);// thinning out the perforated area
 
 
 }
 // End difference remove bits from cube above zero line
 
 
 
 // Adding fan mount reinforcements
 difference(){// making mount holes in reinforcements
 union(){// the reinforcing blocks to make part of the mesh thicker than 2 print layers = 0.4mm
 translate([10,25,0])
 cube([11.5,11.5,2.5]);
 
 translate([10,75,0])
 cube([11.5,11.5,2.5]);
 
 translate([58,0,0])// central reinforcing block
 cube([15.5,109,2.5]);
 }
 // End union reinforcing blocks
 
 union(){// Fan mount holes
 *translate([40.75,55.75,0])
 cylinder(h=10, r=25);// Big hole for fan
 
 translate([40.75,55.75,0])
 cylinder(h=10, r=30);// Bigger hole for fan
 
 translate([15.75,30.75,0])
 cylinder(h=10, r=2.2);
 
 translate([15.75,30.75,1])
 cylinder(h=10, r=5);// recess for rubber mount
 
 translate([15.75,80.75,0])
 cylinder(h=10, r=2.2);
 
 translate([15.75,80.75,1])
 cylinder(h=10, r=5);// recess for rubber mount
 
 translate([65.75,30.75,0])
 cylinder(h=10, r=2.2);
 
 translate([65.75,30.75,1])
 cylinder(h=10, r=5);// recess for rubber mount
 
 translate([65.75,80.75,0])
 cylinder(h=10, r=2.2);
 
 translate([65.75,80.75,1])
 cylinder(h=10, r=5);// recess for rubber mount
 
 }
 // End union fan mount holes
 
 }
 // End difference making mount holes for fan
 
 }
 // End of union all of Main Part of Polli bottom cover
 
 
 difference(){// For reducing legs length as needed -DISABLE (*) TO RENDER ONLY THE BOTTOM COVER
 union(){// Legs for Polli Bottom Cover
 
 *union(){// Pegs FIRST PRINT - FIT IS TOO TIGHT
 // pegs are 4.8mm diameter for 5mm diameter holes
 translate([12,3.5,0])
 cylinder(h=2.5,r=2.4);
 
 translate([3.5,12,0])
 cylinder(h=2.5,r=2.4);
 
 translate([147,3.5,0])
 cylinder(h=2.5,r=2.4);
 
 translate([157,13,0])
 cylinder(h=2.5,r=2.4);
 
 translate([147,105.5,0])
 cylinder(h=2.5,r=2.4);
 
 translate([157,96,0])
 cylinder(h=2.5,r=2.4);
 
 
 translate([12,105.5,0])
 cylinder(h=2.5,r=2.4);
 
 translate([3.5,96,0])
 cylinder(h=2.5,r=2.4);
 }
 // End union pegs
 
 *union(){// Pegs a bit narrower - A BIT TOO LOSE
 // pegs are 4.6mm diameter for 5mm diameter holes
 translate([12,3.5,0])
 cylinder(h=2.5,r=2.3);
 
 translate([3.5,12,0])
 cylinder(h=2.5,r=2.3);
 
 translate([147,3.5,0])
 cylinder(h=2.5,r=2.3);
 
 translate([157,13,0])
 cylinder(h=2.5,r=2.3);
 
 translate([147,105.5,0])
 cylinder(h=2.5,r=2.3);
 
 translate([157,96,0])
 cylinder(h=2.5,r=2.3);
 
 translate([12,105.5,0])
 cylinder(h=2.5,r=2.3);
 
 translate([3.5,96,0])
 cylinder(h=2.5,r=2.3);
 }
 // End union pegs
 
 union(){// Pegs medium width
 // pegs are 4.7mm diameter for 5mm diameter holes
 translate([12,3.5,0])
 cylinder(h=2.5,r=2.35);
 
 translate([3.5,12,0])
 cylinder(h=2.5,r=2.35);
 
 translate([147,3.5,0])
 cylinder(h=2.5,r=2.35);
 
 translate([157,13,0])
 cylinder(h=2.5,r=2.35);
 
 translate([147,105.5,0])
 cylinder(h=2.5,r=2.35);
 
 translate([157,96,0])
 cylinder(h=2.5,r=2.35);
 
 translate([12,105.5,0])
 cylinder(h=2.5,r=2.35);
 
 translate([3.5,96,0])
 cylinder(h=2.5,r=2.35);
 }
 // End union pegs
 
 translate([0,0,-45])
 difference(){// Making 1 leg
 
 cube([20,20,45]);
 
 translate([7,7,0])
 cube([20,20,45]);
 
 }
 // End difference making first
 
 translate([140.5,0,-45])
 difference(){// Making 1 leg
 
 cube([20,20,45]);
 
 translate([-7,7,0])
 cube([20,20,45]);
 
 }
 // End difference making 1 leg
 
 translate([140.5,89,-45])
 difference(){// Making 1 leg
 
 cube([20,20,45]);
 
 translate([-7,-7,0])
 cube([20,20,45]);
 
 }
 // End difference making 1 leg
 
 translate([0,89,-45])
 difference(){// Making 1 leg
 
 cube([20,20,45]);
 
 translate([7,-7,0])
 cube([20,20,45]);
 
 }
 // End difference making 1 leg
 
 union(){// leg connectors
 translate([0,0,-45])
 cube([140.5,7,0.6]);
 
 translate([0,102,-45])
 cube([140.5,7,0.6]);
 
 translate([0,0,-45])
 cube([7,89,0.6]);
 
 translate([153.5,0,-45])
 cube([7,89,0.6]);
 
 }
 // END union leg connectors
 
 }
 // End of union Legs of Polli Bottom Cover
 
 *translate([0,0,-57])// z=-57 for short feet to be used without a fan _DISABLE (*) to print long legs for use with fan
 cube([200,200,50]);// for removing most of the legs for quick test print
 
 translate([20,0,-50])// z=-57 for short feet to be used without a fan
 
 *cube([300,300,100]);// for making just 1 foot
 
 *translate([0,20,-50])// z=-57 for short feet to be used without a fan _DISABLE (*) to print long legs for use with fan
 cube([300,300,100]);// for making just 1 foot
 
 }
 // End sectioning legs for test print
 
 
 
 |