X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=sewing-table.scad.m4;h=7d720ee30a2b9ce43662845a5cece3a8c880ca62;hb=f962452af777085bb7d7b1aab8adb60f75eb8066;hp=bed22ea12da572b6ad25805b8b287d9920af2061;hpb=52d0b42faa8afab4d9a5a3b73e57c4e0858b8cfe;p=reprap-play.git diff --git a/sewing-table.scad.m4 b/sewing-table.scad.m4 index bed22ea..7d720ee 100644 --- a/sewing-table.scad.m4 +++ b/sewing-table.scad.m4 @@ -39,6 +39,7 @@ cutout_l_end_x_slop = 0.25; cutout_l_end_x = 22; cutout_l_end_y = machine_rear_to_front; cutout_l_end_curve = 1; +cutout_l_end_new_x_slop = 1.4 - 1.95; cutout_l_end_y_total = cutout_l_end_y + cutout_l_end_y_front_slop + cutout_l_end_y_rear_slop; @@ -51,7 +52,8 @@ cutout_tile11_y = cutout_l_end_y_total - cutout_tile01_y; // front and rear curves -rearedge_len = 170; +rearedge_len = 170 + 0.70; +frontedge_len = 170; rearcurve_strt_len = 52; @@ -483,7 +485,7 @@ module Machine_NewEndProfile(){ sh = (0.5 * (endline[0] + endline[1])) - posbox; ellen = sc * dist2d(endline[0],endline[1]); - scy = cutout_l_end_y / ellen; + scy = cutout_l_end_y_total / ellen; scale([scy,1]) scale(sc) rotate(rot + rot_adj) translate(-[sh[0],-sh[1]]){ @@ -514,6 +516,20 @@ module Machine_NewEndProfileDemo(){ ////toplevel } } +module Machine_NewArm(){ + translate([0,0,-30]) linear_extrude(height=60) { + translate(tile01_tr + [ -cutout_l_end_x - cutout_l_end_new_x_slop, + (-cutout_tile01_y + cutout_tile11_y)/2 ]){ + rotate(-90){ + hull(){ + for (d=[0,400]) + translate([0,d]) Machine_NewEndProfile(); + } + } + } + } +} + module Machine_NewRearCurve(){ slant = atan2(4,210-10); //echo("SL",slant); @@ -558,7 +574,7 @@ module Machine_Curves(){ ////toplevel reartablet_y+1, 20 ]); } - translate([ tile01_tr[0] - cutout_l_end_x + rearedge_len, + translate([ tile01_tr[0] - cutout_l_end_x + frontedge_len, cutout_tile11_y, frontcurve_z_slop ]){ translate([0, -machine_rear_to_front, 0]) @@ -569,7 +585,10 @@ module Machine_Curves(){ ////toplevel mirror([1,0,0]) rotate([0,-90,0])rotate([0,0,-90]) linear_extrude(height= 200) Machine_NewFrontProfile(); - + } + translate([ tile01_tr[0] - cutout_l_end_x + rearedge_len, + cutout_tile11_y, + frontcurve_z_slop ]){ translate([ rearcurve_strt_len, 0, rearcurve_z_slop ]){ @@ -601,7 +620,7 @@ module TestStrapPeg_Long(){ ////toplevel } module Machine(){ ////toplevel - Machine_Arm(); + Machine_NewArm(); Machine_Curves(); if (TEST) TestStrapSlots(); @@ -611,7 +630,7 @@ module MachineEnvelope(){ // used for testing p_arm_bl = [-cutout_l_end_x, -cutout_tile01_y]; y_arm_t = cutout_tile11_y; - p_crv_fl = p_arm_bl + [rearedge_len, -frontcurve_avoid_y]; + p_crv_fl = p_arm_bl + [frontedge_len, -frontcurve_avoid_y]; y_crv_b = y_arm_t + rearcurve_avoid_y; translate([0,0,-50]) linear_extrude(height= 100){ @@ -764,7 +783,7 @@ module Tile00(){ ////toplevel c = Rectangle_corners(c0, sz); // the edge c[1]..c[2] needs a diagonal chunk, from c1bis to c2bis - c2bis = [ -cutout_l_end_x + rearedge_len + frontcurve_strt_len, c[2][1] ]; + c2bis = [ -cutout_l_end_x + frontedge_len + frontcurve_strt_len, c[2][1] ]; c1bis = [ c[1][0], c[2][1] - (c[2][0] - c2bis[0]) * tan(90 - frontcurve_dualcurve_angle) ]; @@ -775,7 +794,7 @@ module Tile00(){ ////toplevel posts = [ cnr_posts[0], cnr_posts[1], cnr_posts[2] + [ 0, -rcy ], - cnr_posts[2] + [ -sz[0] + rearedge_len - cutout_l_end_x, -cty ], + cnr_posts[2] + [ -sz[0] + frontedge_len - cutout_l_end_x, -cty ], cnr_posts[3] + [ 0, -cty ] ]; rcs = R_CNR(c,1); @@ -930,9 +949,9 @@ module FitTest_EntireDemo(){ ////toplevel } module FitTest_EndEnd(){ ////toplevel - p0 = [-32,-32]; - sz = [188,113]; - sz2 = [168,100]; + p0 = [-30,-32]; + sz = [156,81] - p0; + sz2 = [136,68] - p0; difference(){ FitTest_general(p0, sz); translate([ p0[0] -1, p0[1]+sz2[1], -10])