X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=filamentspool.scad;h=55da1ac7324eb27a81e7bf1aae1f0eab5ddc893b;hp=5724dcce584482899a2f0f6b260753425b3fe83a;hb=469554b15dfb0ea23ba7f29f7067cc04a81c259a;hpb=0b2de47ee7f578fdcf2194a8d746a11a6e6fb159 diff --git a/filamentspool.scad b/filamentspool.scad index 5724dcc..55da1ac 100644 --- a/filamentspool.scad +++ b/filamentspool.scad @@ -65,7 +65,11 @@ axlepinrad = 2; axlepintabrad = 5; washerthick = 1.2; +washerthinthick = 0.8; +washerverythinthick = 0.4; washerrad = hubaxlerad + 7.5; +frictionwasherarmwidth = 3; +frictionwasherextrapush = 1.0; ratchetpawl=ratchetstep-ratchettooth-bigslop*2; @@ -202,6 +206,10 @@ module ArmDoveClipPin(){ ////toplevel DoveClipPin(h=doveclipheight); } +module TowerDoveClipPin(){ ////toplevel + DoveClipPin(h=towercliph/2); +} + module Hub(){ ////toplevel difference(){ cylinder($fn=60, h=hublthick, r=hubbigrad); @@ -261,7 +269,6 @@ module AxlePin(){ ////toplevel module Axle(){ ////toplevel pillarswidth = DoveClipPairSane_width(towerclipcount); -if(0) rotate([0,0, -( axleaxlefudgebend + atan(slop/hubaxlelen) ) ]) translate([-axlehorizoffset, -axlevertheight, 0]) { rotate([0,0,-axletowerfudgebend]) @@ -311,11 +318,44 @@ if(0) } } +module washer(thick){ + difference(){ + cylinder(h=thick, r=washerrad); + translate([0,0,-1]) cylinder(h=washerthick+2, r=hubaxlerad+slop); + } +} + module AxleWasher(){ ////toplevel + washer(thick=washerthick); +} + +module AxleThinWasher(){ ////toplevel + washer(thick=washerthinthick); +} + +module AxleVeryThinWasher(){ ////toplevel + washer(thick=washerverythinthick); +} + +module AxleFrictionWasher(){ ////toplevel difference(){ cylinder(h=washerthick, r=washerrad); translate([0,0,-1]) cylinder(h=washerthick+2, r=hubaxlerad+slop); } + frarmr = hubbigrad; + frarmw = frictionwasherarmwidth; + frarmpawlr = hublwidth; + frarmpawlpush = slop*4 + frictionwasherextrapush; + for (ang=[0,180]) rotate([0,0,ang]) { + translate([washerrad-1, -frarmw/2, 0]) + cube([frarmr - washerrad + 1, frarmw, washerthick]); + intersection(){ + translate([frarmr - frarmpawlr, -50, 0]) + cube([frarmpawlr, 100, 50]); + rotate([0,90,0]) + cylinder(h = 50, r = frarmpawlpush, $fn=36); + } + } } module TowerExtender(){ ////toplevel @@ -335,3 +375,4 @@ module TowerExtender(){ ////toplevel //Axle(); //AxleWasher(); //AxlePin(); +//AxleFrictionWasher();