X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=filamentspool.scad;h=b2991ea56edea064c06a32bd9b0629f80de4c9af;hp=114f3d50a11b76dfc5d9244a1d7c48d7b4816327;hb=6265c3f40931ce6df56d9b42a52a22342c93e65d;hpb=fab7a36ef8b978bf8bd8efd90fb9ad961ec1ff86 diff --git a/filamentspool.scad b/filamentspool.scad index 114f3d5..b2991ea 100644 --- a/filamentspool.scad +++ b/filamentspool.scad @@ -165,7 +165,7 @@ num_arms = selsz(3,3,4); channelslop=selsz(slop,0.75,slop); exteffrad = 70; -hubeffrad = selsz(30, 82, 40); +hubeffrad = selsz(30, 52, 40); hubbigrad = selsz(20, 38, 38); hublwidth = selsz(3, 2.5, 3.0); hubstemwidth = 2; @@ -176,20 +176,20 @@ axletowerfudgebend = 0; axleaxlefudgebend = 3; axlepadlen = 1.0; -armend_length = 120; +armend_length = selsz(120, 150, 120); prongthick=selsz(5,4,5); prongwidth=selsz(5,4,5); prongribwidth=3; prongribheight=selsz(0,0,4); -ratchetstep=15; +ratchetstep=10; ratchettooth=3; ratchettoothheight=5; ratchettoothsmoothr=1; ratchettoothslope=0.75; overlap=0.5; cupwidth=selsz(40,25,50); -cupheight=selsz(55,25,55); +cupheight=selsz(75,35,75); cupstrong_dx=selsz(0,0,-10); @@ -212,8 +212,8 @@ overclipcupnextgap=selsz(20,15,20); hubaxlelen = selsz(25, 62.5, 77.5); echo(hubaxlelen); -overclipsmaller=-2.5; -overclipbigger=0.0; +overclipsmaller=0.5; +overclipbigger=2.5; wingspoke=2.5; wingsize=6; @@ -461,8 +461,8 @@ module CupSecuringClipSolidSmooth(xrad=0, xdepth=0){ minkowski(){ CupSecuringClipSolid(w=totalwidth, d=overclipdepth + xdepth, - h1=hbase - overclipsmaller, - h2=hbase + overclipbigger); + h1=hbase + overclipbigger, + h2=hbase - overclipsmaller); cylinder($fn=20, h=0.01, r=overcliproundr+xrad); } } @@ -708,6 +708,8 @@ storarm_mainlen = hubaxlelen*storarm_spools + (storarm_cope_hubaxle_mk1 ? 10 : 0); storarm_totlen = storarm_mainlen + storarm_hooklen; +storarm_taller = storarm_axleslop * (storarm_spools-2); + storarm_mid_off_y = storarm_axlerad; storarm_base_off_y = storarm_mid_off_y + storarm_base_h/2; @@ -725,7 +727,7 @@ module StorageArmDiagPartSide(xmin, xmax){ } } -module StorageArmDiagPart(xmin, xmax, shear, adjbot){ +module StorageArmDiagPart(xmin, xmax, adjbot, shear){ hull(){ StorageArmDiagPartSide(xmin,xmax); @@ -763,15 +765,17 @@ module StorageArmAtMountingHoles(){ module StorageArmRight(){ ////toplevel shear = storarm_hookheight / (storarm_mainlen/2); + shear2 = shear + storarm_taller / (storarm_mainlen/2); base_xyz = [-storarm_base_d, -storarm_base_off_y, storarm_base_w]; - StorageArmDiagPart(-1, storarm_mainlen/2+1, shear, 0); - StorageArmDiagPart(storarm_mainlen/2-1, storarm_mainlen+1, shear/2, - storarm_hookheight/2); + StorageArmDiagPart(-1, storarm_mainlen/2+1, + -storarm_taller, shear2); + StorageArmDiagPart(storarm_mainlen/2-1, storarm_mainlen+1, + storarm_hookheight/2, shear/2); translate([0, storarm_hookheight, 0]) StorageArmDiagPart(storarm_mainlen, storarm_totlen, - shear/2, -storarm_hookheight/2); + -storarm_hookheight/2, shear/2); difference(){ union(){ @@ -780,7 +784,7 @@ module StorageArmRight(){ ////toplevel rotate([0,90,0]) linear_extrude(height=storarm_base_mind) StorageArmBaseTemplate(); - StorageArmDiagPart(-1, 0, shear, 0); + StorageArmDiagPart(-1, 0, -storarm_taller, shear); } StorageArmAtMountingHoles(){ cylinder(r= storarm_screw_hole_head/2, @@ -795,6 +799,9 @@ module StorageArmRight(){ ////toplevel cylinder(r= (storarm_screw_hole_head + storarm_screw_hole_head_slop)/2, h=20); } + translate(base_xyz + [0, storarm_base_h/4, -storarm_base_w/4]) + rotate([0,90,0]) + Commitid_BestCount([storarm_base_w/2, storarm_base_h/2]); } }