group() { multmatrix([[1, 0, 0, -30], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { linear_extrude(height = 0.5, center = true, convexity = 1, $fn = 0, $fa = 12, $fs = 1) { projection(cut = false, convexity = 0) { group() { difference() { sphere($fn = 0, $fa = 30, $fs = 1, r = 25); cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); multmatrix([[1, 0, 0, 0], [0, 6.12323e-17, -1, 0], [0, 1, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } multmatrix([[6.12323e-17, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } } } } } group() { difference() { sphere($fn = 0, $fa = 30, $fs = 1, r = 25); cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); multmatrix([[1, 0, 0, 0], [0, 6.12323e-17, -1, 0], [0, 1, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } multmatrix([[6.12323e-17, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } } } } } multmatrix([[1, 0, 0, 30], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { group() { multmatrix([[0.933013, 0.0669873, -0.353553, 0], [0.0669873, 0.933013, 0.353553, 0], [0.353553, -0.353553, 0.866025, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 20], [0, 0, 0, 1]]) { linear_extrude(height = 0.5, center = true, convexity = 1, $fn = 0, $fa = 12, $fs = 1) { projection(cut = true, convexity = 0) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -20], [0, 0, 0, 1]]) { multmatrix([[0.933013, 0.0669873, 0.353553, 0], [0.0669873, 0.933013, -0.353553, 0], [-0.353553, 0.353553, 0.866025, 0], [0, 0, 0, 1]]) { group() { difference() { sphere($fn = 0, $fa = 30, $fs = 1, r = 25); cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); multmatrix([[1, 0, 0, 0], [0, 6.12323e-17, -1, 0], [0, 1, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } multmatrix([[6.12323e-17, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } } } } } } } } } multmatrix([[0.933013, 0.0669873, -0.353553, 0], [0.0669873, 0.933013, 0.353553, 0], [0.353553, -0.353553, 0.866025, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 15], [0, 0, 0, 1]]) { linear_extrude(height = 0.5, center = true, convexity = 1, $fn = 0, $fa = 12, $fs = 1) { projection(cut = true, convexity = 0) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -15], [0, 0, 0, 1]]) { multmatrix([[0.933013, 0.0669873, 0.353553, 0], [0.0669873, 0.933013, -0.353553, 0], [-0.353553, 0.353553, 0.866025, 0], [0, 0, 0, 1]]) { group() { difference() { sphere($fn = 0, $fa = 30, $fs = 1, r = 25); cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); multmatrix([[1, 0, 0, 0], [0, 6.12323e-17, -1, 0], [0, 1, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } multmatrix([[6.12323e-17, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } } } } } } } } } multmatrix([[0.933013, 0.0669873, -0.353553, 0], [0.0669873, 0.933013, 0.353553, 0], [0.353553, -0.353553, 0.866025, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 10], [0, 0, 0, 1]]) { linear_extrude(height = 0.5, center = true, convexity = 1, $fn = 0, $fa = 12, $fs = 1) { projection(cut = true, convexity = 0) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -10], [0, 0, 0, 1]]) { multmatrix([[0.933013, 0.0669873, 0.353553, 0], [0.0669873, 0.933013, -0.353553, 0], [-0.353553, 0.353553, 0.866025, 0], [0, 0, 0, 1]]) { group() { difference() { sphere($fn = 0, $fa = 30, $fs = 1, r = 25); cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); multmatrix([[1, 0, 0, 0], [0, 6.12323e-17, -1, 0], [0, 1, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } multmatrix([[6.12323e-17, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } } } } } } } } } multmatrix([[0.933013, 0.0669873, -0.353553, 0], [0.0669873, 0.933013, 0.353553, 0], [0.353553, -0.353553, 0.866025, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 5], [0, 0, 0, 1]]) { linear_extrude(height = 0.5, center = true, convexity = 1, $fn = 0, $fa = 12, $fs = 1) { projection(cut = true, convexity = 0) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -5], [0, 0, 0, 1]]) { multmatrix([[0.933013, 0.0669873, 0.353553, 0], [0.0669873, 0.933013, -0.353553, 0], [-0.353553, 0.353553, 0.866025, 0], [0, 0, 0, 1]]) { group() { difference() { sphere($fn = 0, $fa = 30, $fs = 1, r = 25); cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); multmatrix([[1, 0, 0, 0], [0, 6.12323e-17, -1, 0], [0, 1, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } multmatrix([[6.12323e-17, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } } } } } } } } } multmatrix([[0.933013, 0.0669873, -0.353553, 0], [0.0669873, 0.933013, 0.353553, 0], [0.353553, -0.353553, 0.866025, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { linear_extrude(height = 0.5, center = true, convexity = 1, $fn = 0, $fa = 12, $fs = 1) { projection(cut = true, convexity = 0) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { multmatrix([[0.933013, 0.0669873, 0.353553, 0], [0.0669873, 0.933013, -0.353553, 0], [-0.353553, 0.353553, 0.866025, 0], [0, 0, 0, 1]]) { group() { difference() { sphere($fn = 0, $fa = 30, $fs = 1, r = 25); cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); multmatrix([[1, 0, 0, 0], [0, 6.12323e-17, -1, 0], [0, 1, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } multmatrix([[6.12323e-17, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } } } } } } } } } multmatrix([[0.933013, 0.0669873, -0.353553, 0], [0.0669873, 0.933013, 0.353553, 0], [0.353553, -0.353553, 0.866025, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -5], [0, 0, 0, 1]]) { linear_extrude(height = 0.5, center = true, convexity = 1, $fn = 0, $fa = 12, $fs = 1) { projection(cut = true, convexity = 0) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 5], [0, 0, 0, 1]]) { multmatrix([[0.933013, 0.0669873, 0.353553, 0], [0.0669873, 0.933013, -0.353553, 0], [-0.353553, 0.353553, 0.866025, 0], [0, 0, 0, 1]]) { group() { difference() { sphere($fn = 0, $fa = 30, $fs = 1, r = 25); cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); multmatrix([[1, 0, 0, 0], [0, 6.12323e-17, -1, 0], [0, 1, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } multmatrix([[6.12323e-17, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } } } } } } } } } multmatrix([[0.933013, 0.0669873, -0.353553, 0], [0.0669873, 0.933013, 0.353553, 0], [0.353553, -0.353553, 0.866025, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -10], [0, 0, 0, 1]]) { linear_extrude(height = 0.5, center = true, convexity = 1, $fn = 0, $fa = 12, $fs = 1) { projection(cut = true, convexity = 0) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 10], [0, 0, 0, 1]]) { multmatrix([[0.933013, 0.0669873, 0.353553, 0], [0.0669873, 0.933013, -0.353553, 0], [-0.353553, 0.353553, 0.866025, 0], [0, 0, 0, 1]]) { group() { difference() { sphere($fn = 0, $fa = 30, $fs = 1, r = 25); cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); multmatrix([[1, 0, 0, 0], [0, 6.12323e-17, -1, 0], [0, 1, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } multmatrix([[6.12323e-17, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } } } } } } } } } multmatrix([[0.933013, 0.0669873, -0.353553, 0], [0.0669873, 0.933013, 0.353553, 0], [0.353553, -0.353553, 0.866025, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -15], [0, 0, 0, 1]]) { linear_extrude(height = 0.5, center = true, convexity = 1, $fn = 0, $fa = 12, $fs = 1) { projection(cut = true, convexity = 0) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 15], [0, 0, 0, 1]]) { multmatrix([[0.933013, 0.0669873, 0.353553, 0], [0.0669873, 0.933013, -0.353553, 0], [-0.353553, 0.353553, 0.866025, 0], [0, 0, 0, 1]]) { group() { difference() { sphere($fn = 0, $fa = 30, $fs = 1, r = 25); cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); multmatrix([[1, 0, 0, 0], [0, 6.12323e-17, -1, 0], [0, 1, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } multmatrix([[6.12323e-17, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } } } } } } } } } multmatrix([[0.933013, 0.0669873, -0.353553, 0], [0.0669873, 0.933013, 0.353553, 0], [0.353553, -0.353553, 0.866025, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -20], [0, 0, 0, 1]]) { linear_extrude(height = 0.5, center = true, convexity = 1, $fn = 0, $fa = 12, $fs = 1) { projection(cut = true, convexity = 0) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 20], [0, 0, 0, 1]]) { multmatrix([[0.933013, 0.0669873, 0.353553, 0], [0.0669873, 0.933013, -0.353553, 0], [-0.353553, 0.353553, 0.866025, 0], [0, 0, 0, 1]]) { group() { difference() { sphere($fn = 0, $fa = 30, $fs = 1, r = 25); cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); multmatrix([[1, 0, 0, 0], [0, 6.12323e-17, -1, 0], [0, 1, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } multmatrix([[6.12323e-17, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } } } } } } } } } } group() { difference() { sphere($fn = 0, $fa = 30, $fs = 1, r = 25); cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); multmatrix([[1, 0, 0, 0], [0, 6.12323e-17, -1, 0], [0, 1, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } multmatrix([[6.12323e-17, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 6.12323e-17, 0], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 30, $fs = 1, h = 62.5, r1 = 12.5, r2 = 6.25, center = true); } } } } } }