

hor_cub_size = 5;
hor_cub_width = 1;

cub_space = 0.2;

vert_cub_size = 4;
vert_cube_h = 6;

translate([hor_cub_size/2 + cub_space*2,0,0])  cube([hor_cub_size,vert_cube_h,hor_cub_width], center=true);
translate([-(hor_cub_size/2 + cub_space*2),0,0])  cube([hor_cub_size,vert_cube_h,hor_cub_width], center=true);

rotate([0,0,-2]) translate([0.7,0,0])
  cube([hor_cub_width,vert_cube_h,vert_cub_size],center=true);
rotate([0,0,2]) translate([-0.7,0,0])
  cube([hor_cub_width,vert_cube_h,vert_cub_size],center=true);

long_h = 20;
long_d = 2.5;

cyl_d = 10;
cyl_h = 46;
cyl_hole_d = 4;

translate([cyl_d/2 - long_d/2, long_h/2, 0]) rotate([90,0,0])
  cylinder(h=long_h, d=long_d, center=true, $fn=20);
translate([-(cyl_d/2 - long_d/2), long_h/2, 0]) rotate([90,0,0])
  cylinder(h=long_h, d=long_d, center=true, $fn=20);

slit_width = 1;
  
translate([0, long_h + cyl_h/2, 0]) rotate([90,0,0]) difference() {
  cylinder(d=cyl_d, h=cyl_h, center=true);
  cylinder(d=cyl_hole_d, h=cyl_h+0.1, center=true, $fn=20);
  translate([0,-cyl_d/2,0]) cube([slit_width,cyl_d,cyl_h+ 0.1], center=true);
}