X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=filamentspool.scad;h=a8955b89f329bc00f3e9ea868a7a4ff5e99c5bf8;hb=7f744cc777d843b40cab33b0b37c824fb035dac5;hp=4aae9c8e27fa0d648acee7669f6d2a9b57831122;hpb=656032c27b8b8d0a5040a50e9bd4c16866024eeb;p=reprap-play.git diff --git a/filamentspool.scad b/filamentspool.scad index 4aae9c8..a8955b8 100644 --- a/filamentspool.scad +++ b/filamentspool.scad @@ -65,13 +65,18 @@ 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; include include include +include channelwidth = prongthick + slop; channeldepth = prongwidth + ratchettoothheight; @@ -249,17 +254,8 @@ module ArmExtender(){ ////toplevel hb=doveclipheight); } -module AxlePin(){ ////toplevel - pinr = axlepinrad - slop; - intersection(){ - translate([0, 0, pinr*0.7]) { - translate([0, -washerrad, 0]) rotate([-90,0,0]) - cylinder(r=pinr, h=washerrad*2, $fn=10); - translate([-axlepintabrad, hubaxlerad, -axlepinrad]) - cube([axlepintabrad*2, axlepinrad*2, axlepinrad*2]); - } - translate([-50,-50,0]) cube([100,100,50]); - } +module FsAxlePin(){ ////toplevel + AxlePin(hubaxlerad, washerrad*2, axlepinrad, axlepintabrad, slop); } module Axle(){ ////toplevel @@ -314,11 +310,41 @@ module Axle(){ ////toplevel } } +module washer(thick){ + Washer(hubaxlerad, washerrad, thick, 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 +364,4 @@ module TowerExtender(){ ////toplevel //Axle(); //AxleWasher(); //AxlePin(); +//AxleFrictionWasher();