group() {
	projection(cut = false, convexity = 0);
	projection(cut = false, convexity = 0);
	projection(cut = false, convexity = 0) {
		square(size = [1, 1], center = false);
	}
	projection(cut = false, convexity = 0) {
		cube(size = [10, 10, 10], center = false);
	}
	multmatrix([[1, 0, 0, -12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
		projection(cut = false, convexity = 0) {
			cube(size = [10, 10, 10], center = false);
			difference() {
				sphere($fn = 0, $fa = 12, $fs = 2, r = 10);
				cylinder($fn = 0, $fa = 12, $fs = 2, h = 30, r1 = 5, r2 = 5, center = true);
			}
		}
	}
	multmatrix([[1, 0, 0, 6], [0, 1, 0, -12], [0, 0, 1, 0], [0, 0, 0, 1]]) {
		projection(cut = false, convexity = 0) {
			cube(size = [10, 10, 10], center = false);
			difference() {
				sphere($fn = 0, $fa = 12, $fs = 2, r = 10);
				cylinder($fn = 0, $fa = 12, $fs = 2, h = 30, r1 = 5, r2 = 5, center = true);
			}
		}
	}
}
