group() { group() { group() { group() { group() { multmatrix([[1, 0, 0, 10], [0, 1, 0, 96], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { group() { group() { group(); multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { render(convexity = 1) { difference() { linear_extrude(height = 16, center = false, convexity = 1, scale = [1, 1], $fn = 50, $fa = 12, $fs = 2) { group() { difference() { group() { render(convexity = 1) { difference() { group() { render(convexity = 1) { difference() { square(size = [390, 440], center = false); group() { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 440], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[2.22045e-16, 1, 0, 0], [-1, 2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } } } group() { multmatrix([[1, 0, 0, 390], [0, 1, 0, 440], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[-1, 1.22465e-16, 0, 0], [-1.22465e-16, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } } } group() { multmatrix([[1, 0, 0, 390], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[-2.22045e-16, -1, 0, 0], [1, -2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } } } } } } multmatrix([[1, 0, 0, 82], [0, 1, 0, 40], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [226, 360], center = false); group() { group() { render(convexity = 1) { difference() { square(size = [30, 30], center = false); multmatrix([[1, 0, 0, 30], [0, 1, 0, 30], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 30); } } } } } group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 360], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[2.22045e-16, 1, 0, 0], [-1, 2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [30, 30], center = false); multmatrix([[1, 0, 0, 30], [0, 1, 0, 30], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 30); } } } } } } } group() { multmatrix([[1, 0, 0, 226], [0, 1, 0, 360], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[-1, 1.22465e-16, 0, 0], [-1.22465e-16, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [30, 30], center = false); multmatrix([[1, 0, 0, 30], [0, 1, 0, 30], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 30); } } } } } } } group() { multmatrix([[1, 0, 0, 226], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[-2.22045e-16, -1, 0, 0], [1, -2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [30, 30], center = false); multmatrix([[1, 0, 0, 30], [0, 1, 0, 30], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 30); } } } } } } } } } } } } } multmatrix([[1, 0, 0, 170], [0, 1, 0, 400], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { union() { group() { render(convexity = 1) { difference() { square(size = [50, 36], center = false); group(); group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 36], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[2.22045e-16, 1, 0, 0], [-1, 2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [5, 5], center = false); multmatrix([[1, 0, 0, 5], [0, 1, 0, 5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5); } } } } } } } group() { multmatrix([[1, 0, 0, 50], [0, 1, 0, 36], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[-1, 1.22465e-16, 0, 0], [-1.22465e-16, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [5, 5], center = false); multmatrix([[1, 0, 0, 5], [0, 1, 0, 5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5); } } } } } } } group(); } } } multmatrix([[1, 0, 0, 50], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } multmatrix([[-1, 0, 1.22465e-16, 0], [0, 1, 0, 0], [-1.22465e-16, 0, -1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } } } } } } multmatrix([[1, 0, 0, 173], [0, 1, 0, 40], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { union() { group() { render(convexity = 1) { difference() { square(size = [44, 24], center = false); group(); group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 24], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[2.22045e-16, 1, 0, 0], [-1, 2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [5, 5], center = false); multmatrix([[1, 0, 0, 5], [0, 1, 0, 5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5); } } } } } } } group() { multmatrix([[1, 0, 0, 44], [0, 1, 0, 24], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[-1, 1.22465e-16, 0, 0], [-1.22465e-16, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [5, 5], center = false); multmatrix([[1, 0, 0, 5], [0, 1, 0, 5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5); } } } } } } } group(); } } } multmatrix([[1, 0, 0, 44], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } multmatrix([[-1, 0, 1.22465e-16, 0], [0, 1, 0, 0], [-1.22465e-16, 0, -1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } } } } } group() { multmatrix([[1, 0, 0, 82], [0, 1, 0, 358], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[2.22045e-16, 1, 0, 0], [-1, 2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { union() { group() { render(convexity = 1) { difference() { square(size = [16.4, 25], center = false); group(); group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 25], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[2.22045e-16, 1, 0, 0], [-1, 2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [8.2, 8.2], center = false); multmatrix([[1, 0, 0, 8.2], [0, 1, 0, 8.2], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 8.2); } } } } } } } group() { multmatrix([[1, 0, 0, 16.4], [0, 1, 0, 25], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[-1, 1.22465e-16, 0, 0], [-1.22465e-16, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [8.2, 8.2], center = false); multmatrix([[1, 0, 0, 8.2], [0, 1, 0, 8.2], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 8.2); } } } } } } } group(); } } } multmatrix([[1, 0, 0, 16.4], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } multmatrix([[-1, 0, 1.22465e-16, 0], [0, 1, 0, 0], [-1.22465e-16, 0, -1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } } } } } } } } group() { group() { multmatrix([[1, 0, 0, 22], [0, 1, 0, 357], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [16, 20], center = false); group() { multmatrix([[1, 0, 0, 8], [0, 1, 0, -20], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 2); } multmatrix([[1, 0, 0, 8], [0, 1, 0, 40], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 2); } } } multmatrix([[1, 0, 0, 352], [0, 1, 0, 357], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [16, 20], center = false); group() { multmatrix([[1, 0, 0, 8], [0, 1, 0, -20], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 2); } multmatrix([[1, 0, 0, 8], [0, 1, 0, 40], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 2); } } } } group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 413.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { multmatrix([[1, 0, 0, 40], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [20, 16], center = false); } multmatrix([[1, 0, 0, 185], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [20, 16], center = false); } multmatrix([[1, 0, 0, 330], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [20, 16], center = false); } multmatrix([[1, 0, 0, 112.5], [0, 1, 0, 8], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 2); } multmatrix([[1, 0, 0, 277.5], [0, 1, 0, 8], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 2); } } } multmatrix([[1, 0, 0, 0], [0, 1, 0, 10.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { multmatrix([[1, 0, 0, 40], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [20, 16], center = false); } multmatrix([[1, 0, 0, 185], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [20, 16], center = false); } multmatrix([[1, 0, 0, 330], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [20, 16], center = false); } multmatrix([[1, 0, 0, 112.5], [0, 1, 0, 8], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 2); } multmatrix([[1, 0, 0, 277.5], [0, 1, 0, 8], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 2); } } } } group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 286], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [40, 16], center = false); } multmatrix([[1, 0, 0, 350], [0, 1, 0, 286], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [40, 16], center = false); } } group() { multmatrix([[1, 0, 0, 82], [0, 1, 0, 358], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 7], [0, 1, 0, -8.2], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 16.5], [0, 1, 0, -8.2], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } } group() { multmatrix([[1, 0, 0, 14.5], [0, 1, 0, 241.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group() { multmatrix([[1, 0, 0, -17], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 4); } } group(); } } } multmatrix([[1, 0, 0, 344.5], [0, 1, 0, 241.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group() { multmatrix([[1, 0, 0, 17], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 4); } } } } } } group() { multmatrix([[1, 0, 0, 179.5], [0, 1, 0, 372.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } group() { render(convexity = 1) { multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { multmatrix([[-0.999848, 0.0174524, 0, 0], [-0.0174524, -0.999848, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.999391, 0.0348995, 0, 0], [-0.0348995, -0.999391, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.99863, 0.052336, 0, 0], [-0.052336, -0.99863, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.997564, 0.0697565, 0, 0], [-0.0697565, -0.997564, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.996195, 0.0871557, 0, 0], [-0.0871557, -0.996195, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.994522, 0.104528, 0, 0], [-0.104528, -0.994522, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.992546, 0.121869, 0, 0], [-0.121869, -0.992546, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.990268, 0.139173, 0, 0], [-0.139173, -0.990268, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } } } } } } } group() { multmatrix([[1, 0, 0, 195], [0, 1, 0, 52], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 2.5); } } group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 20], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 136], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { multmatrix([[1, 0, 0, -4], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 12], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } } multmatrix([[1, 0, 0, 246], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { multmatrix([[1, 0, 0, -4], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 12], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } } } multmatrix([[1, 0, 0, 0], [0, 1, 0, 400], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 136], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { multmatrix([[1, 0, 0, -4], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 12], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } } multmatrix([[1, 0, 0, 246], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { multmatrix([[1, 0, 0, -4], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 12], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } } } } } } } } multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 10], [0, 0, 0, 1]]) { linear_extrude(height = 6, center = false, convexity = 1, scale = [1, 1], $fn = 50, $fa = 12, $fs = 2) { group() { color([0.254902, 0.411765, 0.882353, 1]) { difference() { group() { multmatrix([[1, 0, 0, 82], [0, 1, 0, 358], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[2.22045e-16, 1, 0, 0], [-1, 2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { union() { group() { render(convexity = 1) { difference() { square(size = [16.4, 25], center = false); group(); group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 25], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[2.22045e-16, 1, 0, 0], [-1, 2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [8.2, 8.2], center = false); multmatrix([[1, 0, 0, 8.2], [0, 1, 0, 8.2], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 8.2); } } } } } } } group() { multmatrix([[1, 0, 0, 16.4], [0, 1, 0, 25], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[-1, 1.22465e-16, 0, 0], [-1.22465e-16, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [8.2, 8.2], center = false); multmatrix([[1, 0, 0, 8.2], [0, 1, 0, 8.2], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 8.2); } } } } } } } group(); } } } multmatrix([[1, 0, 0, 16.4], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } multmatrix([[-1, 0, 1.22465e-16, 0], [0, 1, 0, 0], [-1.22465e-16, 0, -1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } } } } } } } group() { group() { multmatrix([[1, 0, 0, 82], [0, 1, 0, 358], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 7], [0, 1, 0, -8.2], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 16.5], [0, 1, 0, -8.2], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } } } } difference() { group() { render(convexity = 1) { difference() { multmatrix([[1, 0, 0, 183], [0, 1, 0, 64], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { union() { group() { render(convexity = 1) { difference() { square(size = [24, 24], center = false); group(); group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 24], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[2.22045e-16, 1, 0, 0], [-1, 2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [12, 12], center = false); multmatrix([[1, 0, 0, 12], [0, 1, 0, 12], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); } } } } } } } group() { multmatrix([[1, 0, 0, 24], [0, 1, 0, 24], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[-1, 1.22465e-16, 0, 0], [-1.22465e-16, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [12, 12], center = false); multmatrix([[1, 0, 0, 12], [0, 1, 0, 12], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); } } } } } } } group(); } } } multmatrix([[1, 0, 0, 24], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [5, 5], center = false); multmatrix([[1, 0, 0, 5], [0, 1, 0, 5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5); } } } } } multmatrix([[-1, 0, 1.22465e-16, 0], [0, 1, 0, 0], [-1.22465e-16, 0, -1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [5, 5], center = false); multmatrix([[1, 0, 0, 5], [0, 1, 0, 5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5); } } } } } } } } } } } } } group() { group() { multmatrix([[1, 0, 0, 195], [0, 1, 0, 52], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 2.5); } } } } difference() { group() { multmatrix([[1, 0, 0, 170], [0, 1, 0, 364], [0, 0, 1, 0], [0, 0, 0, 1]]) { render(convexity = 1) { difference() { group() { render(convexity = 1) { difference() { square(size = [50, 36], center = false); group() { group() { render(convexity = 1) { difference() { square(size = [5, 5], center = false); multmatrix([[1, 0, 0, 5], [0, 1, 0, 5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5); } } } } } group(); group(); group() { multmatrix([[1, 0, 0, 50], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[-2.22045e-16, -1, 0, 0], [1, -2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [5, 5], center = false); multmatrix([[1, 0, 0, 5], [0, 1, 0, 5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5); } } } } } } } } } } multmatrix([[1, 0, 0, 0], [0, 1, 0, 24.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 6.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 6.5); } multmatrix([[1, 0, 0, 43.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 6.5); } square(size = [50, 18], center = false); } } } } group() { multmatrix([[1, 0, 0, 179.5], [0, 1, 0, 372.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group(); multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } group() { render(convexity = 1) { multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { multmatrix([[-0.999848, 0.0174524, 0, 0], [-0.0174524, -0.999848, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group(); multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.999391, 0.0348995, 0, 0], [-0.0348995, -0.999391, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group(); multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.99863, 0.052336, 0, 0], [-0.052336, -0.99863, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group(); multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.997564, 0.0697565, 0, 0], [-0.0697565, -0.997564, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group(); multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.996195, 0.0871557, 0, 0], [-0.0871557, -0.996195, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group(); multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.994522, 0.104528, 0, 0], [-0.104528, -0.994522, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group(); multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.992546, 0.121869, 0, 0], [-0.121869, -0.992546, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group(); multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.990268, 0.139173, 0, 0], [-0.139173, -0.990268, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group(); multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } } } } } } } } group() { group() { multmatrix([[1, 0, 0, 179.5], [0, 1, 0, 372.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } group() { render(convexity = 1) { multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { multmatrix([[-0.999848, 0.0174524, 0, 0], [-0.0174524, -0.999848, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.999391, 0.0348995, 0, 0], [-0.0348995, -0.999391, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.99863, 0.052336, 0, 0], [-0.052336, -0.99863, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.997564, 0.0697565, 0, 0], [-0.0697565, -0.997564, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.996195, 0.0871557, 0, 0], [-0.0871557, -0.996195, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.994522, 0.104528, 0, 0], [-0.104528, -0.994522, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.992546, 0.121869, 0, 0], [-0.121869, -0.992546, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } multmatrix([[-0.990268, 0.139173, 0, 0], [-0.139173, -0.990268, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); multmatrix([[1, 0, 0, 31], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 31], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 0], [0, 1, 0, 31], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } multmatrix([[1, 0, 0, 15.5], [0, 1, 0, 15.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 12); group(); group(); } } } } } } } } } } } group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 20], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 136], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [8, 20], center = false); } multmatrix([[1, 0, 0, 246], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [8, 20], center = false); } } multmatrix([[1, 0, 0, 0], [0, 1, 0, 400], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 136], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [8, 20], center = false); } multmatrix([[1, 0, 0, 246], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [8, 20], center = false); } } } } } } } } } } } } } } multmatrix([[1, 0, 0, 85], [0, 1, 0, 74], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { group() { group() { group(); multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { render(convexity = 1) { difference() { linear_extrude(height = 16, center = false, convexity = 1, scale = [1, 1], $fn = 50, $fa = 12, $fs = 2) { group() { difference() { group() { multmatrix([[1, 0, 0, 11], [0, 1, 0, 11], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [198, 198], center = false); } group() { hull() { multmatrix([[1, 0, 0, 5.5], [0, 1, 0, 5.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5.5); } multmatrix([[1, 0, 0, 214.5], [0, 1, 0, 214.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5.5); } } hull() { multmatrix([[1, 0, 0, 5.5], [0, 1, 0, 214.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5.5); } multmatrix([[1, 0, 0, 214.5], [0, 1, 0, 5.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5.5); } } } group() { multmatrix([[1, 0, 0, 110], [0, 1, 0, 5.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 5.5); difference() { multmatrix([[1, 0, 0, -11], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [22, 5.5], center = false); } multmatrix([[1, 0, 0, -11], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5.5); } multmatrix([[1, 0, 0, 11], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5.5); } } } } multmatrix([[1, 0, 0, 214.5], [0, 1, 0, 110], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[2.22045e-16, -1, 0, 0], [1, 2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { circle($fn = 50, $fa = 12, $fs = 2, r = 5.5); difference() { multmatrix([[1, 0, 0, -11], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [22, 5.5], center = false); } multmatrix([[1, 0, 0, -11], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5.5); } multmatrix([[1, 0, 0, 11], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 5.5); } } } } } } } group() { group() { multmatrix([[1, 0, 0, 5.5], [0, 1, 0, 5.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 5.5], [0, 1, 0, 214.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 214.5], [0, 1, 0, 214.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 214.5], [0, 1, 0, 5.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 214.5], [0, 1, 0, 110], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 110], [0, 1, 0, 5.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 55], [0, 1, 0, 55], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { multmatrix([[1, 0, 0, 12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, -12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } } multmatrix([[1, 0, 0, 55], [0, 1, 0, 165], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { multmatrix([[1, 0, 0, 12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, -12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } } multmatrix([[1, 0, 0, 165], [0, 1, 0, 165], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { multmatrix([[1, 0, 0, 12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, -12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } } multmatrix([[1, 0, 0, 165], [0, 1, 0, 55], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { multmatrix([[1, 0, 0, 12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, -12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } } multmatrix([[1, 0, 0, 110], [0, 1, 0, 118], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 110], [0, 1, 0, 102], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 16.5], [0, 1, 0, 119], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 16.5], [0, 1, 0, 113], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 16.5], [0, 1, 0, 107], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } multmatrix([[1, 0, 0, 16.5], [0, 1, 0, 101], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 1.5); } } } group() { multmatrix([[1, 0, 0, 22], [0, 1, 0, 22], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, 1, 0, -10], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { minkowski(convexity = 0) { circle($fn = 50, $fa = 12, $fs = 2, r = 5.5); offset(r = -15.5, $fn = 50, $fa = 12, $fs = 2) { polygon(points = [[0, 0], [176, 0], [88, 88]], paths = [[0, 1, 2]], convexity = 1); } } } } multmatrix([[1, 0, 0, -10], [0, 1, 0, 176], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[-2.22045e-16, 1, 0, 0], [-1, -2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { minkowski(convexity = 0) { circle($fn = 50, $fa = 12, $fs = 2, r = 5.5); offset(r = -15.5, $fn = 50, $fa = 12, $fs = 2) { polygon(points = [[0, 0], [176, 0], [88, 88]], paths = [[0, 1, 2]], convexity = 1); } } } } } multmatrix([[1, 0, 0, 186], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[2.22045e-16, -1, 0, 0], [1, 2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { minkowski(convexity = 0) { circle($fn = 50, $fa = 12, $fs = 2, r = 5.5); offset(r = -15.5, $fn = 50, $fa = 12, $fs = 2) { polygon(points = [[0, 0], [176, 0], [88, 88]], paths = [[0, 1, 2]], convexity = 1); } } } } } multmatrix([[1, 0, 0, 176], [0, 1, 0, 186], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[-1, -1.22465e-16, 0, 0], [1.22465e-16, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { minkowski(convexity = 0) { circle($fn = 50, $fa = 12, $fs = 2, r = 5.5); offset(r = -15.5, $fn = 50, $fa = 12, $fs = 2) { polygon(points = [[0, 0], [176, 0], [88, 88]], paths = [[0, 1, 2]], convexity = 1); } } } } } } } } } } multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 10], [0, 0, 0, 1]]) { linear_extrude(height = 6, center = false, convexity = 1, scale = [1, 1], $fn = 50, $fa = 12, $fs = 2) { group() { multmatrix([[1, 0, 0, 5.5], [0, 1, 0, 5.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 17.5); } multmatrix([[1, 0, 0, 5.5], [0, 1, 0, 214.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 17.5); } multmatrix([[1, 0, 0, 214.5], [0, 1, 0, 214.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 17.5); } multmatrix([[1, 0, 0, 214.5], [0, 1, 0, 5.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 17.5); } multmatrix([[1, 0, 0, 214.5], [0, 1, 0, 110], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } multmatrix([[1, 0, 0, 110], [0, 1, 0, 5.5], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } } } } } } } } } multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { group() { group() { group() { linear_extrude(height = 16, center = false, convexity = 1, scale = [1, 1], $fn = 50, $fa = 12, $fs = 2) { group() { render(convexity = 1) { difference() { group() { render(convexity = 1) { difference() { square(size = [390, 60], center = false); group() { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } group(); group(); group() { multmatrix([[1, 0, 0, 390], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[-2.22045e-16, -1, 0, 0], [1, -2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } } } } } } multmatrix([[1, 0, 0, 40], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { union() { group() { render(convexity = 1) { difference() { square(size = [310, 20], center = false); group(); group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 20], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[2.22045e-16, 1, 0, 0], [-1, 2.22045e-16, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } } } group() { multmatrix([[1, 0, 0, 310], [0, 1, 0, 20], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[-1, 1.22465e-16, 0, 0], [-1.22465e-16, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } } } group(); } } } multmatrix([[1, 0, 0, 310], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } multmatrix([[-1, 0, 1.22465e-16, 0], [0, 1, 0, 0], [-1.22465e-16, 0, -1, 0], [0, 0, 0, 1]]) { group() { render(convexity = 1) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 10], [0, 1, 0, 10], [0, 0, 1, 0], [0, 0, 0, 1]]) { circle($fn = 50, $fa = 12, $fs = 2, r = 10); } } } } } } } } } } } multmatrix([[1, 0, 0, 40], [0, 1, 0, 60], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [20, 16], center = false); } multmatrix([[1, 0, 0, 185], [0, 1, 0, 60], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [20, 16], center = false); } multmatrix([[1, 0, 0, 330], [0, 1, 0, 60], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [20, 16], center = false); } } } } } } } } } } } } } group(); }