X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=filamentspool.scad;h=7f7c25540b9ed014ba79dfa8012723afaae8a99a;hb=a1b9836649a4950b72135196832cf15f01f76f65;hp=28e76fca5e3521f26749050fa5a604f77393c13e;hpb=8a11621220fe54fb68f28d73c0445b3240e56996;p=reprap-play.git diff --git a/filamentspool.scad b/filamentspool.scad index 28e76fc..7f7c255 100644 --- a/filamentspool.scad +++ b/filamentspool.scad @@ -1,3 +1,4 @@ +// -*- C -*- fdia=1.75; @@ -12,7 +13,11 @@ ratchettoothheight=5; ratchettoothsmoothr=1; ratchettoothslope=0.75; overlap=0.5; -cupbigrad=35; +cupbigrad=20; + +xstraightmul = 1.75; + +propxshift = 0; doveclipheight = 10; @@ -21,19 +26,19 @@ teethgapx=4+fdia; prongstalkxwidth=3; -stalklength=40; +stalklength=35; overclipcupgap=5; overclipdepth=15; overcliproundr=2.0; overclipthick=0.5; +overclipsmaller=-1.0; +overclipbigger=2.0; + wingspoke=3; wingsize=6; wingthick=3; -overclipsmaller=-1.0; -overclipbigger=2.0; - armendwallthick=2.5; armendbasethick=1.2; @@ -59,9 +64,11 @@ module ArmEnd(length=120){ translate([0, -armendwallthick, -armendbasethick]) cube([length, totalwidth, totalheight]); translate([-1, 0, 0]) + cube([length+1 - ratchettooth, channelwidth, channeldepth+1]); + translate([-1, 0, ratchettoothheight]) cube([length+2, channelwidth, channeldepth+1]); } - for (dx = [0 : ratchetstep : length - stalklength]) translate([dx,0,0]) { + for (dx = [0 : ratchetstep : length - ratchetstep]) translate([dx,0,0]) { translate([ratchettoothsmoothr+0.5, armendwallthick/2, 0]) minkowski(){ rotate([90,0,0]) cylinder($fn=20, r=ratchettoothsmoothr, h=armendwallthick); @@ -70,7 +77,7 @@ module ArmEnd(length=120){ [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ]]) cube([ratchettooth - ratchettoothsmoothr*2, - channelwidth, ratchettoothheight]); + channelwidth, ratchettoothheight - ratchettoothsmoothr]); } } } @@ -90,14 +97,14 @@ module FilamentCupHandle(){ [ 0, 0, 0, 1 ]]) cube([pawlusewidth, ratchettoothheight - ratchettoothsmoothr, - prongthick]); + prongthick - 1]); } } } } module FilamentCupCup(){ - xstraight = cupbigrad; + xstraight = cupbigrad * xstraightmul; linear_extrude(height=prongthick) { FlatArc(0,0, cupbigrad,cupbigrad+prongwidth, 89,271, $fn=80); } @@ -121,17 +128,18 @@ module FilamentCup() { midrad = cupbigrad + prongwidth/2; - propshift = stalklength - overclipdepth - prongthick; + propshift = stalklength - overclipdepth - prongthick + propxshift; proptaken = propshift; echo(cupbigrad, dx, midrad, propshift, proptaken); translate([propshift, -1, 0]) { + // something is wrong with the y calculation cube([prongwidth, - dy - sqrt(midrad*midrad - proptaken*proptaken), + dy - sqrt(midrad*midrad - proptaken*proptaken) - prongwidth/2, prongthick]); } - translate([stalklength + overclipdepth, gapy, 0]) - rotate([0,0,-(10 + fdia)]) + translate([0, overclipcupgap, 0]) + rotate([0,0, 102 + fdia]) FilamentTeeth(fdia=fdia, h=teethh); } @@ -165,6 +173,10 @@ module CupSecuringClip(){ } } +module ArmDoveClipPin(){ + DoveClipPin(h=doveclipheight); +} + //ArmEnd(); //FilamentCup(); //CupSecuringClip();