chiark / gitweb /
trailerhubcap for print
[reprap-play.git] / filamentspool.scad
index 873f87c39e14e7e7d696c48ccc16f8988738367d..55da1ac7324eb27a81e7bf1aae1f0eab5ddc893b 100644 (file)
@@ -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);
@@ -310,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
@@ -334,3 +375,4 @@ module TowerExtender(){ ////toplevel
 //Axle();
 //AxleWasher();
 //AxlePin();
+//AxleFrictionWasher();