From 6e7616f48b9fb591cbf58b7f344d74c86d064d5c Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 15 Sep 2012 22:11:30 +0100 Subject: [PATCH] filamentspool FilamentHandle wip etc. --- filamentspool.scad | 39 ++++++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/filamentspool.scad b/filamentspool.scad index 7c2434e..c88e30c 100644 --- a/filamentspool.scad +++ b/filamentspool.scad @@ -1,5 +1,6 @@ slop=0.5; +bigslop=slop*2; prongthick=5; prongwidth=5; @@ -13,17 +14,21 @@ overlap=0.5; armendwallthick=2.5; armendbasethick=1.2; +ratchetpawl=ratchetstep-ratchettooth-bigslop*2; + include -module ArmEnd(length=120){ - channelwidth = prongthick + slop; - channeldepth = prongwidth + ratchettoothheight; - totalwidth = armendwallthick*2 + channelwidth; - totalheight = channeldepth + armendbasethick; +channelwidth = prongthick + slop; +channeldepth = prongwidth + ratchettoothheight; +totalwidth = armendwallthick*2 + channelwidth; +totalheight = channeldepth + armendbasethick; + +doveclipheight = totalheight; +module ArmEnd(length=120){ translate([ratchettoothsmoothr, channelwidth/2, -armendbasethick]) { rotate([0,0,-90]) - DoveClipPairBase(h=totalheight); + DoveClipPairBase(h=doveclipheight); } for (dx = [0 : ratchetstep : length]) translate([dx,0,0]) { @@ -46,4 +51,24 @@ module ArmEnd(length=120){ } } -ArmEnd(); +module FilamentHandle(stalklength=50){ + pawlusewidth = ratchetpawl-ratchettoothsmoothr*2; + mirror([0,1,0]) { + cube([stalklength, prongwidth, prongthick]); + translate([ratchettoothsmoothr, prongwidth, 0]) { + minkowski(){ + cylinder($fn=20,r=ratchettoothsmoothr, h=1); + multmatrix([ [ 1, -ratchettoothslope, 0, 0 ], + [ 0, 1, 0, 0 ], + [ 0, 0, 1, 0 ], + [ 0, 0, 0, 1 ]]) + cube([pawlusewidth, + ratchettoothheight - ratchettoothsmoothr, + prongthick]); + } + } + } +} + +//ArmEnd(); +FilamentHandle(); -- 2.30.2