chiark / gitweb /
pull-cord-keeper: cutmore
[reprap-play.git] / pull-cord-keeper.scad
index ddbcaf6310b8849ff13adebd50b73f858a354f00..f4d21c0c9ea9a34842b0129dd87d58080ec4d082 100644 (file)
@@ -14,11 +14,13 @@ height = 20;
 ziglen = hcentredist/2;
 
 feedxgap = 5;
-
 feedzgap = 5;
+ribsgap = 1;
+
+ribdepth = 3;
+ribheight = 4;
 
-ribdepth = 2;
-ribheight = 3;
+blockoverlapcnr = 5;
 
 module Oval(centredist, rad) {
   hull() {
@@ -46,14 +48,6 @@ module Positive(){
     Hoop();
 }
 
-module Division(biggerpi) {
-  xgap = feedxgap * biggerpi;
-  zgap = feedzgap * biggerpi;
-  mirror([0,0,1])
-    translate([-(ziglen + xgap/2), -100, zgap/2])
-    cube([100, 100, 10]);
-}
-
 module Ribs(){
   imax = ceil(height*2 / ribheight);
   for (i=[-imax:imax]) {
@@ -70,12 +64,54 @@ module Ribs(){
   }
 }          
 
-module Demo(){
+module Division(cutmore) {
+  mirror([0,0,1]) {
+    translate([0, 0, -cutmore*feedzgap/2]) {
+      translate([-ziglen + -cutmore*feedxgap/2, -100, 0])
+       cube([100, 100, 50]);
+    }
+  }
+  translate([blockwidth/2 - blockoverlapcnr, -50, -50])
+    cube([100, 100, 100]);
+
+  translate([50, houterrad + blockdepth/2 + -cutmore*ribsgap, 0])
+    rotate([-90,0,90])
+    linear_extrude(height=100)
+    Ribs();
+}
+
+module SDemo(){
   //difference(){
   %  Positive();
   //  Division(0);
   //}
-  Division(1);
+  Division(-1);
+}
+
+module A(){
+  difference(){
+    Positive();
+    Division(+1);
+  }
+}
+
+module B(){
+  intersection(){
+    Positive();
+    Division(-1);
+  }
 }
 
-Ribs();
+module Demo(){
+  color("red") A();
+//  color("blue") B();
+}
+
+//Ribs();
+//Demo();
+
+A();
+//B();
+//%Division(+1);
+
+//Demo();