Below is the OpenScad code for the next iteration of the bottom cover for the Apollo BTC.
It's printing at the moment so I'm not entirely certain it will fit, but it should be very close.
Depending on what part of the code is disabled (*), you can render a bottom cover by itself, or the feet for the bottom cover which lift it up to make space for a Noctua NF-A6x25 FLX 60x25mm Premium Fan. No specific reason for choosing this fan, except that I have one lying around.
I'm not certain if it's best to have the fan blow or suck, neither where exactly to place it. I think I'll mount it so that it will blow air upward.
I have a cable adapter for low noise left over, I guess it's just a resistor in the cable, and plan to splice the fan into the 12v supply.
$fn=30;
// 20221022/23 making Polli bottom cover
// dimensions:
// 155mm x 104mm outer
// 131.6mm x 100.5mm inner
// screwless press fit design
// Rear USB and ETH connectors: Continuous cutout 5mm from bottom and side and stretching to 55mm from side
// Front LED light starts 17mm from bottom
// make 15mm high from bottom with cutouts for connectors
// 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)
// purpose: Protection from physical damage
// better air entry
// Wifi antenna outside
translate([0,0,5])// to visually separate cover and legs
union(){// Main part of Polli bottom cover -DISABLE (*) TO RENDER LEGS
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
// 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 - disable for fan-less cover
translate([40.75,55.75,0])
cylinder(h=10, r=25);// Big 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([60,0,0])// central reinforcing block
cube([11.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([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
union(){// Legs for Polli Bottom Cover -DISABLE (*) TO RENDER BOTTOM COVER
union(){// Pegs
// 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
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