X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=filamentspool.scad;h=55da1ac7324eb27a81e7bf1aae1f0eab5ddc893b;hb=35d95f0b3fd329a37da9d86e592d4769a0674f82;hp=4aae9c8e27fa0d648acee7669f6d2a9b57831122;hpb=656032c27b8b8d0a5040a50e9bd4c16866024eeb;p=reprap-play.git diff --git a/filamentspool.scad b/filamentspool.scad index 4aae9c8..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; @@ -314,11 +318,44 @@ module Axle(){ ////toplevel } } +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 @@ -338,3 +375,4 @@ module TowerExtender(){ ////toplevel //Axle(); //AxleWasher(); //AxlePin(); +//AxleFrictionWasher();