$fn = 100;
difference()
{
union()
{
//top and bottom
translate([4.100, 2.600, .1])
cube([8.2,5.2,.05], center = true);
translate([4.100, 2.600, .6])
cube([8.2,5.2,.06], center = true);
//side walls
translate([0, 0, 0.1])
cube([8.200,0.080,.500]);
translate([0, 0, 0.1])
cube([0.080,5.20,.500]);
translate([0, 5.12, 0.1])
cube([8.200,0.080,.500]);
translate([8.12, 0, 0.1])
cube([0.080,5.20,.500]);
//4 battery hole walls
translate([.600, .600, .100])
cylinder(h = 0.500, r = .42);
translate([1.500, .600, .100])
cylinder(h = 0.500, r = .42);
translate([.600, 1.500, .100])
cylinder(h = 0.500, r = .42);
translate([1.500, 1.500, .100])
cylinder(h = 0.500, r = .42);
//4 vape hole walls
translate([2.500, 1.600, .100])
cylinder(h = 0.500, r = .490);
translate([3.500, 1.600, .100])
cylinder(h = 0.500, r = .490);
translate([4.500, 1.600, .100])
cylinder(h = 0.500, r = .490);
translate([5.500, 1.600, .100])
cylinder(h = 0.500, r = .490);
//4 battery hole walls
translate([6.500, .600, .100])
cylinder(h = 0.500, r = .420);
translate([7.500, .600, .100])
cylinder(h = 0.500, r = .420);
translate([6.500, 1.500, .100])
cylinder(h = 0.500, r = .420);
translate([7.500, 1.500, .100])
cylinder(h = 0.500, r = .420);
//6 60mL bottle hole walls
translate([2.500, 2.800, .100])
cylinder(h = 0.500, r = .730);
translate([4.000, 2.800, .100])
cylinder(h = 0.500, r = .730);
translate([5.500, 2.800, .100])
cylinder(h = 0.500, r = .730);
translate([2.500, 4.300, .100])
cylinder(h = 0.500, r = .730);
translate([4.000, 4.300, .100])
cylinder(h = 0.500, r = .730);
translate([5.500, 4.300, .100])
cylinder(h = 0.500, r = .730);
//10mL bottle hole walls
translate([2.500, .640, .100])
cylinder(h = 0.500, r = .461);
translate([3.500, .640, .100])
cylinder(h = 0.500, r = .461);
translate([4.500, .640, .100])
cylinder(h = 0.500, r = .461);
translate([5.500, .640, .100])
cylinder(h = 0.500, r = .461);
//30mL glass bottle hole walls
translate([7.220, 2.70, .100])
cylinder(h = 0.500, r = .690);
translate([7.220, 4.300, .100])
cylinder(h = 0.500, r = .690);
//30mL plastic bottle hole walls
translate([.800, 4.300, .100])
cylinder(h = 0.500, r = .645);
translate([.800, 2.700, .100])
cylinder(h = 0.500, r = .645);
//285 hole walls
translate([1.56, 3.500, .100])
cylinder(h = 0.500, r = .325);
translate([6.430, 3.500, .100])
cylinder(h = 0.500, r = .325);
}
union()
{
//4 battery holes
translate([.600, .600, .100])
cylinder(h = 2.000, r = .375);
translate([1.500, .600, .100])
cylinder(h = 2.000, r = .375);
translate([.600, 1.500, .100])
cylinder(h = 2.000, r = .375);
translate([1.500, 1.500, .100])
cylinder(h = 2.000, r = .375);
//4 vape holes
translate([2.500, 1.600, .100])
cylinder(h = 2.000, r = .440);
translate([3.500, 1.600, .100])
cylinder(h = 2.000, r = .440);
translate([4.500, 1.600, .100])
cylinder(h = 2.000, r = .440);
translate([5.500, 1.600, .100])
cylinder(h = 2.000, r = .440);
//4 battery holes
translate([6.500, .600, .100])
cylinder(h = 2.000, r = .375);
translate([7.500, .600, .100])
cylinder(h = 2.000, r = .375);
translate([6.500, 1.500, .100])
cylinder(h = 2.000, r = .375);
translate([7.500, 1.500, .100])
cylinder(h = 2.000, r = .375);
//6 60mL bottle holes
translate([2.500, 2.800, .100])
cylinder(h = 2.000, r = .690);
translate([4.000, 2.800, .100])
cylinder(h = 2.000, r = .690);
translate([5.500, 2.800, .100])
cylinder(h = 2.000, r = .690);
translate([2.500, 4.300, .100])
cylinder(h = 2.000, r = .690);
translate([4.000, 4.300, .100])
cylinder(h = 2.000, r = .690);
translate([5.500, 4.300, .100])
cylinder(h = 2.000, r = .690);
//10mL bottle holes
translate([2.500, .640, .100])
cylinder(h = 2.000, r = .421);
translate([3.500, .640, .100])
cylinder(h = 2.000, r = .421);
translate([4.500, .640, .100])
cylinder(h = 2.000, r = .421);
translate([5.500, .640, .100])
cylinder(h = 2.000, r = .421);
//30mL glass bottle holes
translate([7.220, 2.70, .100])
cylinder(h = 2.000, r = .657);
translate([7.220, 4.300, .100])
cylinder(h = 2.000, r = .657);
//30mL plastic bottle holes
translate([.800, 4.300, .100])
cylinder(h = 2.000, r = .610);
translate([.800, 2.700, .100])
cylinder(h = 2.000, r = .610);
//285
translate([1.56, 3.500, .100])
cylinder(h = 2.000, r = .285);
translate([6.430, 3.500, .100])
cylinder(h = 2.000, r = .285);
//bevels
translate([-.1, -0.22, 0.38])
rotate(45, [1, 0, 0])
cube([8.500,.5,.5]);
translate([0, 5.3, 0.5])
rotate(45, [1, 0, 0])
cube([8.200,.5,.5]);
translate([-.6, -.1, 0.707])
rotate(45, [0, 1, 0])
cube([0.50,6.5,.5]);
translate([8.1, -.1, 0.7])
rotate(45, [0, 1, 0])
cube([0.50,6.5,.5]);
}
}