group() { multmatrix([[1, 0, 0, -25], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { minkowski(convexity = 0) { difference() { square(size = [10, 10], center = false); multmatrix([[1, 0, 0, 2], [0, 1, 0, 2], [0, 0, 1, 0], [0, 0, 0, 1]]) { square(size = [6, 6], center = false); } } circle($fn = 0, $fa = 12, $fs = 1, r = 2); } } } multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { minkowski(convexity = 0) { difference() { square(size = [10, 10], center = false); square(size = [5, 5], center = false); } circle($fn = 0, $fa = 12, $fs = 1, r = 5); } } } multmatrix([[1, 0, 0, 25], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { minkowski(convexity = 0) { square(size = [10, 10], center = false); circle($fn = 0, $fa = 12, $fs = 1, r = 5); } } } multmatrix([[1, 0, 0, -25], [0, 1, 0, 25], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { minkowski(convexity = 0) { difference() { cube(size = [10, 10, 5], center = false); multmatrix([[1, 0, 0, 2], [0, 1, 0, 2], [0, 0, 1, -2], [0, 0, 0, 1]]) { cube(size = [6, 6, 10], center = false); } } cylinder($fn = 0, $fa = 12, $fs = 1, h = 1, r1 = 2, r2 = 2, center = false); } } } multmatrix([[1, 0, 0, 0], [0, 1, 0, 25], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { minkowski(convexity = 0) { difference() { cube(size = [10, 10, 5], center = false); cube(size = [5, 5, 5], center = false); } cylinder($fn = 0, $fa = 12, $fs = 1, h = 5, r1 = 5, r2 = 5, center = false); } } } multmatrix([[1, 0, 0, 25], [0, 1, 0, 25], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { minkowski(convexity = 0) { cube(size = [10, 10, 5], center = false); cylinder($fn = 0, $fa = 12, $fs = 1, h = 5, r1 = 5, r2 = 5, center = false); } } } }