1hull();
2hull();
3multmatrix([[1, 0, 0, 25], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
4	hull() {
5		group() {
6			hull() {
7				cylinder($fn = 0, $fa = 12, $fs = 2, h = 1, r1 = 10, r2 = 10, center = false);
8				multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 10], [0, 0, 0, 1]]) {
9					cube(size = [5, 5, 5], center = true);
10				}
11			}
12		}
13	}
14}
15group() {
16	hull() {
17		cylinder($fn = 0, $fa = 12, $fs = 2, h = 1, r1 = 10, r2 = 10, center = false);
18		multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 10], [0, 0, 0, 1]]) {
19			cube(size = [5, 5, 5], center = true);
20		}
21	}
22}
23multmatrix([[1, 0, 0, 50], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
24	hull() {
25		multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 10], [0, 0, 0, 1]]) {
26			cylinder($fn = 0, $fa = 12, $fs = 2, h = 1, r1 = 3, r2 = 3, center = false);
27		}
28		difference() {
29			cylinder($fn = 0, $fa = 12, $fs = 2, h = 4, r1 = 10, r2 = 10, center = true);
30			cylinder($fn = 0, $fa = 12, $fs = 2, h = 5, r1 = 5, r2 = 5, center = true);
31		}
32	}
33}
34multmatrix([[1, 0, 0, -5], [0, 1, 0, -5], [0, 0, 1, -5], [0, 0, 0, 1]]) {
35	hull() {
36		intersection() {
37			cube(size = [1, 1, 1], center = false);
38			multmatrix([[1, 0, 0, -1], [0, 1, 0, -1], [0, 0, 1, -1], [0, 0, 0, 1]]) {
39				cube(size = [1, 1, 1], center = false);
40			}
41		}
42	}
43}
44group() {
45	hull() {
46		cube(size = [0, 0, 0], center = false);
47		sphere($fn = 0, $fa = 12, $fs = 2, r = 0);
48	}
49}
50