group() { intersection() { difference() { union() { cube(size = [30, 30, 30], center = true); multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -25], [0, 0, 0, 1]]) { cube(size = [15, 15, 50], center = true); } } union() { cube(size = [50, 10, 10], center = true); cube(size = [10, 50, 10], center = true); cube(size = [10, 10, 50], center = true); } } multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 5], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 12, $fs = 2, h = 50, r1 = 20, r2 = 5, center = true); } } }