y=10;// The Y Diemnsion fit=2.9; // The pressfit Parameter part of X Dimension width=80; // The width of the Plate part of X Dimension x0=0;//Postion for the whole plate for x y0=0;//Position for the whole plate for y kerf = 0.2; standard_piece=[ [x0 -kerf/2,y0+y-kerf/2], [x0-kerf/2 , y0+kerf/2+y*2], [fit+x0-kerf/2, kerf/2+y0+y*2], [ fit+x0-kerf/2, kerf/2+y0+y*3], [ fit+x0+width+kerf/2,kerf/2 +y0+y*3], [ fit+x0+width+kerf/2, kerf/2+y0+y*2], [ 2*fit+x0+width+kerf/2,kerf/2 +y0+y*2], [ 2*fit+x0+width+kerf/2, y-kerf/2+y0], [fit+x0+width+kerf/2, y-kerf/2+y0], [fit+x0+width+kerf/2, y0-kerf/2], [ fit+x0-kerf/2, +y0-kerf/2], [ fit+x0-kerf/2, +y+y0-kerf/2]]; fit_left=[[x0,y0+y],[x0,y0+y*2],[fit+x0,y0+y*2],[fit+x0,y+y0]]; //fit_right= num = 5 ; // Number of sockets you want to make inside this plate x = 1; // Which sockets do you want to make from left to right cutpiecex=((2*fit+width+x0)/num)*x; cutpiecey=(y0+3*y)/2; projection() difference(){ color("Magenta",0.5) linear_extrude(height = 10, center = true, convexity = 100, twist = 0,$fn = 100) { // translate([20,0, 0]) polygon(standard_piece); } linear_extrude(height = 10, center = true, convexity = 100, twist = 0,$fn = 100) { for (x =[1:5]){ num = 6 ; // Number of sockets you want to make inside this plate // Which sockets do you want to make from left to right cutpiecex=((2*fit+width+x0)/num)*x; cutpiecey=(y0+3*y)/2; cut_piece = [ [cutpiecex-(fit/2)+kerf/2,cutpiecey-(y/2)+kerf/2], [cutpiecex+(fit/2)-kerf/2,cutpiecey-(y/2)+kerf/2], [cutpiecex+(fit/2)-kerf/2,cutpiecey+(y/2)-kerf/2], [cutpiecex-(fit/2)+kerf/2,cutpiecey+(y/2)-kerf/2]]; echo (" outside ", ((2*fit+width+x0)/num)*x," ", (y0+3*y)/2 ); polygon(cut_piece); } }}