X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=sewing-table.scad.m4;h=7e4ec968c955402a927032576ee649aa69d1571f;hp=f2449a8c36fabf177ff27871d0afb0861a9ae284;hb=dd1004d78239b6916ce90c959aa0b7054e2bcb20;hpb=523dd21c85f83d100aeed8f15e3c26db7e19eb15 diff --git a/sewing-table.scad.m4 b/sewing-table.scad.m4 index f2449a8..7e4ec96 100644 --- a/sewing-table.scad.m4 +++ b/sewing-table.scad.m4 @@ -14,7 +14,7 @@ post_dia = 8; post_shorter = 1; -screw_dia = 2.2; +$screw_dia = 3.2; screw_big_dia = 3.6; screw_big_len = 4.0; @@ -151,7 +151,7 @@ module Post(){ cylinder(r= post_dia/2, h= tile_th + ply_th - post_shorter); translate([0,0, tile_th]) { cylinder(r= screw_big_dia/2, h= screw_big_len); - cylinder(r= screw_dia/2, h= ply_th, $fn=20); + cylinder(r= $screw_dia/2, h= ply_th, $fn=20); } } } @@ -483,6 +483,35 @@ module TestDemo(){ ////toplevel TestPiece2(); } +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]); + for (i= [ 0: nholes-1 ]) { + $screw_dia = hole_sizes[ floor(i/2) ]; + translate(stride * [ (nrows-1) - (i % nrows), + floor(i / nrows), + 0 + ]) { + Posts([[0,0]]); + color("blue") + mirror([0,0,1]) + translate([post_dia/2, -post_dia/2, 1]) + cube([1, post_dia * (i / nholes), tile_th]); + } + } + } + } +} + module Machine_NewRearProfile(){ // figures copied out of xfig edit boxes // best not to edit the posbox size if poss - just move it @@ -734,6 +763,16 @@ module Leg(){ ////toplevel + (!TEST ? 0.2 : -leg_midspc_dia/2), $fn=30); } + cid_shear = (leg_fin_bot_w - leg_fin_top_w)/2 / + (leg_height -leg_fin_bot_flat_z); + multmatrix([[ 1, 0, 0, leg_midspc_dia/2 ], + [ 0, cid_shear, + 1, -leg_fin_bot_w/2 ], + [ 0, 1, 0, -leg_height + leg_fin_bot_flat_z ], + [ 0, 0, 0, 1 ]]) + Commitid_BestCount([ leg_big_dia/2 - leg_midspc_dia/2, + leg_height - leg_fin_bot_flat_z + - leg_top_thick ]); if (!TEST) for (rot=[45: 360/leg_n_tubules : 359]) rotate(rot) { mirror([0,0,1]) translate([ leg_tubule_pos_rad, 0, -1])