difference() {
        polyhedron(
            points=[ [10,10,0], [10,-10,0], [-10,-10,0], [-10,10,0], [0,0,10] ],
            faces=[ [0,1,4], [1,2,4], [2,3,4], [3,0,4], [1,0,3], [2,1,3] ]
        );
       
        translate ([0,0,5]) rotate ([0, 90, 0])cylinder(h=100, r=3, center=true, $fn=100);
    }
   difference() {
        translate([0, 0, 10]) 
            rotate([0, 180, 0]) 
                polyhedron(
                    points=[ [10,10,0], [10,-10,0], [-10,-10,0], [-10,10,0], [0,0,10] ],
                    faces=[ [0,1,4], [1,2,4], [2,3,4], [3,0,4], [1,0,3], [2,1,3] ]
                );
       
        rotate ([0, 90, 0])cylinder(h=100, r=5, center=true, $fn=100);
    }

   
    difference() {
        translate([0, 0, 2])
            cube(30, true);
        translate([0, 0, 2])
            cube([20, 20, 31], true);
        translate([0, 0, 2])
            cube([20, 31, 20], true);
        translate([0, 0, 2])
            cube([31, 20, 28], true);
    }
    difference() {
        translate ([0, -18, 3.5])rotate ([40,0,0]) translate([0, 0, 2])
            cube(30, true);
         translate ([0, -18, 3.5])rotate ([40,0,0]) translate([0, 0, 2])
            cube([25, 25, 31], true);
         translate ([0, -18, 3.5])rotate ([40,0,0]) translate([0, 0, 2])
            cube([25, 31, 25], true);
         translate ([0, -18, 3.5]) rotate ([40,0,0]) translate([0, 0, 2])
            cube([31, 25, 25], true);
  }