From 3d0858f159f200f518308b1068cabb066534bb3c Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 15 Sep 2012 22:32:24 +0100 Subject: [PATCH] filamentspool FilamentCupCup wip --- filamentspool.scad | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/filamentspool.scad b/filamentspool.scad index c88e30c..01c7a2f 100644 --- a/filamentspool.scad +++ b/filamentspool.scad @@ -10,6 +10,11 @@ ratchettoothheight=5; ratchettoothsmoothr=1; ratchettoothslope=0.75; overlap=0.5; +cupbigrad=35; + +stalklength=50; +overclipcupgap=5; +overclipheight=15; armendwallthick=2.5; armendbasethick=1.2; @@ -17,6 +22,7 @@ armendbasethick=1.2; ratchetpawl=ratchetstep-ratchettooth-bigslop*2; include +include channelwidth = prongthick + slop; channeldepth = prongwidth + ratchettoothheight; @@ -51,10 +57,12 @@ module ArmEnd(length=120){ } } -module FilamentHandle(stalklength=50){ +module FilamentHandle(){ pawlusewidth = ratchetpawl-ratchettoothsmoothr*2; mirror([0,1,0]) { cube([stalklength, prongwidth, prongthick]); + translate([stalklength, prongwidth/2, 0]) + cylinder(r=prongwidth/2, h=prongthick, $fn=20); translate([ratchettoothsmoothr, prongwidth, 0]) { minkowski(){ cylinder($fn=20,r=ratchettoothsmoothr, h=1); @@ -70,5 +78,38 @@ module FilamentHandle(stalklength=50){ } } +module FilamentCupCup(){ + xstraight = cupbigrad; + linear_extrude(height=prongthick) { + FlatArc(0,0, cupbigrad,cupbigrad+prongwidth, 89,271, $fn=80); + } + for (my=[0,1]) mirror([0,my,0]) { + translate([0,cupbigrad,0]) + cube([xstraight, prongwidth, prongthick]); + } +} + +module FilamentCup() { + FilamentHandle(); + + dx = cupbigrad + prongwidth; + dy = cupbigrad + prongwidth + overclipcupgap; + + translate([dx, dy, 0]) + FilamentCupCup(); + translate([0, -1, 0]); + cube([prongwidth, dy+1, prongthick]); + + propshift = stalklength - overclipheight - prongthick; + proptaken = propshift + prongthick; + echo(cupbigrad, dx, propshift, proptaken); + + translate([propshift, -1, 0]) + cube([prongwidth, + sqrt(cupbigrad*cupbigrad - proptaken*proptaken) + + overclipcupgap + prongthick + 1, + prongthick]); +} + //ArmEnd(); -FilamentHandle(); +FilamentCup(); -- 2.30.2