/* Pattern from Ak Medrese, Nigde, Turkey construction as suggested in "Pattern Papers, Issue 1" by Eric Broug (2016) https://www.academia.edu/28244436/Pattern_Papers_Issue_1_Ak_Medrese_Nigde scruss - 2016 - wtfpl */ r=50; // repeat unit size p=r/16; // thickess of lines repeat=[5,3]; // how many repeats in [x,y] module oc() { // filled 8-point star tilted 1/16 turn left // size 2r x 2r units rotate(360/16)union() { square(2*r/sqrt(2), center=true); rotate(45)square(2*r/sqrt(2), center=true); } } module oct() { // outlined 8-point star using oc() from above difference() { scale((r+p/2)/r)oc(); scale((r-p/2)/r)oc(); } } // make a trellis of these stars in a square grid // [r, r] units each axis intersection() { for (x=[0:repeat[0]]) { for (y=[0:repeat[1]]) { translate([x*r,y*r,0])oct(); } } // clip to requested size square(r*repeat); }