+module PostTestPiece(){ ////toplevel
+ hole_sizes = [2.8, 3.0, 3.1, 3.134, 3.168, 3.2, 3.3, 3.5];
+ nholes = len(hole_sizes)*2;
+ nrows = 4;
+ stride = post_dia*1.5;
+ rect_sz = stride * [ nrows,
+ ceil(nholes/nrows) ];
+ corners = Rectangle_corners(-stride * 0.5 * [1,1], rect_sz);
+ difference(){
+ union(){
+ TileBase(corners[0], corners[2]);
+ RoundEdge(corners[0], corners[1]);
+ InterlockEdge(corners[3], corners[0], 0, nlobes=1);
+ for (i= [ 0: nholes-1 ]) {
+ $screw_dia = hole_sizes[ floor(i/2) ];
+ translate(stride * [ (i % nrows),
+ floor(i / nrows),
+ 0
+ ])
+ Posts([[0,0]]);
+ }
+ }
+ }
+}
+