chiark / gitweb /
splitpin no test; wip filamentspool axle with split pin cavity
[reprap-play.git] / splitpin.scad
index 6ef5bb3bd9993fe00536f81ea15772f80e48c17f..9eb29560d1cfcaba3e2c309dda765f7610892ce1 100644 (file)
@@ -6,8 +6,8 @@ tau = 6.28318530718;
 function deg2rad(deg) = deg/360 * tau;
 function rad2deg(rad) = rad/tau * 360;
 
-module SplitPin(w=1.5, holeminrad=3.5, thick=3, deviationrad=1.0,
-               mainlen=20, handlerad=10, handlelen=7) {
+module SplitPin(w=0.8, holeminrad=2.50, thick=3, deviationrad=1.0,
+               mainlen=10, handlerad=10, handlelen=7) {
   spare = holeminrad - deviationrad - w;
   echo("splitpin spare",spare);
   %translate([0,mainlen+handlelen,0]) cylinder(r=spare, h=thick);
@@ -51,9 +51,27 @@ module SplitPin(w=1.5, holeminrad=3.5, thick=3, deviationrad=1.0,
   }
 }
 
-module SplitPinCavity(w=1.5, holeminrad=3.5, thick=3, deviationrad=1.0,
-                     mainlen=20) {
-  
+module SplitPinCavity(w=0.8, holeminrad=2.50, thick=3, deviationrad=1.0,
+                     mainlen=10, slop=0.5, insertby = 5) {
+  smallgap2 = holeminrad;
+  biggap2 = smallgap2 + deviationrad + slop;
+  toegap2 = w*1.5 + slop;
+  toeend = -mainlen-insertby;
+
+  translate([0,thick/2,0]) rotate([90,0,0]) {
+    linear_extrude(height = thick + slop*2) {
+    for (xmir=[0,1]) mirror([xmir,0]) {
+       polygon([[-0.1, 1],
+                [biggap2, 1],
+                [smallgap2, -insertby],
+                [biggap2, -insertby],
+                [toegap2, toeend-1],
+                [-0.1, toeend-1]]);
+      }
+    }
+  }
 }
 
-SplitPin();
+//SplitPin();
+//translate([0,30,0])
+//  SplitPinCavity();