1group() { 2 multmatrix([[1, 0, 0, -60], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { 3 group() { 4 group() { 5 difference() { 6 square(size = [20, 20], center = true); 7 square(size = [10, 10], center = true); 8 } 9 } 10 } 11 } 12} 13group() { 14 multmatrix([[1, 0, 0, -60], [0, 1, 0, 120], [0, 0, 1, 0], [0, 0, 0, 1]]) { 15 group() { 16 group() { 17 polygon(points = [[-15, 80], [15, 80], [0, -15], [-8, 60], [8, 60], [0, 5]], paths = [[0, 1, 2], [3, 4, 5]], convexity = 1); 18 } 19 } 20 } 21} 22group() { 23 multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { 24 group() { 25 offset(r = 1, $fn = 0, $fa = 12, $fs = 2) { 26 group() { 27 difference() { 28 square(size = [20, 20], center = true); 29 square(size = [10, 10], center = true); 30 } 31 } 32 } 33 } 34 } 35} 36group() { 37 multmatrix([[1, 0, 0, 0], [0, 1, 0, 60], [0, 0, 1, 0], [0, 0, 0, 1]]) { 38 group() { 39 offset(r = 5, $fn = 0, $fa = 12, $fs = 2) { 40 group() { 41 difference() { 42 square(size = [20, 20], center = true); 43 square(size = [10, 10], center = true); 44 } 45 } 46 } 47 } 48 } 49} 50group() { 51 multmatrix([[1, 0, 0, 0], [0, 1, 0, 120], [0, 0, 1, 0], [0, 0, 0, 1]]) { 52 group() { 53 offset(r = 5, $fn = 0, $fa = 12, $fs = 2) { 54 group() { 55 polygon(points = [[-15, 80], [15, 80], [0, -15], [-8, 60], [8, 60], [0, 5]], paths = [[0, 1, 2], [3, 4, 5]], convexity = 1); 56 } 57 } 58 } 59 } 60} 61group() { 62 multmatrix([[1, 0, 0, 60], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { 63 group() { 64 offset(r = 1, $fn = 0, $fa = 12, $fs = 2) { 65 group() { 66 difference() { 67 square(size = [30, 30], center = true); 68 square(size = [10, 10], center = true); 69 } 70 } 71 } 72 } 73 } 74} 75group() { 76 multmatrix([[1, 0, 0, 60], [0, 1, 0, 60], [0, 0, 1, 0], [0, 0, 0, 1]]) { 77 group() { 78 offset(r = 5, $fn = 0, $fa = 12, $fs = 2) { 79 group() { 80 difference() { 81 square(size = [30, 30], center = true); 82 square(size = [10, 10], center = true); 83 } 84 } 85 } 86 } 87 } 88} 89group() { 90 multmatrix([[1, 0, 0, 60], [0, 1, 0, 120], [0, 0, 1, 0], [0, 0, 0, 1]]) { 91 group() { 92 offset(r = 5, $fn = 0, $fa = 12, $fs = 2) { 93 group() { 94 polygon(points = [[-15, 80], [15, 80], [0, -15], [-8, 60], [8, 60], [0, 5]], paths = [[0, 1, 2], [3, 4, 5]], convexity = 1); 95 } 96 } 97 } 98 } 99} 100group() { 101 multmatrix([[1, 0, 0, 120], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { 102 group() { 103 offset(r = -5, $fn = 0, $fa = 12, $fs = 2) { 104 group() { 105 difference() { 106 square(size = [40, 40], center = true); 107 square(size = [10, 10], center = true); 108 } 109 } 110 } 111 } 112 } 113} 114group() { 115 multmatrix([[1, 0, 0, 120], [0, 1, 0, 60], [0, 0, 1, 0], [0, 0, 0, 1]]) { 116 group() { 117 offset(r = -10.01, $fn = 0, $fa = 12, $fs = 2) { 118 group() { 119 difference() { 120 square(size = [50, 50], center = true); 121 square(size = [10, 10], center = true); 122 } 123 } 124 } 125 } 126 } 127} 128group() { 129 multmatrix([[1, 0, 0, 120], [0, 1, 0, 120], [0, 0, 1, 0], [0, 0, 0, 1]]) { 130 group() { 131 offset(r = -1, $fn = 0, $fa = 12, $fs = 2) { 132 group() { 133 polygon(points = [[-15, 80], [15, 80], [0, -15], [-8, 60], [8, 60], [0, 5]], paths = [[0, 1, 2], [3, 4, 5]], convexity = 1); 134 } 135 } 136 } 137 } 138} 139group() { 140 multmatrix([[1, 0, 0, 180], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { 141 group() { 142 offset(delta = 4, chamfer = false, $fn = 0, $fa = 12, $fs = 2) { 143 group() { 144 difference() { 145 square(size = [20, 20], center = true); 146 square(size = [10, 10], center = true); 147 } 148 } 149 } 150 } 151 } 152} 153group() { 154 multmatrix([[1, 0, 0, 180], [0, 1, 0, 60], [0, 0, 1, 0], [0, 0, 0, 1]]) { 155 group() { 156 offset(delta = 1, chamfer = false, $fn = 0, $fa = 12, $fs = 2) { 157 group() { 158 difference() { 159 square(size = [20, 20], center = true); 160 square(size = [10, 10], center = true); 161 } 162 } 163 } 164 } 165 } 166} 167group() { 168 multmatrix([[1, 0, 0, 180], [0, 1, 0, 120], [0, 0, 1, 0], [0, 0, 0, 1]]) { 169 group() { 170 offset(delta = 5, chamfer = false, $fn = 0, $fa = 12, $fs = 2) { 171 group() { 172 polygon(points = [[-15, 80], [15, 80], [0, -15], [-8, 60], [8, 60], [0, 5]], paths = [[0, 1, 2], [3, 4, 5]], convexity = 1); 173 } 174 } 175 } 176 } 177} 178group() { 179 multmatrix([[1, 0, 0, 240], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { 180 group() { 181 offset(delta = -2, chamfer = false, $fn = 0, $fa = 12, $fs = 2) { 182 group() { 183 difference() { 184 square(size = [30, 30], center = true); 185 square(size = [10, 10], center = true); 186 } 187 } 188 } 189 } 190 } 191} 192group() { 193 multmatrix([[1, 0, 0, 240], [0, 1, 0, 60], [0, 0, 1, 0], [0, 0, 0, 1]]) { 194 group() { 195 offset(delta = -5, chamfer = false, $fn = 0, $fa = 12, $fs = 2) { 196 group() { 197 difference() { 198 square(size = [40, 40], center = true); 199 square(size = [10, 10], center = true); 200 } 201 } 202 } 203 } 204 } 205} 206group() { 207 multmatrix([[1, 0, 0, 240], [0, 1, 0, 120], [0, 0, 1, 0], [0, 0, 0, 1]]) { 208 group() { 209 offset(delta = -1, chamfer = false, $fn = 0, $fa = 12, $fs = 2) { 210 group() { 211 polygon(points = [[-15, 80], [15, 80], [0, -15], [-8, 60], [8, 60], [0, 5]], paths = [[0, 1, 2], [3, 4, 5]], convexity = 1); 212 } 213 } 214 } 215 } 216} 217group() { 218 multmatrix([[1, 0, 0, 300], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { 219 group() { 220 offset(delta = 4, chamfer = true, $fn = 0, $fa = 12, $fs = 2) { 221 group() { 222 difference() { 223 square(size = [20, 20], center = true); 224 square(size = [10, 10], center = true); 225 } 226 } 227 } 228 } 229 } 230} 231group() { 232 multmatrix([[1, 0, 0, 300], [0, 1, 0, 60], [0, 0, 1, 0], [0, 0, 0, 1]]) { 233 group() { 234 offset(delta = 1, chamfer = true, $fn = 0, $fa = 12, $fs = 2) { 235 group() { 236 difference() { 237 square(size = [20, 20], center = true); 238 square(size = [10, 10], center = true); 239 } 240 } 241 } 242 } 243 } 244} 245group() { 246 multmatrix([[1, 0, 0, 300], [0, 1, 0, 120], [0, 0, 1, 0], [0, 0, 0, 1]]) { 247 group() { 248 offset(delta = 5, chamfer = true, $fn = 0, $fa = 12, $fs = 2) { 249 group() { 250 polygon(points = [[-15, 80], [15, 80], [0, -15], [-8, 60], [8, 60], [0, 5]], paths = [[0, 1, 2], [3, 4, 5]], convexity = 1); 251 } 252 } 253 } 254 } 255} 256group() { 257 multmatrix([[1, 0, 0, 360], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { 258 group() { 259 offset(delta = -2, chamfer = true, $fn = 0, $fa = 12, $fs = 2) { 260 group() { 261 difference() { 262 square(size = [30, 30], center = true); 263 square(size = [10, 10], center = true); 264 } 265 } 266 } 267 } 268 } 269} 270group() { 271 multmatrix([[1, 0, 0, 360], [0, 1, 0, 60], [0, 0, 1, 0], [0, 0, 0, 1]]) { 272 group() { 273 offset(delta = -5, chamfer = true, $fn = 0, $fa = 12, $fs = 2) { 274 group() { 275 difference() { 276 square(size = [40, 40], center = true); 277 square(size = [10, 10], center = true); 278 } 279 } 280 } 281 } 282 } 283} 284group() { 285 multmatrix([[1, 0, 0, 360], [0, 1, 0, 120], [0, 0, 1, 0], [0, 0, 0, 1]]) { 286 group() { 287 offset(delta = -1, chamfer = true, $fn = 0, $fa = 12, $fs = 2) { 288 group() { 289 polygon(points = [[-15, 80], [15, 80], [0, -15], [-8, 60], [8, 60], [0, 5]], paths = [[0, 1, 2], [3, 4, 5]], convexity = 1); 290 } 291 } 292 } 293 } 294} 295group() { 296 multmatrix([[1, 0, 0, -120], [0, 1, 0, 60], [0, 0, 1, 0], [0, 0, 0, 1]]) { 297 group() { 298 multmatrix([[30, 0, 0, 0], [0, 30, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { 299 offset(r = 0.8, $fn = 0, $fa = 12, $fs = 2) { 300 square(size = [1, 1], center = false); 301 } 302 } 303 } 304 } 305} 306offset(r = 1, $fn = 0, $fa = 12, $fs = 2); 307offset(r = 1, $fn = 0, $fa = 12, $fs = 2) { 308 square(size = [0, 0], center = false); 309} 310