chiark / gitweb /
xeno-drivebay-bracket: ChannelBracket: wip
[reprap-play.git] / filamentspool.scad
index b88a8b0c1d17f2636206c9ff950e0ea817124cc8..a8955b89f329bc00f3e9ea868a7a4ff5e99c5bf8 100644 (file)
@@ -65,6 +65,8 @@ axlepinrad = 2;
 axlepintabrad = 5;
 
 washerthick = 1.2;
+washerthinthick = 0.8;
+washerverythinthick = 0.4;
 washerrad = hubaxlerad + 7.5;
 frictionwasherarmwidth = 3;
 frictionwasherextrapush = 1.0;
@@ -74,6 +76,7 @@ ratchetpawl=ratchetstep-ratchettooth-bigslop*2;
 include <doveclip.scad>
 include <cliphook.scad>
 include <filamentteeth.scad>
+include <axlepin.scad>
 
 channelwidth = prongthick + slop;
 channeldepth = prongwidth + ratchettoothheight;
@@ -251,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
@@ -316,11 +310,20 @@ module Axle(){ ////toplevel
   }
 }
 
+module washer(thick){
+  Washer(hubaxlerad, washerrad, thick, slop);
+}
+
 module AxleWasher(){ ////toplevel
-  difference(){
-    cylinder(h=washerthick, r=washerrad);
-    translate([0,0,-1]) cylinder(h=washerthick+2, r=hubaxlerad+slop);
-  }
+  washer(thick=washerthick);
+}
+
+module AxleThinWasher(){ ////toplevel
+  washer(thick=washerthinthick);
+}
+
+module AxleVeryThinWasher(){ ////toplevel
+  washer(thick=washerverythinthick);
 }
 
 module AxleFrictionWasher(){ ////toplevel