1multmatrix([[1, 0, 0, -20], [0, 1, 0, 5], [0, 0, 1, 0], [0, 0, 0, 1]]) { 2 group() { 3 minkowski(convexity = 0) { 4 difference() { 5 square(size = [10, 10], center = true); 6 square(size = [8, 8], center = true); 7 } 8 circle($fn = 0, $fa = 12, $fs = 2, r = 2); 9 } 10 } 11} 12multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { 13 group() { 14 minkowski(convexity = 0) { 15 difference() { 16 square(size = [10, 10], center = false); 17 square(size = [5, 5], center = false); 18 } 19 circle($fn = 0, $fa = 12, $fs = 2, r = 5); 20 } 21 } 22} 23multmatrix([[1, 0, 0, 25], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { 24 group() { 25 minkowski(convexity = 0) { 26 square(size = [10, 10], center = false); 27 circle($fn = 0, $fa = 12, $fs = 2, r = 5); 28 } 29 } 30} 31multmatrix([[1, 0, 0, 0], [0, 1, 0, -20], [0, 0, 1, 0], [0, 0, 0, 1]]) { 32 minkowski(convexity = 0) { 33 square(size = [10, 10], center = false); 34 } 35} 36multmatrix([[1, 0, 0, -20], [0, 1, 0, -20], [0, 0, 1, 0], [0, 0, 0, 1]]) { 37 minkowski(convexity = 0) { 38 square(size = [10, 10], center = false); 39 square(size = [2, 2], center = true); 40 circle($fn = 0, $fa = 12, $fs = 2, r = 1); 41 } 42} 43multmatrix([[1, 0, 0, -5], [0, 1, 0, -45], [0, 0, 1, 0], [0, 0, 0, 1]]) { 44 multmatrix([[4, 0, 0, 0], [0, 4, 0, 0], [0, 0, 4, 0], [0, 0, 0, 1]]) { 45 group() { 46 group() { 47 render(convexity = 1) { 48 difference() { 49 square(size = [1e+06, 1e+06], center = true); 50 minkowski(convexity = 0) { 51 circle($fn = 0, $fa = 12, $fs = 2, r = 0.3); 52 group() { 53 render(convexity = 1) { 54 difference() { 55 square(size = [1e+06, 1e+06], center = true); 56 minkowski(convexity = 0) { 57 circle($fn = 0, $fa = 12, $fs = 2, r = 0.4); 58 circle($fn = 0, $fa = 12, $fs = 2, r = 4); 59 } 60 } 61 } 62 } 63 } 64 } 65 } 66 } 67 } 68 } 69} 70multmatrix([[1, 0, 0, 30], [0, 1, 0, -30], [0, 0, 1, 0], [0, 0, 0, 1]]) { 71 multmatrix([[4, 0, 0, 0], [0, 4, 0, 0], [0, 0, 4, 0], [0, 0, 0, 1]]) { 72 group() { 73 group() { 74 render(convexity = 1) { 75 difference() { 76 square(size = [1e+06, 1e+06], center = true); 77 minkowski(convexity = 0) { 78 circle($fn = 0, $fa = 12, $fs = 2, r = 0.3); 79 group() { 80 render(convexity = 1) { 81 difference() { 82 square(size = [1e+06, 1e+06], center = true); 83 minkowski(convexity = 0) { 84 difference() { 85 circle($fn = 0, $fa = 12, $fs = 2, r = 0.4); 86 circle($fn = 0, $fa = 12, $fs = 2, r = 0.399); 87 } 88 circle($fn = 0, $fa = 12, $fs = 2, r = 4); 89 } 90 } 91 } 92 } 93 } 94 } 95 } 96 } 97 } 98 } 99} 100multmatrix([[1, 0, 0, 30], [0, 1, 0, -45], [0, 0, 1, 0], [0, 0, 0, 1]]) { 101 minkowski(convexity = 0) { 102 circle($fn = 0, $fa = 12, $fs = 2, r = 1); 103 circle($fn = 0, $fa = 12, $fs = 2, r = 0); 104 } 105} 106multmatrix([[1, 0, 0, 30], [0, 1, 0, 30], [0, 0, 1, 0], [0, 0, 0, 1]]) { 107 minkowski(convexity = 0) { 108 circle($fn = 0, $fa = 12, $fs = 2, r = 0); 109 circle($fn = 0, $fa = 12, $fs = 2, r = 5); 110 } 111} 112multmatrix([[1, 0, 0, -30], [0, 1, 0, 30], [0, 0, 1, 0], [0, 0, 0, 1]]) { 113 minkowski(convexity = 0) { 114 circle($fn = 0, $fa = 12, $fs = 2, r = 0); 115 } 116} 117 118