+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) ];
+ Posts([ stride * [ (i % nrows),
+ floor(i / nrows) ] ]);
+ }
+ }
+ }
+}
+