X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=filamentspool.scad;h=46fee725d8b9b4bc77de9d33c8fd3c316cd8ccbb;hp=5fdd147e41fbe8fe74e3e84178f6cdc33b59616e;hb=4568273e8d300c51b1e3fe508ea173a11e932fb9;hpb=f6038e5cc0cfb046fdbaf699f5be49807eb5c2a7 diff --git a/filamentspool.scad b/filamentspool.scad index 5fdd147..46fee72 100644 --- a/filamentspool.scad +++ b/filamentspool.scad @@ -1,3 +1,4 @@ +// -*- C -*- fdia=1.75; @@ -12,14 +13,20 @@ ratchettoothheight=5; ratchettoothsmoothr=1; ratchettoothslope=0.75; overlap=0.5; -cupbigrad=35; +cupbigrad=20; + +xstraightmul = 1.75; + +propxshift = 0; + +doveclipheight = 10; teethh=3; teethgapx=4+fdia; prongstalkxwidth=3; -stalklength=40; +stalklength=35; overclipcupgap=5; overclipdepth=15; overcliproundr=2.0; @@ -47,8 +54,6 @@ totalwidth = armendwallthick*2 + channelwidth; totalheight = channeldepth + armendbasethick; stalkwidth = prongwidth + prongstalkxwidth; -doveclipheight = totalheight; - module ArmEnd(length=120){ translate([ratchettoothsmoothr, channelwidth/2, -armendbasethick]) { rotate([0,0,-90]) @@ -90,14 +95,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,13 +126,14 @@ 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]) @@ -165,6 +171,10 @@ module CupSecuringClip(){ } } +module ArmDoveClipPin(){ + DoveClipPin(h=doveclipheight); +} + //ArmEnd(); //FilamentCup(); //CupSecuringClip();